# LogicTest: 5node-dist

statement ok
CREATE TABLE data (a INT, b INT, c FLOAT, d DECIMAL, 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

query T
SELECT url FROM [EXPLAIN (DISTSQL) SELECT sum(a) OVER () FROM data]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJys0z9r8zAQBvD9_RTmmd6CjCz_6eApa4Y2JWnpUDyo1pEaEslIMm0J_u4l9pA6JEXFHaXz4_txnA7QRtG93JND-QIBhhQMGRhyMBSoGFpranLO2OMnY2CpPlAmDI1uO3-8rhhqYwnlAb7xO0KJR_m6ozVJRZYnYFDkZbMb2rS22Uv7uVDSSzBsWqldGcVcRFKrSETGv5EFw6rzZbQQqHoG0_lTL-flllCKnl3xnBidNlaRJTUhVP0F8XOjlXkny4spd_N0938hbq4y0glDhI9FhIyFi5inswaThovSIFEa82yWKAsXZUGiLOb5LFEeLsqDRHnMiz9b5wuiNbnWaEdna335z8lx3UltaXwbznS2pgdr6qHNeFwNueFCkfNjVYyHpR5KA_B7WPwYvp2Ek_NwOqdzNieczwkXvwpX_b-vAAAA__9Mf79x

query T
SELECT url FROM [EXPLAIN (DISTSQL) SELECT sum(a) OVER (PARTITION BY b ORDER BY c) FROM data]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJzElUFr2zAUx-_7FOKdWiZjS3ba1CevbIcclpQ0Y5Thgxo9mkBqGVlhKyXffSQpZMk6PYGCd0zsn977__5gvUJjNI7VM3ZQ_gABHCRwyIFDARwGUHNorZlj1xm7fWUPjPQvKDMOy6Zdu-3fNYe5sQjlK7ilWyGUMFOPK5yi0mjTDDhodGq52o1p7fJZ2ZdKK6eAw32rmq5kSSqYajQTzLgFWuAwWbuSVYJXklc51BsOZu3eJh4GPb6wheoWxyMqCfWm5tA59YRQig3_x-aHc9aNsRot6qOTdqecZvu-bLT5iTYdHE-9-zSdjWajyZjdPpSs2qq8__b1ohKX7GIy_fxlym4fWJV_vDyEO4l1WFmed-WxSUybiuzkzfdn50ezRXjRIqToVCSp7Klqcbaqr_qqWobrlkG6ZZLmPemWZ9N93ZfuPFx3HqQ7T9KiJ9352XQP-9JdhOsugnQXSTroSXdxNt03_-PeeGehKXataToMuhWybSTUT7jP35m1neOdNfPdmP3PyY7bfXc1dm7_9O3HqNk_2i4YDhcx8FUMPIyBReanxSmd_UlLPyy9sDj2nZ3SeUxZfpgoyw8TZflhoiwiM1FWEVPWIEa3HyZ0-2FCtx8mdBOZCd1XMbqvY3T7YUK3HyZ0-2FCN5GZ0D2M0X0To9sPE7r9MKHbDxO6iczUl_-vi8Pru958-B0AAP__44gUkw==

query T
SELECT url FROM [EXPLAIN (DISTSQL) SELECT sum(a) OVER (PARTITION BY b ORDER BY c) FROM data ORDER BY d]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJy8lsFv2jAUxu_7K6J3alVHwY7TlpyyajtwGFTANFUThxRbBYnGkWO0VRX_-0QookmpnydHOYbky_f5-z298AqFEnKcP8sK0t9AgQADAjEQ4EAggQWBUqulrCql948cBCPxF9IBgXVRbs3-5wWBpdIS0lcwa7ORkMI8f9zIqcyF1NEACAhp8vWmtin1-jnXL5nITQ4EZmVeVGkQRjTICxHQQJmV1EBgsjVpkFGScZIxksWw2BFQW_NmevJ6fAlWebVqutTPLwhUJn-SkNId-ST86T3bQmkhtRSNN9VvaR_v17oQ6o_UUdJ0vf86nY_mo8k4uHtIg2zf5Oznj4uMXgYXk-m379Pg7iHI-NXl-_Ox1slOqdmnqc9kmiltpI5oq-6MXbmZxQ4VnSuodjjb0liFqoxo0urzvD1v2FP38aIu4xXRMGL9DRjtbMCuexwwpPTjgNFOBoy5E2ZOhFkYxf0RZp0RvumRMFL6kTDrhHDsTjh2IhyHEe-PcNwZ4dseCSOlHwnHnRDm7oS5E2EeRkl_hHlnhIc9EkZKPxLmnf8NOGM2lVWpiko6feEH-wqleJKHviu11Ut5r9WytjlcTmpd_SkSsjKHu28Xo-Jwax_QXZz4iG99xNQrN-V2NW2rB-_VrCEetMXMKo7tzrFVTK_t1twHtV2MoLaLEdRIbK_cGOrEWjjS97UP6hsfWHYxAssuRmAhsb1yY7BurX0P7bCGPrCo1xZF1AguRI3wwpL7RUc3qX2VUmSXUq9lSj9s0_-CZldj0OxqDBqS3C86Cu3DSm1CSxBo9p3ahrbYffkXAAD__3-NLgg=

query T
SELECT url FROM [EXPLAIN (DISTSQL) SELECT sum(a) OVER (PARTITION BY b ORDER BY c), avg(a) OVER (PARTITION BY b) FROM data ORDER BY d]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJzEls1um0AUhfd9CnRXiTIIzw_5YUWiVpUXjSMnbRVVLIgZxZYcBg1YbRT53StwLAdC5k411Ja8wfhwzpzv6poXyFUmr9MnWUL0CygQYECAAwEBBEJICBRazWRZKl3_ZCMYZ38gGhFY5MWqqr9OCMyUlhC9QLWolhIiuEsflnIq00zqYAQEMlmli2VjU-jFU6qf4yytUiBwW6R5GXl-QL00zzzqqWouNRCYrKrIiympP4LEjMQckjUBtapefXd2D8_ePC3nbaNYQLJOCJRV-ighomvyQf7dc1a50pnUMms9qXlK94Q_F3mmfksdhG3Xm8vp3fhuPLn2ru4jL66LvP3-7Simx97RZPr5y9S7uvfi8OQYCFz--HoUs-O3h-055u4I7MMj9AS8VbqSOqCd-mN-Yu3HLSrrK6wx6W3tWvmqCGjY6bffXrTsqf3EUZuJC6gfsL3OHB1s5k4PNXMIhO3M0aFmjtlDZ1bQmR_wvUJng0E_OxR0BMIWOhsKOreHzq2gcz8Qe4XOB4N-fijoCIQtdD4UdGEPXVhBF34Q7hW6GAz6xaGgIxC20MX_eKXo8ZvKslB5Ka3eFkZ1pTJ7lJv-S7XSM3mj1ayx2VxOGl3zN5bJstrcfb0Y55tbdUB7cegiPncRU6fcVJjVtKsevVWzlnjUFTOjmJuduVFMT83WwgW1WYygNosR1Ehsp9wY6tBYONL3qQvqMxdYZjECyyxGYCGxnXJjsM6NfV-YYV24wKJOWxRRI7gQNcILS-4WHd2k5lVKkV1KnZYpfbdN_wmaWY1BM6sxaEhyt-gotHcrtQ0tRKCZd2oXWrL-9DcAAP__vkhBuQ==

query T
SELECT url FROM [EXPLAIN (DISTSQL) SELECT sum(a) OVER w1 AS sum_a, avg(b) OVER w2 FROM data WINDOW w1 AS (PARTITION BY b ORDER BY c), w2 AS (PARTITION BY a, d) ORDER BY sum_a ]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJzMll9L40wUxu_fTxHOleKUZCZJ_-QqyrssvVgr1d1Fll7EZtCCZkqSsivS774ktbhp6jxpJy0FL6z1N2fOzO_wzBslKpbX0YvMKPhFnBgJYuQSI48Y-TRhNE_VVGaZSot_WQHD-A8FDqNZMl_kxZ8njKYqlRS8UT7LnyUFdBc9PMuxjGKZ2g4ximUezZ7LMvN09hKlr2Ec5RExup1HSRZYHZtbURJb3FL5k0yJ0WiRB1bIWSjKH5cVv3s0WTJSi_y99EfFh1frKcqeqrVClybLCaMsjx4lBXzJPmnhY51FotJYpjKurFSustnkz1kSq98ytf1q1ZvL8d3wbji6tq7uAysszvP2-7ezkJ9bZ6Px_1_G1tW9FXoX5zs247OwW-lHHKgf7mgbKvfB6PLH17NQnFeuaqOjj626n251y0ZuVZoX29g415BffLq-1-Aoth3E-6JbNnGtOmpuC2fj3LaX9yvlefPh4E2Gw-YdWxx7PHhrOnVPYjza64fzA48H8Gc9Ht19x0M091M08lN0bPfYforW7rN3En621w8XB_YT-LP2s7evn25zP91Gfrod2zu2n25r99k_CT_b64e7B_YT-LP2s7-vn15zP71Gfnod2z-2n15r9zk4CT_b64d7B_YT-LP2c9DG83fL-mOZzVWSyUYvW6c4Khk_ytW5ZmqRTuVNqqZlmdXHUcmV75ZYZvnq2_cPw2T1VbHB5nDXBOaOEe0Z0X09zbW0MIF7JjAH1wVo34ge6GmxSTv_0m4FdjZhVwuDu_a0sOD60r7JfOhhMB-gMpgPQIMzAzSYj67JfOhhMB96GM0HoMF8ABrMR09raV8vad9kPgYmhuthYDioDAwHtFnXKAH0AYIiQE-jDADhhUIA4CgFAA4057UUqajKhV50ro8RcOe8liO7qA5o4DqqDWRHuGHnSPdahu6ku55GuutpqDvAke4AR7rXgrSqexfoXsuUnXSvZcpOuutppDuojXQHuGHnSPdanu6ku55GuutpqDvAke4AR7rXUrX61nb0uotatmh1nyz_-xsAAP__A5lm5w==

query T
SELECT url FROM [EXPLAIN (DISTSQL) SELECT sum(a) OVER w1 AS sum_a, avg(b) OVER w2, rank() OVER w1 AS rnk, row_number() OVER w3 AS rnumber, max(a) OVER w3, min(b) OVER w2 FROM data WINDOW w1 AS (PARTITION BY b ORDER BY c), w2 AS (PARTITION BY a, d), w3 AS (PARTITION BY a, c ORDER BY b, d) ORDER BY rnk, rnumber ]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJzMmFGP2kYUhd_7K6z7RLSDzIxtFvw0rBpVqAIi76ZpVKHKwaMs0sZGtlEbRfz3CrNoFxbmmF5H-CUKeD-fub5zzlzzg9IsMdP4myko_IskCVIkyCNBPgkKaC5olWcLUxRZvv2THTBO_qWwJ2iZrtbl9uu5oEWWGwp_ULksnwyF9BB_eTKRiROTuz0SlJgyXj5VMqt8-S3Ov-skLmMSdL-K0yJ0uq504jRxpJOVjyYnQbN1GTpaCq3E879KaK_6v0_zjaBsXT4v4EX3y3fnMS4eDxV1QPPNXFBRxl8NhXIjzhTycp91muWJyU1ycKfqLselflqmSfaPyd3gUPXDKHoYP4xnU-fuc-jo7dX7j5OOlu-cziz69X3k3H12dP_mHQmKRtPfO2--v6zIgdDDgzrVT6pT9qyFVusQNPrjt45W2-Im42lHB_-jnNuDcryfVY69b9U6BEWzT39PP07u3kfHfRJ6WPVwMvqzo_0zF19vZk9oX-hA6P7RI3mp1T9b64lK7rO8NLmrjtqivRuh_ZuzGkGN53nqab668YnFTLNutnJVcNSA00voHyxB1o8UWSdSXNl11XVCRTa2O_utDpXm6pSyBaHSYDn2vrUgVIDb9qEiOaGi6jta1XK06rredRytGtsat612dHN1StUCRzdYjr1vLXA0cNve0YrjaK--o71ajva6rn8dR3uNbY1Bqx3dXJ3Sa4GjGyzH3rcWOBq4be9oj-Nov76j_VqO9rtucB1H-41tjWGrHd1cndJvgaMbLMfetxY4Grht72i_qVf5ExqRKVZZWphab-i97fM2yVeza06RrfOF-ZBni0pm93FWcdUbRWKKcnf1-cM43V3aLrA-fMuBpWLRLG0FtKWd5sADDiw9Fs3SVkBbWWkWPOTA0mfRLG0FtL1juveaPoR7x7BvhQO7cmCFVd8u3edkih0GvgbKwJqAZmmjTLnlZIodBr62wyhTAM3SRpky4GSKHQa-tsMoUwDN0kaZMrQ6W_bszpZvDs5LUkWCA4hFA3cibXRqA5ynDgcOcI6waHTsgxMQzRwA56mjhJBvjtBLIgLQwKeARiGBcJ46iglpHx9kAHLCPkCgnGANEIBGTuWNEAjnqcOcYE0RgEZO5c0RCOepw5xgjRKARk7lDRMI56nDnLDPEwrME4o1TyjWPAFo4FSkDbyGcJ46ygnFmicADZwKaJQTCOepw18xWPMEoNFvCbx5AuE8dZQTyj5PKDBPqMvmifnml_8CAAD___0WI8o=

query T
SELECT url FROM [EXPLAIN (DISTSQL) SELECT min(d) OVER w1, sum(a) OVER w2, avg(b) OVER w3 FROM data WINDOW w1 AS (PARTITION BY b ORDER BY c), w2 AS (ORDER BY c), w3 AS (PARTITION BY a, d) ORDER BY a, b ]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJzElc9v2jAUx-_7K6J3osIosePwIye32jRxKFTANlVTDim2ChKNkWO0VRX_-0Rox0iLX1BgXBAhfPy-75Nn5wUyLdUgfVI5xD-BAgEGBEIgwIFABAmBpdFTlefabP6yBfryN8QBgXm2XNnNzwmBqTYK4hewc7tQEMMkfViokUqlMn4ABKSy6XxRlFma-VNqnoVMbQoExss0y2Ov5VMvzaRHPW1nygCB4crGnuBEUCLY2ycjIiy-c0jWBPTKvmbYlX549mZpPtsvKtqQrBMCuU0fFcR0TQ70sltnlWkjlVFyb6VilXK3P-aZ1L-U8aP9qnfXo0l_0h8OvJv72BNtIHDbHzQEvfIaw9HnLyPv5t4TneZVqZldUHamoLT0UMbfbhuCVY4VHozlLEqderpE9IDA9fevDRFe_Z0A-vbUORHRwUT8mERjbewmDysNCW8SETXLlQ_WjPZq0uo7glbZET5t-exie4KebNTa590TrLp2Vkk7a_nhxbSzk2nvnFd7WF17WEl72PL5xbSHJ9PePa92Xl07r6Sdt_zoYtr5ybT3_t-L94MYI5UvdZarUuCPVw42jSj5qLZd53plpurO6GlRZns5LLjiFJYqt9u7rxf9bHtrE7A63K4Dd-vANKhFMzdNy3TwL43AzAmHe3BQhkMnzN0wd8IUKR3VmRM3jMyJG0bmBImNzAlCI4-6XWdOOnV8u2HEtxtGfCOxEd8IjSjr1vHdq-PbDSO-3TDiG4mN-EZo7Bx8d4weI5y-O0aPMY7QiHKERpxjyRHpGI55c79BynSy_vQnAAD__0rjmsY=
