# LogicTest: 5node-dist

statement ok
CREATE TABLE t (k INT PRIMARY KEY, v INT, w INT, INDEX v(v))

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

# Split the index into 5 parts, as if numbers were in the range 1 to 100.
statement ok
ALTER INDEX t@v SPLIT AT SELECT (i * 10)::int FROM generate_series(1, 4) AS g(i)

# Relocate the five parts to the five nodes.
statement ok
ALTER INDEX t@v EXPERIMENTAL_RELOCATE
  SELECT ARRAY[i+1], (i * 10)::int FROM generate_series(0, 4) AS g(i)

query TTTI colnames
SELECT start_key, end_key, replicas, lease_holder from [SHOW EXPERIMENTAL_RANGES FROM INDEX t@v]
----
start_key  end_key  replicas  lease_holder
NULL       /10      {1}       1
/10        /20      {2}       2
/20        /30      {3}       3
/30        /40      {4}       4
/40        NULL     {5}       5

query T
SELECT url FROM [EXPLAIN (DISTSQL) SELECT * FROM t WHERE v > 10 AND v < 50]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJyslD2PozAQQPv7FdHUg_AHJDkq2lyRnHLXrShYPIqQEoxss9rVKv99BURaiDYOKCltz_Pza_wJlVa0zU9kIXkBDggCECQgRIAQQ4ZQG12Qtdq0Iz2wUe-QMISyqhvXb7vSHQkSaCptFBlSgKDI5eWxPc_OGUKhDUHyPbrVga7D9dUggm7c5doMwbr8QJDIMw7UfKD-4eL_-euR9pQrMiEbXQ9vqQOEf3Ve2WQRch6Eop3YNS5ZpBxu6fkc_R9dVhd7NLbXpjzl5qN7w0WJqcBU3hSLkVhM7-a-bsGCUM7vvqMfdMfP7ZbTu4WvW7IgjOZ339EPupfP7Y6md0tfd8SCMJ7ffUc_6F49t5v5xXuyta4sTfo5WPv1kDpQ_09Z3ZiC_hpddJp-ueu4bkORdf3p736xqfqj9oFDmHth4YeFF2YjmF_D0gtHfnP0iDn2wku_efmIeeWF137zepY5O__6CgAA__9D6ElU

query T
SELECT url FROM [EXPLAIN (DISTSQL) SELECT * FROM t WHERE v > 10 AND v < 50 ORDER BY v]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJyslD1vqzAUhvf7K6KzXiP8AUkuE2vukFRpt4qB4qMIKcHINlWriv9egSMFqsYhH6Pt8_p5n-V8QaUkrvMDGkhegQEBDgQEEIiAQAwZgVqrAo1RuhtxgZX8gIQSKKu6se7alnaPkIDSEjVKICDR5uW-_zflfyFrMwKF0gjJaXqtAlWHy9F01hJQjT3-nBEwNt8hJKIlAzob0H_5-CV_2-MWc4k6pOMy76kFAs91XplkFjIWhLyb2DQ2maWMpBzONWDXNPivyupYIBoXqHV5yPVnX-NEJak4C-YjMJ-uznzqnAahuEn9QoOBevxYdTFdnfvUBQ3C6Cb1Cw0G6vPHqkfT1YVPPaJBGN-kfqHBQH3xWHXqB2_R1KoyOGmL0G4NodyhW1tGNbrAJ62KHuOOmz7XX0g01r3-c4dV5Z66gsMw84a5P8y9YToKs59h4Q1HfnJ0Dzn2hud-8vwe8sIbXvrJy6vIWfvnOwAA__9b3UvK

# Here we care about ordering by v, but v is not otherwise used.
query T
SELECT url FROM [EXPLAIN (DISTSQL) SELECT w FROM t WHERE v > 10 AND v < 50 ORDER BY v]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJyslD1vgzAQhvf-iujWGuEPSFIm1nRIqrRbxUDxKUJKMLJN1ariv1fgSIWqdcjHaPteP--z3BdUSuI6P6CB5BUYEOBAQACBCAjEkBGotSrQGKW7ERdYyQ9IKIGyqhvrrm1p9wgJKC1RowQCEm1e7vt_U34PWZsRKJRGSH6m1ypQdbgcTWctAdXY488ZAWPzHUIiWjKgswH9j49f8rc9bjGXqEM6LvOeWiDwXOeVSWYhY0HIu4lNY5NZykjK4b8G7JwGj6qsjgWicYFal4dcf_Y1HFX4qHxE5dO9mc-b0yAUF3mfaDDwjm_oLaZ7c5-3oEEYXeR9osHAe35D72i6t_B5RzQI44u8TzQYeC9u6E391C2aWlUGJ20O2q0elDt0q8qoRhf4pFXRY9xx0-f6C4nGutcHd1hV7qkrOAwzb5j7w9wbpqMw-x0W3nDkJ0fXkGNveO4nz68hL7zhpZ-8PIuctXffAQAA____dUlW

# The single join reader should be on node 5, and doesn't need to output v.
query T
SELECT url FROM [EXPLAIN (DISTSQL) SELECT w FROM t WHERE v > 40 AND v < 50 ORDER BY v]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJyUkbFOwzAQhneeovpnV4kTunjqWoYWFTaUwcSnKlLqs2wHgaq8O4qNRIPUAKPv7vu_0_kCy4b2-kwB6gUSAhs0As5zSyGwn8p5aGfeoUqBzrohTuVGoGVPUBfELvYEhT2v2RUVBAxF3fVpbBTgIX5DIeoTQdWjuAqWy8HP-rWnI2lDvihn8XjbRgg8OW2DWhX3cl1sponDENVqK3FLL_-jf-DOftnl3O58d9b-I-2QlfVNZTVT_nLKIwXHNtCfblmOjQCZE-XvCjz4lh49t0mTn4fEpYKhEHO3zo-dza1pwWtYLsLVMlwtwuUPuBnvPgMAAP__G4vUxQ==
