Skip to content

Commit

Permalink
Merge #41129
Browse files Browse the repository at this point in the history
41129: distsql: put the SQL into diagrams r=RaduBerinde a=RaduBerinde

We have seen cases where we get an `EXPLAIN ANALYZE` output from a
client and it's not clear which variation of a big query it was from.
This change adds the SQL to the diagram. A corresponding change on the
diagram rendering side is in progress.

Release justification: low-risk change with customer benefit.

Release note: None

Co-authored-by: Radu Berinde <[email protected]>
  • Loading branch information
craig[bot] and RaduBerinde committed Oct 1, 2019
2 parents b7b4b10 + ba6da50 commit fac25b8
Show file tree
Hide file tree
Showing 23 changed files with 187 additions and 181 deletions.
16 changes: 8 additions & 8 deletions pkg/sql/distsql_physical_planner_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -396,9 +396,9 @@ func TestDistSQLRangeCachesIntegrationTest(t *testing.T) {
if err := row.Scan(&json); err != nil {
t.Fatal(err)
}
exp := `{"nodeNames":["1","4"]`
if !strings.HasPrefix(json, exp) {
t.Fatalf("expected prefix %s, but json is: %s", exp, json)
exp := `"nodeNames":["1","4"]`
if !strings.Contains(json, exp) {
t.Fatalf("expected json to contain %s, but json is: %s", exp, json)
}

// Run a non-trivial query to force the "wrong range" metadata to flow through
Expand All @@ -422,9 +422,9 @@ func TestDistSQLRangeCachesIntegrationTest(t *testing.T) {
if err := row.Scan(&json); err != nil {
t.Fatal(err)
}
exp = `{"nodeNames":["1","2","3","4"]`
if !strings.HasPrefix(json, exp) {
t.Fatalf("expected prefix %q, but json is: %s", exp, json)
exp = `"nodeNames":["1","2","3","4"]`
if !strings.Contains(json, exp) {
t.Fatalf("expected json to contain %s, but json is: %s", exp, json)
}
}

Expand Down Expand Up @@ -571,14 +571,14 @@ func TestDistSQLDrainingHosts(t *testing.T) {
}

// Verify distribution.
expectPlan([][]string{{"https://cockroachdb.github.io/distsqlplan/decode.html#eJyskT9r8zAQh_f3U4Sb8oKCIyddNKV0ylC75A8digmqdRhDIpmTBC3B373YGhKHRE1LR935d8_juyNoozCTB7Qg3oADgxQKBg2ZEq011JXDR0v1AWLKoNaNd125YFAaQhBHcLXbIwjYyPc9rlAqpGQKDBQ6We_70Q3VB0mfC-0PFhisG6mtGE2SDpl7J0aZ0QhFy8B4dyJYJysEwVt2v8VjVRFW0hlK0qHEU77NNrtV_roe_7_JSm-yTgivDSkkVIP5RRu3mQ9t1tvn3TLbjBf8tsxsIMPvXz-_Z_0Jn_xi_d9YnP3w7E_Xf4W1QtsYbfHiDNcnT7vzoKow3NIaTyW-kCl7THjmfa4vKLQudHl4LHVodYLnYR4Np4Mwvwyn0fBDnDyLhufx8PxH2kX77ysAAP__gSRfcA=="}})
expectPlan([][]string{{"https://cockroachdb.github.io/distsqlplan/decode.html#eJyskd-Lm0AQx9_7V8g8mbKHWZO-7NMd1xSEnF7Vo4UgYesOIphduz-gJfi_F7WQGBKblj46O9_5fJw5gvneAINss908557TjfcpTV683ebr6_Ypij3_Y5Tl2eftwvvdUionrf9-MfZJdzAFEJBKYMwPaIDtgAKBEAoCrVYlGqN0Xz4OTZH4AWxJoJats325IFAqjcCOYGvbIDDI-bcGU-QCdbAEAgItr5thdKvrA9c_H3suEMhaLg3zHoIemTjLvFhJhKIjoJw9EYzlFQKjHbnf4qmqNFbcKh2EU4nn5C3O92nyJfMXN1nhTdYJ4aTSAjWKyfyim7dZT22yt5d9FOf-I70ts5rI0PvXT-9Zf0Af_mH9f7A4--HVf13_FVaKplXS4MUZrk9e9udBUeF4S6OcLvFVq3LAjJ_JkBsKAo0dX-n4EcnxqRc8D9PZcDgJ08twOBv-ME9ezYbX8-H1X2kX3btfAQAA__9aiHOO"}})

// Drain the second node and expect the query to be planned on only the
// first node.
distServer := tc.Server(1).DistSQLServer().(*distsql.ServerImpl)
distServer.Drain(ctx, 0 /* flowDrainWait */)

expectPlan([][]string{{"https://cockroachdb.github.io/distsqlplan/decode.html#eJyUkDFLxEAUhHt_xTGVwsolV26lWF2TSO7EQoKs2UcIJPvCextQjvx3SbbQE060fDM78w17QmBPhRtIYV-QozYYhRtSZVmk9GDv32Ezgy6MU1zk2qBhIdgTYhd7gsXRvfVUkfMk2wwGnqLr-rV2lG5w8nEXpkFhcBhdULu5hUE5RbspOBDq2YCn-NWv0bUEm8_m7xvu21aodZFlm59PeCifiuNrVT4frm8usnb_YVWkIwelM86l5myuDci3lP5UeZKGHoWbFZPOcs2tgieNyc3TsQ_JWgZ-D-e_hnc_wvV89RkAAP__weakAA=="}})
expectPlan([][]string{{"https://cockroachdb.github.io/distsqlplan/decode.html#eJyUkM9Kw0AYxO8-xTKnVlba9LgnS60QqElNIgolyJp8hEC6G_cPKCHvLkkErVDR4843M79hO9jXBgLpdrfdZMybht0m8R07bJ_2u3UYsdlNmGbp_W7OPi2F9srNLueTT_mjzcGhdEmRPJKFOCBAztEaXZC12gxSNxrC8g1iyVGr1rtBzjkKbQiig6tdQxDI5EtDCcmSzGIJjpKcrJuxtjX1UZr364EJjrSVygp2BY7YO8EirQh5z6G9--q3TlYEEfT87xvWVWWokk6bRXA6YRM_RNlzEj-ms_lZ1uo_rIRsq5WlE8655mWfc1BZ0fSnVntT0N7oYsRMz3jMjUJJ1k3XYHqEajoNA7-Hg1_Dqx_hvL_4CAAA__-ln7ge"}})

// Verify correctness.
var res int
Expand Down
3 changes: 1 addition & 2 deletions pkg/sql/distsql_running.go
Original file line number Diff line number Diff line change
Expand Up @@ -309,11 +309,10 @@ func (dsp *DistSQLPlanner) Run(

if logPlanDiagram {
log.VEvent(ctx, 1, "creating plan diagram")
json, url, err := execinfrapb.GeneratePlanDiagramURL(flows)
_, url, err := execinfrapb.GeneratePlanDiagramURL(planCtx.planner.stmt.String(), flows)
if err != nil {
log.Infof(ctx, "Error generating diagram: %s", err)
} else {
log.Infof(ctx, "Plan diagram JSON:\n%s", json)
log.Infof(ctx, "Plan diagram URL:\n%s", url.String())
}
}
Expand Down
18 changes: 12 additions & 6 deletions pkg/sql/execinfrapb/flow_diagram.go
Original file line number Diff line number Diff line change
Expand Up @@ -532,6 +532,7 @@ type FlowDiagram interface {
}

type diagramData struct {
SQL string `json:"sql"`
NodeNames []string `json:"nodeNames"`
Processors []diagramProcessor `json:"processors"`
Edges []diagramEdge `json:"edges"`
Expand Down Expand Up @@ -561,8 +562,11 @@ func (d *diagramData) AddSpans(spans []tracing.RecordedSpan) {
}
}

func generateDiagramData(flows []FlowSpec, nodeNames []string) (FlowDiagram, error) {
d := &diagramData{NodeNames: nodeNames}
func generateDiagramData(sql string, flows []FlowSpec, nodeNames []string) (FlowDiagram, error) {
d := &diagramData{
SQL: sql,
NodeNames: nodeNames,
}

// inPorts maps streams to their "destination" attachment point. Only DestProc
// and DestInput are set in each diagramEdge value.
Expand Down Expand Up @@ -680,7 +684,7 @@ func generateDiagramData(flows []FlowSpec, nodeNames []string) (FlowDiagram, err
// GeneratePlanDiagram generates the data for a flow diagram. There should be
// one FlowSpec per node. The function assumes that StreamIDs are unique across
// all flows.
func GeneratePlanDiagram(flows map[roachpb.NodeID]*FlowSpec) (FlowDiagram, error) {
func GeneratePlanDiagram(sql string, flows map[roachpb.NodeID]*FlowSpec) (FlowDiagram, error) {
// We sort the flows by node because we want the diagram data to be
// deterministic.
nodeIDs := make([]int, 0, len(flows))
Expand All @@ -697,14 +701,16 @@ func GeneratePlanDiagram(flows map[roachpb.NodeID]*FlowSpec) (FlowDiagram, error
nodeNames[i] = n.String()
}

return generateDiagramData(flowSlice, nodeNames)
return generateDiagramData(sql, flowSlice, nodeNames)
}

// GeneratePlanDiagramURL generates the json data for a flow diagram and a
// URL which encodes the diagram. There should be one FlowSpec per node. The
// function assumes that StreamIDs are unique across all flows.
func GeneratePlanDiagramURL(flows map[roachpb.NodeID]*FlowSpec) (string, url.URL, error) {
d, err := GeneratePlanDiagram(flows)
func GeneratePlanDiagramURL(
sql string, flows map[roachpb.NodeID]*FlowSpec,
) (string, url.URL, error) {
d, err := GeneratePlanDiagram(sql, flows)
if err != nil {
return "", url.URL{}, nil
}
Expand Down
10 changes: 6 additions & 4 deletions pkg/sql/execinfrapb/flow_diagram_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -136,13 +136,14 @@ func TestPlanDiagramIndexJoin(t *testing.T) {
},
}

json, url, err := GeneratePlanDiagramURL(flows)
json, url, err := GeneratePlanDiagramURL("SOME SQL HERE", flows)
if err != nil {
t.Fatal(err)
}

expected := `
{
"sql":"SOME SQL HERE",
"nodeNames":["1","2","3"],
"processors":[
{"nodeIdx":0,"inputs":[],"core":{"title":"TableReader/0","details":["SomeIndex@Table","Out: @1,@2"]},"outputs":[],"stage":1},
Expand All @@ -162,9 +163,9 @@ func TestPlanDiagramIndexJoin(t *testing.T) {

compareDiagrams(t, json, expected)

expectedURL := "https://cockroachdb.github.io/distsqlplan/decode.html#eJy0kjFr8zAQhvfvV3y8awS1pE6aNBXSoSlpt9aDah1B4EhGkiEl-L8XyyWJoSkpaUfd3XvP48N7-GDpwWwpQb2Ag0GAQaJm6GJoKKUQx9Y0uLQ7qIrB-a7PY7lmaEIkqD2yyy1B4dm8tbQmYyneVGCwlI1ry_qnsKWlt7TTZQgMqz6r_5ozLVAPDKHPx8Upmw1B8YGdwPnlcP7rcHE5XPwp_MgM0VIkO6dpsUA9fGF4H5z_FJTzSBfd1sT3g96dazPF0XChxWtfVbLR8qAtzzqLnxxsTakLPtFM5dzmavwgshuaDpBCHxt6jKEpf-T0XJVcKVhKeerK6bH0pVWOehrm14TFNWH5bfh2Fq6Gevj3EQAA__8R3DK5"
expectedURL := "https://cockroachdb.github.io/distsqlplan/decode.html#eJy0kkFLwzAUx-9-ivG_LmCbeMqpl4kTdbp50x5q8xiBLqlJCpPS7y5NZVvByWR6zHvv_36_PtrCv1eQWC3uZ5PV093kZracgcFYRQ_FhjzkC1IwcDAI5Ay1syV5b13fauPgXG0hEwZt6ib05ZyhtI4gWwQdKoLEc_FW0ZIKRe4yAYOiUOgqrl_ZDc2Nom0Wh8CwaIKcZCnLOPKOwTZhv9iHYk2QaccO4Onp8PTP4fx0OP9X-J5pnSJHakzL-BR5943hrdXmS1CMI7XTm8J97PSudRXI9YbTjL82SSLKTOy0xVFn_puDLcnX1ngaqRzbnPQfRGpNwwG8bVxJj86W8Y8cnouYiwVFPgxdMTzmJrbiUQ_D6Tlhfk5Y_Bi-GoWTLu8uPgMAAP__nLk4fw=="
if url.String() != expectedURL {
t.Errorf("expected `%s` got `%s`", expectedURL, &url)
t.Errorf("expected `%s` got `%s`", expectedURL, url.String())
}
}

Expand Down Expand Up @@ -358,7 +359,7 @@ func TestPlanDiagramJoin(t *testing.T) {
}},
}

diagram, err := GeneratePlanDiagram(flows)
diagram, err := GeneratePlanDiagram("SOME SQL HERE", flows)
if err != nil {
t.Fatal(err)
}
Expand All @@ -369,6 +370,7 @@ func TestPlanDiagramJoin(t *testing.T) {

expected := `
{
"sql":"SOME SQL HERE",
"nodeNames":["1","2","3","4"],
"processors":[
{"nodeIdx":0,"inputs":[],"core":{"title":"TableReader/0","details":["primary@TableA","Out: @1,@2,@4"]},"outputs":[{"title":"by hash","details":["@1,@2"]}]},
Expand Down
2 changes: 1 addition & 1 deletion pkg/sql/explain_distsql.go
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ func (n *explainDistSQLNode) startExec(params runParams) error {

distSQLPlanner.FinalizePlan(planCtx, &plan)
flows := plan.GenerateFlowSpecs(params.extendedEvalCtx.NodeID)
diagram, err := execinfrapb.GeneratePlanDiagram(flows)
diagram, err := execinfrapb.GeneratePlanDiagram(params.p.stmt.String(), flows)
if err != nil {
return err
}
Expand Down
4 changes: 2 additions & 2 deletions pkg/sql/logictest/testdata/logic_test/dist_vectorize
Original file line number Diff line number Diff line change
Expand Up @@ -51,12 +51,12 @@ NULL /1 {5} 5
query T
SELECT url FROM [EXPLAIN ANALYZE SELECT count(*) FROM kv]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJzMlcGLm0AUxu_9K-SdtjBWR002O6ctPeXQpCRZeiiyzOrDSo0jM-Oyy5L_vaiFGmlnBgIbjz7z5fs-fg_fG9Qixw0_ogL2AygQiIBADAQSILCAlEAjRYZKCdn9ZBCs8xdgIYGyblrdjVMCmZAI7A10qSsEBgf-VOEOeY4yCIFAjpqXVW_TyPLI5ev9r2cgsG94rZjnB53xttXM24gagcAT19lPVJ5oddONu3C6barJSGGFmS6fS_3KvPBT2HkpzavK0-URmRcqSE8EBsmfrErzAoHRE3Hv87koJBZcCxkszut82T5sDo-77ff9zcfLcuMLZq0uRW3PHv03-9_IbS1kjhLzs7zpydyOTmjtH74-rjeHm3v6fu3is3bUfdOofdOCyA_iK--apdGIxnJ2uxa504gcaMR-kFyZhqXRiMbt7GjE7jRiBxqJ33_drknD0mhEYzU7Gok7jcSBxsK_MgtLnxGLu9mxsNzzHapG1Aont_Hf_xx2NxPzAocDq0QrM_wmRdbbDI_bXtcPclR6eEuHh3U9vOoCjsXUKI7OxHQqjszOFuvYqE7M4uSS3AujeGl2Xl7ifGsUr8zOq0uc78ysQsuamJds6p2ePvwOAAD__0aN3zM=
https://cockroachdb.github.io/distsqlplan/decode.html#eJzMld9r4k4Uxd-_f8Vwn_TLuPmptXmqdF0QbOway_4ooUyTixsaM9mZibSI__uSpLAadicBYfUxM3M85_C5eHcgf6bgQTCdT29XpBAp-bRc3JHH6df7-WTmk4k_mX_7PiW9j7NgFXye98n704gXmer936_fv2xDoJDxGH22QQneI1hAwQYKDlBwgcIQQgq54BFKyUX5ZFcJZvEreCaFJMsLVR6HFCIuELwdqESlCB6s2HOKS2QxCsMECjEqlqSVTS6SDRNvNy9boBDkLJMeGRil8aJQHvF5hkDhmanoB0rCC5WXx2U4VeRp40hiipFKtol684j5wSy9pGJpSlSyQY-YEsI9hVrynlUqtkbwrD3t3meyXgtcM8WFMTyuc7t48FdPy8WXoNc_LTe-YlSohGft2e2_Zv8duci4iFFgfJQ33OvbWQ1awcPd08xf9W6sf9fOOWpndZ80q33SDHtgOGeetZZGBzRGFzdrdncadgcazsBwz0yjpdEBjauLo-F0p-F0oOEOqn-3c9JoaXRAY3xxNNzuNNwONIaDM7No6XPA4vriWLTs8yXKnGcSG7vxz79sljsT4zXWC1byQkR4L3hU2dSfi0pXHcQoVX1r1R-zrL4qAx6KLa3YPhJbTbGtd26xdrRqVy92T8k91IpHeufRKc5XWvFY7zw-xflaz8psGRP9kDW9w_1_vwIAAP__n7n0ow==

query T
SELECT url FROM [EXPLAIN ANALYZE SELECT * FROM kv JOIN kw ON kv.k = kw.k]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJzUl89vm0oQx-_vr0Bzek9ZP9gFnBipkq-p1KRKe6t8IDC1UQmLliVNFPl_rzCqUmOzA17Vwjfz47M73_FnpeENCpniXfyEFUTfgAMDAQx8YBAAgxBWDEolE6wqqZpXWuA2fYHIY5AVZa2b2ysGiVQI0RvoTOcIEXyNH3N8wDhF5XrAIEUdZ_lum1JlT7F6Xf54BgZfyrioImfmNhs_xjrZYOXIWpe1jpymIF2XeedWhTkmOnvO9GvkeP97zfqVjvPc0dkTRo5XwWrLoEXasn-X9fjqbOJqs1_QksNqu9qtsUaI-JadlnPek_Pne06XTymp6E36vo5UKSpMu-tcNRsPeutI0z6hWuNHmRWoXN6xI8fv-t8lv_rvg8rWm_YnMLhvWrLkbCnY0mfLwK6H-IJJrTNZ9PXxvUf-gB7VxbH8R6PfyZksXR7uh-5GCQ-jhPZRgr0ofLjYnD7Arpi5_mTE5qcmvR5whCeVVPQmPeMR5pd0hMVwG8QA7_2Za5nkr3k_IunNAO8nlVT0Jj2j9-KSvPeH2-AP8D6YueFkbOCnJl0M8H5SSUVv0jN671-S98FwG4IB3oezybjAT80Z0tbPXO7ERepwR-oNqslkFr2Zz-h_cEn-Ex-wD1iVsqiw8-lyfGWvaQ2ma2wbXslaJfhZyWS3TXt5v-N2s2iKlW6fivbitmgfNQUOh-c28MIG5lZ189BM8xEtE-PguQ28sIG5Vd2dlh3Qokt7f9K-ud--Eeb7PfO6dGAjuBkmBDfDhOBmmBKcoAnBQxvBzTAhuBkmBDfDlOAETQg-txH82kZRM0woaoYJRc0wpShBE4re2ChqhglFzTChqBmmFCVoQtGFjaLcak4gaEJSgiYsJWhKUwqnZgW7YcFuWrAbFyznBbuBgVtNDPxgZBhlq5mmbDXTlK1mmrSVwClbxwxLh__ZmGlpLE3ZOmpeGo1Tth4MD0ZbV9t_fgUAAP__VILF4Q==
https://cockroachdb.github.io/distsqlplan/decode.html#eJzUl99P6kgUx9_3r5icJ10H2-kPlCYmmF02wSC44sPuGh4qnYWG2nbbKWoM__um9N54KTCnZXJJeZN2PjPne_xMcvoJ6X8BODDuDXq_PZEsCcgfj6N78tz762Fw2x-S2-Ht4O9_euTs9_74afzn4Jx8W_prsXCxJHej_pAs3shoSBbLywW5IYu3y8UEKISRx4fuK0_BeQYGFAygYAIFCyjYMKEQJ9GUp2mU5Es-10DfewdHp-CHcSbyxxMK0yjh4HyC8EXAwYEn9yXgj9z1eKLpQMHjwvWD9TFx4r-6yUd3sQQK49gNU4e0tPzgF1dM5zwlUSbiTDgkL0hkcVB6lPKAT4W_9MWHQ_RLPd8_FW4QEOG_cofoKUxWFAqkKPt7WS8fZO6m882Cugwmq8l6jxkHh63oYTnbe3K-feXUWJOSGnuTfu0TJR5PuFfe5yI_uNKqHU2758mM30V-yBONlewI-L_irMsuzm8SfzYv_gQKo7wlXUa7Bu2atGup9ZC_82km_Cjc18evHpkVepSFu_LvjD6MWlGsMXszdDmKvR3FVo9ibURh1cVm-AXWjJZmNkZsdmjSqwpXuFFJjb1Jj3iF2SldYaO6DUYF782Wppjkp3lfI-l1Be8bldTYm_SI3hun5L1Z3QazgvdWS7MbYwM7NGmngveNSmrsTXpE781T8t6qboNVwXu71RgX2KE5bdz6lsaIG3qEkUjMedKYzMbezEf03zol_5EP2EeexlGY8tKny-6d9bw13JvxouFplCVT_pBE0_Uxxc_RmlvPoh5PRfHWKH70w-JVXmB1uK0Cd1RgplQ3s-U0q9Eyox7cVoE7KjBTqrvUsi3aKNP6j7Qp77cphdlmz_QybakILocRweUwIrgcxgRHaERwW0VwOYwILocRweUwJjhCI4K3VQS_UlFUDiOKymFEUTmMKYrQiKLXKorKYURROYwoKocxRREaUbSjoihTmhMQGpEUoRFLERrTFMOxWUFtWFCbFtTGBcV5QW1gYEoTA9saGWrZKqcxW-U0ZqucRm1FcMzWOsPS9v-szrRUl8ZsrTUv1cYxW7eGB6mtk9Uv_wcAAP__2fbfeA==

# Verify execution.
statement ok
Expand Down
2 changes: 1 addition & 1 deletion pkg/sql/logictest/testdata/logic_test/exec_merge_join
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ INSERT INTO t VALUES (1), (2), (3)
query T
SELECT url FROM [EXPLAIN ANALYZE SELECT t1.k FROM t AS t1, t AS t2 WHERE t1.k = t2.k]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJzMkkFLw0AQhe_-ijAnxdUm6W1B6LWCVqo3yWGbfaYL292wO5GWkv8uSQTbUi3Vi7fMm_km816yJec1HtUKkeQrZVQIqoMvEaMPnTQMTPWaZCrIuLrhTi4ElT6A5JbYsAVJelELizmURhilJEiDlbH92jqYlQqbCZOg51q5KJMbErRQXC4RE99w3bBMMhLETW13pDEJirAo2bwb3sgkvU275ZGVtQmbFWSSRipaQQPyeVxkVYFk1orfGcj-iYH8WwNfdzfOB40AvXdz0ZGnRo6k8IBQ4d4bhzDK91OweOPLSXZ9dRdMtRweSdCs8znJ_pYH1igbNt6dzmR8zkedI9beRRxmc3Rz2gUCXWEIOPomlHgKvuxfM5SznusFjchDNx-Kqetb_V-3C2dnwPkhnP8Ij_fgtC3ai48AAAD__7J0Qt8=
https://cockroachdb.github.io/distsqlplan/decode.html#eJzMkk9r20AQxe_9FMOcErp1tPJtIWDTqtTFsVPL0D9Bh400dZasteruqCQYffciraFxSBvcXnLbnXm_0byn3WH4YVFhns2zt2tovYX3q-UFXGVfLufT2QKmi-n867cMTt7N8nX-aX4KeynL0W3UMkxzYCn2hxQ-f8hWWRScA6ej2wIF1q6ihd5SQHWFEguBjXclheB8X9oNgll1hyoRaOqm5b5cCCydJ1Q7ZMOWUOFaX1taka7InyUosCLWxg5jG2-22t9PGAXmja6Dgjco8FpzeUMBXMtNywokCuS2sQ9KYxQYyFLJ5qfhewXJKOmHB9bWApstKUgCFp3AiOyXC6w3hEp24t8MyBdiIP2jgd97t7XzFXmqDnYuevI5yRMpXJDf0EdnavJn6WEKlr7zyUS-Pj33ZnMTjyhw2fucyP_Lg-6obNm4-vlMxsf81BWFxtWBHmfz5OSkD4SqDcWAg2t9SZfelcNn4nU5cEOhosCxm8bLrB5aw6t7CMsj4PQxnP4VHh_ASVd0r34FAAD___kkXuQ=

statement ok
RESET vectorize; RESET vectorize_row_count_threshold
2 changes: 1 addition & 1 deletion pkg/sql/logictest/testdata/logic_test/exec_merge_join_dist
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ NULL /2 {3} 3
query T
SELECT url FROM [EXPLAIN (DISTSQL) SELECT * FROM l LEFT OUTER JOIN r USING(a) WHERE a = 2]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJzEk8Fro0AUxu_7V8jbyy47QWfiXgYWvGQhYTeW1J6Kh4nzagTjyMwIDcH_vaiFVGtsQkt7c2be73vvex8eoVAS12KPBvg9UCDAICZQapWgMUo3113RUj4C9whkRVnZ5jomkCiNwI9gM5sjcIjENscNConabbQkWpHlrXSps73Qh0ADgdtSFIY7Lpu5zP0OcU1AVfZZ9qS2PTg7YXZ9nYBCXMcEjBUpAmc1OTPeSacqlJaoUfaU4oZ8q2TE43_UKa5UVqB25_3ZokOJ3Pm3-Bs54V202DircLkGAjk-2B8B_fXzj87SXfcJBMLKciegJGAk8AdbODmcv8PhyPhrNVOl6w9XMdra77Wml2fvjWeff2z29Ox4n5E9-9LsR4bboClVYfCiaL3GHsoUu3UZVekEb7RK2jbdMWy5drMSje1e_e6wLNqn9ve7HKbTMB3C3kuY9WA6hNkk_LsHe0N4foXnV52nYToN-1d5jutvTwEAAP__eVLb3w==
https://cockroachdb.github.io/distsqlplan/decode.html#eJzEk9GPk0AQxt_9KzbjS6t7gaX4ssklGOWUSw9O4KLJhYe9MrYkHIu7S2LT9H83wCUV5Gobjb6xu_P7Zub7wg70txI4JP7Sf5eSRpXkKo5uyL3_5Xb5NgjJ7H2QpMmn5Zw8lbzqC0qy9K9Sch0FIVHkLgnCD2Qm5uTzRz_2iSCXxMmAQiVzDMUjauD3wICCAxmFWskVai1Ve73rioL8O3CbQlHVjWmvMworqRD4DkxhSgQOqXgoMUaRo7JarRyNKMpOulbFo1BbTwGFpBaV5sRyLizHegnZnoJszJPsQe1hSzZCb4Y6HoNsn1HQRqwRuLOnz4x30GkqqXJUmA-Uspb8XcnEjjeo1ngtiwqVtRjOlm5r5L3t0V3qx535QKHEr2bmsdfzS1WsN_0nUIgaw4nHqOdQzx25cNhw8QcbTowfygtZW-7YisnW7qA1Oz17ezr78u9mz54d719k7_zX7CeGi1HXstJ4UrR2ux7ma-zt0rJRK7xVctW16Y9Rx3XO5qhN_-r2h6Dqnrrf73SYHYfZGLZ_hp0BzMawcxR-M4DtMbw4Y-dfOh-H2XHYPWvnbP_iRwAAAP__W2L0nA==

query III
SELECT * FROM l LEFT OUTER JOIN r USING(a) WHERE a = 2
Expand Down
2 changes: 1 addition & 1 deletion pkg/sql/logictest/testdata/logic_test/explain
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ CREATE TABLE t (a INT PRIMARY KEY)
query T
SELECT url FROM [EXPLAIN (DISTSQL) SELECT * FROM (SELECT avg(a) OVER () FROM t)]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJyUkDFLBDEQhXt_xfEqhchttky1VnKNJ6doISniZjgCe0nIzKJy7H-X3RR6womW8ybf-8IcEZOnO3cghnmBhlXIJfXEnMoc1Qcb_w7TKISYR5ljq9CnQjBHSJCBYPDoXgfakfNU1g0UPIkLw1KbSzi48tEJFB6yi2xW17CTQhrlq5DF7QlGT-rv0ucQfXqjstanxpun28tOX0FhO4pZde1ZXfsf3Y44p8h0IjvX3ExWgfye6h05jaWn-5L6RVPH7cItgSeWutV12MS6mj_4Hda_wu0P2E4XnwEAAP__EY6e-w==
https://cockroachdb.github.io/distsqlplan/decode.html#eJyUkE1LwzAYx-9-ivA_tRLZumNOG1qlMNfZjimMHmLzMApdU5PUF0a_u6wZ6ISJHp__2y9kD_tSQyCP5_H1inWmZrdZes828dNyPksWLLhJ8lX-MA_ZMXLpA8HxlK_bQIYsXccZC0LvubAAR6MVLeSOLMQGEQqO1uiSrNXmIO2HQKLeIcYcVdN27iAXHKU2BLGHq1xNEFjJ55oykorMaAwORU5W9TDbmmonzcfUgSNvZWMFu0LRc-jOfQ1aJ7cEEfX879DHqlH6jcwoOiXO1nfBNArBkXZOsOnkLG7yH1xGttWNpRPYueVxX3CQ2pL_R6s7U9LS6HLA-DMdeoOgyDrvRv5IGm8dHvi9HP1anvwoF_3FZwAAAP__Y7O2sg==

# Test that explaining a query that contains a subquery the result of which is
# needed to make the physical plan is rejected. See #40677.
Expand Down
Loading

0 comments on commit fac25b8

Please sign in to comment.