Skip to content

Commit 94e64ce

Browse files
craig[bot]mgartnerRaduBerinde
committed
Merge #76961 #76963
76961: opt: remove redundant arbiter indexes r=mgartner a=mgartner We select all unique indexes and unique constraints as arbiters for `INSERT .. ON CONFLICT` statements without explicit conflict columns or constraints. In some cases, unique constraint arbiters make unique index arbiters redundant, which results in query plans that perform unnecessary work to check for conflicts. Most notably, redundant unique indexes are chosen as arbiters for both partitioned and hash-sharded indexes which synthesize `UNIQUE WITHOUT INDEX` constraints. For example, consider the table and statement which mimics a simplified hash-sharded index: CREATE TABLE t ( a INT, shard_a INT, UNIQUE INDEX shard_a_a_key (shard_a, a), UNIQUE WITHOUT INDEX a_key (a) ) INSERT INTO t VALUES (1, 2) ON CONFLICT DO NOTHING There is no need to use both `shard_a_a_key` and `a_key` as arbiters for the `INSERT` statement because any conflict in `shard_a_a_key` will also be a conflict in `a_key`. Only `a_key` is required to be an arbiter. This commit removes these redundant arbiter indexes, which improves query plans. Fixes #75498 Release note (performance improvement): The optimizer produces more efficient query plans for `INSERT .. ON CONFLICT` statements that do not have explicit conflict columns or constraints and are performed on partitioned tables. 76963: sql: use IndexFetchSpec in JoinReader r=yuzefovich a=RaduBerinde #### descpb: add IndexID to IndexFetchSpec Release note: None #### span: make Builder and Splitter without descriptors Allow creation of span.Builder and span.Splitter without table and index descriptors. Release note: None #### rowexec: move eqCols to hashjoiner This commit moves eqCols from joinerBase to hashJoiner because that is the only processor that uses them. This simplifies the initialization code for other processors. Release note: None #### sql: use IndexFetchSpec in JoinReader This commit changes `JoinReader` to use an `IndexFetchSpec` (plus a list of family IDs for span splitting) instead of table and index descriptors. As part of making this switch, the "internal schema" of the processor no longer contains all table columns; instead it contains the specific `FetchedColumns` in the spec. This simplifies both planning and execution code. Release note: None Co-authored-by: Marcus Gartner <marcus@cockroachlabs.com> Co-authored-by: Radu Berinde <radu@cockroachlabs.com>
3 parents 978744d + 8122043 + 170d49c commit 94e64ce

File tree

73 files changed

+1863
-1524
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

73 files changed

+1863
-1524
lines changed

