Skip to content

distsql: put the SQL into diagrams #41129

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Oct 1, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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