# LogicTest: 5node-dist-opt

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#eJyMkMFKNDEQhO__U4Q6_ULEjCJIn1YQYS6jrHvTHGLSLIHZJCQZUJa8u-wEXDwIHqu-7uqijwjR8WQOXECvGKAlUo6WS4n5ZPWB0X2AlIQPaaknW0vYmBl0RPV1ZhB25n3mLRvH-UpBwnE1fl5jU_YHkz83FRIvyYRC4hISj36unEn831yLt0WpGxaDIqJx2t1diPvp4UysuP0m0E0iLvVcpVSzZ9DQ5N_rbrmkGAr_aPpbsmpagt2e-0tKXLLl5xzteqbLp3VvNRyX2unQxRg6arr9-woAAP__3cR1-A==

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#eJyUkEFL_DAUxO__TxHm9Bcjm1QEyamCCL1U2d2b9hCbx1LoNuElBWXpd5c24LrCih5nJvPL8A4YvKPa7inCPEOjkQjsW4rR82zlB5V7g1ES3RDGNNuNROuZYA5IXeoJBlv72tOarCNeKUg4SrbrF2zgbm_5vUyQ2AQ7RCOuIPHQ9YnYiP9lIV5Gpa5JaGWMqert7YW4q--PSStuPhM0k4Qf03FKTHZHMHqSv5-78ZyIV_p0aVlcnsUXf8GvKQY_RDrBnyOrqZEgt6N88ehHbumJfbt8k-Xj0lsMRzHlVGdRDTmaB34t6x_LxbdyM_37CAAA__9jJKj1

# 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#eJyUkUFL_DAUxO__TxHm9Bcjm3QRJKcKIvTSld29aQ-xeSyFblOSV1CWfndpA9YVVvT4ZjLzG8gJnXdU2iNFmGdoVBJ98DXF6MMkpQeFe4NREk3XDzzJlUTtA8GcwA23BIO9fW1pS9ZRWClIOGLbtHNtH5qjDe85Q2LX2y4acQOJx6ZlCkb8zzPxMii1JqGVMaYo93dX4r58WJxa3H46kNgMbESeyXyNapTwAy-7ItsDwehR_n77zgemsNLns3N9vbAugrK_gLYUe99FOgNdalZjJUHuQOkjoh9CTU_B1zMmnZs5NwuOIidXp6PokjUN_BrWP4azb-Fq_PcRAAD__0r3rns=

# 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==