pkg/ccl/logictestccl/testdata/logic_test/multi_region_query_behavior

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -365,7 +365,7 @@ vectorized: true
365365
table: orders@orders_pkey
366366
spans: [/'ap-southeast-2'/'94e4b847-8f2f-4ac5-83f1-641d6e3df727' - /'ap-southeast-2'/'94e4b847-8f2f-4ac5-83f1-641d6e3df727'] [/'us-east-1'/'94e4b847-8f2f-4ac5-83f1-641d6e3df727' - /'us-east-1'/'94e4b847-8f2f-4ac5-83f1-641d6e3df727']
367367
·
368-
Diagram: https://cockroachdb.github.io/distsqlplan/decode.html#eJysk9tO20AQhu_7FKO54aCNEh8gwRKSEU1pUBpoQtVK3Sgy3glsSXbd3bWaCuWqz9b3quyFUqMGCdoLew8z_8x8v-xbtF8XmGD_0_nwaDCC7deDycXk_XAHJv1h__gCtBFkZlIwKIxe6rudzAmOJn4z-ybdtS7drE64j-6CkDbXpXLNRJ8Fb8Zn73xtC6dng5GvbuHDZDA6ge37Xjvw8W1_3P89BRzC1kFM8WUv7rZ683DeirN8r9WL5kFrPw7EPkVi3g27W8hQaUGjbEkWk88Y45RhYXRO1mpTXd3WCQOxwqTDUKqidNX1lGGuDWFyi066BWGCF9nlgsaUCTLtDjIU5DK5qMt6gtQvs-KGviPDY70ol8omDe9kTg8WIsNJkVUpbY4pxzZHzlcHMecrql6XvRPOV715-_TnD85X80BwvgqEOqwO3S2O7Q5kSkAA2l2TwemaoS7dA4J12RVhEqzZyzCD_49ZAXVehLoRL9yI90BlychsAaWqpyTRAJuu_-LDSLd00Q6bDgzlUjoINo7SeY7Tp1qqO6OjZhv_F6R-uTd6qPVNWcAXLRVolUBaicakBJkE0oBBGjFIw-rZTfc2jhg9Z8Qx2UIrS4_s2gQ_ZUjiirz1Vpcmp3Oj87qNP57VuvpCkHU-GvrDQNWh-mv9Uxz8izh8Uhw1xJ3H4uhJcfxIPF2_-hUAAP__SGy-Yw==
368+
Diagram: https://cockroachdb.github.io/distsqlplan/decode.html#eJysk9tO20wQx--_pxjNDQdtlPgACZaQjPhSGpQGmlC1UjeKjHcCW5Jdd3etpkK56rP1vSp7SUNQgwTthb2n-e_M72_PPdqvM0yw--myf9IbwO7_vdHV6H1_D0bdfvf0CrQRZCZSMCiMnuuHmcwJTkZ-Mvkm3a0u3aQOWJ3ug5A216Vym4E-Ct4ML975uy2cX_QG_nYLH0a9wRnsrnLtwce33WH3dxVwDDtHMcXXnbjd6EzDaSPO8oNGJ5oGjcM4EIcUiWk7bO8gQ6UFDbI5WUw-Y4xjhoXROVmrTbV1Xwf0xAKTFkOpitJV22OGuTaEyT066WaECV5l1zMaUibINFvIUJDL5Ky-1hOkfpgUd_QdGZ7qWTlXNtnwTua0thAZjoqsCmlyTDk2OXK-OIo5X1D1uu6ccb7oTJvnP39wvpgGgvNFINRxtWjvcGy2IFMCAtDulgyOlwx16dYI1mU3hEmwZK_DDP49ZgXUehXqVrxwK96aypKR2QxKVVdJYgNsvPyDDwPd0EUz3HSgL-fSQbC1lNZLnD7XUj0YHW2m8V2Q-mFldF_ru7KAL1oq0CqBNHrs_rotVw2HDIekBJkE0oBBGjFIw-rZTw-2AkQvARiSLbSy9MTMbdaMGZK4If9hrC5NTpdG53Uav7yodfWGIOv8aegXPVUf1f_yY3HwN-LwWXG0IW49FUfPiuMn4vHyv18BAAD__47ayRw=
369369

