# 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) FROM data]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJyslE2PmzAQhu_9FWhOrWRkbCCb5ZQe99ButWlPFQcXjyhSgpFtpFYR_70CDoEoMa68Rz5eP--jseYCrZL4VZzRQPETGBDgQCAFAhkQyKEk0GlVoTFKj7_MgRf5B4qEQNN2vR1flwQqpRGKC9jGnhAK-C5-nfANhURNEyAg0YrmNGE63ZyF_nuQwgogcOxEa4oopiwSrYxYpOxv1EDgtbdFdGBQDgRUb68sY0WNULCB-Pf5XNcaa2GVpvm6zvHHl48H9ukhhj_EXE_vW6UlapSro8vBXYQl_9ckXTVh_gNgPgOgLKY8aAQbjRbmu5ARcH9x7iXOY5oGiW80Wog_hYin_uKpl3ga0yxIfKPRQnwfIp75i2de4llM8yDxjUYL8ef32jZ3MG9oOtUavNk6909Oxm2EssZ5dRnV6wq_aVVNmPnxdcpNLyQaO39l88NLO38aCy7DzBnmqzC7DXM3eQOdOtOZO5yF9M6d4Z2bvAshPznDezd5H0J-ds8q2bgm7kt2yy6HD_8CAAD__8HMzUU=

query T
SELECT url FROM [EXPLAIN (DISTSQL) SELECT sum((a-1)*1000 + (b-1)*100 + (c::INT-1)*10 + (d-1)) FROM data]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJzUlUFr2zAUx-_7FOad3E3GluykqU4u2w6BtRtpdxo-aNHDC6SSkRTYKPnuIzaldmhkDe_im5-f_vq_93uC9wxKS7wXT2iB_wAKBBgQyIFAAQQWUBFojN6itdqcjnSCtfwNPCOwU83BnX5XBLbaIPBncDu3R-DwKH7ucYNCokkzICDRid2-tWnM7kmYP6UUTgCBh0Yoy6MkpZFQMqKRdr_QAIENKomGR3EcxyVNKOd8ff-4unpPsyx7CT7EccmGuZfvNpd3weBE70BZtJlPnz-u726_XEF1JKAP7rUv60SNwOmRhPd-W9cGa-G0SRfD1h--38UlvWzDLtq83n5Q2kg0KAdXV0d_ITT7t0ryQSU0fNg0ZNgpTVI2m3GPdN-jvJwybhYOmQVBZkmazwbySPc9yNdTIOfhkPMgyHmSFrOBPNJ9D_JqCuQiHHIRBLlI0sVsII9034N887-2wxs2G7SNVhbPtsTbN2en7YGyxm7VWH0wW_xm9La16cKvra79IdG6Lku7YK261KnAvph6xWwgpudi5ncesc696sIvLqbUvfCKl37n5RTna6945XdeTXG-8c8qG3km_kd27l0d3_0NAAD__0t5SGo=

query T
SELECT url FROM [EXPLAIN (DISTSQL) SELECT sum(a), count(a), max(a) FROM data]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJy0lEFr2zAUx-_7FOadNpCRJTlp6lPKTjmkGU0Dg2GGFj28QGoZSYaNku8-bI_VDrUscHazrfzz-_N74r1CqRU-yhe0kH0DBgQ4EBBAIAUCC8gJVEYf0Vptmp90gY36BVlC4FRWtWs-5wSO2iBkr-BO7oyQwbP8ccYnlAoNTYCAQidP5xZTmdOLNL_XSjoJBPaVLG0WxZRFslQRi7T7iQYI7GqXRWsG-YWArt0byzpZIGTsQsL7PBSFwUI6behiWGd_2H5cs09A4PPu8Pj893n78LV9GoPzUfgbsy61UWhQDYD5xV-PJWP99oft903TkP9rKMYbikFDFj4uFjIuymLKZw1solHPyPL2A-PhOniQDh5TMUvHRKOejrvb6xDhOkSQDhHTdJaOiUY9Havb60jDdaRBOtKYLmbpmGjU03H_f7fbO_AntJUuLV5tuff_OWm2H6oCu1VpdW2O-MXoY4vpXndtrv2g0LrulHUvm7I7agr2w8wb5oMwuw5zP3kCLbzp1B9O5_ReeMNLP3k5h3znDa_85NUc8r1_VsnENfFfsmt2fvnwJwAA__-Um-rw

query T
SELECT url FROM [EXPLAIN (DISTSQL) SELECT sum(a+b), count(a+b), max(a+b) FROM data]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJy0lEFr2zAUx-_7FOadNiYjS3LS1KeUnXJIO5IGBsMMLXp4gVQykgIbJd992B6rExJZEPdmW_nn9-f3xHsFbRQ-yhd0UHwHBgQ4EBBAIAcCEygJ1NZs0Tljm590gYX6DUVGYKfrg28-lwS2xiIUr-B3fo9QwLP8uccVSoWWZkBAoZe7fYup7e5F2j9zJb0EAutaalckKWWJ1CphifG_0AKBFWqFtkjm7POcQ3kkYA7-jei8rBAKdiTxrR6qymIlvbF0clpqvVl-nLNPQODL0-bx-d_z8uFb-3QNzq_C35gHbaxCi-oEWB7D9Vh2rd96s_yxaBry_w3F9YbipCGLHxqLGRplKeUjjG2gV8_LdPyx8XgpPEoKT6kYQcpAr56Uu_GliHgpIkqKSGk-gpSBXj0ps_Gl5PFS8igpeUonI0gZ6NWTcv--W-8CfIWuNtrh2fa7_M9ZsxVRVditUGcOdotfrdm2mO71qc21HxQ6352y7mWhu6OmYD_MgmF-EmbnYR4mD6BFMJ2Hw_ktvSfB8DRMnt5CvguGZ2Hy7BbyfXhW2cA1CV-yc3Z5_PA3AAD__4rp88k=

query T
SELECT url FROM [EXPLAIN (DISTSQL) SELECT sum((a-1)*1000) + sum((b-1)*100) + sum((c::INT-1)*10) + sum(d-1) FROM data]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJzMVc2K2zAQvvcpzJziRsbWT7JZnby0PQS625LdnooPajS4gaxlZAValrx7sV2ydtjIpiElt5HGn78fDcwLFEbjg3rGCuR3oECAAQEOBAQQmEFGoLRmjVVlbP1JC1jqXyATApui3Ln6OiOwNhZBvoDbuC2ChCf1Y4srVBptnAABjU5ttg1NaTfPyv5OtXIKCDyWqqhkEMU0UIUOaGDcT7RAYIWFRiuDSUojKqVcPjwtwvc0SZK_BxJMUtZvdTq8LXv9QzsVzf3HTx-W93efIdsTMDv3aqdyKkeQdE_GW77Lc4u5csbGs77jx2_3k5SGtdm6YoeKHyoRnhTBTop45d4Vxmq0qHvE2d4vkyb_orPzMpOUTlMWTlMeTlNx0gHvOaDjJ4eOmZyYRjG79tkZMN15lPnlZoeNT56NSp5FMb_25AdMd5K_uVzyfHzyfFTyPIrFtSc_YLqT_OJyyYvxyYtRyYsonl178gOmO8nf_p9N9YaIFValKSo82lhv_zmpNxnqHNu1V5mdXeNXa9YNTXv80uCaC42Va7u0PSyLtlUL7IKpF8x6YHoMZn7mAWruRQs_WJyje-YFz_3M83OYb7zghZ95cQ7zrf-tkoEx8Q_ZMXe2f_cnAAD__yELbdQ=

query T
SELECT url FROM [EXPLAIN (DISTSQL) SELECT sum(a), min(b), max(c), count(d) FROM data]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJy8lM9r2zAUx-_7K8I7pSAj60fS1CeXnXJIOpoGBsMMLXp4gdQykgIbJf_7sH2oExpZS0hvtpVvvh8-T7w3qIzGpXpFB9kPYECAAwEBBCQQmEBBoLZmg84Z2_ykC8z1H8hSAtuq3vvmc0FgYyxC9gZ-63cIGbyoXzt8RqXR0hQIaPRqu2trart9VfZvrpVXQGBVq8plo4Sykar0iI2M_40WigMBs_fvDc6rEiFjBxJP8ViWFkvljaWTY4jVejHO2R0QWMyX45y3T4_fx7lonr4-rZcv41zencXgZzHe2_eVsRot6qPq4hAGZen_kK7Wi5_zAVZxxMriB8diBkdZQvkFoxvg6BmZ3nJ0PF4Hj9LBEyou0DHA0dNxf0sdIl6HiNIhEiov0DHA0dMxu6UOGa9DRumQCZ1coGOAo6fj4bP23AcYz-hqUzk82Xcf_3Pa7EHUJXZL05m93eA3azZtTff61ObaDxqd705Z9zKvuqMGsB9mwTA_CrPTMA83D1SLYFqGw_Ia7kkwPA03T69pvg-GZ-Hm2TXND-FZpQPXJHzJTruLw5d_AQAA__-ZF-tW

