# LogicTest: 5node-dist

statement ok
CREATE TABLE data (a INT, b INT, c INT, d INT, PRIMARY KEY (a, b, c, d))

# Prevent the merge queue from immediately discarding our splits.
statement ok
SET CLUSTER SETTING kv.range_merge.queue_enabled = false;

# Split into ten parts.
statement ok
ALTER TABLE data SPLIT AT SELECT i FROM generate_series(1, 9) AS g(i)

# Relocate the ten parts to the five nodes.
statement ok
ALTER TABLE data EXPERIMENTAL_RELOCATE
  SELECT ARRAY[i%5+1], i FROM generate_series(0, 9) AS g(i)

# Verify data placement.
query TTTI colnames
SELECT start_key, end_key, replicas, lease_holder from [SHOW EXPERIMENTAL_RANGES FROM TABLE data]
----
start_key  end_key  replicas  lease_holder
NULL       /1       {1}       1
/1         /2       {2}       2
/2         /3       {3}       3
/3         /4       {4}       4
/4         /5       {5}       5
/5         /6       {1}       1
/6         /7       {2}       2
/7         /8       {3}       3
/8         /9       {4}       4
/9         NULL     {5}       5

# Ensure sort-all strategy is used
query BT
EXPLAIN(DISTSQL) SELECT * FROM data ORDER BY d
----
true  https://cockroachdb.github.io/distsqlplan/decode.html#eJyslM2u2jAUhPd9iuhs68ix4_CTFVs2tILuqizc-IhGgjiyjdQK8e5X-ZG4QeBY4S5tM2fmGxxfodYKd_KMFvLfwIAABwIpEBBAIIOCQGN0idZq0_6kF2zVP8gTAlXdXFy7XRAotUHIr-Aqd0LI4Zf8c8I9SoWGJkBAoZPVqbNpTHWW5v9GSSeBwKGRtc2jmLJI1ipikXZ_0UBxI6Av7u5gnTwi5OxGwlMctHFoaDYOsBHfX47nL8ffp2qj0KB6NvRJhp2OdUPZuIRX9unInoV3zEI6piymfEbLEzmGlhdzW-bhmDwIk8c0nYE5kWPAXM7FTMMx0yDMNKZiBuZEjgFzNRdThGOKIEwR02wG5kSOAXP9FU_Dk_F7tI2uLQZ99Un7bqA6Yv_OWH0xJf40uuxs-uWPTtdtKLSuP2X9Ylv3R23Az2LmFfORmD2Kud95wjr1qoVfLN7JnXnFC7_z4h3npVe88juv3nFe-_-rZOKa-C_Zo3dx-_YRAAD__1C6r8U=

# Ensure top-k strategy is used
query BT
EXPLAIN(DISTSQL) SELECT * FROM data ORDER BY d limit 10
----
true  https://cockroachdb.github.io/distsqlplan/decode.html#eJyslM2K2zAUhfd9CnO3lZEly5mMV7MdKNOSdFe8UK1LakgsIynQEvzuxT-QOk1k4XhpKUff-W6ELlBrhR_yhBbyH8CAAAcCKRAQQCCDgkBjdInWatP9ZAi8q9-QJwSqujm7brkgUGqDkF_AVe6IkMN3-fOIO5QKDU2AgEInq2OPaUx1kubPm5JOAoF9I2ubRzFlkaxVxCLtfqGBoiWgz-5KsE4eEHLWkvAWe20cGppNC7yJz0DgS3WqXMSShyT-kHQFaKPQoPr__KK9U-dDx7qh7GYes0XSSREWPngWMnjKYsoXjH6mxzj6zQqj5-HGPMiYxzRdYDzTYzR-WcE4DTdOg4zTmIoFxjM9RuPtCsYi3FgEGYuYZguMZ3qMxq8rPyh3SDu0ja4tTkiPTk661wbVAYfXyeqzKfGb0WWPGT6_9rl-QaF1wy4bPt7rYasr-G-YecN8Ema3Ye4nz6BTb1r4w-KZ3pk3vPGTN8-QX7zhrZ-8fYb86v-vkplr4r9kt-yi_fQ3AAD__822wTk=

# Ensure chunk strategy is used
query BT
EXPLAIN(DISTSQL) SELECT * FROM data ORDER BY a, c
----
true  https://cockroachdb.github.io/distsqlplan/decode.html#eJy0lE2L2zAQhu_9FWauKyNLsrNZn3Ldy7bs9lZ8UK1hY3AsIynQEvzfiz8gdUhk4WSPlvLyvM9EzAkarfBNHtBC_gsYEOBAQACBFAhkUBBojS7RWm36n4yBV_UH8oRA1bRH1x8XBEptEPITuMrVCDn8lL9rfEep0NAECCh0sqoHTGuqgzR_d0o6CQQ-WtnYPIopi2SjIhZpt0cDRUdAH92ZYJ38RMhZR8JbfGjj0NBsXmDHnshOPAGBg3TlPqqxySN2k8hvEs8gbRQaVNc5RXel2puOdUvZfDa3KohZBRY-ehYyespiylcMf6HHNPzNA4fPw815kDmPqVhhvtBjMn9-oLkINxdB5iKm6QrzhR6T-faB5mm4eRpknsY0W2G-0GMyf_miVXOF-I621Y3FoA2S9DsI1SeOe8vqoynxh9HlgBk_vw-54UChdeMtGz9em_GqL_h_mHnDfBZml2HuJy-ghTed-sPpPb0zb3jjJ2_uIT97w1s_eXsP-cX_XyULz8T_yC7ZRfftXwAAAP__hofKcg==