370370
query T nodeidx=3
371371
USE multi_region_test_db; EXPLAIN (DISTSQL) SELECT
@@ -402,7 +402,7 @@ vectorized: true
402402
table: orders@orders_pkey
403403
spans: [/'ap-southeast-2'/'94e4b847-8f2f-4ac5-83f1-641d6e3df727' - /'ap-southeast-2'/'94e4b847-8f2f-4ac5-83f1-641d6e3df727'] [/'us-east-1'/'94e4b847-8f2f-4ac5-83f1-641d6e3df727' - /'us-east-1'/'94e4b847-8f2f-4ac5-83f1-641d6e3df727']
404404
·
405-
Diagram: https://cockroachdb.github.io/distsqlplan/decode.html#eJysU19v0zAQf-dTWPcymNw1_9Z2kSZ5GgU6lXa0k0DCVZXF182stYPtQNDUJz4b3wsl6TYy0UobPCS27-7n-_3Od7dgvy4hhv6n8-HJYERevh5ML6Yfhq_ItD_sn14QbQSauRSUZEavtD2olo1BpkhOpvVm_l26a527eRVw590nQtpU58o1A-so8mYyfl-nsORsPBhtkpDx3e5AqoUmjOeeF-ImsrZ9fNef9O_pkWOydxRhdNmLuq3eIli0oiQ9bPXChd_qRL7oYCgW3aC7BxSUFjhKVmgh_gwRzChkRqdorTal6bYKGIgCYo-CVFnuSvOMQqoNQnwLTrolQgwXyeUSJ5gING0PKAh0iVxW19ZMWb3Msxv8ARRO9TJfKRs3iipTpKRUBBSmWVK62xwYhzYHzoujiPMCy99l7y3nRW_RPvv1k_Ni4QvOC1-o4_LQ3ePQ9kiiBPGJdtdoYLamoHP3QN-65Aoh9tf0eRL9_yuxFOM9S-ZWacFWaQ-KLBqZLEmuKoYoGqJm67_UYKRbOmsHTfVDuZKO-FupeE-p8kB9Q-NQnGmp0LTDZqp6Eli9zMs6zqUogN7D-kVmCOvcjwkrLxjnLibMpyygLKQs2so0fArTkuGmHaJdLDftMNT6Js_IFy0V0SomrASNR4R1m2QnqASaii9hh5SwoPz2WWcr6-gprCdoM60sPnrrbS83o4DiCuu-sTo3KZ4bnVZp6uO4wlUGgdbV3qA-DFTlqsbsT7D_L-BgJzhsgL3H4HAnONoNjnaCDx-BZ-sXvwMAAP__8qQUmA==
405+
Diagram: https://cockroachdb.github.io/distsqlplan/decode.html#eJysVN1uGjsQvj9PYc1NzolM2L8AWSmSoxzaElFIIVIr1Qht1kPiBuyt7W23irjqs_W9qt0lpBsVpKS9ANsz83m-b3bG92A_LyGG_ofL4dlgRP79fzC9mr4b_kem_WH__IpoI9DMpaAkM3ql7VG1bAwyRXI2rTfzr9Ld6tzNq4AH7yER0qY6V64ZWEeRV5Px2zqFJRfjwWiThIwfdkdSLTRhPPe8EDeRte39m_6kv6VHTsnBSYTRdS_qtnqLYNGKkvS41QsXfqsT-aKDoVh0g-4BUFBa4ChZoYX4I0Qwo5AZnaK12pSm-ypgIAqIPQpSZbkrzTMKqTYI8T046ZYIMVwl10ucYCLQtD2gINAlclldWzNl9TLP7vAbUDjXy3ylbNwoqkyRklIRUJhmSeluc2Ac2hw4L04izgss_657rzkveov2xY_vnBcLX3Be-EKdlofuAYe2RxIliE-0u0UDszUFnbtH-tYlNwixv6Yvk-j_XYmlGO9FMndKC3ZKe1Rk0chkSXJVMUTREDVb_6YGI93SWTtoqh_KlXTE30nFe06VB-oLGofiQkuFph02U9WTwOplXtZxLkUBdAvrF5khrLMdE1ZeMM5dTJhPWUBZSFm0k2n4HKYlw007RPtYbtphqPVdnpFPWiqiVUxYCRqPCOs2yW7b5vF1eXg3tp0zQSXQVJoIO6aEBeXvkHV2Koueo2yCNtPK4pN-2PV1ZxRQ3GDdW1bnJsVLo9MqTX0cV7jKINC62hvUh4GqXNUo_gr2_wQc7AWHDbD3FBzuBUf7wdFe8PET8Gz9z88AAAD__y7iIUk=
406406

407407
# Regression test for #74890. Code should not panic due to distribution already
408408
# provided by input.

pkg/ccl/logictestccl/testdata/logic_test/partitioning_hash_sharded_index_query_plan

Lines changed: 108 additions & 204 deletions
Large diffs are not rendered by default.

pkg/ccl/logictestccl/testdata/logic_test/regional_by_row_hash_sharded_index_query_plan

Lines changed: 131 additions & 224 deletions
Large diffs are not rendered by default.

pkg/ccl/logictestccl/testdata/logic_test/regional_by_row_query_behavior

Lines changed: 63 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -329,6 +329,56 @@ ORDER BY pk LIMIT 5] OFFSET 2
329329
spans: /"\xc0"-/"\xc0"/PrefixEnd
330330
limit: 5
331331

332+
# Test that the synthesized UNIQUE WITHOUT INDEX constraints do not cause
333+
# lookups into redundant arbiters.
334+
query T
335+
SELECT * FROM [
336+
EXPLAIN INSERT INTO regional_by_row_table (crdb_region, pk, pk2, a, b)
337+
VALUES ('ca-central-1', 7, 7, 8, 9) ON CONFLICT DO NOTHING
338+
] OFFSET 2
339+
----
340+
·
341+
• insert
342+
│ into: regional_by_row_table(pk, pk2, a, b, j, crdb_region)
343+
│ auto commit
344+
│ arbiter constraints: regional_by_row_table_pkey, regional_by_row_table_b_key, uniq_idx
345+
346+
└── • render
347+
348+
└── • distinct
349+
│ distinct on: arbiter_uniq_idx_distinct
350+
│ nulls are distinct
351+
352+
└── • render
353+
354+
└── • lookup join (anti)
355+
│ table: regional_by_row_table@uniq_idx (partial index)
356+
│ lookup condition: (column4 = a) AND (crdb_region IN ('ap-southeast-2', 'ca-central-1', 'us-east-1'))
357+
│ pred: column5 > 0
358+
359+
└── • lookup join (anti)
360+
│ table: regional_by_row_table@regional_by_row_table_b_key
361+
│ equality cols are key
362+
│ lookup condition: (column5 = b) AND (crdb_region IN ('ap-southeast-2', 'ca-central-1', 'us-east-1'))
363+
364+
└── • cross join (anti)
365+
366+
├── • values
367+
│ size: 6 columns, 1 row
368+
369+
└── • union all
370+
│ limit: 1
371+
372+
├── • scan
373+
│ missing stats
374+
│ table: regional_by_row_table@regional_by_row_table_pkey
375+
│ spans: [/'ap-southeast-2'/7 - /'ap-southeast-2'/7]
376+
377+
└── • scan
378+
missing stats
379+
table: regional_by_row_table@regional_by_row_table_pkey
380+
spans: [/'ca-central-1'/7 - /'ca-central-1'/7] [/'us-east-1'/7 - /'us-east-1'/7]
381+
332382
# Tests for locality optimized search.
333383