# AVG is more tricky: we do two aggregations (for the sum and for the count)
# and calculate the average at the end.
query T
SELECT url FROM [EXPLAIN (DISTSQL) SELECT avg(a+b+c::INT+d) FROM data]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJy0lM-L4jAUx-_7V8g7KaakSavj5NRlTx7GWfxxWsqSNY-u4DQlibDL4P8-tD1MlTENaG-28dvvh88L7x1KrXAl39CC-AUMCHAgkACBFAjMICdQGb1Ha7Wp_9IGluofiJjAoaxOrn6dE9hrgyDewR3cEUHAVv454hqlQkNjIKDQycOxqanM4U2a_5mSTgKBTSVLK0YRZSNZqhEbafcXDRBYY6nQiNF4nLFpxifTLBFiudouJtMshfxMQJ_cJ4F1skAQ7EzCKb8XhcFCOm3o7BJys3sZZ2wCBH687lbb5vetSn6z8rPpVGqj0KC6qMnPfigW36La7F5-L2suPumoyhjN-E3O5IKThQ-QhQyQsojyAUbYw9mxNX_UCHm4Gh6khkc0GUBND2dHzdOj1CThapIgNUlE0wHU9HB21CwepSYNV5MGqUkjOhtATQ9nR83zEDvxi8o12kqXFq9249dfjuudiarAdsFafTJ7_Gn0vqlpH1-bXPNCoXXtKWsflmV7VAN2w8wb5hdhdh3m_uae6sSbTv3h9B7umTc89zfP72l-8oYX_ubFPc3P_lnFPdfEf8muu_Pzt48AAAD__6i1_ME=

# VARIANCE/STDDEV have three local (sqrdiff, sum, and count) and one final stage aggregations.
# We calculate and render the variance/stddev at the end.
query T
SELECT url FROM [EXPLAIN (DISTSQL) SELECT sum(a), round(stddev(b), 1) FROM data]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJy8lEGL2zAQhe_9FWZOKcjYkp1sVicvTQOGNmmTbC_FFDUa3EDWMrIMLUv-e7F9WCckssBkb5LGz-_pGzGvUCiJK_GCFfCfQIEAAwIREIiBwBQyAqVWe6wqpZtPOkEq_wIPCRyKsjbNcUZgrzQCfwVzMEcEDjvx-4gbFBJ1EAIBiUYcjq1NqQ8vQv9LpDACCGxLUVTc8wPqiUJ61FPmD2ogsK4N9xJKEgbZiYCqzZtdZUSOwOmJuEd6ynONuTBKB9PzRNvnr5OEfmzCfN8s0uVykrB215y3q0_r59WuXd-Kwm5GeUtQF0pL1CjP7LOTPSwNb6VdpqunL7-2u8Xi849JwkgSkSRuChssJOqWnqdVXcimSjnn6Wo3v32H6OwO1L3D1KXDAfUDNrbHA6F62Gb37jFz58Oc-DA_iMbyGQjV4_Nwbz6RO5_IiU_kB_FYPgOhenzm9-YTu_OJnfjEfjAdy2cgVI_P43vO0CtRNliVqqjwYpZe_3PYzFiUOXYDuVK13uM3rfatTbddt7r2QGJluirtNmnRlZqAfTG1itmZmF6Kmd15wDqyqmO7OB6Te2oVz-zOszHOD1bx3O48H-P8aO9VOPBM7I_s0js7ffgfAAD__xebCC0=

query T
SELECT url FROM [EXPLAIN (DISTSQL) SELECT sum(a), round(variance(b), 1) FROM data]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJy8lEGL2zAQhe_9FWZOKSjYkp1sVieHbQOG1mm92V6KKWo0uIGsZWQZWpb892L7sE7YyAKTvUkaP7-nb8S8QKkkpuIZa-A_gQIBBgRCIBABgQXkBCqt9ljXSref9IJE_gUeEDiUVWPa45zAXmkE_gLmYI4IHHbi9xEzFBK1HwABiUYcjp1NpQ_PQv-LpTACCDxWoqy5N_epJ0rpUU-ZP6iBwLYx3IspiRnkJwKqMa92tREFAqcn4h5pXRQaC2GU9hfniR6fvs5i-rEN8z37lGw2s5h1u_a8Wz1sn9Jdt74WhV2N8pqgKZWWqFGe2ecne1gaXEu7SdL1l18_1lmyTh8-z2JG4pDEUVvKsJSoO36eVk0p2yrlnCfpbnX9FuHZLah7j6lLj30699nULo-EGoBb3rrLzJ0Pc-LD5n44lc9IqAGfu1vzCd35hE58wrkfTeUzEmrAZ3VrPpE7n8iJTzT3F1P5jIQa8Ll_zyn6RpQM60qVNV5M07f_HLRTFmWB_UiuVaP3-E2rfWfTb7edrjuQWJu-SvtNUvalNuBQTK1idiaml2Jmdx6xDq3qyC6OpuReWMVLu_NyivOdVbyyO6-mON_bexWMPBP7I7v0zk8f_gcAAP__EtIIrA==

query T
SELECT url FROM [EXPLAIN (DISTSQL) SELECT stddev(a+b+c::INT+d) FROM data]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJy0lNFq2zAUhu_3FOZcpUTGkeykqa9UlgUMW7ol6W6GGVp08AKpZSQFNkrefdge1AmNLAi-s638-T--I84rlEriSryggfQHUCDAgEAMBBIgMIWcQKXVDo1Ruv5JG8jkH0gnBPZldbT155zATmmE9BXs3h4QUtiKXwdco5CoowkQkGjF_tDUVHr_IvRfLoUVQGBTidKkQRjRQJQyoIGyv1EDgTWWEnUajEacjjm7G_M4TbPVdn435gnkJwLqaN8IjBUFQkpPxJ_ysSg0FsIqHU3PITff1otsuRxxelczPn_5__Tx6Xm1bZ6vAbCrAG-9x1JpiRrlWWl-ciPSC5HLbPX4-edmu1h8-j7ilHBGeHwdLD4Do_7zoz7zi2gYsQEm2MPZ0TMbZoLMXxTzEsXCKB5AVA9nR9T9MKJif1Gxl6g4jJIBRPVwdkTNhxGV-ItKvEQlYTQdQFQPZ0fUw_DL8x2ANZpKlQYvluj7_zyplyvKAttNbNRR7_CrVrumpn19anLNB4nGtqe0fcnK9qgG7IapM8zOwvQyzNzNPdWxM524w8kt3FNneOZunt3SfO8Mz93N81uaH9yzmvRcE_clu-zOTx_-BQAA__880AlC

query T
SELECT url FROM [EXPLAIN (DISTSQL) SELECT variance(a+b+c::INT+d) FROM data]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJy0lNGKm0AUhu_7FHKuEjJiZjTZrFeGbQNC67ZutjdFyjRzsIGsIzMTaFny7kUtrAmbcSB4p07-_B_fGc4rVFJgxl9QQ_wDKBBgQCAEAhEQWEBBoFZyh1pL1fykC6TiD8RzAvuqPprmc0FgJxVC_Apmbw4IMWz5rwPmyAWqYA4EBBq-P7Q1tdq_cPU3EdxwIPBU80rHnh9Qj1fCo540v1EBgRwrgSr2JpOEzhI2nSVhHKfZdjWdJREUJwLyaN4ItOElQkxPxJ1yXZYKS26kChbnkE_f8o_pZjNJ6LRhfP7y_-nh8Tnbts_XANhVgLfeYyWVQIXirLQ42RHphchNmq0___y-ztN19vBpklCSMJKE19HCMzTqPkHqMsGA-gEbYYYDnD1By3FmyNxFMSdRzA_CEUQNcPZE3Y0jKnQXFTqJCv0gGkHUAGdP1GocUZG7qMhJVOQHixFEDXD2RN2Pvz7fAchR17LSeLFG3__nebNeUZTY7WItj2qHX5XctTXd62Obaz8I1KY7pd1LWnVHDWA_TK1hdhaml2Fmbx6oDq3pyB6ObuFeWMNLe_PyluY7a3hlb17d0nxvn9V84JrYL9lld3H68C8AAP__OhwJwQ==

# Test various combinations of aggregation functions and verify that the
# aggregation processors are set up correctly.
query T
SELECT url FROM [EXPLAIN (DISTSQL) SELECT sum(a), avg(b), sum(c), avg(d), stddev(a), variance(b), sum(a+b+c::INT+d) FROM data]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJzUlk-L4kwQxu_vp2jqpExJ0p1EY04t4wiBd5xd_8xlkSFrCldw0tKJsMvgd1-SOGt0105AELxVd-Xpeqp_BZ0PSFRM4-idUgi-AQcEAQgOILiA4MECYavVktJU6fyTUhDGPyGwEdbJdpfl2wuEpdIEwQdk62xDEMAs-r6hCUUxacsGhJiyaL0pymz1-j3Sv2QcZREgTLdRkgasY3EWJTHjTGU_SAPChJKYdMAkRyYFMukgky6yVkvyBynaD9IJgnA889sP0oXFHkHtsqOjNItWBAHfY3PXg9VK0yrKlLa8U9PT-XNL8nbuN49EHj2-zMezQ1zsOn8it5Iv4unXyTAcjQ5nHDL8JHM8x2tfbEdcbOfYxS5ROiZN8UkLi725YW7XdzydP7-FufOzTj9dV77o5qtROB78_zadDYdPry3ZQ8lR-sfE62ASDsaPTy3ZRymwciq3239NgPU5ANKzZBeZ7CGTPjLZv3hbzslt8eYjy5uMrMU7lrjB0Nb4rjDs3sPQiuYYRCMMomM5N8BQ47uCoXcPGJzmGJxGGJyO5d4AQ43vCgb_HjC4zTG4jTC4Hcu7AYYa3xUM_XvAUPNjMKF0q5KUzl7Uf59s5y8txSsqn-VU7fSSvmi1LMqUy5dCV2zElGZllpeLMClTucGqmBvF4kTMz8XCXLmmtGNUu2axe41vzyjumit3r6ncM4p9c2X_msp9Myu7ZkzMQ3Zee7H_73cAAAD__8UQkPI=

