Skip to content

Commit ba6da50

Browse files
committed
distsql: put the SQL into diagrams
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
1 parent e2b55c3 commit ba6da50

23 files changed

+187
-181
lines changed

pkg/sql/distsql_physical_planner_test.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -396,9 +396,9 @@ func TestDistSQLRangeCachesIntegrationTest(t *testing.T) {
396396
if err := row.Scan(&json); err != nil {
397397
t.Fatal(err)
398398
}
399-
exp := `{"nodeNames":["1","4"]`
400-
if !strings.HasPrefix(json, exp) {
401-
t.Fatalf("expected prefix %s, but json is: %s", exp, json)
399+
exp := `"nodeNames":["1","4"]`
400+
if !strings.Contains(json, exp) {
401+
t.Fatalf("expected json to contain %s, but json is: %s", exp, json)
402402
}
403403

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

@@ -571,14 +571,14 @@ func TestDistSQLDrainingHosts(t *testing.T) {
571571
}
572572

573573
// Verify distribution.
574-
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=="}})
574+
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"}})
575575

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

581-
expectPlan([][]string{{"https://cockroachdb.github.io/distsqlplan/decode.html#eJyUkDFLxEAUhHt_xTGVwsolV26lWF2TSO7EQoKs2UcIJPvCextQjvx3SbbQE060fDM78w17QmBPhRtIYV-QozYYhRtSZVmk9GDv32Ezgy6MU1zk2qBhIdgTYhd7gsXRvfVUkfMk2wwGnqLr-rV2lG5w8nEXpkFhcBhdULu5hUE5RbspOBDq2YCn-NWv0bUEm8_m7xvu21aodZFlm59PeCifiuNrVT4frm8usnb_YVWkIwelM86l5myuDci3lP5UeZKGHoWbFZPOcs2tgieNyc3TsQ_JWgZ-D-e_hnc_wvV89RkAAP__weakAA=="}})
581+
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"}})
582582

583583
// Verify correctness.
584584
var res int

pkg/sql/distsql_running.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -309,11 +309,10 @@ func (dsp *DistSQLPlanner) Run(
309309

310310
if logPlanDiagram {
311311
log.VEvent(ctx, 1, "creating plan diagram")
312-
json, url, err := execinfrapb.GeneratePlanDiagramURL(flows)
312+
_, url, err := execinfrapb.GeneratePlanDiagramURL(planCtx.planner.stmt.String(), flows)
313313
if err != nil {
314314
log.Infof(ctx, "Error generating diagram: %s", err)
315315
} else {
316-
log.Infof(ctx, "Plan diagram JSON:\n%s", json)
317316
log.Infof(ctx, "Plan diagram URL:\n%s", url.String())
318317
}
319318
}

pkg/sql/execinfrapb/flow_diagram.go

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -532,6 +532,7 @@ type FlowDiagram interface {
532532
}
533533

534534
type diagramData struct {
535+
SQL string `json:"sql"`
535536
NodeNames []string `json:"nodeNames"`
536537
Processors []diagramProcessor `json:"processors"`
537538
Edges []diagramEdge `json:"edges"`
@@ -561,8 +562,11 @@ func (d *diagramData) AddSpans(spans []tracing.RecordedSpan) {
561562
}
562563
}
563564

564-
func generateDiagramData(flows []FlowSpec, nodeNames []string) (FlowDiagram, error) {
565-
d := &diagramData{NodeNames: nodeNames}
565+
func generateDiagramData(sql string, flows []FlowSpec, nodeNames []string) (FlowDiagram, error) {
566+
d := &diagramData{
567+
SQL: sql,
568+
NodeNames: nodeNames,
569+
}
566570

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

700-
return generateDiagramData(flowSlice, nodeNames)
704+
return generateDiagramData(sql, flowSlice, nodeNames)
701705
}
702706

703707
// GeneratePlanDiagramURL generates the json data for a flow diagram and a
704708
// URL which encodes the diagram. There should be one FlowSpec per node. The
705709
// function assumes that StreamIDs are unique across all flows.
706-
func GeneratePlanDiagramURL(flows map[roachpb.NodeID]*FlowSpec) (string, url.URL, error) {
707-
d, err := GeneratePlanDiagram(flows)
710+
func GeneratePlanDiagramURL(
711+
sql string, flows map[roachpb.NodeID]*FlowSpec,
712+
) (string, url.URL, error) {
713+
d, err := GeneratePlanDiagram(sql, flows)
708714
if err != nil {
709715
return "", url.URL{}, nil
710716
}

pkg/sql/execinfrapb/flow_diagram_test.go

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -136,13 +136,14 @@ func TestPlanDiagramIndexJoin(t *testing.T) {
136136
},
137137
}
138138

139-
json, url, err := GeneratePlanDiagramURL(flows)
139+
json, url, err := GeneratePlanDiagramURL("SOME SQL HERE", flows)
140140
if err != nil {
141141
t.Fatal(err)
142142
}
143143

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

163164
compareDiagrams(t, json, expected)
164165

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

@@ -358,7 +359,7 @@ func TestPlanDiagramJoin(t *testing.T) {
358359
}},
359360
}
360361

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

370371
expected := `
371372
{
373+
"sql":"SOME SQL HERE",
372374
"nodeNames":["1","2","3","4"],
373375
"processors":[
374376
{"nodeIdx":0,"inputs":[],"core":{"title":"TableReader/0","details":["primary@TableA","Out: @1,@2,@4"]},"outputs":[{"title":"by hash","details":["@1,@2"]}]},

pkg/sql/explain_distsql.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ func (n *explainDistSQLNode) startExec(params runParams) error {
126126

127127
distSQLPlanner.FinalizePlan(planCtx, &plan)
128128
flows := plan.GenerateFlowSpecs(params.extendedEvalCtx.NodeID)
129-
diagram, err := execinfrapb.GeneratePlanDiagram(flows)
129+
diagram, err := execinfrapb.GeneratePlanDiagram(params.p.stmt.String(), flows)
130130
if err != nil {
131131
return err
132132
}

pkg/sql/logictest/testdata/logic_test/dist_vectorize

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,12 +51,12 @@ NULL /1 {5} 5
5151
query T
5252
SELECT url FROM [EXPLAIN ANALYZE SELECT count(*) FROM kv]
5353
----
54-
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=
54+
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==
5555

5656
query T
5757
SELECT url FROM [EXPLAIN ANALYZE SELECT * FROM kv JOIN kw ON kv.k = kw.k]
5858
----
59-
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==
59+
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==
6060

6161
# Verify execution.
6262
statement ok

pkg/sql/logictest/testdata/logic_test/exec_merge_join

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ INSERT INTO t VALUES (1), (2), (3)
6060
query T
6161
SELECT url FROM [EXPLAIN ANALYZE SELECT t1.k FROM t AS t1, t AS t2 WHERE t1.k = t2.k]
6262
----
63-
https://cockroachdb.github.io/distsqlplan/decode.html#eJzMkkFLw0AQhe_-ijAnxdUm6W1B6LWCVqo3yWGbfaYL292wO5GWkv8uSQTbUi3Vi7fMm_km816yJec1HtUKkeQrZVQIqoMvEaMPnTQMTPWaZCrIuLrhTi4ElT6A5JbYsAVJelELizmURhilJEiDlbH92jqYlQqbCZOg51q5KJMbErRQXC4RE99w3bBMMhLETW13pDEJirAo2bwb3sgkvU275ZGVtQmbFWSSRipaQQPyeVxkVYFk1orfGcj-iYH8WwNfdzfOB40AvXdz0ZGnRo6k8IBQ4d4bhzDK91OweOPLSXZ9dRdMtRweSdCs8znJ_pYH1igbNt6dzmR8zkedI9beRRxmc3Rz2gUCXWEIOPomlHgKvuxfM5SznusFjchDNx-Kqetb_V-3C2dnwPkhnP8Ij_fgtC3ai48AAAD__7J0Qt8=
63+
https://cockroachdb.github.io/distsqlplan/decode.html#eJzMkk9r20AQxe_9FMOcErp1tPJtIWDTqtTFsVPL0D9Bh400dZasteruqCQYffciraFxSBvcXnLbnXm_0byn3WH4YVFhns2zt2tovYX3q-UFXGVfLufT2QKmi-n867cMTt7N8nX-aX4KeynL0W3UMkxzYCn2hxQ-f8hWWRScA6ej2wIF1q6ihd5SQHWFEguBjXclheB8X9oNgll1hyoRaOqm5b5cCCydJ1Q7ZMOWUOFaX1taka7InyUosCLWxg5jG2-22t9PGAXmja6Dgjco8FpzeUMBXMtNywokCuS2sQ9KYxQYyFLJ5qfhewXJKOmHB9bWApstKUgCFp3AiOyXC6w3hEp24t8MyBdiIP2jgd97t7XzFXmqDnYuevI5yRMpXJDf0EdnavJn6WEKlr7zyUS-Pj33ZnMTjyhw2fucyP_Lg-6obNm4-vlMxsf81BWFxtWBHmfz5OSkD4SqDcWAg2t9SZfelcNn4nU5cEOhosCxm8bLrB5aw6t7CMsj4PQxnP4VHh_ASVd0r34FAAD___kkXuQ=
6464

6565
statement ok
6666
RESET vectorize; RESET vectorize_row_count_threshold

pkg/sql/logictest/testdata/logic_test/exec_merge_join_dist

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ NULL /2 {3} 3
4545
query T
4646
SELECT url FROM [EXPLAIN (DISTSQL) SELECT * FROM l LEFT OUTER JOIN r USING(a) WHERE a = 2]
4747
----
48-
https://cockroachdb.github.io/distsqlplan/decode.html#eJzEk8Fro0AUxu_7V8jbyy47QWfiXgYWvGQhYTeW1J6Kh4nzagTjyMwIDcH_vaiFVGtsQkt7c2be73vvex8eoVAS12KPBvg9UCDAICZQapWgMUo3113RUj4C9whkRVnZ5jomkCiNwI9gM5sjcIjENscNConabbQkWpHlrXSps73Qh0ADgdtSFIY7Lpu5zP0OcU1AVfZZ9qS2PTg7YXZ9nYBCXMcEjBUpAmc1OTPeSacqlJaoUfaU4oZ8q2TE43_UKa5UVqB25_3ZokOJ3Pm3-Bs54V202DircLkGAjk-2B8B_fXzj87SXfcJBMLKciegJGAk8AdbODmcv8PhyPhrNVOl6w9XMdra77Wml2fvjWeff2z29Ox4n5E9-9LsR4bboClVYfCiaL3GHsoUu3UZVekEb7RK2jbdMWy5drMSje1e_e6wLNqn9ve7HKbTMB3C3kuY9WA6hNkk_LsHe0N4foXnV52nYToN-1d5jutvTwEAAP__eVLb3w==
48+
https://cockroachdb.github.io/distsqlplan/decode.html#eJzEk9GPk0AQxt_9KzbjS6t7gaX4ssklGOWUSw9O4KLJhYe9MrYkHIu7S2LT9H83wCUV5Gobjb6xu_P7Zub7wg70txI4JP7Sf5eSRpXkKo5uyL3_5Xb5NgjJ7H2QpMmn5Zw8lbzqC0qy9K9Sch0FIVHkLgnCD2Qm5uTzRz_2iSCXxMmAQiVzDMUjauD3wICCAxmFWskVai1Ve73rioL8O3CbQlHVjWmvMworqRD4DkxhSgQOqXgoMUaRo7JarRyNKMpOulbFo1BbTwGFpBaV5sRyLizHegnZnoJszJPsQe1hSzZCb4Y6HoNsn1HQRqwRuLOnz4x30GkqqXJUmA-Uspb8XcnEjjeo1ngtiwqVtRjOlm5r5L3t0V3qx535QKHEr2bmsdfzS1WsN_0nUIgaw4nHqOdQzx25cNhw8QcbTowfygtZW-7YisnW7qA1Oz17ezr78u9mz54d719k7_zX7CeGi1HXstJ4UrR2ux7ma-zt0rJRK7xVctW16Y9Rx3XO5qhN_-r2h6Dqnrrf73SYHYfZGLZ_hp0BzMawcxR-M4DtMbw4Y-dfOh-H2XHYPWvnbP_iRwAAAP__W2L0nA==
4949

5050
query III
5151
SELECT * FROM l LEFT OUTER JOIN r USING(a) WHERE a = 2

pkg/sql/logictest/testdata/logic_test/explain

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ CREATE TABLE t (a INT PRIMARY KEY)
77
query T
88
SELECT url FROM [EXPLAIN (DISTSQL) SELECT * FROM (SELECT avg(a) OVER () FROM t)]
99
----
10-
https://cockroachdb.github.io/distsqlplan/decode.html#eJyUkDFLBDEQhXt_xfEqhchttky1VnKNJ6doISniZjgCe0nIzKJy7H-X3RR6womW8ybf-8IcEZOnO3cghnmBhlXIJfXEnMoc1Qcb_w7TKISYR5ljq9CnQjBHSJCBYPDoXgfakfNU1g0UPIkLw1KbSzi48tEJFB6yi2xW17CTQhrlq5DF7QlGT-rv0ucQfXqjstanxpun28tOX0FhO4pZde1ZXfsf3Y44p8h0IjvX3ExWgfye6h05jaWn-5L6RVPH7cItgSeWutV12MS6mj_4Hda_wu0P2E4XnwEAAP__EY6e-w==
10+
https://cockroachdb.github.io/distsqlplan/decode.html#eJyUkE1LwzAYx-9-ivA_tRLZumNOG1qlMNfZjimMHmLzMApdU5PUF0a_u6wZ6ISJHp__2y9kD_tSQyCP5_H1inWmZrdZes828dNyPksWLLhJ8lX-MA_ZMXLpA8HxlK_bQIYsXccZC0LvubAAR6MVLeSOLMQGEQqO1uiSrNXmIO2HQKLeIcYcVdN27iAXHKU2BLGHq1xNEFjJ55oykorMaAwORU5W9TDbmmonzcfUgSNvZWMFu0LRc-jOfQ1aJ7cEEfX879DHqlH6jcwoOiXO1nfBNArBkXZOsOnkLG7yH1xGttWNpRPYueVxX3CQ2pL_R6s7U9LS6HLA-DMdeoOgyDrvRv5IGm8dHvi9HP1anvwoF_3FZwAAAP__Y7O2sg==
1111

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

0 commit comments

Comments
 (0)