334384
# Split the table into 3 regions and change the leaseholders to be "local"
@@ -624,7 +674,7 @@ SELECT message FROM [SHOW KV TRACE FOR SESSION] WITH ORDINALITY
624674
Scan /Table/112/1/"@"/10/0, /Table/112/1/"\x80"/10/0, /Table/112/1/"\xc0"/10/0
625675
fetched: /child/child_pkey/?/10/c_p_id -> /10
626676
Scan /Table/111/1/"@"/10/0, /Table/111/1/"\x80"/10/0, /Table/111/1/"\xc0"/10/0
627-
fetched: /parent/parent_pkey/?/? -> <undecoded>
677+
fetched: /parent/parent_pkey/'ap-southeast-2'/10 -> <undecoded>
628678

629679
# Semi join with locality optimized search disabled.
630680
query T
@@ -654,7 +704,7 @@ SELECT message FROM [SHOW KV TRACE FOR SESSION] WITH ORDINALITY
654704
Scan /Table/112/1/"@"/10/0, /Table/112/1/"\x80"/10/0, /Table/112/1/"\xc0"/10/0
655705
fetched: /child/child_pkey/?/10/c_p_id -> /10
656706
Scan /Table/111/1/"@"/10/0, /Table/111/1/"\x80"/10/0, /Table/111/1/"\xc0"/10/0
657-
fetched: /parent/parent_pkey/?/? -> <undecoded>
707+
fetched: /parent/parent_pkey/'ap-southeast-2'/10 -> <undecoded>
658708
output row: [10 10]
659709