query T
SELECT url FROM [EXPLAIN (DISTSQL) SELECT sum(a), min(b), max(c), count(d), avg(a+b+c::INT+d), stddev(a+b), variance(c::INT+d) FROM data]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJzUll-L2kAUxd_7KcJ9inglmfzfPF3ZXSFQs61_lkKRJTUXK7iJTCK0LH73kgQ0ypqk-CC-Te7c45kzvwvOByRpzGH0zhn4P0EAggEIJiBYgGDDAmEr0yVnWSqLlkoQxH_A1xHWyXaXF-UFwjKVDP4H5Ot8w-DDLPq14QlHMUtNB4SY82i9KW22cv0eyb8UR3kECNNtlGS-MtCEEiWxIpQ0_80SECacxCx9hQQqZKBCJipkoaKqJPpk9Ppk-n4QzrxevyiXxaKrKvbJgsUeId3lx1NmebRi8MUeuycZrlaSV1GeSs0-DTKdj1USPUAYB6FKRrka_lDJLFaPL_NwppJVrMtOu1Yt19Pvk6dgNFLJOfQ4tR7npMc99Li1Hrd3MaRxMeQx2y5JZcyS45Ngi33zNQj9f-5hOh-_BZ_cxKFe5hwF4fDr23T29PT8qpKL5CE9HDdeh5NgGD4-qyR0JCGQRGlzaUbI1shBhVxUyLt4RebJFYnuEy26TLQmBppxo5luyVKD6dzvTBvdgRmdgBkDzbwRsJYsNWDu_QIzuwMzOwEzB5p1I2AtWWrAvPsFZnUHZnUCZg00-0bAWrLUgD3cL7CWt8yEs22aZHz2d__5L-vFM4DjFVdvhizdySV_k-mytKk-X0pdWYg5y6tdUX0ESbVVHLAuFo1i40QszsVGs3OLtdmotprF1jXnthvFTrOzc42z2yj2mp29a5wfmlnpLWPSPGTn3ov9l38BAAD__9YvvFg=

# Verify that local and final aggregation is correctly shared and de-duplicated.
query T
SELECT url FROM [EXPLAIN (DISTSQL) SELECT sum(a), stddev(a), avg(a) FILTER (WHERE a > 5), count(b), avg(b), variance(b) FILTER (WHERE b < 8), sum(b) FILTER (WHERE b < 8), stddev(b) FILTER (WHERE b > 2) FROM data]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJzslkGL2kAUx-_9FMM7bWEkmZlEY04jq0Jg67bR3UsrS2oeVnATmURoWfzuJYnVxCaTgAcvHpZ13rz_-897-Q3MB0RxiLPgHRNwvwMDChwoCKBgAQUblhR2Kl5hksQqSykEXvgbXJPCJtrt0yy8pLCKFYL7Aekm3SK4sAh-btHHIERlmEAhxDTYbHObndq8B-qPDIM0AArzXRAlLukZjARRSBiJ01-ogIKPUYjKJZJRItmPvWkKtF3X9WYLhxLJs788unJK0SKPHyOwPFCI9-n5oEkarBFcdqDdmxmt1wrXQRorw672Mn_58iDZ56yNb_7Ym06Pq8fnl9ni306RQ6be02LiE8nL-3VRcVKJSmVxzrbOGZXYqUI1s6aCXVPBrq1gNw6RNw7xPLt9FKsQFYaVwS0P-jEzs2nOU282enqbL8bjyeuD5FQyWhqYdfz15mVN2JVV_5Q1OBd6HfneaPY4eZAOlUMqmXnKGv5vxxiVLPPMHSuAZjgKQ1qUSJsS2TfyfwNKZIblsHGGojJD1v1WsS63ymA9g9_uXrW0U_rg_fu9arpXvDsTvBMTvGeI2zHR0k6JicGdiSYmRHcmRCcmRM-wbsdESzslJpw7E01MWN2ZsDoxYfUM-3ZMtLRTYmJ4Z6LLm6xmiD4muzhK8OJtVl_ZzN5sGK6xeOAl8V6t8KuKV7lNsXzOdXkgxCQtdlmx8KJiKztgWcy0Yl4Rs0sx1zu3WAut2tKLrWvObWvFfb1z_xrngVbs6J2da5yH-m9ltmCih-zSe3n49DcAAP__yWRJgQ==

query T
SELECT url FROM [EXPLAIN (DISTSQL) SELECT sum(a), avg(DISTINCT a), variance(a) FILTER (WHERE a > 0) FROM data]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJy0k0GL1DAUx-9-ivBOK6SkSTsiOXVYVynoKJ26F-0hTh61MJuUJAVl6XeXtoe1y4xEZvaYl_zyfu_B_xGM1bhTD-hBfgMOFARQyIBCDhQ20FDonT2g99ZNTxag1L9AphQ60w9hKjcUDtYhyEcIXTgiSKjVjyNWqDQ6lgIFjUF1x7lN77oH5X4XWgUFFPa9Ml6ShHGijCac2PATHVCo0Gh0khSckoJ_H9I0w1RKWe7qt9CMFOwQngR8UC2C5CM9I_nkNhjrNDrUK69mPDHGtm0dtipYxzbrKfZfP90U_DVQ2N5_uHlX7utyd1uTpXS_rcrt7vZuekHelx_ru4oU4qy0WEnz-M3ymM0ynjBx_d2KeE0RpSkSll1fM4vXzKI0s4Tl19fM4zXzKM08YZuXDdQJzQp9b43HZ8E6_XM6BQ51i0s6vR3cAb84e5jbLMfPMzcXNPqw3PLlUJr5ahb8G-b_hN-s4PQ5LC7pnF0C55fAm_-Cm_HVnwAAAP__MOHnFQ==

query T
SELECT url FROM [EXPLAIN (DISTSQL) SELECT sum(a), avg(a), count(a), stddev(a), variance(a) FROM data]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJy0lNGLm0AQxt_7V8g8XWFFdzW5nE-GywWEXtJqci9Fjm12sIGcK-sKLUf-96IWTsNlFSQPgcxOvnzf_maZd8ilwA1_wxKCn0CBAAMCHhDwgcAMUgKFkgcsS6nqn7SCSPyBwCVwzItK18cpgYNUCME76KM-IQSw479OGCMXqBwXCAjU_HhqbAp1fOPqbyi45kAgKXheBpbtUIvnwqKW1L9RAYFtpQMrpJCeCchKf3iVmmcIAT2T8XmWWaYw41oqZ9aPk-yf70L6FQg8bveb3f_vyY94Fa3XTXUtALsa4MO3yqUSqFD0TNOzOSJ1r2VM9s-vUZ2S1dU62iy_vSa71erp5S70SEhJt_GyjKPl5vGp14oxF6hqssQKqRMyYjUfj1ihf_WuXu-udPzw6ZjhO9R22KTxDyTqsJ3fZvxsPBI2CgmzHW8SkoFEHST3t0HijUfijULi2Y4_CclAog6SxW2Q-OOR-KOQ-LYzm4RkIFEHycPt9-YnAWIsC5mXeLE_P_9nt96rKDJsl3ApK3XA70oeGpu23Da65kBgqdsubYsob1t1wK6YGsWsJ6aXYmZ2HrD2jGrfLPan5J4ZxXOz83yK871RvDA7L6Y4P5hn5Q48E_Mju_ROz1_-BQAA__-gWwJr

query T
SELECT url FROM [EXPLAIN (DISTSQL) SELECT sum(a), avg(b), sum(a), sum(a), avg(b) FROM data]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJy0lEGL2z4Qxe__T2Hm9C_IyJKcbNYnl55y2E1JNqdiihoNbiBrGUmGliXfvcimrBM2ssDpbcbKy3v6jZg3aLTCZ_mKFopvwIAABwICCORAYAEVgdboA1qrjf_JIFirX1BkBI5N2zn_uSJw0AaheAN3dCeEAl7kjxNuUSo0NAMCCp08nnqb1hxfpfldKukkENi1srFFklKWyEYlLNHuJxogsOlckZSMlByqMwHduXc762SNULAziY_0ua4N1tJpQxeXiXb7p_9L9smH8RX31ZfN_vmlr2-Z85vm755do41Cg-rCsDqH47FsOt9u__R97RMK322xUWh6XEnJaSnIUP5tb15CXFyCxQ-VxQyVspTyuWOdCDXitrz_WHk8ER5FhKdUzCUyEWpE5OH-REQ8ERFFRKQ0n0tkItSIyOr-RPJ4InkUkTyli7lEJkKNiDz-22X4gfkWbasbi1dL8eN_zvyyRFXjsFmt7swBvxp96G2GdtPr-g8KrRtO2dCsm-HIBxyLWVDML8TsWszDzhPWIqjOw-J8Tu5FULwMOy_nOD8Exauw82qO82N4VtnEMwk_smvv6vzfnwAAAP__B8X2Pw==

query T
SELECT url FROM [EXPLAIN (DISTSQL) SELECT avg(c), sum(c), avg(d), sum(d) FROM data]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJy8lF-L4jAUxd_3U5T7tEIk5o-O06fKwIKwMy5Wn5ayZM2lKzhNSVPYZfC7L22FaWVMC8V50tzk9Jz8brhvkBmNL-oVCwh_AgMCHAgIICCBwBwSArk1BywKY6sjjWCt_0I4I3DM8tJV5YTAwViE8A3c0Z0QQtip3yfcotJo6QwIaHTqeKptcnt8VfZfpJVTQCDOVVaEwZSyQGU6YIFxf9ACgU3pwiASJJKQnAmY0r3bFU6lCCE7k-GRVmlqMVXOWDrvJor3z18jNgECT5v9y-7yv67yVpVPbgbhN4O8-5eZsRot6o55cvZHZbNbWeP986_1JdclrejUZbXaYqbRhkHE6NMqrk6v4m_fN6vdckKCiJEgEjSS1c_Ny4nO5djwxrMhjadsSvnY1veEavFc3Lf1fDgdPogOn1Ixlk5PqBadh_vSEcPpiEF0xJTKsXR6QrXoLO9LRw6nIwfRkVM6H0unJ1SLzuPnDdUPgmyxyE1W4NVw_fjLs2rook6xmdCFKe0Bf1hzqG2a5abW1QWNhWt2WbNYZ81WFbAtZl4x74jZtZj7nXushVct_WI5JvfcK174nRdjnB-84qXfeTnG-dHfq1nPM_E_smvv5PzlfwAAAP__uBQKgA==

query T
SELECT url FROM [EXPLAIN (DISTSQL) SELECT max(a), min(b) FROM data HAVING min(b) > 2]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJyslEFr2zAUx-_7FOKdWpCRJTlpqpN7GeTQdHQ9DDYftOjhGVLLSDJslHz3kfhQJ7SywD5ayj-_P78n3hu01uBOv6IH9RM4UBBAQQKFAiisoKLQObtH7607_WQIbM1fUDmFpu36cDquKOytQ1BvEJpwQFDwon8f8Bm1QcdyoGAw6OZwxnSuedXuX2l00EDhe6dbr0jGONGtIZzY8AcdUHjqgyKloCWH6kjB9uEd54OuERQ_0vRKD3XtsNbBOra6bPS43d2U_BYoPD78uCnF7adA8SnwndO31hl0aC4g1TFeiedTnSh8bQ4BnSIlJ7_6PJdIhFJqu3vZpOmSF-15-gR5ygQZz5iYO8OJUiNh62VmKNItiCQLImNyroWJUiMLd8tYkOkWZJIFmbFiroWJUiMLm2UsFOkWiiQLRcZWcy1MlBpZuF9-q30AfEbf2dbj1Xb7-J_z09ZDU-OwIr3t3R6_Obs_Y4bPp3PufGDQh-GWDx_bdrg6FRyHeTQsLsL8Oizi5Am0jKaLeLiY03sVDa_j5PUc8l00vImTN3PI9_FZ5RPPJP7IrtnV8cv_AAAA__-XOudJ

query T
SELECT url FROM [EXPLAIN (DISTSQL) SELECT DISTINCT (a) FROM data]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJyslD2vmzAUhvf-CnTWGhkbyAdThi5ZmirtVjG4-ChFSjCyjdQq4r9fARK5RDfGujBi5_XzPjmW71Apid_FDQ1kv4EBAQ4EYiCQAIEUcgK1VgUao3T3kyFwlP8giwiUVd3YbjknUCiNkN3BlvaKkMEv8eeKZxQSNY2AgEQrymuPqXV5E_r_QQorgMDPWlQmC0LKAlHJgAXK_kUNBE6NzYIDg7wloBr7YBkrLggZa4l_n2-lsWVVWJpOyxw66ZOWqFE6afwl7QFRwznPhK-Qt65KLPpkp3jSiflPhPlMhLKQ8kUzmWk0_gGbVWbC_f25lz8PabzIf6bR6L9dxT_294-9_OOQJov8ZxqN_rtV_BN__8TLPwlpush_ptHov1_9TfqAdkZTq8rghPXq5Kh7sFBecHjgjGp0gT-0KnrM8Hnqc_2CRGOHXTZ8HKthqyv4PsycYT4Js-cwd5Nn0LEznbjDyZLeqTO8cZM3S8hbZ3jnJu-WkPfuWUUz18R9yZ7ZefvlLQAA__-HYNkY

query T
SELECT url FROM [EXPLAIN (DISTSQL) SELECT SUM (DISTINCT A) FROM data]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJyslEGPmzAQhe_9FWhOrWTk2JBsllOq7iWH7lab9FRxcPGIImVtZBup1Yr_XgESW1DWWKFH7Lx578uz5hWUlvgoXtBC9gMYEOBAIAECKRDYQk6gNrpAa7XpfjIIjvI3ZBsClaob1x3nBAptELJXcJW7IGRwFj8v-IxCoqEbICDRierS29SmehHmz0EKJ4DAqRbKZlFMWSSUjFik3S80QOCpcVl0YJC3BHTj3rysEyVCxloSnuehsq5ShaPbaRjPfP7u_LexjdJGokE5mZq3VxJ8LkuDpXDaUDb7R07fv358OJ7Ox8cv5-jAPr0bKZlEYuEVsJAKKIspX1XCQqKxhN2NJfBwYh5EzGOarCJeSDQS391InIQTJ0HESUzTVcQLiUbi_Y3EaThxGkScxnS7ingh0Uh8_x9Wy5X5z2hrrSzOVsz1yZtu9aAscdhTVjemwG9GF73N8PnU6_oDidYNt2z4OKrhqgv4r5h5xXwiZnMx9zsvWCdedeoXp2tyb73ind95t8b5zive-533a5zv_V1tFp6J_5HNvfP2w98AAAD__4HrxaQ=

query T
SELECT url FROM [EXPLAIN (DISTSQL) SELECT SUM (DISTINCT A), SUM (DISTINCT B) FROM data]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJyslMFvmzAYxe_7K9B3WiUjx4akKadM6yWHtVOTnSYOHv7EkFIb2UbaVOV_nwCJDpQYK_SIzfN7Pz_rewOlJT6JV7SQ_QQGBDgQSIBACgTWkBOojS7QWm3aX3rBXv6BbEWgUnXj2uWcQKENQvYGrnInhAyO4tcJX1BINHQFBCQ6UZ06m9pUr8L83UnhBBA41ELZLIopi4SSEYu0-40GCDw3Lot2jOw45GcCunHvdtaJEiFjZxIe6bGyrlKFo-txHr8Fv2rxfnKjtJFoUI4Ozs8XQnwpS4OlcNpQNrmXw49vnx_3h-P-6esx2rG79m5GS_zuaspklJKFd8NCuqEspnxpOzOhhnY2t7fDw7l5EDePabKUeybUwH1_O3cSzp0EcScxTZdyz4QauLe3c6fh3GkQdxrT9VLumVAD98PHTKELFi9oa60sTqbR5ZNX7ZRCWWI_0qxuTIHfjS46m_7zudN1CxKt63dZ_7FX_VYb8H8x84r5SMymYu53nrFOvOrUL06X5F57xRu_82aJ871XvPU7b5c4P_i7Ws08E_8jm3rn50__AgAA__-0ndB6

query T
SELECT url FROM [EXPLAIN (DISTSQL) SELECT DISTINCT a, b FROM data WHERE (a + b + c::INT) = 27 ORDER BY a,b]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJy8lE9r2zAYxu_7FOI9tUTGluT8qWDgwxjk0oyut-GDZr10htQykgIbJd99OIJ0CYssSOpLQHYe_x79XqE36IzGR_WKDuQPYECBAwUBFEqgMIeaQm9Ng84ZO_wlBNb6N8iCQtv1Oz88rik0xiLIN_Ct3yJIeFY_t_iESqPNC6Cg0at2e8D0tn1V9k-llVdA4XuvOidJljOiOk0YMf4XWqDwtd16tJLc3VWMzEjF74dfIeX68Xl1Tz4TvpRhARQ2Oy9JxWjFod5TMDv_3s159YIg2Z6m9__SOt92jc_np-UDgsLGarSox5j8IvMdZcKnzjkzWvEZ1PtYOVZc1U6ctGPpE2UpE81ZlvNJZzqyg6O2xQ1nytOt8SRrPMvFpNZGdnC0tryhNZFuTSRZE1leTmptZAdHa6sbWivTrZVJ1sosn09qbWQHR2sPH3Tr_of5hK43ncMT4qUvF8N1jPoFwxXuzM42-M2a5oAJy80hd3ig0fnwloXFuguvhoL_hlk0zE_C7DzM4-QRtIimy3i4vKb3PBpexMmLa8jLaHgVJ6-uIT_EZ1WMHJP4ITtn1_tPfwMAAP__0NQX6g==