660710
# Inner join with locality optimized search disabled.
@@ -750,7 +800,7 @@ SELECT * FROM [EXPLAIN (DISTSQL) SELECT * FROM child WHERE NOT EXISTS (SELECT *
750800
table: child@child_pkey
751801
spans: [/'ca-central-1'/10 - /'ca-central-1'/10] [/'us-east-1'/10 - /'us-east-1'/10]
752802
·
753-
Diagram: https://cockroachdb.github.io/distsqlplan/decode.html#eJy0k2GLm04Qxt__P8Uwb5L82ZLVWHosBAx3hnpYvSZCDy4SrA539oxr3RVyhHz3oqbcGZrQu7Zv1J2dx_09w7M7VN9zFLh0POcyhP9hvgg-wZ1ze-PNXB-GV-4yXH72RtBvSB6yPIUvH52FA0M_CMG5bRph2G8r44oKfegr11kKU0jWzcdoBDP_CoZJVzT4KIJgPl86IZjIsJAp-fGGFIo7NDBiWFYyIaVk1ZR2bYObblFwhllR1ropRwwTWRGKHepM54QCw_hrTguKU6rGHBmmpOMsb3_berDb57p8pCdkeCnzelMoAQ0WO6Aiw2UZN9XxCler7QVf4djgYw5xkYIBUj9QhdGeoaz1M4nS8T2hMPbsbbTGX6C1D6Qn6cyTdM9QiqoszqEuZJVSRWmPK9r_woYv38lybPYNeNkm02CcROGvGdS1zIrDnCb9Y8KnkgR4zjyEmR-6cB24PjLskmh3r58D9KR8rEv4JrMCZCFgaE9gCrZ5yKZtwRS2A4sPhBC2wbnBP4yQYVBrAbbBbPOkmckbzVj_0kxzn7eDi5d2GGwHSc_fbxq0XmNwQaqUhaKj5JzKQcSQ0nvqUqhkXSV0U8mkPaZbBq2uLaSkdLdrdgu3aLfae_dSbPyJ2DwrnvTE_Fg8OSu2zouts-L3R-Jo_9-PAAAA__9jBNRX
803+
Diagram: https://cockroachdb.github.io/distsqlplan/decode.html#eJy0k2Fro04Qxt__P8Uwb5L82SOr8biyULC0hrN4ppcIV2gkWHdovdpdb1VIKfnuh5qjMVwCzd29UXd2Hvf3DM--YvkjR4ELL_AuI_gfpvPZF7jzbm-CCz-E4ZW_iBZfgxH0G9LHLJfw7bM392AYziLwbptGGPbbisSQqrZ9xSqTcA7pqvkYjeAivIJh2hUtPophNp0uvAhsZKi0pDB5phLFHVoYMyyMTqkstWlKr22DL9coOMNMFXXVlGOGqTaE4hWrrMoJBUbJfU5zSiSZMUeGkqoky9vfth7c9rkqnugFGV7qvH5WpYAGi21RkeGiSJrqeInL5fqML3Fs8TGHREmwQFePZDDeMNR19UZSVskDobA27DRa6y_QulvSg3T2Qbo3qJJMluRQK20kGZI9rnjzGxuh_qCLsd03EGTPWQXWQRT-nkFd60xt5zTpHxO9FCQg8KYRXISRD9czP0SGXRLd7vVrgIHWT3UB33WmQCsBQ3cC5-Da22y6DpzDeuDwgRDCtTi3-KfR7tyLbu5G3q8MPWRaHTQ3OdGc8y_NNfd7PTjbtcdgPUh7fk807LzH8JzKQquS9pJ1KCcxQ5IP1KW01LVJ6cbotD2mW85aXVuQVFbdrt0tfNVutfdyV2z9idg-Kp70xHxfPDkqdo6LnaPij3viePPfzwAAAP__dhHiVw==
754804

755805
statement ok
756806
SET vectorize=on
@@ -783,7 +833,7 @@ SELECT message FROM [SHOW KV TRACE FOR SESSION] WITH ORDINALITY
783833
Scan /Table/112/1/"@"/10/0
784834
fetched: /child/child_pkey/?/10/c_p_id -> /10
785835
Scan /Table/111/1/"@"/10/0
786-
fetched: /parent/parent_pkey/?/? -> <undecoded>
836+
fetched: /parent/parent_pkey/'ap-southeast-2'/10 -> <undecoded>
787837

788838
statement ok
789839
SET tracing = on,kv,results; SELECT * FROM child WHERE NOT EXISTS (SELECT * FROM parent WHERE p_id = c_p_id) AND c_id = 20; SET tracing = off
@@ -801,7 +851,7 @@ Scan /Table/112/1/"\x80"/20/0, /Table/112/1/"\xc0"/20/0
801851
fetched: /child/child_pkey/?/20/c_p_id -> /20
802852
Scan /Table/111/1/"@"/20/0
803853
Scan /Table/111/1/"\x80"/20/0, /Table/111/1/"\xc0"/20/0
804-
fetched: /parent/parent_pkey/?/? -> <undecoded>
854+
fetched: /parent/parent_pkey/'ca-central-1'/20 -> <undecoded>
805855

806856
# Semi join with locality optimized search enabled.
807857
query T
@@ -827,7 +877,7 @@ SELECT * FROM [EXPLAIN (DISTSQL) SELECT * FROM child WHERE EXISTS (SELECT * FROM
827877
table: child@child_pkey
828878
spans: [/'ca-central-1'/10 - /'ca-central-1'/10] [/'us-east-1'/10 - /'us-east-1'/10]
829879
·
830-
Diagram: https://cockroachdb.github.io/distsqlplan/decode.html#eJysk1Fr2z4Uxd__n-JyX5L80YjsFFYEAZfWYS5u0sWGFRoTPPvSenUkT5IhJeS7D9sZrcPS0W0vtnV1jvTT0fUOzfcSBUZ-6F_G8D_MlosbuPfvbsOLYA7DqyCKo8_hCPqC7LEoc_jyyV_64N81Ghj2FVWqSdqDpFoXOUwhWzcfI7iYX8Ew62oOHyWwmM0iPwYXGUqV0zzdkEFxjw4mDCutMjJG6aa0awVBvkXBGRayqm1TThhmShOKHdrCloQC4_RrSUtKc9JjjgxzsmlRtsu29F77XFdP9IwML1VZb6QR0GCxAykyjKq0qY5XuFptz_kKxw4fc0hlDg4o-0gakz1DVdsXEmPTB0Lh7Nmf0Tr_gNY7kJ6kc0_SvUAZ0kVaQi2VzklT3uNK9r84xlx9UNXY7R8gLDaFBeckCn9PUNeqkIecJv1t4ueKBIT-LIbIvwngehHMkWHXiF73-hlgqNRTXcE3VUhQUsDQm8AUPPfQm94ZTGE7OOMDIYTncO7wjyNkuKSNsgTlb93Nr7MdnL_2M9gOst6CzYqL2grwHOa5J-OZvCeeJZlKSUNHV3Uq-IQh5Q_UXbtRtc7oVqus3aYbLlpfW8jJ2G7W7QaBbKfaRn9tdv7G7L5pnvTM_Ng8edN8dmRO9v_9CAAA__-CWJEk
880+
Diagram: https://cockroachdb.github.io/distsqlplan/decode.html#eJysk1Fr2zAQx9_3KY57STI0IjuBFUHApXWYi5t0sWGFxgTXOlKvjuTJNqSEfPdhO6NxWDq67cW2TveXfve_8w6LHxkKDFzfvQrhI0wX81t4cO_v_EtvBv1rLwiDr_4AugnJU5pJ-PbFXbjg3tc50O9m5LEhVR5S8lUqYQLJqv4YwOXsGvpJG7P4IIL5dBq4IdjIUGlJs3hDBYoHtDBimBudUFFoU4d2TYIntyg4w1TlVVmHI4aJNoRih2VaZoQCw_gxowXFksyQI0NJZZxmzbENvdM8V_kzvSDDK51VG1UIqLHYgRQZBnlcR4dLXC63F3yJQ4sPOcRKggW6fCKD0Z6hrspXkqKM14TC2rO_o7X-A61zID1LZ5-le4UqyKRxBpXSRpIh2eGK9r8pY6Y_6Xxodwvw001agnUWhb_HqBudqoNPo-414UtOAnx3GkLg3npwM_dmyLAdRKd9_TLQ1_q5yuG7ThVoJaDvjGACjn2YTWcME9j2xrwnhHAszi3-eYAMF7TRJUH2R3X962x7F8d6Btte0jlwcNzJvO2kkY8rQ-tUq7N2jd5j14KKXKuCTlp3rhERQ5Jraseg0JVJ6M7opLmmXc4bXROQVJTtrt0uPNVsNYN_LLb-RWy_KR51xPxUPHpTPD4RR_sPPwMAAP__OaSYJA==
831881

832882
statement ok
833883
SET vectorize=on
@@ -859,7 +909,7 @@ SELECT message FROM [SHOW KV TRACE FOR SESSION] WITH ORDINALITY
859909
Scan /Table/112/1/"@"/10/0
860910
fetched: /child/child_pkey/?/10/c_p_id -> /10
861911
Scan /Table/111/1/"@"/10/0
862-
fetched: /parent/parent_pkey/?/? -> <undecoded>
912+
fetched: /parent/parent_pkey/'ap-southeast-2'/10 -> <undecoded>
863913
output row: [10 10]
864914

865915
statement ok
@@ -878,7 +928,7 @@ Scan /Table/112/1/"\x80"/20/0, /Table/112/1/"\xc0"/20/0
878928
fetched: /child/child_pkey/?/20/c_p_id -> /20
879929
Scan /Table/111/1/"@"/20/0
880930
Scan /Table/111/1/"\x80"/20/0, /Table/111/1/"\xc0"/20/0
881-
fetched: /parent/parent_pkey/?/? -> <undecoded>
931+
fetched: /parent/parent_pkey/'ca-central-1'/20 -> <undecoded>
882932
output row: [20 20]
883933

884934
# Inner join with locality optimized search enabled.
@@ -905,7 +955,7 @@ SELECT * FROM [EXPLAIN (DISTSQL) SELECT * FROM child INNER JOIN parent ON p_id =
905955
table: child@child_pkey
906956
spans: [/'ca-central-1'/10 - /'ca-central-1'/10] [/'us-east-1'/10 - /'us-east-1'/10]
907957
·
908-
Diagram: https://cockroachdb.github.io/distsqlplan/decode.html#eJysk9Fq2zAUhu_3FIdzk2RoRLYDK4KAS-swl8zunMAGjQmefWi9OpYnyZAR8u4jckbrsHR0241tHemTPv2Sd6i_VyhwEcyDqyW8hVkSf4S74Mvt_DKMYHgdLpaLT_MR9AfkD2VVQBhFQQI3cRhBkymqDcQRNOuygCnka_vx-UOQBJB3NYenEM9mi2AJLjKsZUFRtiGN4g4dTBk2SuaktVSH0s4OCIstCs6wrJvWHMopw1wqQrFDU5qKUOAy-1pRQllBasyRYUEmKys7rRX17XPdPNIPZHglq3ZTa2Gt2FEUGS6a7FAdr3C12l7wFY4dPuaQ1QU4IM0DKUz3DGVrnky0ye4JhbNnf2fr_Adb_2h61s49a_ckpUmVWQVtLVVBioqeV7r_zTYi-U42Y7e_gXm5KQ04Z1X4a4K6kWV9zMnrL9PdNr97_UpqLuVj28A3WdYgawFD34Mp-O4ILqNrGPoTmMJ2MOEDIYTvcO7w9yNkmNBGGoLqj_Thd9gOLp7zDLaDvDfhYca4NQJ8h_ku872zUXiviSIh3cha08mxnAs5ZUjFPXVHrGWrcrpVMrfLdM3YcrZQkDZdr9s1wtp22Uv9HHb-BXZfhL0ezE9h70V4cgKn-zc_AwAA__8ZoYaJ
958+
Diagram: https://cockroachdb.github.io/distsqlplan/decode.html#eJysk2Fr2zwQgL-_v-K4L2leNCLbhRVBwKV1mEtmd05gg8YE1zpSr47kyTJkhPz3ETujcVg6uu2LbZ30SI_uzlusv5UocBZMg5s5_A-TJP4ID8GX--l1GMHFbTibzz5Nh9BfkD8VpYQwioIE7uIwgiozpCzEEVTLQsIY8mX78flDkASQdzGHpxBPJrNgDi4yVFpSlK2pRvGADqYMK6Nzqmtt9qFtuyCUGxScYaGqxu7DKcNcG0KxRVvYklDgPHssKaFMkhlxZCjJZkXZbtuK-u1zWT3Td2R4o8tmrWrRWrGDKDKcVdk-OlrgYrG54gscOXzEIVMSHND2iQymO4a6sS8mtc1WhMLZsT-zdf6BrX8wPWvnnrV7karJFFkJjdJGkiHZ80p3v7hGpN_pauT2LzAt1oUF56wKf0ui7nShDnny-sd03eZ3r5-Zmmr93FTwVRcKtBJw4XswBt8dwnV0Cxf-JYxhM7jkAyGE73Du8PdDZJjQWluC8rf0_nfYDK6OeQabQd7bcHhcsqormZGPS0OrQitkGDdWgO8w32W-dzZP3lvylFBdaVXTSc3OVSBlSHJFXf1r3Zic7o3O22O6YdxybUBSbbtZtxuEqp1qO_4Ydv4Gdl-FvR7MT2HvVfjyBE53__0IAAD__5JOkJo=
909959

910960
statement ok
911961
SET vectorize=on
@@ -983,7 +1033,7 @@ SELECT * FROM [EXPLAIN (DISTSQL) SELECT * FROM child LEFT JOIN parent ON p_id =
9831033
table: child@child_pkey
9841034
spans: [/'ca-central-1'/10 - /'ca-central-1'/10] [/'us-east-1'/10 - /'us-east-1'/10]
9851035
·
986-
Diagram: https://cockroachdb.github.io/distsqlplan/decode.html#eJysk1Fr2zAUhd_3Ky73Je3QiGwXVgQBl9ZhKZ7dOR4bNCZ49qX16lieJENKyH8fkTNah6Wj215s60jn6tPR9Qb1jxoFzoMwuEzhLUyT-CPcBl9vwotZBCdXs3k6_xSewnBBcV_VJYTBNIXreBZBmytqDMQRtMuqhAkUS_vx5UOQBFD0msMziKfTeZCCiwwbWVKUr0ijuEUHM4atkgVpLdVO2tgFs3KNgjOsmrYzOzljWEhFKDZoKlMTCkzzbzUllJekxhwZlmTyqrZlLadvn8v2gR6R4aWsu1WjhaVie1BkOG_znTpe4GKxPucLHDt8zCFvSnBAmntSmG0Zys48kWiT3xEKZ8v-jtb5D7T-nvQonXuU7glKk6ryGrpGqpIUlQOubPubY0TynWzH7vAAYbWqDDhHUfhrgrqWVbPPyRtukz62JPruiz-nQWJ7EBn2Xej3r18JhlI-dC18l1UDshFw4nswAd89hYvoCk78M5jAenTGR0II3-Hc4e9PkWFCK2kI6j-6d3_JenT-3M9gPSoGBXcV484I8B3mu8z3jkbkvSaihHQrG00H13Us_IwhlXfUX72WnSroRsnCbtMPY-uzQkna9LNuP5g1dso2-3Oz8y9m90WzNzDzQ7P3ovnswJxt3_wMAAD__4udjM4=
1036+
Diagram: https://cockroachdb.github.io/distsqlplan/decode.html#eJysk2Fr2zwQgL-_v-K4L2leNCI7hRVBwaV1WIpnd47HBo0JrnW0Xh3Jk2VIKfnvI3JH67B0dNuXxDrpkR7dnR6x_V6jwEUYhecZ_A-zNPkI1-HXq-hsHsPRxXyRLT5FYxguKO-qWkIUzjK4TOYxNIUhZSGJoVlVEk6hXLmPLx_CNISyj3k8h2Q2W4QZ-MhQaUlxsaYWxTV6mDNsjC6pbbXZhR7dgrncoOAMK9V0dhfOGZbaEIpHtJWtCQVmxU1NKRWSzIQjQ0m2qGq3rfMM3O-quacHZHiu626tWuGs2JMoMlw0xS46WeJyuTnhS5x4fMKhUBI80PaODOZbhrqzzyatLW4Jhbdlf2br_QPb4Mn0oJ1_0O5ZqiVTFTV0ShtJhuTAK9_-4hqxfqebiT-8QFStKwveQRX-lkRd6ko95Wk6PCZ7aEj03Zd8zsLU9SAy7Lsw6P9-ZjDS-r5r4JuuFGgl4CiYwikE_hjO4gs4Co7hFDajYz4SQgQe5x5_P0aGKa21Jah_S-9eyWZ08pJnsBmVgw3HL0vZ9KU08mZl6LbSChkmnRUQeCzwWTA9mL_pW_KXUtto1dJeLQ9VJmdI8pb6vmh1Z0q6Mrp0x_TDxHEuIKm1_azfD-bKTbmX8BL2_gb2X4WnA5jvw9NX4eM9ON_-9yMAAP__uiqW3w==
9871037

9881038
statement ok
9891039
SET vectorize=on
@@ -2417,7 +2467,7 @@ FROM
24172467
regional_by_row_table_as4@a_idx
24182468
WHERE
24192469
a
2420-
IN (1, 2, 4, 5, 6, 8, 10, 11, 12, 14, 15, 16, 17, 18,
2470+
IN (1, 2, 4, 5, 6, 8, 10, 11, 12, 14, 15, 16, 17, 18,
24212471
18, 19, 22, 23, 24, 25, 28, 30, 33, 34, 39, 40)
24222472
LIMIT
24232473
5
@@ -2479,7 +2529,7 @@ FROM
24792529
regional_by_row_table_as4@a_idx
24802530
WHERE
24812531
a
2482-
IN (1, 2, 4, 5, 6, 8, 10, 11, 12, 14, 15, 16, 17, 18,
2532+
IN (1, 2, 4, 5, 6, 8, 10, 11, 12, 14, 15, 16, 17, 18,
24832533
18, 19, 22, 23, 24, 25, 28, 30, 33, 34, 39, 40)
24842534
LIMIT
24852535
5
@@ -2522,7 +2572,7 @@ FROM
25222572
regional_by_row_table_as4@a_idx
25232573
WHERE
25242574
a
2525-
IN (1, 2, 4, 5, 6, 8, 10, 11, 12, 14, 15, 16, 17, 18,
2575+
IN (1, 2, 4, 5, 6, 8, 10, 11, 12, 14, 15, 16, 17, 18,
25262576
18, 19, 22, 23, 24, 25, 28, 30, 33, 34, 39, 40)
25272577
LIMIT
25282578
5

pkg/sql/catalog/descpb/index_fetch.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ func (s *IndexFetchSpec) KeyColumns() []IndexFetchSpec_KeyColumn {
2121

2222
// KeyFullColumns returns the key columns in the index, plus all key suffix
2323
// columns if that index is not a unique index. It parallels
24-
// TableDesciptor.IndexFullColumns.
24+
// TableDescriptor.IndexFullColumns.
2525
func (s *IndexFetchSpec) KeyFullColumns() []IndexFetchSpec_KeyColumn {
2626
if s.IsUniqueIndex {
2727
// For unique indexes, the suffix columns are not part of the key (except

0 commit comments

Comments
 (0)