query T
SELECT url FROM [EXPLAIN (DISTSQL) SELECT DISTINCT a, b FROM data WHERE (a + b + c::INT) = 27 ORDER BY b,a]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJy8lV9r2zAUxd_3KcR9aqmCcyXnn2DghzHISzPavo08aNGlM6SWkRTYKPnuw3HAS1gkF2d5CcjK0TlXvwN6h8oaetRv5EF9BwQOAjhI4JADhwmsOdTObsh765q_tIKl-QVqzKGs6l1oPq85bKwjUO8QyrAlUPCif2zpibQhl42Bg6Ggy-3Bpnblm3a_C6ODBg7Pta68YqMMma4MQ2bDT3LA4Wu5DeQUu7srkD2wQtw3v1Kp5ePL_J59ZmKm2gVwWO2CYgXyQsB6z8HuQpfNB_1KoHDP--d_ti6Qyyan0QvxwAt8uGghPmLxpfShrDYhw7MLasfgsHKGHJnUXPKiaedl26MuTRNNd34HH0uXn6TD_q3BPq3JcJSJm_YmMcGxN9MhvUlYdGTwir0R_cmIXmTEKJM3JZOY4EhmNoRMwqIjI65IRvYnI3uRkaMsvymZxARHMvMhZBIWHRl5RTJ5fzJ5LzL5KJvclExigiOZxRAyCYuOTP6fXsF_mD6Rr23l6cTx0snj5nkk80rtk-rtzm3om7Obg027XB10hw-GfGh3sV0sq3arCfi3GKNiEReLqFieiPFcLOOxp3HrPKqexMWTqDjhPB0y9Cwqnsed51HxIi5eDImNiY6lShZvGSZqhoN6homi5QnzeNMwUTWMd-08-3r_6U8AAAD__8krHYs=

query T
SELECT url FROM [EXPLAIN (DISTSQL) SELECT c, d, sum(a+c::INT) + avg(b+d) FROM data GROUP BY c, d]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJzUll9r4lAQxd_3U4R5aumVODc3_slTyj4JrV1afVgWKam5WKHNlZsIW4rffYmRNZp2JmIEfYsxJzN3zm8O-YTExHoYvesUgj-AIECCAA8EKBDgw0TAwpqpTlNj80cKwSD-C0FbwDxZLLP89kTA1FgNwSdk8-xNQwCj6OVNP-oo1tZtg4BYZ9H8bV1mYefvkf0I4yiLQMDTIkrSwGm56ERJ7KBjsldtQcCjTmJtAyf0hBMq4YR4E3pBMBiOesIJ5U2oYLISYJbZto00i2YaAlyJ-q3ezmZWz6LMWNff7TREEeYDuR3-fh4-jJ6H47u7qxCvK7dkfutpfH8Vev-vVH7182E8HK2vd1vdVn_5cF6j9PWrwpPV9kTy2xNtX7VMjI211fHOy9ZvIc6M7aYP_TS-fx7kx_avyzZi7prY2OmG_rfueYe4NzQts3Bxz7lqUQoX1exwi5Zke-_Jr2v7O7Wx_lZhna1yseXKU-0V02yJsc6F7BU2uVd43nvFuLfZq05zeyXrsy1rsS1brncqtplmSz53L4Rt2STb8rzZZtzbsN1tjm2vPtteLba9lqtOxTbTbMnn3oWw7TXJtnfebDPubdjuNce2qs-2qsW2arn-qdhmmi353L8QtlWTbKvzZptxb8N2_zTf-l8UfNTpwiSprvUl386Hr-OZLpxKzdJO9S9rpusyxc-HtW59I9ZpVvyLxY9BUvyVN1gW474Yy2K5I8bDxN1jxIhHqf2j1H1aLcmBe_TAPVKs6MqKFEvGa59Ud2hx5xhQaDEDCi3mQGHUDCiMmgGlSw68Rw-8dwwofToT2kwoVCLloFSg1Vws0Go2Fxg5FwyMnDEcK8GyO3fJzJ1OFsZzpKMFFVO8Ei4HmU6rOdNpNWs6I-dMZ-Sc6XSuIhOsWMmYg0ynMwaZkMFKyhxkOq3mTKfVrOmMnDOdkXOm0wkrmYSV9EfbvumT1Y9_AQAA__-dgfBv

query T
SELECT url FROM [EXPLAIN (DISTSQL) SELECT c, d, sum(a+c::INT) + avg(b+d) FROM data GROUP BY c, d ORDER BY c, d]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJzUl09vsloQxvf3U5BZtfEYnAP4hxXNXZm09Kbq4ubGNFROrEkL5oDJbRq_-xv884pFZ-AFE90h9jnPnJn5PanfEMWh8oNPlYD7HyAIkCDAAgE2CHBgKmCp45lKklhnf7IVDMP_we0IWETLVZq9ngqYxVqB-w3pIv1Q4MI4ePtQLyoIlTY7ICBUabD42Ngs9eIz0F9eGKQBCBgtgyhxjbaJRhCFBhpx-q40CHhRUai0a3iWMDxbGB62PMt1h_64LwxPtjwbpmsB8So9lJGkwVyBi2tRvtSH-VyreZDG2nSOK_VQeFlDHvx_X_3n8as_eXy88_C-8Epmr0aTpzvP-v1kZ09_P0_88eb5uNSD-9uX8R4k76eMp-vDjeTZGx2OWkWxDpVW4dFhm1OIO2On6UuPJk-vw-zazn1-jJhNTezGaXrO2elZVabnx-14aeKPyRVNqXWxqxiOYp0qbcpC21rCk62zHk6JAZ4aX-7gs7eXzo-Jny6he1QClgcYywBsYtuUl0KYKTa3zt0bQRibRBivG2FmejuEu80hzBjuES60rQrCsjw_shQ_sm1al-KHKTa3S70b4Uc2yY-8bn6Y6e346TXHD2O456fQtir8WOX5sUrxY7VN-1L8MMXmdql_I_xYTfJjXTc_zPR2_PSb44cx3PNTaFsVfuzy_Nil-LHbpnMpfphic7s0uBF-7Cb5sa-bH2Z6O34GzfHDGO75KbTtT3-CnfB4UckyjhJV6pdVJxuwCudquw1JvNIz9Y-OZxub7cfnjW7zIlRJuv0Wtx-G0farrMC8GH-KMS-WR2KsJu7XEaNVS13LWzLekmy4RTfcIsU2LbZJsUOX7ZBi2aWtu6S6R4t7dbaMFjOTpsXcljHqWt7clvXJhg_ohg_oTOgwoUBHCrNnWKDr2Fwy5gW8KkUSreZygVazocTI67lzC4N0tCCTLUiHCzqMnI4XbmfoeEEmX7BWwDBqbmr1IoaT13Nnd4ZOGWRiBumckUzOyFo5I-mckUzOyFo5w6iZqTFqbmc4eT139t8fOmckkzOSzhnJ5IysljPT9V-_AgAA__-id_cn

# There should be no "by hash" routers if there is a single stream.
query T
SELECT url FROM [EXPLAIN (DISTSQL) SELECT c, d, sum(a+c::INT) + avg(b+d) FROM data WHERE a > 9 GROUP BY c, d]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJyUks9qg0AQh-99CplTQiboagplT5NTCaSm5E-hFAlbdxAhcWV3Ay3Bdy_qoUlLbXuc38w3fjqeoTKaU3VkB_IFBCDcQoZQW5Ozc8a2cT-00G8gI4Syqk--jTOE3FgGeQZf-gODhNRMTR3GgKDZq_LQjTUI5uQ_IedVwSCTBi8Wi-HFW_V64DUrzTaMrtZDbcujsu-klVeAsKlV5WQQimgKCGuuNFsZUIIBzTAgMaFEykW6vcOA4gnN4Cc_8R-_eVFYLpQ3NhTXeiSQ2g8yT5_36Wq7T3fL5YjE-FsUt9Fm9zCipGs-3Y9oNr58B9EqY0DJkHZ8pf3LvdbsalM5_tPBoiZDYF1w_084c7I5P1qTd4_py1XHdYFm5_tu0heLqm-1gpewGITjYTgehKMvcNbcfAQAAP__AbDtGA==

query T
SELECT url FROM [EXPLAIN (DISTSQL) SELECT sum(a), sum(b), sum(c) FROM data GROUP BY d HAVING sum(a+b) > 10]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJzMlltr4zwQhu-_X2HmquVTsEeS09ZXLnuAQpsuPVwsu6GosUgDqRVkBbaU_PfFzm5z2mpclICvoth-rBk9L4NfoTSFHqhnXUH2AxAYcGAggIEEBikMGcysGemqMrZ-ZAlcFL8gSxhMytnc1ZeHDEbGashewU3cVEMGd-pxqm-0KrSNE2BQaKcm02abmZ08K_uSF8opYHA7U2WVRb0YI1UWEUbGPWkLDG50WWibRblkUY7_57z-YVHzK2C4YGDmblVB5dRYQ4YL1r7K8_HY6rFyxsbpZpF5fRi391dHOT_-uxJvK_m2SuvV-eD7w-D67mFwf3l5lOPxVnGr_R5foidVPW1tlcJwsWqAv9vA6j3z0thCW11svKl5i6dFTHY2_tMFHpPdfp1MXWMDo5_zJBE6wiTLss9fPl1cnV8Cg-u5y2o5uWC5fFeP2G93A9MzsxjTrSf_vbfc2BvbBxjbBDjGXswPEGGizjW__W5GGPcZYexahHn7GPFWMeK9WBwgRkSda2d80s0Y8X3GiHctRqJ9jESrGIleLA8QI6LOtTM-7WaMxD5jJLoWI9k-RrJVjGQvTg8QI6LOtTM-62aM5D5jJLsWI-Kz-UZXM1NWutVXV1J3r4uxXh5VZeZ2pL9ZM2q2Wf69brjmQqErt7yLyz8X5fJWXeA6jNswrsN8A8aPwf0Q-CwExqC6MfXT3Hvewg8Lv6y-35b00qkfTkNU-2FCtR8mVPthSjVBE6r7IapPvPCpX9ZpiCw_TMjyw4QsP0zJImhC1lmILCSmKDVGw-Zo2CANm6SBozRslmLQMEVimkpC2s44_ZA0P01J89OUND9NSiNwStrOUPVKGy7--x0AAP__KNymtA==

query T
SELECT url FROM [EXPLAIN (DISTSQL) SELECT avg(a+b), c FROM data GROUP BY c, d HAVING c = d]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJzMlt9qo0AUh-_3KeRcteyImT-mrbBgWVgotHZpm4tlCWEahySQOjIa2FLy7ot6EW3aOZYx4J2Ofs458_04-AaZTlUiX1QB0V-gQIABAQ4EBBAIYU4gN3qpikKb6pUGuEn_QTQhsMnyXVktzwkstVEQvUG5KbcKIniSz1v1oGSqTDABAqkq5WZbb5ObzYs0r3EqSwkEHnOZFZHnB9STWepRT5drZYDAr822VCbyYu798OKqoAeVpc0K8WJBvJh-jxnM9wT0rjzUUpRypSCie9K_3uvVyqiVLLUJwm65MSVxdSrXyZ9Fcv-0SGa3t2cxPT9aYtXS4-zuLObV1c_7WfJUX3cLPOz5_OqtZbH-aLv5_tAH-7SPw6d2mTapMirtfKz-iqVTOhmm1cfZ3eKmalacdywFjaRPDfFhO0u0r_OAhu_e_Hhv0dmb9k8z7ZPmgPoBO2mekYpblqejzjMdMs90THlm_TPFemWK-QE_aaaQilsnfTHqTLEhM8XGlCneP1O8V6a4H4iTZgqpuHXSl6POFB8yU3xMmRL9MyV6ZUr4QXjSTCEVt076atSZEkNmSowpU8jf9oMqcp0Vqtef2qTqXKUr1RxToXdmqX4bvay3aW7va65eSFVRNk9pc3OTNY-qAtswfQ_TNsw6MP0aPHWBr1xg6lQ3De00s543t8PcLmtqtyWsdGiHQxfVdhhRbYcR1XYYU43QiOqpi-oLK3xpl3XpIssOI7LsMCLLDmOyEBqRdeUiiyJTFBujbnPUbZC6TVLHUeo2S6nTMKXINBWItKNx-iVpdhqTZqcxaXYalYbgmLSjoWqVNt9_-x8AAP__oZ7D4g==

query T
SELECT url FROM [EXPLAIN (DISTSQL) SELECT sum(a+b), sum(a+b) FILTER (WHERE a < d), sum(a+b) FILTER (WHERE a = c) FROM data GROUP BY d]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJzMlk9r20AQxe_9FGJOCV0h7R85iaCgHFowuE5xnENpTdhYi21wtGIlQ0Pwdy-yCpL_dEdhLfDJ1ko_zZt5j0HvkOlUjeWrKiD-BRQIMCDAgYAAAhHMCORGz1VRaFM9UgPD9A_EIYFVlm_K6nhGYK6NgvgdylW5VhDDVL6s1UTJVJkgBAKpKuVqvSuTm9WrNG9JKksJBB5zmRWx5wfUk1nqUU-XS2WAwERlqTKxlwjiJfRzwqqf35sw5PP66EvCYbYloDdlI6Qo5UJBTLeku9j7xcKohSy1CaJ9rUk1k8en71cJu27-ed-Go-nXiZfwE2fV5O7HP5_HD9Pn8dNodJXQ6wOZTeWXN28pi-VBUQGzbdMK-28rzXs2mTapMirde9PuLZZmaXhU-F8_9Pq4b37YRiORn1fiWPs6D2h08OTp2mKvNu0eS9ollgH1A9ZfMBG5La8Glx5Mes5g0l6CybqHg3UKB_MD3l84ELmted1cejjYOcPBegkH7x4O3ikc3A9Ef-FA5LbmdXvp4eDnDAfvJRyiezhEp3AIP4j6CwcitzWvu0sPhzhnOETv3zsnBExUkeusUJ2-ZsKqBZUuVN1voTdmrn4YPd-VqS8fdtzuIFVFWd-l9cUwq29VAtswPYRpG2Z7MP0YPHCB71xg6qSbRnaaWefN7TC3mzWwuyWsdGSHIxer7TBitR1GrLbDmNUIjVg9cLH6xgrf2s26dTHLDiNm2WHELDuMmYXQiFl3LmZRZItia9Rtj7otUrdN6rhK3XYpdVqmFNmmAjHtaJ1-yDQ7jZlmpzHT7DRqGoJjph0tVatps-2nvwEAAP__N5l2wQ==

# Same query but restricted to a single range; no local aggregation stage.
query T
SELECT url FROM [EXPLAIN (DISTSQL) SELECT sum(a+b), sum(a+b) FILTER (WHERE a < d), sum(a+b) FILTER (WHERE a = c) FROM data WHERE a = 1 GROUP BY d]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJyUkUFLwzAUx-9-ivJOihlN0p0CQjwoDHRKN0_aQ2wepbAlIUlBGf3u0uawVVzVU_v-7_1efvAOYKzGtdpjAPEKDAhwqAg4b2sMwfohTkMr_QGCEmiN6-IQVwRq6xHEAWIbdwgC1nZhXc6BgMao2t041hOwXTxCIaoGQRQ9OVnM5hdv1fsOS1QafU4n68H5dq_8p9QqKiCwccoEkeVsMXqUaDR6kcklySS7lnz4vHWUFnWKbmQB5xTZfxRvm8Zjo6L1OZsayqHevDxeSn51_MvuVw_buzKTxQ_Z8qwTnzj9co8Sg7Mm4J8OQvuKAOoG082D7XyNz97W4zOpfBq5MdAYYuoWqViZ1BoET2E2C_N5mM_C9Btc9RdfAQAA__-VFuTI

# Verify the XOR execution plan
query T
SELECT url FROM [EXPLAIN (DISTSQL) SELECT xor_agg(to_hex(a)::bytes) FROM data]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJyslE1r3DAQhu_9FWZOLcjIkr2bjU5JoYRcmrLJoaWYoK4GZ2EjGUmGlOD_XmwfYi-JrGIf_fHqeXlGzCtoo_C7fEYH4jcwIMCBQA4ECiCwgZJAbc0BnTO2-2UI3KoXEBmBo64b370uCRyMRRCv4I_-hCDgQf454R6lQkszIKDQy-Opx9T2-Czt3yslvQQC97XUTiQpZYnUKmGJ8U9ogcAetUIrEm8en_Dl8xX7IsTXXw_f7qFsCZjGv9GdlxWCYC2Jb3hdVRYr6Y2lm2nBn3f7x-ubm474IYp_iHojNNpYhRbV5PiyDZdh2f-3ySdtWPxoWMxoKEspX3k4Mx1HPrZLh8PjdfAoHTyl-co6ZjqOdFws1ZHH68ijdOQpLVbWMdNxpGO3VEcRr6OI0lGkdLOyjpmOIx2Xa26yd1B7dLXRDs822vsnZ92mQ1XhsBadaewBf1hz6DHD412f618odH74yoaHWz186gqOwywY5pMwOw_zMHkGnQfTRThcLOm9CYa3YfJ2CfkiGN6Fybsl5MvwrLKZaxK-ZOfssv30LwAA__8kYPJY

# Verify the XOR execution plan
query T
SELECT url FROM [EXPLAIN (DISTSQL) SELECT xor_agg(a) FROM data]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJyslM-LnDAUx-_9K-SdWojERJ2d9TR7WvbSKdMeCkVKah5WmDWSRGhZ_N-LehgdZmJK9uiPbz7fDy-8N2iVxM_iFQ0UP4ABAQ4EUiCQAYEcSgKdVhUao_T4yxx4kX-gSAg0bdfb8XVJoFIaoXgD29gzQgHfxK8znlBI1DQBAhKtaM4TptPNq9B_D1JYAQS-dqI1RRRTFolWRixS9jdqIHDsbREdGJQDAdXbC8tYUSMUbCD-fZ7qWmMtrNI0X9f5fjz9fHp-_nhgn-6i-F3UhdC3SkvUKFfHl4O7DEv-v026asP8B8F8BkFZTHnQKDYaLex3oaPg_vLcS57HNA2S32i0kH8IlU_95VMv-TSmWZD8RqOF_D5UPvOXz7zks5jmQfIbjRbyj--5gW6gTmg61Rq82kS3T07GDYWyxnmdGdXrCr9oVU2Y-fE45aYXEo2dv7L54aWdP40Fl2HmDPNVmF2HuZu8gU6d6cwdzkJ6587wzk3ehZAfnOG9m7wPIT-6Z5VsXBP3Jbtml8OHfwEAAP__W2jUcQ==

query T
SELECT url FROM [EXPLAIN (DISTSQL) SELECT max(t.a), min(t.b), avg(t.c)  FROM (VALUES (1, 2, 3), (4, 5, 6), (7, 8, 0)) AS t(a, b, c) WHERE b > 3]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJyUkM1KxDAUhfc-RTmrGQhM0m4kq3ajdDFVRETQLkJ7KYXYW_IjwtB3lzYLHWFEd7nn5jtfyAkT99SYN_LQL1BoBWbHHXnPbo3Shbr_gJYC4zTHsMatQMeOoE8IY7AEDcudsdm7sZF8Jg8SAj0FM9qt-Wa0gZzOyjx7jVIWlBVa67p5vEa7CHAMX80-mIGg1SL-bq-GwdFgAruDOjcfq-ddqfYQONbNrszXU_V0uyuL_UV1_h_1A_mZJ09n2kvNcmkFqB8ofa7n6Dq6d9xtmjTebdwW9ORD2qo01FNarQ_8Dqtf4fwH3C5XnwEAAP__aQiixw==

query T
SELECT url FROM [EXPLAIN (DISTSQL) SELECT * FROM (VALUES (1, '222'), (2, '444')) t1(a,b) JOIN (VALUES (1, 100.0), (3, 32.0)) t2(a,b) ON t1.a = t2.a]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJyckUFL_DAQxe__T1Hm9BcCbVJPAaFH14MrXqWH0IzdQsyUTCLC0u8uTQ7rLq7ueuvMvN-8zssePFl8NG_IoF9AQi9gDjQgM4W1VQQb-wG6ETD5OcW13QsYKCDoPcQpOgQNjgbjqnfjEnLV1A0IsBjN5LJ-EUApHmiOZkTQchF_dJC1vMhBnXU4LE6egsWA9nTj75JvfvPe8O6BJo-hVkdqcPga_3fy5i5M4y5_gYBtirrqpOiU6FrR3cK5S9prsnpGnskzXpRRs56BdsQSC1MKAz4FGrJNKbeZyw2LHMtUlWLj8yg_5ldYXgGrU1j9CLdHcLP0y7_PAAAA__870evq

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

query T
SELECT url FROM [EXPLAIN (DISTSQL) SELECT array_agg(a) FROM (SELECT a FROM data WHERE b = 1 AND c = 1.0 AND d = 1.0 ORDER BY a)]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJzMlEGL00AUx-9-iuF_anFiMkkqy4CQ4LpLYW2l9iISZOw8YqCbCTNTUJZ-d2mC1ojVkV5ynPfyy3u__-E9oTWaVuqRHORHCHCk4MjAkYNjgYqjs2ZHzhl7-mQAlvorZMLRtN3Bn8oVx85YgnyCb_yeILFVn_e0IaXJxgk4NHnV7PsxnW0elf1WaOUVON53qnWSRbFgqtVMMOO_kAXHXbP3ZCWbzYqUvWJCSrlcbW_mrFzdslmRnWovEinl3cO63N7MfzTyn43bN6-Xb8uHOTjWBy9ZIVAdOczBnxd3XtUEKY78gtzZyVhNlvTYphDPUR3_kEBZ15Zq5Y2NF2Ok3GzKD5_K-_tZIeYXN0pHG4nwuEVI3LGI4nQ6gafhemmQXhrF2XT0snC9LEgvi-J8Onp5uF4epJdH8WI6ev84dRtynWkdjcwu_Tk5nQrSNQ2nxZmD3dE7a3b9mOG57rm-oMn5oSuGx7LtW_2Cv8Lir_DLEZz8DqfXTM6ugfNr4MV_wdXx2fcAAAD__6aqGXg=

query T
SELECT url FROM [EXPLAIN (DISTSQL) SELECT json_agg(a) FROM (SELECT a FROM data WHERE b = 1 AND c = 1.0 AND d = 1.0 ORDER BY a)]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJzMlEGL00AUx-9-iuF_anFiMkkqy4CQ4LpLZW1ltzcJMnYeMdDNhJkpKEu_uzRBa8TqLL3kOO_ll_d-_8N7Qms0rdQjOchPEOBIwZGBIwfHAhVHZ82WnDP2-MkALPU3yISjabu9P5Yrjq2xBPkE3_gdQWKjvuzonpQmGyfg0ORVs-vHdLZ5VPZ7oZVX4HjoVOski2LBVKuZYMZ_JQuOm2bnyUo2mxUpe8OElHK52lzNWbm6ZrMiO9ZeJVLKm7t1ubma_2zkvxrX794uP5R3c3Cs916yQqA6cJi9Py3uvKoJUhz4GbmTk7GaLOmxTSFeojr8JYGyri3VyhsbL8bI-4f16nN5ezsrxPzsQuloIRGetghJOxZRnE4n7zRcLw3SS6M4m45eFq6XBellUZxPRy8P18uD9PIoXkxH7z-X7p5cZ1pHI7Nzf06Ol4J0TcNlcWZvt_TRmm0_Zniue64vaHJ-6IrhsWz7Vr_g77D4J_x6BCd_wuklk7NL4PwSePEsuDq8-BEAAP__vcYZMw==

# Test that orderings on GROUP BY columns are propagated through aggregations.
statement ok
CREATE TABLE sorted_data (a INT PRIMARY KEY, b INT, c FLOAT, INDEX foo(b))

# Split into ten parts.
statement ok
ALTER TABLE sorted_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 sorted_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 sorted_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 a, max(b) FROM sorted_data GROUP BY a]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJzMll1r2zAUhu_3K8y5apmMc2Q7TXzlXBa6ZHQdbIwQ1FgkgdQysgIrJf99OL6I8zEdGyUll_54dF7pORz0AbnK5Fi8yRKSP4DAgAODEBhEwCCGKYNCq7ksS6WrX2rgMfsLSY_BKi82pno9ZTBXWkLyAWZl1hISeBGva_ksRSZ10AMGmTRitd6VKfTqTej3tFTayGyWCSOAwY9C5GXi-QF6Is889JRZSg0MJhuTeCmylMN0y0BtzL5qacRCQoJb1j7ZaLHQciGM0kF8GCytDmCiM6llVpUEBqPx79l48jIb_3x6ukvxHhh8G_26S_n9UZj9-q_v3lKUy5Olp9t9YP7fwPt1VB3keJ2v9UKWXWHvctvaRw5bRN7k50KfzTtWvioCjI_-PF87OqiN7TsPO3RegH7AXXuPyNaw1L-N3sML9x5ev_d4e_-8i3_uB6GrfyJb46QebsM_v7B_fn3_YXv_YRf_oR9Erv6JbI2TGtyG__DC_sPr-4_a-4-6-I_8IHb1T2RrnNTwNvxHF_Yffe7d40yaZ1kWKi9lq5tFr9qPzBay3n-pNnouv2s135WpHyc7bvcik6Wpv2L98JjXn6qATRiPYWzC_ADGbnDfBR66wOiUG2M7za3nHdrh0C6rb7cVWenYDscuqu0wodoOE6rtMKWaoAnVfRfVD1Z4YJc1cJFlhwlZdpiQZYcpWQRNyBq6yEJiilJj1G2Oug1St0nqOErdZik6DVMkpmlESDsZp52k2WlKmp2mpNlpUhqBU9JOhqpV2nT75V8AAAD__xjiYmc=

query T
SELECT url FROM [EXPLAIN (DISTSQL) SELECT a, max(b) FROM sorted_data GROUP BY a ORDER BY a]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJzMllGL4jwUhu-_X1HO1QxfSj1p62iv6uXArC6zs7DLIpKxQQWnKWmEHQb_-1J7YdWdnJbUxUtbn-RNnsNLPyBXmZyKN1lC8gsQGHBgEAKDCBjEMGdQaLWUZal09ZcaeMx-QzJgsMmLnakezxkslZaQfIDZmK2EBF7E61Y-S5FJHQyAQSaN2GwP2xR68yb0e1oqbWS2yIQRwOBbIfIy8fwAPZFnHnrKrKUGBrOdSbwUWcphvmegdua4a2nESkKCe9Y-2WS10nIljNJBfBosrS5gpjOpZVZtCQwm05-L6exlMf3-9HSX4j0w-DL5cZfy-7Mwx_Vf3721KNcXS8_3x8D808DHdVQd5Hyd_-uFLKfCQX_HOkYOe488Vb4qAjyV8Nn20cn22H74sMPwBegH3HX8iGwNUcPbGD_sefzw-uPH2_vnXfxzPwhd_RPZGjf1cBv-ec_--fX9h-39h138h34QufonsjVuanQb_sOe_YfX9x-19x918R_5Qezqn8jWuKnxbfiPevYf_dvPj7-keZZlofJStvqyGFTnkdlK1ucv1U4v5Vetlodt6p-zA3d4kMnS1G-x_vGY16-qgE0Yz2FswvwExm7w0AUeu8DolBtjO82t9x3a4dAua2i3FVnp2A7HLqrtMKHaDhOq7TClmqAJ1UMX1Q9WeGSXNXKRZYcJWXaYkGWHKVkETcgau8hCokWpGnXrUbcidWtSxyp161J0KlMk2jQipF3UaSdpdpqSZqcpaXaalEbglLSLUrVKm-__-xMAAP__HM5iZA==

query T
SELECT url FROM [EXPLAIN (DISTSQL) SELECT c, min(b), a FROM sorted_data GROUP BY a, c]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJzMlsFr2zAUxu_7K8w7tUzGkWSnrU_usdA5o-sOY4SgxiIJpJaRFVgp-d-H40Ecx9OzkSE52vJP733v-3j4E3KVyVS8yxLi30CBAAMCHAiEQCCCOYFCq6UsS6WrT2rgKfsD8YTAJi92pno9J7BUWkL8CWZjthJieBVvW_kiRSZ1MAECmTRisz2UKfTmXeiPpFTayGyRCSOAwI9C5GXs-QH1RJ551FNmLTUQmO1M7CWUJJwkDOZ7AmpnjoVLI1YSYron_Zt7XK20XAmjdBCd9lbVqUYw05nUMqsKA4HH9Ncinb0u0p_PzzcJuwUC357Sm4Tfnh3S21aLx6pvH95alOtWQU4SCvP9UQn7r5LjVapur33V1_oii1w66Srf1Mu7JP3Ty8718rbeoxDeQ8gu75LSqSJVvioCGrW-7K4dntSm_bNKB2Q1oH7ARkgr0l7DvumVp5WOnFZ6qbSy_olhQxLD_ICPkBikvcYI7648MWzkxLBLJYb3TwwfkhjuB-EIiUHaa4zw_soTw0dODL9UYsL-iQmHJCb0g2iExCDtNUb4cOWJCUdOTHgN_1AdPb7IslB5KXv9IU0qlTJbyXoqpdrppfyu1fJQpn6cHbjDi0yWpj6l9cNTXh9VDTZh2oZpE2YnMB0GT13gBxeYOvVNIzvNrPPmdpjbzZra3QqtdGSHIxer7TBitR1GrLbDmNUIjVg9dbH6zgrf2826dzHLDiNm2WHELDuMmYXQiFkPLmZRZItia9Rtj7otUrdN6rhK3XYpdVqmFNmmIWLa2TodZJqdxkyz05hpdho1DcEx086WqtW0-f7L3wAAAP__OzShCg==

query T
SELECT url FROM [EXPLAIN (DISTSQL) SELECT c, min(b), a FROM sorted_data GROUP BY a, c ORDER BY a]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJzMll-L4jwUh-_fT1HO1cibUpO0jvaqcynM1mV29mJZRDI2qOA0JY2ww-B3X2oXrH8mpyUFvbT1yTknz49DPyFXmUzFuywh_g0UCDAgwIFACAQimBMotFrKslS6-ksNTLM_EA8JbPJiZ6rHcwJLpSXEn2A2ZishhlfxtpUvUmRSB0MgkEkjNttDmUJv3oX-SEqljcwWmTACCPwoRF7Gnh9QT-SZRz1l1lIDgdnOxF5CScJJwmC-J6B25li4NGIlIaZ70r65p9VKy5UwSgfRaW9VneoKZjqTWmZVYSDwlP5apLPXRfrz-fkhYQMg8G2aPiR8cPGSDs5aPFZ9-_DWolyfFeQkoTDfHydhX05yPErV7Z0f9X99kGVcOrxWvjkvvzbSv3nZ5bz8fN7jILz3QVLlqyKgp86-Kh-elKft40o7xDWgfsB6CCzSXsPg6M4DS3sOLL1VYFn7xLAuiWF-wHtIDNJe4wof7zwxrOfEsFslhrdPDO-SGO4HYQ-JQdprXOH4zhPDe04Mv1ViwvaJCbskJvSDqIfEIO01rnBy54kJe05MeA-fUVd6fJFlofJStvpCGlZTymwl61sp1U4v5Xetlocy9c_ZgTs8yGRp6re0_jHN61dVg02YnsO0CbMTmHaDRy7wxAWmTn3TyE4z631zO8ztskZ2W6GVjuxw5KLaDiOq7TCi2g5jqhEaUT1yUf1ohcd2WWMXWXYYkWWHEVl2GJOF0IisiYssimxRbI267VG3Req2SR1XqdsupU7LlCLbNESkXazTTtLsNCbNTmPS7DQqDcExaRdL1Sptvv_vbwAAAP__hqehCQ==

query T
SELECT url FROM [EXPLAIN (DISTSQL) SELECT b, max(c) FROM sorted_data@foo GROUP BY b]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJyUkk9r8kAQxu_vp5DnpLBi_vhecopHi02KtdBSgmyz0xDQTNjdQIvku5dkCzWCaT3uzPzm-YXJCRUrSuSRDKJX-BD4j0yg1pyTMay7shtaqw9EnkBZ1Y3typlAzpoQnWBLeyBESHjO9SKEgCIry0M_1gpwY38gY2VBiJatOFvsjy_eybcDbUkq0gtvsB7vzLFhbUntlbQSAo-1rEw0mUMgbWw0iX1ck_Bvkbjjsvp28IcOtS6PUn9eeLjwQMTh1fzglvxVUWgqpGW9CIb5ceeTakWaVP-9AqvkZZ-ku33ytNlMY38GgfvV8zQOZldlwoHML6fekqm5MvSnW3ttJkCqIPc7GW50Tg-a8z7GPdOe6wuKjHXdpXusK9fqBM9hfxQOxuFgFA7H4XAU9i7grP33FQAA__9E9hy_

query T
SELECT url FROM [EXPLAIN (DISTSQL) SELECT * FROM (SELECT a, max(c) FROM sorted_data GROUP BY a) JOIN (SELECT b, min(c) FROM sorted_data@foo GROUP BY b) ON a = b]
----
https://cockroachdb.github.io/distsqlplan/decode.html#eJzMl11v4kYUhu_7K9C5SrSDzIzNp1TJuUy1C9V2K7WqUOTgCSARDxobqVHEf6_AqvgwnNeTIa3vAviZOYd53hzmnTKT6nHyqnMa_UWSBCkSFJKgiAR1aSpobc1M57mxu0dK4DH9m0YdQctsvSl2b08FzYzVNHqnYlmsNI3oR_K80t91kmobdEhQqotkudpvs7bL18S-xbmxhU6f0qRISNBv6yTLR612IFtJlrZkyxQLbUnQZFOMWrEUcUjTrSCzKQ675kUy1zSSW1G_sof53Op5UhgbdE8Li3dfwMSm2up0tyUJehj_-TSe_Hga__71610s70nQt4c_7mJ1f1bMYf3nt9YiyReVpafbQ8HqasGHdUxZyPk6X8qFmK5k5_9qK_RrSxye2mSXnrvY-Tdt5_oXs8y0DeTgdN2VfinuYvnl_me7nC_KP4-VUiIORRxdFatfoyGHUsembdaBCs-evLz34GRvWT9u0iFugWwHyjdwoLYjNXvNCJy8ceBkMwLn3NYNAjf8zMCp-tIrF-lVOwh9pQe1HenRb4b06sbSq2ZI79yWv_Sq85nSh_WlD12kD9tB5Cs9qO1Ij0EzpA9vLH3YDOmd27qB9PIzpY_qSx-5SB-1g66v9KC2Iz2GzZA-urH0UTOkd3BEnt3sXoy5ct08CHHVhsilil1a_i2iV8fUcnfF6dj9oI7yY788HsfeB9fz8_EG_63Uf3URvFDId52vTZbrWte8zq4Vnc51-e3kZmNn-ldrZvttypeTPbd_I9V5UX4qyxePWfnRrsBjWJ7D8hhWJ7B0g_s-sJRedNeLHvK0YunQBx74wBIcF6B7PrQCbYespBEPRyysIl7xLkv3eLjnkw8eBvngYZQPQIN8ABrko--TDx4G-eBhlA9Ag3zwNMrHwCcfQ34CdMAIqAwQpxnA02gI8DScAgBHYwDgwHPJjxFw4oAGpgMaqY5w4DrAkeyyMktcbJf8LJFgHMjKNHHSnaeR7jwNdQc40h3gSPfKIHXSnaeR7jwNdQc40p3Hoe6Vceqke2WwnOo-ALpXJouT7jyNdOdpqDvAke4AR7pXpqqT7jyNdOdpqDvAke48jnRX_IVUgRupqsyWU1wB3OV2phzpgRd9dmzOeM8LV6h1tyvadPvTPwEAAP__qGgS1A==
