github.com/cockroachdb/cockroach@v20.2.0-alpha.1+incompatible/pkg/sql/opt/exec/execbuilder/testdata/distsql_agg (about)

     1  # LogicTest: 5node
     2  
     3  statement ok
     4  CREATE TABLE data (a INT, b INT, c FLOAT, d DECIMAL, PRIMARY KEY (a, b, c, d))
     5  
     6  # Split into ten parts.
     7  statement ok
     8  ALTER TABLE data SPLIT AT SELECT i FROM generate_series(1, 9) AS g(i)
     9  
    10  # Relocate the ten parts to the five nodes.
    11  statement ok
    12  ALTER TABLE data EXPERIMENTAL_RELOCATE
    13    SELECT ARRAY[i%5+1], i FROM generate_series(0, 9) AS g(i)
    14  
    15  # Verify data placement.
    16  query TTTI colnames,rowsort
    17  SELECT start_key, end_key, replicas, lease_holder FROM [SHOW RANGES FROM TABLE data]
    18  ----
    19  start_key  end_key  replicas  lease_holder
    20  NULL       /1       {1}       1
    21  /1         /2       {2}       2
    22  /2         /3       {3}       3
    23  /3         /4       {4}       4
    24  /4         /5       {5}       5
    25  /5         /6       {1}       1
    26  /6         /7       {2}       2
    27  /7         /8       {3}       3
    28  /8         /9       {4}       4
    29  /9         NULL     {5}       5
    30  
    31  query T
    32  SELECT url FROM [EXPLAIN (DISTSQL) SELECT sum(a) FROM data]
    33  ----
    34  https://cockroachdb.github.io/distsqlplan/decode.html#eJyslEGL2zAQhe_9FWJOCcjYsp1s1qcsbQqB7GYbp1BYfFCjwQ04livJ0BLy34vtwjphV3ZRj5LmzXsfI-YM-mcBCaSrzerjntSqIJ9320fysvr2vHlYP5HJp3W6T79spuRvia5PEz7tqgQ3PAMKpRT4xE-oIXkBBhRCoBABhRgozCCjUCl5QK2lakrOrWAtfkESUDiWVW2a64zCQSqE5AzmaAqEBPb8e4E75AKVHwAFgYYfi9amUscTV7-XTQagkFa81AnxfEZ4KQgj0vxABRS2tUnIkkF2oSBr8-qlDc8REnah4_M85LnCnBup_Nl1nPTr42TJpu_ahO_avHavS6kEKhRXrbOLPQgL_i1JdJWEjR8AGzMAn3l-6DSCgUQ98rnLCMLx4OEo8NDzIyfwgUQ98DsX8Gg8eDQKPPL82Al8IFEPfOECHo8Hj0eBx54_cwIfSNQDv_9f2-YNmx3qSpYab7bO252DZhuhyLFbXVrW6oDPSh5am-64bXXthUBtulfWHdZl99QE7IuZVRxeidmtOLQ7D1hHVnVsF8cuuWdW8dzuPHdxvrOKF3bnhYvzvX1WwcA3sX-yW-_s8uFPAAAA__8lIeCd
    35  
    36  query T
    37  SELECT url FROM [EXPLAIN (DISTSQL) SELECT sum((a-1)*1000 + (b-1)*100 + (c::INT-1)*10 + (d-1)) FROM data]
    38  ----
    39  https://cockroachdb.github.io/distsqlplan/decode.html#eJzUVV9r4k4Uff99iuE-Je2EZJLY2jwprT8IqO2qCwslD1Pn4gqacWcS2EX87kuSLSbSTrJkX_TJ--fMuefcwD2C_rGDCJaT6eRxRXK1I_8vnmfkdfLtZTqO58R6iper5ZepTf606HxvFT9OHMJsckOY53k2uSWW9VZL2VVqHUXxfDU8F6q8KBN2xSV4xhOgkEqBc75HDdErMKDgA4UAKIRAYQAJhYOSa9RaqqLlWAJi8RMij8I2PeRZkU4orKVCiI6QbbMdQgQr_rbDBXKByvWAgsCMb3clzUFt91z9GhUzAIXlgac6Io7LCE8FYURm31EBhQWmAlVECuUj5rCo0mXfFOrfg1vLGvnN2vv_shZUQaOj1jAKy8rT5DGejac2JCcKMs_OunTGNwgRO9Hu2sebjcINz6RyB03py68za8Q-p_E_pTm_nqdSCVQoGk8nJ_MgzPu7SYLGJKz7slmXZbvMcf2rWXeL-prLd33W7Xc32e9ksu-4wdWY3KK-ZvJ9H5OD7iYHnUwOHDe8GpNb1NdMHvYxOexuctjJ5NBxB1djcov6mskP_-o6fECzQH2QqcaLK_Hxy15xPVBssDo1WuZqjS9KrkuaKnwucWVCoM6qKquCOK1KxYB1MDOC_QaYXYJ9M3MLdWBEh2Zw2GfugRF8Z2a-68N8bwQPzczDPswP5l15LZ-J-SO75E5O__0OAAD__7BpaAU=
    40  
    41  query T
    42  SELECT url FROM [EXPLAIN (DISTSQL) SELECT sum(a), count(a), max(a) FROM data]
    43  ----
    44  https://cockroachdb.github.io/distsqlplan/decode.html#eJy0lF2L2kAUhu_7K4ZzFWEkThJdN1fK1oLgx9YoXVjCMnUOVtBMOjOBLeJ_L0lKN8o6CQTvnExen5fnhHMC_fsAIUST2eRpTTJ1IN9Wyzl5nbw8z8bTBXG-TqN19H3WIf9e0dnR4R1KtjJLTPHryN8d3ilzghseA4VEClzwI2oIX4EBBQ8o-EAhAAp9iCmkSm5Ra6nyV05FYCreIexR2CdpZvLHMYWtVAjhCczeHBBCWPOfB1whF6jcHlAQaPj-UGBStT9y9WeUdwAKUcoTHZKuywhPBGFEml-ogMIyMyEZMYjPFGRmPlja8B1CyM60eZ_xbqdwx41Ubv-yTrSZOyPWAQpPy81i_bZa_oic_DgfvxQXt_jeTf4HNkukEqhQXDDjs70h692qGG3mb9PF2hl5_xv6txv6Fw1Z84mxJhNzWdf1Ws2splHFyOAuM_OaG_EaGfG6rt_KSE2jipGHuxjxmxvxGxnxu27QykhNo4qR4V2MBM2NBI2MBF2338pITaOKkce7b7pP-CvUqUw0Xm28z_-5l29CFDss16aWmdris5LbAlMel0WueCBQm_KWlYdpUl7lBathZg17F2F2Hfbs5Bq0b00H9nDQpnffGh7YyYM25AdreGgnD9uQH-2z6tV8JvaP7Jodn7_8DQAA__9cognf
    45  
    46  query T
    47  SELECT url FROM [EXPLAIN (DISTSQL) SELECT sum(a+b), count(a+b), max(a+b) FROM data]
    48  ----
    49  https://cockroachdb.github.io/distsqlplan/decode.html#eJy0lF9r6j4Yx-9_ryI8V8oiNWl1rlfKfh4Q_LNjlTMYZWTmwSNo40lS2EF874e2Y1OZaUG9a5p--_nyeUJ2YP6sIYSoP-w_zkiq1-THdDIiL_3np2FvMCa1_wfRLPo5rJOPT0y6qQlyR97qlCxUmtjP1Ua8fzwX_5DCihgoJEriWGzQQPgCDChwoOADhQAotCCmsNVqgcYonX2yywMD-Q5hk8Iq2aY2ex1TWCiNEO7AruwaIYSZeFvjFIVE7TWBgkQrVuscs9WrjdB_u1kHoBBtRWJC0vAYEYkkjCj7GzVQmGIiUYeky-66HOI9BZXaL6KxYokQsj2t3qq3XGpcCqu01zouFc1HtS6rA4XHyXw8e51OfkW1bDnqPecb5_j8LP8LmyZKS9Qoj5jx3t2QNc9VjOaj18F4Vuvyz4b--Yb-UUNWfW6sytw81vD4FSZX0uvAS_smk-PVvfBKXnjD86_gpaTXgZf7m3jxq3vxK3nxG15wBS8lvQ68dG7iJajuJajkJWh4rSt4Kel14OXh5jfgN_wpmq1KDJ7chN__uZndkCiXWFynRqV6gU9aLXJMsZzkufyFRGOLXVYsBkmxlRU8DDNnmB-F2WmYu8klaN-ZDtzh4JLeLWe47Sa3LyHfO8MdN7lzCfnBPatmyTFxH7JTdrz_718AAAD__1olFR8=
    50  
    51  query T
    52  SELECT url FROM [EXPLAIN (DISTSQL) SELECT sum((a-1)*1000) + sum((b-1)*100) + sum((c::INT-1)*10) + sum(d-1) FROM data]
    53  ----
    54  https://cockroachdb.github.io/distsqlplan/decode.html#eJzMVV9ro0AQf79PscyTNiu6atrUJ0ubAyFNe0kODooP2-yQCySa21W4I-S7H2pJNDSrXMiRt90Zf_7-7MBsQf1aQQDT4Wj4OCO5XJGvk5dn8jb88Tp6iMbEeIqms-m3kUk-PjEMla8NgxOLMJPcEOY4jkl6pKy-16rmvjoPgmg8Gxx6-5aoaiWl4BmPgUKSChzzNSoI3oABBRcoeEDBBwp9iClsZDpHpVJZfLItAZH4DYFDYZls8qwoxxTmqUQItpAtsxVCADP-vsIJcoHSdoCCwIwvVyXNRi7XXP4JCw1AYbrhiQqIZTPCE0EYSbOfKIHCBBOBMiBGyCwWVLbMmyKCjwslRug2W7WOVx0b_X079Mv60_Axen4YQbyjkObZwY7K-AIhYDva3fLDYiFxwbNU2v2m4-n3ZyNkZmG2OLn7k7c_-eZJEe5JEQfuPEmlQImiQRzv9DKZ8y86Dy8T-j0j9HpGyHqha5524DUcsO6Tw7pMjs0s27322WkxXXuU28vNjts9ebdT8q5le9eefIvpWvJ3l0ve65681yl5z7L9a0--xXQt-cHlkve7J-93St637P61J99iupb8_f_ZVJ-ImKDapInCo431-Z-dYpOhWGC19lSayzm-ynRe0lTXlxJXFgSqrOqy6hIlVasQWAczLdhtgNkx2NUzt1B7WrSvB_vn6O5rwbd65ttzmO-04IGeeXAO873-rZyWMdEP2TF3vPvyNwAA__98CJEd
    55  
    56  query T
    57  SELECT url FROM [EXPLAIN (DISTSQL) SELECT sum(a), min(b), max(c), count(d) FROM data]
    58  ----
    59  https://cockroachdb.github.io/distsqlplan/decode.html#eJy8lF2L4jAUhu_3V4Rz1UKkJq0zTq8qsy4U_Ji1yg4MZcg0wRW0cZMUZhH_-9J2YVTGtIu6V_br9X14Tjg70L_WEEIyHA0f56hQa_RtNh2jl-Hz02gQT5DzNU7myfeRi_5-oouNw1yMNqvceSt_2buTuRhlssiNw906z5lhKWDIJRcTthEawhcggIECBh8wBIChBymGrZKZ0Fqq8pNdFYj5O4RdDKt8W5jycYohk0pAuAOzMmsBIczZ21rMBONCeV3AwIVhq3VVs1WrDVO_o5IBMCRblusQdTyCWM4RQdL8FAowTAsToojgiOLIh3SPQRbmo1EbthQQkj1uTzVYLpVYMiOV1zuGShZjJyIuYBjHEyei1dXg2Yn88upxupjMX2fTH4njniWhZ0k-AIpcKi6U4Eft6d7OSrr_Apssxq_xZO5EwXlW_4iVtJ8laTNLj3Q8eoVpNnAdGLq78TRpe0O0lSHa8fwrGGrgOjB0f2NDfntDfitDfscLrmCogevAUP_GhoL2hoJWhoKO17uCoQauA0MP_3FnfkIyE3orcy1Odufn_9wtd6rgS1EvYC0LlYknJbOqpr6dVrnqARfa1G9JfRPn9asS8DBMrGF6FCanYWpvbqj2renAHg4u4e5Zw3f25rtLmu-t4b69uX9J84N9Vt2GY2I_ZKfd6f7LnwAAAP__cqIe7g==
    60  
    61  # AVG is more tricky: we do two aggregations (for the sum and for the count)
    62  # and calculate the average at the end.
    63  query T
    64  SELECT url FROM [EXPLAIN (DISTSQL) SELECT avg(a+b+c::INT+d) FROM data]
    65  ----
    66  https://cockroachdb.github.io/distsqlplan/decode.html#eJy0lF2L2kAUhu_7K4ZzleBInEncdXOVZWsh4MfWKBSWUGadQyq4GTuJpUX87yXJwkZZJwHNXb5e38fnDOcA2e8t-BCNJ-OnJdnrLfm2mE_Jy_jH8-QxnBHraxgto-8Tm7x_Iv4klmUJ0iOvNumRte-Hs-WouJR2lZUiFzFQSJXEmXjDDPwXYECBAwUXKHhAYQgxhZ1Wa8wypYtPDmUglH_BH1DYpLt9XjyOKayVRvAPkG_yLYIPS_G6xQUKidoZAAWJudhsy5qd3rwJ_S8oGIBCtBNp5pO-w4hIJWFE5b9QA4UFphK1TwKvZ1kB6wXc7gXu-3-B-EhB7fMPgiwXCYLPjrQ95WOSaExErrQzPIWMVlMrYDZQeJqvZsvy-lIlv1j50bRPlZaoUZ7UxEczFBtcoopW059hwcXtuirmBPwip3vCydoPkLUZoMP6Du9ghA2cNVt3txohb6-Gt1LD-47bgZoGzpqa-1upcdurcVupcfuO14GaBs6amtGt1Hjt1Xit1Hh9Z9iBmgbOmpqHLnbiJ5ULzHYqzfBsN37-y4NiZ6JMsFqwmdrrNT5rtS5rqtt5mSsfSMzy6i2rbsK0elUA1sPMGOYnYXYe5ubmhmrXmPbMYe8a7qExfGduvrum-d4YHpmbR9c0P5hnNWg4JuZDdt4dH7_8DwAA__-vNhS0
    67  
    68  # VARIANCE/STDDEV have three local (sqrdiff, sum, and count) and one final stage aggregations.
    69  # We calculate and render the variance/stddev at the end.
    70  query T
    71  SELECT url FROM [EXPLAIN (DISTSQL) SELECT sum(a), round(stddev(b), 1) FROM data]
    72  ----
    73  https://cockroachdb.github.io/distsqlplan/decode.html#eJy8lGFr4j4cx5__X0X4PaoQqUnr5vqoYyoUnG62-3MwypGZH57gGi9JjzvE9360HUxltoXiPWuSfvv99JOQPZifWwggnswmDwnJ9ZZMl4tH8jr59jS7j-bEGUdxEj_PeuTjFZO_O6JHiVZ5Jh1jpcRfzluPEtarolJYkQKFTEmci3c0ELwCAwocKHhAwQcKQ0gp7LRaoTFKF6_sy0Akf0MwoLDJdrktplMKK6URgj3Yjd0iBJCIty0uUUjU7gAoSLRisy1rdnrzLvSfsGAACvFOZCYgfZcRkUnCiLI_UAOFRW4DEjIackgPFFRuP-uMFWuEgB1oe6T79VrjWlil3eEpUfzy6ISsV8A8L8fRdOqEvBwV8-XTw-JlnpTPl1D4RZRPgjxTWqJGeVKfHuph2eAS7TSa38--x8l4PPnfCTkNPRr6xcISM4m6tPdxBkJOWRAE0TwZXf4H7-QfWPsdZm122GV9l3fd4waoI203195j3t4Pb-WH912vq58GqCM_t9f247X347Xy4_Vdv6ufBqgjP6Nr-_Hb-_Fb-fH77rCrnwaoIz93__IO_QJliWanMoNnd-nXXx4UdyzKNVYXslG5XuGTVquyphouylw5IdHYapVVgyirlgrA4zCrDfOTMDsP8_rmhmqvNu3Xh_0u3MPa8E19802X5tva8Ki-edSl-a5-rwYNx6T-kJ13p4f__gYAAP__8VsiBA==
    74  
    75  query T
    76  SELECT url FROM [EXPLAIN (DISTSQL) SELECT sum(a), round(variance(b), 1) FROM data]
    77  ----
    78  https://cockroachdb.github.io/distsqlplan/decode.html#eJy8lNFr4jAcx9_vrwi_pwqRmrQ616eKUyi4ulV3HIxyZOaHJ2jjpe1xh_i_H20HU5lpobi3Jum3308_CTlA-nsLHiwms8l4SXK9JdNo_kheJz-eZqMgJNZDsFgunmcd8v5Kmu8s0aFEqzyR1h-hNyJZofXWoYR1qrAUmYiBQqIkhmKHKXivwIACBwoOUHCBQh9iCnutVpimShevHMpAIP-C16OwSfZ5VkzHFFZKI3gHyDbZFsGDpXjbYoRCorZ7QEFiJjbbsmavNzuh__kFA1BY7EWSeqRrMyISSRhR2S_UQGGeZx7xGfU5xEcKKs8-6tJMrBE8dqTNkUbrtca1yJS2--dEi5dHy2edAuY5egimU8vn5aiYL5_G85dwWT5fQ-FXUT4I8kRpiRrlWX18NMOy3jXaaRCOZj-_j6JgFI4nls-p71DfLZYiTCTq0t_7OfA5ZZ7nBeFyeP0vnLO_YM33mDXZY5t1bd52l2ugTsQNbr3LvLkf3sgP79pOWz81UCd-7m7tx2nux2nkx-nabls_NVAnfoa39uM29-M28uN27X5bPzVQJ37uv_IW_QQlwnSvkhQvbtPPv9wrblmUa6yu5FTleoVPWq3Kmmo4L3PlhMQ0q1ZZNQiSaqkAPA0zY5ifhdllmJuba6odY9o1h9023H1jeGBuHrRpvjOGh-bmYZvme_Ne9WqOifmQXXbHx2__AwAA__-GjSNC
    79  
    80  query T
    81  SELECT url FROM [EXPLAIN (DISTSQL) SELECT stddev(a+b+c::INT+d) FROM data]
    82  ----
    83  https://cockroachdb.github.io/distsqlplan/decode.html#eJy0lF1r4kAUhu_3VwznKuJInCS2NlcpVSFgbWvSZaGEZeocXMFm3Jlx2UX870sSoSp1EpDcTT5e38fnhLMD_XsNISTj6fghJVu1JpP50yN5G_94nt7HM-KM4iRNXqYdcnhFGyHwj-M4nHTJe4d0ySIM41k6LI6iU8UFNzwDCrkUOOMfqCF8AwYUPKDgA4UAKAwgo7BRcoFaS1W8sisDsfgLYZ_CKt9sTXE7o7CQCiHcgVmZNUIIKX9f4xy5QOX2gYJAw1frsmajVh9c_YsKBqCQbHiuQ9JzGeG5IIxI8wsVUJhjLlCFJAq6jhOxbuR1upF_-C-Q7SnIrfkk0IYvEUK2p80p75dLhUtupHIHp5DJy3wUTyZOxDoF4-vj4fTw9DpLy_MlAO8iwGfvNpdKoEJxUprt7YjsTOQknt1PfybpaDT-7kSMRh6N_Mtg_gkYaz4_1mR-Luu5XgsTrOE80nPTzgS95qK8RqK8nuu3IKqG80jUbTui_Oai_Eai_J4btCCqhvNI1LAdUUFzUUEjUUHPHbQgqobzSNRd-8vzC4A56o3MNZ4t0a9_uV8sVxRLrDaxllu1wGclF2VNdflU5sobArWpnrLqIs6rRwXgcZhZw95JmJ2HPXtzTbVvTQf2cHAN98AavrE331zTfGsND-3Nw2ua7-yz6td8JvaP7Lw723_7HwAA__8-qyJy
    84  
    85  query T
    86  SELECT url FROM [EXPLAIN (DISTSQL) SELECT variance(a+b+c::INT+d) FROM data]
    87  ----
    88  https://cockroachdb.github.io/distsqlplan/decode.html#eJy0lF1r4kAUhu_3VwznKuJInCS2NlcRqxCwsY12WShhmWYOrmAz7mRcdhH_-5JEqEqdBCR3k48375PnDLOH_PcGfFhMZpPxkuzUhkzj-RN5m_x4no3CiFiP4WK5eJl1yPGVP1yteZaiZVmcdMl7h3RJ6vthtBwWS9GpPiC45glQyKTAiH9gDv4bMKDgAAUXKHhAYQAJha2SKea5VMUr-zIQir_g9ymss-1OF7cTCqlUCP4e9FpvEHxY8vcNxsgFKrsPFARqvt6UNVu1_uDqX1AwAIXFlme5T3o2IzwThBGpf6ECCjFmApVPAq9rWQHrBk6nG7jHf4HkQEHu9CdBrvkKwWcH2pxytFopXHEtlT04h1y8xI_hdGoFrFMwvj4dV-P5a7Qs19cAnKsAn727TCqBCsVZaXIwI7ILkdMwGs1-fh_F4SgaT6yA0cChgXsdzT1DY80nyJpM0GY922lhhjWcJ4Lu2pmh01yU00iU07PdFkTVcJ6Ium9HlNtclNtIlNuzvRZE1XCeiBq2I8prLsprJMrr2YMWRNVwnoh6aP_4_AIgxnwrsxwvjtGvv9wvjlcUK6zO4lzuVIrPSqZlTXU5L3PlDYG5rp6y6iLMqkcF4GmYGcPOWZhdhh1zc021a0x75rB3C_fAGL4zN9_d0nxvDA_NzcNbmh_Ms-rXbBPzJrvsTg7f_gcAAP__2jsjsA==
    89  
    90  # Test various combinations of aggregation functions and verify that the
    91  # aggregation processors are set up correctly.
    92  query T
    93  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]
    94  ----
    95  https://cockroachdb.github.io/distsqlplan/decode.html#eJzUVt9r4kAQfr-_YpmnBEfibuKvPK1UhYC1rbHloEjZZhdPsIm3ieWO4v9-JPE0ljYJCIJvM5n59vtmv4HNB8S_1-CCP5qMbuZkq9dkPLu7Jc-jn_eTgTclxtDz5_7DxCT7lnj7ZggTiXhfGq8mZnmwz2WaJ1Kq96zlXeiVCAN16DMMQRrk1SQNEriuN5330lCaOacUiVgAQhhJNRVvKgb3GSggMECwAcEBhDYsEDY6ClQcRzpt-cgAnvwDbgthFW62Sfp5gRBEWoH7AckqWStwYS5e12qmhFTaagGCVIlYrTOajV69Cf2XpxoAwd-IMHZJ06JEhJJQEiW_lAaEmQql0i7hTsMwOG1wZja4vZ8FCadIOEPCbSTcgcUOIdomR0VxIpYKXLrD-qoHy6VWS5FE2mqfivYfbw3OzFRvGtlpdHP3OJ3v4-yrc4jahXoW-w-zoTce78_YV9hJ5XgONb8dh307znGKbRhpqbSSJyMsduUD09YXE9ODpv-zv3ilMx86Omk29qaDyYs_Hw5HTwbvIqfIe8fC02DmDaY3I4P3kTMs3kDLLG5AZrWVO42Ety3eQcK7SHgPCe9_e1v2yW3R-itL66ysRZsWu8DSVugueNi5hqVl9W1gtWxgTcu-gA0Vugs2dK_BBru-DXYtG-ym5VzAhgrdBRt612CDU98Gp5YNTtNqX8CGCt0FG_rXYEPFj8FMxZsojNWnF_Xrk1vpS6vkUuXPchxtdaDudRRkNHl6l-GyD1LFSV6leeKFeSkVWATTUjA7AdPPYFbOXEFtl6KdcrBzju52KbhTztw5h7lbCu6VM_fOYe6Xe9WqWJPyJfvMvdj9-BcAAP__RtW5-g==
    96  
    97  query T
    98  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]
    99  ----
   100  https://cockroachdb.github.io/distsqlplan/decode.html#eJzUVl9r-koQfb-fYpmnDY7ETeKf5mmlKgSstsb2FoqUbXbxCpp4N7H0R_G7_9hoUy1tDPRBfHJ3Zo5nzpyB7Duk_y_Bh7A_7F9PyUYvyWAyviFP_cfbYTcYEdoLwml4N7TIviTdrKiwkKwWMX0xv-KNRhaSKNnEGZUWEvE6p5QKUiMvFqmRyPeD0bRjjiabZlKq130ayavQCxFHiu7L8qpdD1JkYgYIcSLVSKxUCv4TMEBwAMEFBA8QmjBDWOskUmmaaFPyngMC-QZ-A2ERrzeZCc8QokQr8N8hW2RLBT5MxctSTZSQStsNQJAqE4tlTrPWi5XQf7jpARDCtYhTn9RtRkQsCSNJ9p_SgDBRsVTaJ9yrUcpZjTtWjbt7xUjyCJrsR9DEkORBF2ZbhGSTfXaYZmKuwGdbrK6iO59rNRdZou3msYjw_oZyzwKEm2BEeTM_dR8pb5nT9fh-NH2ejP8NqbnmxaxI7M_h3aQXDAaUO0WNc1DjHNW4RY17UONaP-p0ftT5KW8TJ1oqreSRttm2fBKs8c0oWDEKpxjFR8_PgenVKxQ0j-L5wAbBqDt8Dqe9Xv-B8jbyDvKrz8RDdxJ0R9d9ylkDOWPIWU5TrEjhu1kIJLxp8xYS3kbCOz-OyD0aEau-0KzKQtusbjtnWOkTOg6MbF30SjvV_XIq-eXUbfcMfp3QceBX-6L9cqv75Vbyy63b3hn8OqHjwK_ORfvlVffLq-SXV7ebZ_DrhI4Dv64u2q8TT5mJStdJnKovn_rv_7lhngBKztXuvZAmGx2pW51EOc3uOs5xeUCqNNtl2e4SxLuUafAQzErBzhGYfQU75cwnqN1StFcO9n7Td7MU3Cpnbv2GuV0K7pQzd37DfFXuVePEmpQv2Vfu2fafvwEAAP__BoHrIQ==
   101  
   102  # Verify that local and final aggregation is correctly shared and de-duplicated.
   103  query T
   104  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]
   105  ----
   106  https://cockroachdb.github.io/distsqlplan/decode.html#eJzslk1v4jAQhu_7K6w5BckocT74yMmoBG0kCm2g7UpdVBlisUiQsE5S7ariv69MWpJQSKLtgQsn8HhevzOTx5LfIPq9BhsmztC5maJErNHAG9-iZ-fH3bDnjpDSdyfTyf2wgd5TomSjsAZGUez7_HX_l70uFdZAA3c4dTykPH13PAcx9DPRNIMjq4HRIkyCWJm_58rfVyZWLFhwZX4snKfCBepIl2RTlZHWcS6JI72RtuSzmM0AQxD6fMQ2PAL7GQhg0AGDARhMwGDBDMNWhAseRaGQKW97gev_AVvDsAq2SSzDMwyLUHCw3yBexWsONkzZfM09znwuVA0w-Dxmq_XeZitWGyb-UlkDYJhsWRDZqKkSxAIfERTGv7gADB4PfC5sRElavGXbtjuadjCietpz5zjC9SxCZBRmOwxhEmeFRjFbcrDJDtdvprdcCr5kcShUq9jL5OFWoWZDtnHv9d3B4H11M34YTT920pyPT0JJfv9z9MUbP02Ug9DKHWcVjKxMrGfZhdhBV8w8cYJx4gTj5AnG2ZnqZ2eajTIJQuFzwf3CHGe78qkT7cTYiZzGwB31hi-Tab_vPCpUx5RgauSmnv57cbPxfaxah6x2Id7Jjn3seW5vdOMotIsp0TAl5CAi2md7Iv0NTMneN-NXkogRNVRqYkQtjGhLpW2MqOS0K1nVzg7VKAyV1L91pM6tU0lT1S937yrayRHQut67mvdOr4-IXgsRvakal0Okop0cIu0rIjURMeojYtRCxGiq5uUQqWgnh0jnikhNRMz6iJi1EDGbqnU5RCraySHSvSLyHw-8EzP1eLQNg4gfPfROn6zJByD3lzx9LUZhIhb8ToSLvU26HO91-4DPozjdJenCDdItWWBeTErFekFMjsV6uXOFtVGqNsvF5lfqtkrFrXLn1lec26XiTrlz5yvO3fJvpVVgUg7Zsfds9-1fAAAA___6cqR_
   107  
   108  query T
   109  SELECT url FROM [EXPLAIN (DISTSQL) SELECT sum(a), avg(DISTINCT a), variance(a) FILTER (WHERE a > 0) FROM data]
   110  ----
   111  https://cockroachdb.github.io/distsqlplan/decode.html#eJy0k8GOmzwQgO__U1hzSiRHYCC_Kp8SpWyLlGW3QLeVthxcPKJIBFPbrFpFefcKaJVmla6okh49M5_n81izB_O1Bg5puA03Gel0TW6Su1vyGH68366jmMxeR2mWvtvOyc8S0-1mYk6JeCqHXBRvMtIHnoSuRFPgTMzJTbTNwoTMPrwNk5AI8qlzXR-JOx9vl8KKHCg0SmIsdmiAPwIDCh5Q8IFCABSWkFNotSrQGKX7kv0ARPIbcJdC1bSd7cM5hUJpBL4HW9kagUMmPteYoJCoHRcoSLSiqoc2ra52Qn9f9Q5AIW1FYzhZOIyIRhJGlP2CGigk2EjUnKzYKO9yzqM4e0XJikF-oKA6exQwVpQInB3oHySPbl2jtESN8sQrP5x5xrosNZbCKu0sT1-Rvr-drbw5UFg_vDn-wxh6WCfROt6EfcWvr3hB2juRZtMny6ZM1mELx7v-bL3pmt4kTW_h-NfX9Kdr-pM0_YUTXF8zmK4ZTNIMFs7y3y7UGc0ETasag88W6_zNbr9wKEsct9OoThd4r1UxtBmPdwM3BCQaO2bZeIiaITUI_g6zF-H_T2D3Oexd0tm_BA4ugZd_BeeH_34EAAD__9v8Cg8=
   112  
   113  query T
   114  SELECT url FROM [EXPLAIN (DISTSQL) SELECT sum(a), avg(a), count(a), stddev(a), variance(a) FROM data]
   115  ----
   116  https://cockroachdb.github.io/distsqlplan/decode.html#eJy8lF9ro0AUxd_3Uwz3KYEJZtT0j0-GJgEhTVpNuwsllFnn4gZSJzszll1KvvuiLlRDo4KQp8z1zvH8PLncD9C_9-BBNF_O7zYkU3uyCNf35GX-42E5DVZkMAuiTfS4HJL_V3T2NuBDSvh7UvzGMktNcdJGCHwvju9c7Xga44APy_cJbvgWKKRS4Iq_oQbvBRhQsIGCAxRcoDCBLYWDkjFqLVV-5aMQBOIPeGMKu_SQmfzxlkIsFYL3AWZn9ggebPjPPYbIBSprDBQEGr7bFzYHtXvj6q-fMwCF6MBT7ZGRxQhPBWFEml-ogMI6Mx7xGWyPFGRmPr204QmCx460O880SRQm3EhlTeo40dP9wGdDoHC3flptqufXcP09GuRl9BjOgsWiaJ7jsc_yfGJkqVQCFYoaw_bYTMzG55Cjp_vXIIe2a5WTV4tgNV2-RpvZbP488F3qM1peKxvP0zCYru7mtVaIqUCVx06JzyzfpsR3KPFdSvzJ2S93al_Ouk8G6zIZFhtZdq_ZaCGqJH11kdmwuydkd0rIHllOr4RaiCoJXV8kIad7Qk6nhJyR5fZKqIWoktDNRRJyuyfkdkrIHVmTXgm1EFUSur34Bv6CJ0R9kKnGk0389ZvH-YZGkWC5zrXMVIwPSsaFTVmuC13xQKA2ZZeVRZCWrRywKmaNYrsmZqdiu9m5xdppVLvNYrcP96RRfNXsfNXH-bpRfNPsfNPH-bb5vxq3jEnzkJ16b4_f_gUAAP__d_g6MQ==
   117  
   118  query T
   119  SELECT url FROM [EXPLAIN (DISTSQL) SELECT sum(a), avg(b), sum(a), sum(a), avg(b) FROM data]
   120  ----
   121  https://cockroachdb.github.io/distsqlplan/decode.html#eJy0lF-L2kAUxd_7KYb7pDASZxJ33Txl2VoQ_LM1CoUllFnnkgqasTOT0iJ-95Kk7aqsk0Ds272TnJyT3x3uAcz3LYQQjyajpyXJ9ZZ8Wsyn5GX05XnyOJ6RzsdxvIw_T7rkzysm33VElxLxI-28dum__vy8-ooUViRAIVMSZ2KHBsIXYECBAwUfKARAYQAJhb1WazRG6eKVQykYy58Q9ilssn1ui-OEwlpphPAAdmO3CCEsxesWFygkaq8PFCRasdmWNnu92Qn9KyoyAIV4LzITkp7HiMgkYUTZb6iBwjy3IYkYjTgkRwoqt292xooUIWRH2jzSY5pqTIVV2hucJ4pX007EukWYouJF9TRfzZZlfc2cXzV_88wzpSVqlGeGydEdj_Xr88Wr6ddxkdAvugVmEnWJi0Tci3xalX_bqz_hn_0Eaz5U1mSoHut5vO1Ya0KdcLu7_Vh5cyK8ERHe8_y2RGpCnRC5vz0RvzkRvxERv-cFbYnUhDohMrw9kaA5kaARkaDnDdoSqQl1QuTh_y7Dd8wXaPYqM3ixFN__cr9YlihTrDarUble47NW69KmauelrjyQaGz1lFXNOKseFQFPxcwp5mdidinmbucaa9-pDtzioE3ugVN853a-a-N87xQP3c7DNs4P7ln1a66J-5JdeifHD78DAAD__4-zEsY=
   122  
   123  query T
   124  SELECT url FROM [EXPLAIN (DISTSQL) SELECT avg(c), sum(c), avg(d), sum(d) FROM data]
   125  ----
   126  https://cockroachdb.github.io/distsqlplan/decode.html#eJy8lF-L2kAUxd_7KYb7ZGAkThJdN08R64Lgn61RKCyhTJ1LKmhiZyalRfzuJYmwUdZJILhP8d7M8fxy7nBPoH7vwYdwMpuM1ySTe_KyWs7J2-T762w0XZDO12m4Dr_NLHI5wv_Ena1FicoOxTOvxaUWVqkWXPMIKCSpwAU_oAL_DRhQcICCCxQ8oNCHiMJRpltUKpX5kVMhmIq_4Pco7JJjpvN2RGGbSgT_BHqn9wg-rPnPPa6QC5R2DygI1Hy3L2yOcnfg8l-QMwCF8MgT5ZOuzQhPBGEk1b9QAoVlpn0SuDTwIDpTSDP9bqc0jxF8dqbNkUZxLDHmOpV2_5oo3Mw7AbOAwni5Wawvv4uuU-k61l0Q5y7Iu3-WpFKgRHFlHp3NqKx3jzXczH9ML1wXWveq7-XVChOB0icBs8ejMD89Cl9my9F6aFESMEoC1w68_HH349yrj2PNB8-aDN5mXdtpO_oaqEqeg8eO3mmejtMoHadru23TqYGqpPP02HTc5um4jdJxu7bXNp0aqEo6w8em4zVPx2uUjte1-23TqYGqpPP8eUv1A5AVqmOaKLxZrh__cy9fuihiLDe0SjO5xVeZbgubslwWuqIhUOnyLSuLaVK-ygGrYmYUO1didit2zM411q5R7ZnFXhvuvlE8MDsP2jg_GcVDs_OwjfOzeVa9mmtivmS33tH5y_8AAAD__48DJK0=
   127  
   128  query T
   129  SELECT url FROM [EXPLAIN (DISTSQL) SELECT max(a), min(b) FROM data HAVING min(b) > 2]
   130  ----
   131  https://cockroachdb.github.io/distsqlplan/decode.html#eJyslF2L2kAUhu_7K4ZzpTCSzCS67lxFWrcN-LFVKQvbXMyagw3EjJ1MYIv434um3Y2yTgLxMpN587w8J5w95L9TELAcT8afV6TQKXlYzKfkefz0OBmFM9L5Ei5Xy--TLvl3ZStfO7JLyTbJOi_d8nYsjSTfRj_C2df_5z8L1_WQ8AgoZCrGmdxiDuIZGFDgQMEDCj5Q6ENEYafVGvNc6eOV_SkQxq8gXApJtivM8TiisFYaQezBJCZFELCSLykuUMaoHRcoxGhkkp4wO51spf4THKsBheVOZrkgPYcRmcWEEWV-oQYK88IIEjAacIgOFFRh3nG5kRsEwQ60eaXRZqNxI43STv-80XT01AlYFyhMw1kn4N2rQH4V-M4pMqVj1BifQaKDvRJz6zpReEhSg1qQgL8NUQgRzlbDq4W9s8Ks-dBYk6E5rOfwtmOrKVVxNLjN2HhzC7yRBd5zvLYWakpVLNzdxoLX3ILXyILXc_y2FmpKVSwMb2PBb27Bb2TB7zn9thZqSlUs3N9-kX0AXGC-U1mOFwvt4y-7x0WH8QbLrZirQq_xUav1CVM-zk-500GMuSnfsvIhzMpXx4LVMLOG-VmYXYa5nVyD9qxp3x722_TuW8MDO3nQhnxnDQ_t5GEb8r19Vm7Nb2L_yS7Z0eHT3wAAAP__CqMAAw==
   132  
   133  query T
   134  SELECT url FROM [EXPLAIN (DISTSQL) SELECT DISTINCT (a) FROM data]
   135  ----
   136  https://cockroachdb.github.io/distsqlplan/decode.html#eJyslEFvmzAYhu_7FdZ3ajUjMJA05ZSpzSSkLOmSHCZVHDz8qUOimNlG2hTlv0_AlC7RYqySo8Evz_vwWd6D_llCAtvFcvGwI40qyefN-gt5Xnx7Wn5KV-TmMd3utl-Xt-Tvlnadrh525Ibf9nsFNzwDCpUUuOKvqCF5BgYUQqAQAYUYKEwgo1ArmaPWUrVb9l0gFb8gCSgUVd2Y9nFGIZcKIdmDKUyJkMCOfy9xg1yg8gOgINDwouwwtSpeufo9bzsAhW3NK50Qz2eEV4IwIs0PVEBh3ZiEzBlkBwqyMW8sbfgLQsIO1L3PY6FNUeXGn5yWmbfSayVQobDSwou0N4jsv3NO-AjZwVaJBe_sFJ10Yu4TYS4T8Znnh6NmMtDo-AOmV5lJ6O4fOvmHnh-N8h9odPS_u4p_5O4fOflHnh-P8h9odPSfXcU_dvePnfxjz5-M8h9odPS_v_qd9B_aBnUtK40nrEtfDtoLC8UL9heclo3K8UnJvMP0y3WX6x4I1KZ_y_pFWvWv2oL_hpk1HJ6E2Xk4tJMH0JE1HdvD8ZjeE2t4aidPx5DvrOGZnTwbQ763zyoYOCb2Q3bOzg4f_gQAAP__GTjtnQ==
   137  
   138  query T
   139  SELECT url FROM [EXPLAIN (DISTSQL) SELECT SUM (DISTINCT A) FROM data]
   140  ----
   141  https://cockroachdb.github.io/distsqlplan/decode.html#eJyslEFvmzAYhu_7FdZ3ajRHxECahlOqNpMipUkXMmlSxcHDnxgSwcw20qYo_30CpnRUi6EjR4xfnvfhs3wE_SODAMLlevmwJ6XKyKfd9om8LL8-r-9XG3LzuAr34ef1iPzZostDvbbaPOwJHzXbBTc8Agq5FLjhB9QQvAADCi5Q8ICCDxSmEFEolIxRa6mqLcc6sBI_IZhQSPOiNNVyRCGWCiE4gklNhhDAnn_LcIdcoHImQEGg4WlWYwqVHrj6tag6AIWw4LkOyNhhhOeCMCLNd1RAYVuagCwYRCcKsjSvLG14ghCwE-3f5zHVJs1j40zbZRaV9FYJVCisNPci7RUim--8JXyE6GSrxCb_2cl7zx-4TxKFCTdSOYy1geGXp5sFG13k-C0O6z951mfyDhs77qDZdzQ6_-jbq8ze7e_v9vJ3x443yL-j0dl_dhV_r7-_18vfGzv-IP-ORmf_u6v4-_39_V7-_tiZDvLvaHT2n1_97vsHbYe6kLnGFuvSlyfVxYgiweYi1bJUMT4rGdeY5nFb5-oFgdo0b1nzsMqbV1XBv8PMGnZbYfY27FrDnp3s2Wu79rRvTU_t4ekQ6VtreGYnz4aQ76zhuZ08H0JmHWes65C975RFpw-_AwAA___7miUG
   142  
   143  query T
   144  SELECT url FROM [EXPLAIN (DISTSQL) SELECT SUM (DISTINCT A), SUM (DISTINCT B) FROM data]
   145  ----
   146  https://cockroachdb.github.io/distsqlplan/decode.html#eJyslFFr2zAUhd_3K8R9WkDBkey0qZ9S2gwCadIlGQyKH9To4hkcy5Nk2Aj578P2SOaQyibeo650dM6nK-4BzM8UQtjMFrOnLSl0Sr6sVy_kbfb9dfE4X5LPz_PNdvN1MSB_j5hiX9Xmy6ctEQPaLLwPar0UVkRAIVMSl2KPBsI3YECBAwUfKARAYQwRhVyrHRqjdHnkUAnm8heEIwpJlhe2LEcUdkojhAewiU0RQtiK9xTXKCRqbwQUJFqRpJVNrpO90L-nZQagsMlFZkIy9BgRmSSMKPsDNVBYFTYkU0anHKIjBVXYs52xIkYI2ZF2j_ScGJtkO-uNm3ncFvxDi_PNRaa0RI2ycXF0vBLiMY41xsIq7bGLd9l8ezk3asoG5ds0SnzwYUq_kZJ17w3r0huPDT3etzstoU7dubu9O7w7N-_EzYee35e7JdSJ-_52br87t9-J2x96QV_ullAn7snt3EF37qATdzD0xn25W0KduB_-zxS6YrFGk6vM4MU0un7zqJxSKGOsR5pRhd7hq1a7yqZeripdVZBobL3L6sU8q7fKgP-KmVPMG2J2KeZu5xZr36kO3OKgT-6xU3zndr7r43zvFE_czpM-zg_uXo1avon7k116R8dPfwIAAP__KV_rKg==
   147  
   148  query T
   149  SELECT url FROM [EXPLAIN (DISTSQL) SELECT DISTINCT a, b FROM data WHERE (a + b + c::INT) = 27 ORDER BY a,b]
   150  ----
   151  https://cockroachdb.github.io/distsqlplan/decode.html#eJy8lFFr2zAUhd_3Ky73KSUKjmSnTQUDb43LDFnSOYFtFD8otugMrp1JCmyE_Pdhe6RNWGVDsjxeSUffuecKbVH_zJHjIpgGd0vYqBzuo_lneAy-PUw_hDPoTcLFcvFlegV_j1R1OLtbgiCwag6nwgj4-imIAuj1BPRhdQV9SDgPZ8vxFbwHdgPzaBJE8PF7LYuRYFGmciaepUb-iBQJMiToIkEPCY4wJrhWZSK1LlV1ZFsLwvQX8iHBrFhvTLUcE0xKJZFv0WQml8hxKVa5jKRIpXKGSDCVRmR5jVmr7Fmo335lGAku1qLQHAYOBVGkQKE0P6RCgvdZbqTi0Ov5FPrgs6of333dEG8KJDjfGA4-JT7DeEew3JgXb9qIJ4mc7kh3_5NMm6xIjDM6NN8gCM5VKpVM25jsTeYLqmyuOub0ic_6GO9s5ujwJHfugTvafaK0y0QdOnDYRWfa0sE-tuszzpR1T411So0NHPeiqbV0sE_t5oypud1Tczul5g4c76KptXSwT218xtS87ql5nVLzBs7ooqm1dLBP7fY__br_YEZSr8tCywPiWzcPq-9Ypk-y-cJ1uVGJfFBlUmOacl7r6oVUatPs0qYIi2arMvhaTK1idiCmx2JmJ7egXavas4u9U3yPrOJrO_n6FPKNVTy2k8enkG_tsxq2PBP7Iztmx7t3fwIAAP__l1s3KA==
   152  
   153  query T
   154  SELECT url FROM [EXPLAIN (DISTSQL) SELECT DISTINCT a, b FROM data WHERE (a + b + c::INT) = 27 ORDER BY b,a]
   155  ----
   156  https://cockroachdb.github.io/distsqlplan/decode.html#eJy8lVGL2kAUhd_7Ky73ySUjcSZx1YFC2jVLA1a3UWjLkocxGbaBbGInI7SI_73EFHeVOsmi9fHOzJnv3JPLZIPlzww5zv2Jf7eAtcrgPpx9hkf_28PkQzCFzjiYL-ZfJjfw90hVB9O7BQgCy_pwIrSAr5_80IdOR4AFyxuwIOY8mC6GN_Ae2ABm4dgP4eN3WBIQERLMi0ROxbMskT8iRYIMCTpI0EWCfYwIrlQRy7IsVHVksxMEyS_kPYJpvlrrajkiGBdKIt-gTnUmkeNCLDMZSpFIZfeQYCK1SLMdZqXSZ6F-e5VhJDhfibzk0LUpiDwBCoX-IRUSvE8zLRWHTsejYIHHqn4853VDvC6Q4GytOXiUeAyjLcFirV-8lVo8SeR0S9r7H6elTvNY2_1D8zWC4EwlUsmkiclOMl9QRX3VMcciHrMw2prM0d5Z7py3JDIvlJbKpvQIySziUeskwz1g0PZTQ9tMjU27Nrvq3DR0sP80txecG9Y-NdYqNda1naum1tDBPrXBBVNz2qfmtErN6druVVNr6GCf2vCCqbntU3NbpeZ27f5VU2voYJ_a6D-97P9ghrJcFXkpD4inbu5VT75MnmT9myiLtYrlgyriHaYuZzvdbiGRpa53aV0Eeb1VGXwtpkYxOxDTYzEzih0z2THbZma1a1T3zeL-OU3fGsUDM3lwDnloFI_M5NE5ZNowY01D9rYpi7bv_gQAAP__CDlrVw==
   157  
   158  query T
   159  SELECT url FROM [EXPLAIN (DISTSQL) SELECT c, d, sum(a+c::INT) + avg(b+d) FROM data GROUP BY c, d]
   160  ----
   161  https://cockroachdb.github.io/distsqlplan/decode.html#eJzUll1vukgUxu_3U0zOlcYxODPgC1d0u92NicWuL8k2jWmoTKyJBXfAzTaN3_0fwNYX2jkYMdE7RH6cM-d5zhM-IPp3ATYM73p3tyOyUgvy56B_T57u_nno3XRdUvmjOxwN_-5VyeaRKSU-JdHqreKRGpnadtcdtaukRrz_ZpUXUiN-NXuF78Ue-WvQHz-Q3x9TbAIUgtCXrvcmI7CfgAEFDhQEUDCBggUTCksVTmUUhSp55CMFuv7_YDcozIPlKk5uTyhMQyXB_oB4Hi8k2DDyXhZyID1fKqMBFHwZe_NFWmap5m-eeneSjoDCcOkFkU3qBiNe4BNGwvhVKqAwkIEvlU0cVnNEdjBKHF5zTEocQYljwmRNIVzF2zai2JtJsNmaFm_1ZjZTcubFoTKs_U4dQZ1kEDfu47PbHz27416v4ohq7paZ3BqO7ysO-7riydVtf-yO0uv9VrfVX97Jqxe9HhRm1OEwWW9PxH880fZVqyBUvlTS33tZ-hbNmVnju9qHJ2T5Q_Ovo4qvq89BPHeTY1vVPRkT9T6lMxzrR_XEMeq5YT1cGuxAuXzRmsYuZrnDzVrijYMnv69t7dVmxbeKFdkqg9UNfq69Qprd8VjzSvaKlblX7LL3ClFvs1fN8vaKF_c2L-RtXjfEubyNNLujc-tKvM3L9Da_bG8j6m283SrP26K4t0Uhb4u6YZ7L20izOzq3r8Tbokxvi8v2NqLextvt8rxtFve2WcjbZt2wzuVtpNkdnTtX4m2zTG-bl-1tRL2Ntzvn-db_puBARsswiGShL_lGMnzpz2SmVBSu1FQ-qHCalsl-9lMuveHLKM7-ZdmPbpD9lTS4C7NDmO3CfA9mx8GtU2DGTqKtk-iOnubagQv9wIUWNvWVTS3MEa0tLd3Uw81TjKKHEaPoYcwoCI0YBaERo7S0A2_rB94-xSgdfSY0kFDIRcpRqaCnsVjQ02guIDgWDAiOCM5ywbI_d47MXZ8siOZMHy3MRIrnwuUo0fU0JrqeRkVHcEx0BMdE1-cqQ4KV5TLmKNH1GcOQkGG5lDlKdD2Nia6nUdERHBMdwTHR9QnLkYTl-o-2Q9En699-BQAA__-myQ5q
   162  
   163  query T
   164  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]
   165  ----
   166  https://cockroachdb.github.io/distsqlplan/decode.html#eJzUl1tv4kgQhd_3V7TqCeRGpi_OxU_OzmRXSIzJApF2NEKRg1skEsFs26x2FOW_r3xJgs2ky6hjKXkzDcenXFXfkXmE9J81-DC7HF9-mZOdXpM_ppNv5Mfl31fji1FIel9Hs_nsr3GfVD9ZUhJTku4eehFxyNL3R-H8rE8cEv276t0Sh8T98hZxlEXkz-nk-or8_r2Qkcn06-X0-dMCKGySWIXRg0rB_wEMKHCgIICCBAoeLChsdbJUaZro_CePhWAU_wf-kML9ZrvL8uMFhWWiFfiPkN1nawU-zKPbtZqqKFbaHQKFWGXR_bqw2er7h0j_DPL6gMJsG21SnwxcRqJNTBhJsjulgcJUbWKlfRIwJxDlY1IScCeQlASCkkDC4olCsstey0izaKXAZ0-0famzRGdKu169ykA4NJDOmxb8GIuL1UqrVZQl2mXDpg8N8mZPdKy0in3yfHARfr8JJ_Ob8Ho87gWif3Ak86PZ9bdewF6ueH71ZXIdzovrevGv9dz-JHdReteohNGAw-Lp9RnFm8_4equkrLt5K4cG3ClvZmpGs-lFCfvNqA7qT84Om8FfWiBerp4bdDPK2-H1azuVr9LzHrmB9-ac5TFzDpNBsnV5Y8SHpo5hd71Oml5VVu_3WyWc1Epg7UlnbUh32cDlXbGOFFuxfmLDOmKxv97ss7LOOmC92fSPzjoy54oo9n6s8_ag8Vag8YErugINKbYC7dQGNMRif7f4ZwWNdwBas-kfHTRkzhVo_P1AE-1BE61AEwNXdgUaUmwF2pkNaIjF_m6Jzwqa6AC0ZtM_OmjInCvQxPuBJtuDJluBJgeu1xVoSLEVaOc2oCEW-7slPytosgPQmk3_6KAhc65Ak938TfyF4VSl22STqlb__ob5NFS8UuUE02Snl-pKJ8vCpvw4KXTFQazSrPyWlR9Gm_KrvMB9MTOKuVnMm2K2LxY1MTtOfG4jZtJKbeXNEW9hbLg0N1waxZ7Z2TOP-sRsfWJUn5rFp0bxmVl8ZrNlZjEyabMY2zJEbeWNbdm5OROGSCiYIwXZM2bOFIaECjvgqy4XiPwAsGPWBVEjM0PU2MJgcjt3bGWYOVyYh_TdHC_YzpjjhSH5wswBw5CEYVYRg6ixqdmFDCa3c0d3xpwzHMkZbpUzHHl3wV5ezDnDkZzhVjmDqLE3ELucweR27tjOcHPOcCRn-HE5s3j67f8AAAD__8NhSwY=
   167  
   168  # There should be no "by hash" routers if there is a single stream.
   169  query T
   170  SELECT url FROM [EXPLAIN (DISTSQL) SELECT c, d, sum(a+c::INT) + avg(b+d) FROM data WHERE a > 9 GROUP BY c, d]
   171  ----
   172  https://cockroachdb.github.io/distsqlplan/decode.html#eJyUkm-Pk0AQxt_7KSbzioa9lD810X21VetJwtEKVL2c5LLHTkgTyuIuGE3T724AE68a0Xs5z8zz8BtmT2i_1Mgx28Sb1zn0poa36fYG7jafdvE6SsB5E2V59j5ewM-RkoFiYPujI8GFkvMoyV8swAX5tXIewAW1mCKU7CR8fLdJNyDhc-95IcFLuE63-x28uh1zCmTYaEWJPJJFfoc-MnyOBcPW6JKs1WaQT-NQpL4h9xgemrbvBrlgWGpDyE_YHbqakGOir3S7DJChok4e6nHszFD33S-T7WRFyMMzexTszwfn8qGmlKQis_Qu4rE1h6M038WwLzLMWtlYDkvfu0KGKTWKDAfhuyKc_hUDEbhixUCEDMQK_8bnP4VvXVWGKtlps_Qv8UTIxAoZrpPb-2Sb3yf7OHZEuPhDWg1Str9xhD82P1w7Ilhc7DCgD9zuDHZwgf2Pe6VkW91Y-q-DeeeCIamKpjdhdW9K2hldjp-Zyu3oGwVFtpu64VREzdQaAB-b_VlzMG8OZs3eb-bi_OxHAAAA___etg9r
   173  
   174  query T
   175  SELECT url FROM [EXPLAIN (DISTSQL) SELECT sum(a), sum(b), sum(c) FROM data GROUP BY d HAVING sum(a+b) > 10]
   176  ----
   177  https://cockroachdb.github.io/distsqlplan/decode.html#eJzUll1r4kAUhu_3VwznSulIcjKJbXMVt7Vdwcau2mVLV0o0gxVs4k4S2FL870uSUj-6O5MyCnqVzydz5jwvh7xC8nsOLgza3fbFkGRiTq76vRvy0P552211fFK77AyGg-_dOnl7Jcmea0GdFsfx23FSL6kwSANy3e_d3ZKv9yQk31o_Ov51iZATMq6TX5lpMk7QHAGFKA65HzzzBNwHQKBgAQUGFGyg4MCIwkLEE54kschfeS2ATvgHXJPCLFpkaX57RGESCw7uK6SzdM7BhWEwnvM-D0IuDBMohDwNZvNimYWYPQfixctLBQqDRRAlLmkYSIIoJEji9IkLoNDnUciFSzw88SxKPKSkODJKPBtGSwpxlq4qSNJgysHFJa1eZWs6FXwapLEwnM0ivfy65d8_-r3ho3_X7dY8p55Xe3dT86z3M_Z-Zr-fYX2ruNV64xfyFCRPW0shjJarDVj_3cDqO1kUi5ALHm58qfiKZItoflh4e49YcY9FL65m87QQ5KxC5bruZfuic9PqAoVelrq5M49RiTG22w37cSNeGOhsvfnvte2NtbF6prFKpg1sGNYeUq2oc0158zBTjbtMNR5Bqq3qybIqJctqGGwPyVLUudb208NMlrXLZFlHkCxWPVmsUrJYw7D3kCxFnWttPzvMZLFdJosdQbLs6smyKyXLbhjOHpKlqHOt7eeHmSx7l8myjyBZir_yPk8WcZTwSn9wZt4QHk552b0kzsSE34p4UixTXvYKrrgR8iQtn2J50YnKR3mB6zBuw7gOWxswfg5u6sDnOjBq1Y2OnLak_WZymMllNeW2bCntyGFHR7UcVqiWwwrVclilWkErVDd1VJ9K4TO5rDMdWXJYIUsOK2TJYZUsBa2Qda4jCxVTVDVG9eao3iDVm6Sao1RvlqLWMEXFNLUV0j6M009Jk9MqaXJaJU1OK6UpcJW0D0NVKm20_PI3AAD__0Hd4gQ=
   178  
   179  query T
   180  SELECT url FROM [EXPLAIN (DISTSQL) SELECT avg(a+b), c FROM data GROUP BY c, d HAVING c = d]
   181  ----
   182  https://cockroachdb.github.io/distsqlplan/decode.html#eJzMll9r2zAUxd_3KcR9SqiCI8lJW0PBWdd2gdTp8meslFBUW6SB1MpkZ6yUfPdhpyxOskkuSsBvtqyf7rk6h4vfIPk5Bw-GV72ryxFaqjm6HvRv0cPVj7tepxug2pfucDT81quj9y3817TG0Ql6qmMUrjdHPOXoZtAf36HP9yjEKEJfO9-7wQ0K0QWKJoAhlpEI-ItIwHsAAhgoYGCAwQUMLZhgWCgZiiSRKtvylgPd6Dd4TQyzeLFMs-UJhlAqAd4bpLN0LsCDEX-ai4HgkVBOEzBEIuWzeV5moWYvXL36mTzAMFzwOPFQwyGIxxEiSKbPQgGG69k8FcpDPkMXyM8EDUQc5SvkxKcY-Qxn65MVBrlMN1qSlE8FeGSFy-vtTKdKTHkqldPalutn19EJ7h-D_ugxGPd6NZ_VM93j25pPsqfL_jgYvT9vb6T1HXWbgk-v6Jknzzu1CExWmw7ofzvYnLOMpYqEEtHWSfkpmh5Jc6_wrnbyt0n6_vTYzdpk-2269aI51DEYww7bViAbcuGQ1s7Of9d2t2qT8iEmZULskIZDjxpjg-KCxe2KxpgcMsakMjGm5aNES0WJNhx21CgZFBeu-bSiUaKHjBKtTJRY-SixUlFiDcc9apQMigvXfFbRKLFDRolVJkpu-Si5paLkNpzWUaNkUFy45vOKRsk9ZJTcykTJ8AM9EMlCxoko9RfWzNoW0VSs7yiRSxWKOyXDvMz6tZ9z-UIkknT9laxfuvH6UyawCJNdmBRhugWTj8FtG_jcBiZWuklLT1PtfTM9zPRmtfVuuVq6pYdbNlbrYYPVethgtR42WW2gDVa3baw-1cJnerPObMzSwwaz9LDBLD1sMstAG8w6tzGLGKaoaYzazVG7QWo3SS1Hqd0sJVbDlBimqWswbW-cfsg0PW0yTU-bTNPTRtMMuMm0vaGqNW2y-vQnAAD__5Mv1j4=
   183  
   184  query T
   185  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]
   186  ----
   187  https://cockroachdb.github.io/distsqlplan/decode.html#eJzMltFv2joUxt_vX2GdJ1CNgu2EtpEqpfdeuiFR6ALVVnWocolFkWjMnERaVfG_T0m2EmhnpzKovJngX853zvfpKM-Q_FiAD6Nuv_vfGGVqgS7C4SW67X676p_3Bqjxf280Hn3pN9HvK0n22ODoCN03ceWMLnr9cTdEja-fu2EXcfQ9a7fZFEX6W2do2iwLRjzl6FM4vL5C_96gaAIYYhmJAX8UCfi3QAADBQwMMLiAwYMJhqWSU5EkUuVXngugF_0Ev41hHi-zNH88wTCVSoD_DOk8XQjwYczvFyIUPBLKaQOGSKR8vijKLNX8kaunIJcDGEZLHic-ajkE8ThCBMn0QSjAEIo4EspHATkKKEYBKfsN3Px8FjCMAhcmKwwyS9dCkpTPBPhkheuLPZ_NlJjxVCrH29Qa5HM4H9zcDYbju8F1v98I3GYu-vqyEZDK6c_YA_rGM7Ylc135_gk98ORhqyiByWrdCv1rK-v3ZLFUkVAi2nhT8RZNs6T9qvB2t-se6cuJvZyKWQyz1EcBxQHDGkPYbrsYyJZcOsTbuvl2bXejNqmfXFInuQ5pOXR_2TXIrdjZOfTskl1ml3xUdmn9_NBa-aEth-0vPwa5lZEeH3p-6C7zQz8qP6x-flit_LCW4-4vPwa5lZGeHHp-2C7zwz4qP279_Li18uO2HG9_-THIrYz09NDz4-4yP-4hfHu9oTEUyVLGiaj1ZdXOuxTRTJQjSWSmpuJKyWlRpvw5LLjiQSSStPyXlD96cflXLrAKk22YVGG6AZP3wR0b-NQGJla6iaenqXbeTA8zvVkdvVuulvb0sGdjtR42WK2HDVbrYZPVBtpgdcfG6mMtfKI368TGLD1sMEsPG8zSwyazDLTBrFMbs4hhi5rWqN0etVukdpvUcpXa7VJitUyJYZu6BtNerdN3maanTabpaZNpetpomgE3mfZqqWpNm6z--RUAAP__Wi_LjA==
   188  
   189  # Same query but restricted to a single range; no local aggregation stage.
   190  query T
   191  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]
   192  ----
   193  https://cockroachdb.github.io/distsqlplan/decode.html#eJyUktGLm0AQxt_7VwzzlHB7xNU8CQd7bb1W8DQ1hva4yrHnDhIwrt1doSXkfy9qyyWlte3b7LffN_PT2SPaLw2GuI2S6E0BvWngLs_u4TH6tElu4xQWb-Ntsf2QLOGHxfaHhYQreF6ysxru4qSIclh8fB_lEUj43HteUIGad91AtZwGKukkvMgc3uXZbgOvH0CVyLDVilJ5IIvhI3Jk6GPJsDO6Imu1GeTjaIrVVww9hvu2690glwwrbQjDI7q9awhDTPW17lY-MlTk5L4ZbSeGuncvIetkTRgGJ3bWmM83LuRzQzlJRWblXbTHzuwP0nwTw3ciw20nWxvCil-PHDm1ikwIgl8Jn4Hg0-8T66G-EQEDscY_IfL_Qbyta0O1dNqs-CWhWCPD2_ThKc2Kp3SXJAuxXg6ou_uF4GfVzy0K_zdagAyz3oUgfCYCNoPtX2D_ZWU52U63lv5pZ96pZEiqpulZWN2bijZGV-OY6ZiNuVFQZN10G0yHuJ2uBsDzMJ8N-_Nhfzbs_RIuT6--BwAA__8RpBmb
   194  
   195  # Verify the XOR execution plan
   196  query T
   197  SELECT url FROM [EXPLAIN (DISTSQL) SELECT xor_agg(to_hex(a)::bytes) FROM data]
   198  ----
   199  https://cockroachdb.github.io/distsqlplan/decode.html#eJyslF1v2jAUhu_3K6xzVSSj4CRQ6quyjVVIrHTARacqQh4-SpFonNmOxIT471OSTg2odTIll_l487x5jnWOYH7vgcNqOp9-WZNM78m35eI7eZo-Pswns3ty9XW2Wq9-zHvk9ZWD0hsRx1dWbZ7xcCV6nH_-uZ6uemVQCisioJAoiffiBQ3wJ2BAwQcKAVAIgcIQIgqpVls0Run8lWMRmMkD8AGFXZJmNr8dUdgqjcCPYHd2j8BhLX7tcYlCovYGQEGiFbt9gUn17kXoP7d5B6CwSkViOOl7jIhEEkaUfUYNFJaYSNScvP7CLfv3DxCdKKjMvtGNFTECZyfavOEkjjXGwirtDc8LPi6Wm8ndXU78EOV_iHojZInSEjXKs89HJ3cZNvj_NsFZG9Z8NKzJaDzW9_yOh1PTseJj1HY4fnMdfiMdft8LOtZR07Gi47qtjqC5jqCRjqDvhR3rqOlY0TFuqyNsriNspCPse8OOddR0rOi46XKTvYNaoklVYvBio73_5UG-6VDGWK5FozK9xQettgWmvFwUueKGRGPLp6y8mCXlo7xgNcycYf8szC7Dvptcgw6c6dAdDtv0HjrDIzd51IZ87QyP3eRxG_KNe1aDmmPiPmSX7Oj06W8AAAD__-R8DCQ=
   200  
   201  # Verify the XOR execution plan
   202  query T
   203  SELECT url FROM [EXPLAIN (DISTSQL) SELECT xor_agg(a) FROM data]
   204  ----
   205  https://cockroachdb.github.io/distsqlplan/decode.html#eJyslNFq2zAUhu_3FOJcJSBjy3bS1FcJW1YCWdMluSgUU7To4AVcy5Nk6Ah592F7UCe0sod2aVu_v__jiHMC_SuHBHbL9fLznlQqJ1-3m2_kafn4sF6s7snoy2q3331fj8nfI69SPfMsG_Fxe1Jww1OgUEiB9_wFNSRPwIBCCBQioBADhQmkFEolD6i1VPWRUxNYiVdIAgrHoqxM_TqlcJAKITmBOZocIYE9_5HjFrlA5QdAQaDhx7zBlOr4wtXved0BKOxKXuiEeD4jvBCEEWl-ogIKm8okZM4gPVOQlXljacMzhISd6fA-iyxTmHEjlT-5rPO42T4v7u5Gczb-EBV-iHojVIVUAhWKi9-nZ3sZFvx7m-iiDRs-CDZkED7z_NBpFD2NOvZT11GEw-XDQfKh50dO8j2NOvI3rvLRcPlokHzk-bGTfE-jjvzMVT4eLh8Pko89f-Ik39OoI3_7PzfQO6gt6lIWGq820ft_DuoNhSLDdp1pWakDPih5aDDt46bJNS8EatN-Ze3Dqmg_1QW7YWYNhxdhdh0O7eQedGRNx_Zw7NJ7Yg1P7eSpC_nGGp7ZyTMX8q19VkHPNbFfsmt2ev70JwAA__-WyOlb
   206  
   207  query T
   208  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]
   209  ----
   210  https://cockroachdb.github.io/distsqlplan/decode.html#eJyUkF1r2zAUhu_3Kw7nSoJDajv7KLqK2dzNkKRdnHWFzheKfTAGxcokuRSC__uwPbZ10LHena_nfYTO6L8bVFhk6-z9Hnpn4Gp3vYH77O5mneZbEB_yYl98Xkv4eXLUjyIstCQ4tp0Ii4Mk0A-NCItKzqy4TddfsgJETJAQLCWBeE3whuDtWL4juCSIpIS0gABCExwIKglfP2W7DA7wrY-iJcOyRMLO1rzVR_ao7jHGkvDkbMXeWzeOztNBXj-iigjb7tSHcVwSVtYxqjOGNhhGhcZW2sCDNj17iC4iJKw56NZMyVetCewUrJJfdqVUvt1fYjkQ2j78TvZBN4wqHuj_7WnTOG50sO4ifmrepHdiFUsk3ORbsUrGKr39KFZL-aw6eYl6x_5kO89PtM8lR0NJyHXD8-d627uKb5ytJs3cXk_cNKjZh3kbz03ezavxgX_C8T_h5C-4HF79CAAA__8-tMoV
   211  
   212  query T
   213  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]
   214  ----
   215  https://cockroachdb.github.io/distsqlplan/decode.html#eJyckU9r20AQxe_9FMNcLJXB3l35JAjItC51cK00Sksh-LCVpo5gq3V3V6Vg_N2LVin5Q9PGuWlm3m-e5u0B_Q-DOVbL9fLNFfTOwLvL8gNcL79crBerDSRvV9VV9XGdwq3k9ShIPi_Wn5YVJJJgopSapASJIpjM5_NJmsKigiAh0QRfUzgvh033CCnEVAxERpCpqbgF1B-g3ECQUw1nENRUb5Gwsw1v9Hf2mF-jxC3h3tmavbduaB2iYNX8wlwQtt2-D0N7S1hbx5gfMLTBMOZobK0N_NSmZw9iJpCw4aBbE_VHQtuHO9oHvWPM5ZFe6CBn8lkO6kmHu8V9Z13DjpvHG_8v-ctvvtf-5ty2HbuZeqBGw99CUsj0zLW7m_iFhGUfcigkFYqKjIo5PnVJdkpWl-z3tvP8rIzEcAY3Ox5j8bZ3NV84W0ebsSwjFxsN-zBO1VisujiKj3kflifA6jGs_glnD2Bx3B5f_Q4AAP__go0S1Q==
   216  
   217  statement ok
   218  CREATE TABLE nullables (a INT, b INT, c INT, PRIMARY KEY (a))
   219  
   220  query T
   221  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)]
   222  ----
   223  https://cockroachdb.github.io/distsqlplan/decode.html#eJzMlNFr2zAQxt_3V4h7spkyR7YzimBgr3E6Q5p0TmArxRQ1OryAa2WSAish__uwna7zWDaXvOTNn-4-3_e7h9uB-V4Ch0UyTS6XZKtLMsnm1-Qu-XozjdMZccbpYrn4PHXJoUVoLZ7uRVE4wm17nedKK6Wwgnz5lGQJcZwH8oEwl8SzMXFW9fe7oXuQ8iDJPBsnGfl4S4SbA4VKSZyJRzTA74ABBR8oBEAhBAojyClstFqhMUrXLbvGkMofwIcU1tVma-vnnMJKaQS-A7u2JQKHpXgoMUMhUXtDoCDRinXZjNno9aPQT1GdHSgsNqIynAw8RkQlCSPKfkMNFCbr0qLmxHEiv47POU9ny4sDURS0SJzzyXQeLy-eUaPwV2GcXKbX8dQFCvOt5SRikO8pqK19CW6sKBA429MjcC9MSkvUKLs0EXsL-f4vG4iLQmMhrNLeqGuJsyy-vY-vrpyIuUcT-Z1ErP-6WZ91e2zg-eezcL8_nt8Lzx94wfngBf3xgl54wcALzwcv7I8X9sILB97ofPD-c-oyNBtVGeyQHfvzsD4VKAtsT4tRW73CG61WzZhWzhtf8yDR2LbKWpFWTakJ-LuZ_dP8vmMe_mn2T5kcnGIOTzGPXmXO929-BgAA__9VED8a
   224  
   225  query T
   226  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)]
   227  ----
   228  https://cockroachdb.github.io/distsqlplan/decode.html#eJzMlNGL00AQxt_9K5Z5SnBrukkqx4KQeM2dkV5zpgWVIxx73SFWctm6uwWl9H-XJNUzYjXSl77l25kv8_3mYXZgvlTAYZHMkssl2eqKXOXZDblLPtzO4nROnGm6WC7ezVxyaPlsVH0vytIRbtfqHAqik1JYQd6_SfKEOM4DeUWYS-L5lDir5vvF2D1IeZAky6dJTl5_JMItgEKtJM7FIxrgd8CAgg8UAqAQAoUJFBQ2Wq3QGKWbll1rSOVX4GMK63qztc1zQWGlNALfgV3bCoHDUjxUmKOQqL0xUJBoxbpqx2z0-lHob1GTHSgsNqI2nIw8RkQtCSPKfkINFK7WlUXNieNEfhOfc57OlxcHoijokDjnV7MsXl78QI3Cn4VpcpnexDMXKGRby0nEoNhTUFv7FNxYUSJwtqdH4J6YlJaoUfZpIvYciv0fNhCXpcZSWKW9Sd_ydpHN7-Praydi7tFAfi8QG75tNmTbHht5_vns2x-O5w_C80decD54wXC8YBBeMPLC88ELh-OFg_DCkTc5H7x_XLoczUbVBntkx_48bi4FyhK7y2LUVq_wVqtVO6aTWetrHyQa21VZJ9K6LbUBfzWzv5pf9szj383-KZODU8zhKebJf5mL_bPvAQAA__9Wiz5w
   229  
   230  # Test that orderings on GROUP BY columns are propagated through aggregations.
   231  statement ok
   232  CREATE TABLE sorted_data (a INT PRIMARY KEY, b INT, c FLOAT, INDEX foo(b))
   233  
   234  # Split into ten parts.
   235  statement ok
   236  ALTER TABLE sorted_data SPLIT AT SELECT i FROM generate_series(1, 9) AS g(i)
   237  
   238  # Relocate the ten parts to the five nodes.
   239  statement ok
   240  ALTER TABLE sorted_data EXPERIMENTAL_RELOCATE
   241    SELECT ARRAY[i%5+1], i FROM generate_series(0, 9) AS g(i)
   242  
   243  # Verify data placement.
   244  query TTTI colnames,rowsort
   245  SELECT start_key, end_key, replicas, lease_holder FROM [SHOW RANGES FROM TABLE sorted_data]
   246  ----
   247  start_key  end_key  replicas  lease_holder
   248  NULL       /1       {1}       1
   249  /1         /2       {2}       2
   250  /2         /3       {3}       3
   251  /3         /4       {4}       4
   252  /4         /5       {5}       5
   253  /5         /6       {1}       1
   254  /6         /7       {2}       2
   255  /7         /8       {3}       3
   256  /8         /9       {4}       4
   257  /9         NULL     {5}       5
   258  
   259  query T
   260  SELECT url FROM [EXPLAIN (DISTSQL) SELECT a, max(b) FROM sorted_data GROUP BY a]
   261  ----
   262  https://cockroachdb.github.io/distsqlplan/decode.html#eJyUkVGrm0AQhd_7K5Z5UtgQNfRln7RtWgSjqRpICBI27lQCxrW7KwSC_72ohSaFeO99nJnzzTk7ewf9uwYG2Tpaf81Jp2ryPU025Ljeb6MgjIn1Lczy7Gdkk78STsmV36yzPQm1VAbFSXDDyY802W3JlwPhBVBopMCYX1EDO4ILFD5DQaFVskStpRra91EUihswh8KlaTsztAsKpVQI7A7mYmoEBrFcyHbpAQWBhl_qUdZTkJ35B2nDKwS26unDYnd-cc7PNabIBaql87QefknpPzwPKGQtbzQjC6CQdIYR36W-B69yuB_JEVSVwoobqZbucwx_qIP4cIqT_BTvosjyXRsobIK95Xv2S3vvyf6N-6aoW9lofNeBnb6ggKLC6Q-17FSJWyXL0WYqk5EbGwK1maarqQibaTQEfITdWdibh71Z2PkPLvpPfwIAAP__u9n0cA==
   263  
   264  query T
   265  SELECT url FROM [EXPLAIN (DISTSQL) SELECT a, max(b) FROM sorted_data GROUP BY a ORDER BY a]
   266  ----
   267  https://cockroachdb.github.io/distsqlplan/decode.html#eJzMlmFr4jAYx9_fpwjPK-UiNWl1W1_p3bxDcHanDjaGjMwGJzjTSyJsDL_70fbAut2SltTDd9rml-ef_B4e-gbq9xpCmA5Gg-8ztJVr9GMSXaH7we31qD8co8blcDqb_ho10d8lDKNn9tJ4bOYLlZCaxw8x0wz9nEQ31-jbHWIomlwOJtnPOWDYiJiP2TNXEN4DAQwUMPiAIQAMHZhjSKRYcKWETJe8ZcAwfoGwjWG1SbY6fTzHsBCSQ_gGeqXXHEKYscc1n3AWc-m1AUPMNVutszKJXD0z-dorBAQM04RtVIhaHkFsEyOChH7iEjBEWx2iHsE9CvMdBrHV-6pKsyWHkOxw-WT95VLyJdNCep3DYL30AiIZc8njtCRg6I_vHsbR7GF8Mxo1eqQJGK76t40ebb4Ls9__8RU9MfX0Yev5bh-Yfhp4v4_Ig7zf52u-keFUpF3fsfaR_dojj0VLJB45lPBZ-eCgPCnffKRC83mk5VHX9rNkK4jqnkb7kZrbjxy__Wh5_7SKf9ryfFf_lmyFmzo7Df-0Zv_0-P798v79Kv79lhe4-rdkK9zU-Wn492v27x_ff1Def1DFf9DyOq7-LdkKN3VxGv6Dmv0H__fz4x9pJlwlYqN4qS-LdnoeHi95fn4ltnLBr6VYZGXyv1HGZQ9irnT-luR_hpv8VRqwCJP3MCnC9AAm1eCuC3zhAhOn3KRjpqnxvn0z7Jtldc22AiPdMcMdF9Vm2KLaDFtUm2GbagttUd11UX1mhM_Nss5dZJlhiywzbJFlhm2yLLRF1oWLLGKZorYx6jZH3Qap2yR1HKVus5Q4DVNimaaBRdqHcVpJmpm2STPTNmlm2irNgtukfRiqRmnz3Zc_AQAA__9IUH8M
   268  
   269  query T
   270  SELECT url FROM [EXPLAIN (DISTSQL) SELECT c, min(b), a FROM sorted_data GROUP BY a, c]
   271  ----
   272  https://cockroachdb.github.io/distsqlplan/decode.html#eJzMlt9v2jAQx9_3V1j3BJpRcH7QNk90Wzch0dABlVZVqHKJRZFozGwjrar43yeSSaTAfAHzkMcQf3J3_n504h307wXEMLrp33wdk5VakO_DwS15vPl117_uJaTxrTcaj372m-TfkSklr_Os8dykhBdntVRGpE8pN5z8GA7u78iXB8IpmU6AQiZTkfBXoSF-BAYUfKAQAIUQKEQwobBUciq0lmpz5D0HeukfiNsU5tlyZTY_TyhMpRIQv4OZm4WAGMb8eSGGgqdCeW2gkArD54u8zFLNX7l665YaAwqjJc90TFoeIzxLCSPSvAgFkzUFuTLbQtrwmYCYrWn1Zq5nMyVm3EjlRR976W5mHqhUKJHGJH-6Th6eksH4Kbnv9xtd1gQKt72k0fWbey-D5k5_25LPb-SF65e9apP1dgb_vzNsvyOL3na_87n4kGVQ1j7zpBQGKxOTbkC7Ps0nOZxMUGGqVXZoroMjJbIllx6Ldk4erh1-qM2qK8qOUNRjLc8_QVKknVJ2ndpKys4sKauFpH51UfxjRPFbXnCCKEg7pfu7qK0o_plF8WshSlBdlOAYUYKWF54gCtJO6f4uaytKcGZRglqIElYXJTxGlLDlRSeIgrRTur-r2ooSnlmUsBaiIP9ch0IvZaZFpX8_7c3IIp2J4oq0XKmpuFNympcpHgc5l_-QCm2Kt6x46GXFq02DZZjtwqwM-x9gdhzccYGvXGDm1DeL7LRvve_ADgf2sDr2tEIrHdnhyCVqO4xEbYeRqO0wFjVCI1F3XKK-sMKX9rAuXcKyw0hYdhgJyw5jYSE0EtaVS1gM2aLYGnXbo26L1G2TOq5St13KnJYpQ7ZpiIS2t06PCs1OY6HZaSw0O42GhuBYaHtL1RraZP3pbwAAAP__Dpuy1g==
   273  
   274  query T
   275  SELECT url FROM [EXPLAIN (DISTSQL) SELECT c, min(b), a FROM sorted_data GROUP BY a, c ORDER BY a]
   276  ----
   277  https://cockroachdb.github.io/distsqlplan/decode.html#eJzMllFr4kwUhu-_XzGcK-UbiZOJts2V3a27CDbpqoUtRcrUDFawGXcywpbif19MFox1O8c4XuRyTJ6cc-Z5OfgO2a8lhDDuD_tfJ2Stl-TbKL4lj_2fd8PrQUQaN4PxZPxj2CR_X5lR8rpIG89NSkTxbqa0kclTIowg30fx_R358kAEJTMSj276o_w0BQqpSmQkXmUG4SMwoOADBQ4UAqDQgSmFlVYzmWVKb195z4FB8hvCNoVFulqb7c9TCjOlJYTvYBZmKSGEiXheypEUidReGygk0ojFMi-z0otXod96pR6Bwngl0iwkLY8RkSaEEWVepIbphoJam12hzIi5hJBt6PHNXM_nWs6FUdrr7PfS284c60RqmYQkP11HD09RPHmK7ofDRo81gcLtIGr0_ObBQ9780N-u5PMbeRHZy0G16WY3g__pDLvvqKK3j9_5v_iQZVDWPvOkFOK1CUmP055P80n-bYafPBX_ZKpItdTKY_vqPisf7JVnx6eUVUipx1qef0JOkXZK-rq1zSk7c05ZLXLqHx8Uv0pQ_JbHTwgK0k7p_i5qGxT_zEHxaxEUfnxQeJWg8JYXnBAUpJ3S_V3WNij8zEHhtQhKcHxQgipBCVpe54SgIO2U7u-qtkEJzhyUoBZBQf68jmS2Umkmj_r3096OLJO5LK4oU2s9k3dazfIyxTHOufyHRGameMqKwyAtHm0bLMPsI8zKsL8Hs2pw1wW-coGZU9-sY6d9631zO8ztsrp2W4GV7tjhjotqO4yotsOIajuMqUZoRHXXRfWFFb60y7p0kWWHEVl2GJFlhzFZCI3IunKRxZAtiq1Rtz3qtkjdNqnjKnXbpcxpmTJkmwaItIN1Wkmancak2WlMmp1GpSE4Ju1gqVqlTTf__QkAAP__YkS1rQ==
   278  
   279  query T
   280  SELECT url FROM [EXPLAIN (DISTSQL) SELECT b, max(c) FROM sorted_data@foo GROUP BY b]
   281  ----
   282  https://cockroachdb.github.io/distsqlplan/decode.html#eJyUklFr2zAQx9_3KcT_KQGVxHb34idnWzYyXDtLUmgpJijW1RgcnyfJ0BHy3UfswpJCvPZRp_vd_ydOB9jfFUKs5_H860a0phLfV-mdeJo_LOPZIhGjb4v1Zv0rHovXlp0Ue_Uyysd9o2XjSG-1cip6ZhY_Vun9Unx5FLsMEjVrStSeLMIneJD4jEyiMZyTtWxO5UPXtNAvCKcSZd207lTOJHI2hPAAV7qKECLhG24mASQ0OVVWXdtRglv3D7JOFYTw9ijPBnvDgzdqV9GKlCYzmV6MxzNzdPZESKwbVdtQ3EAibV0oIg_XJLyPSPzksn518C4dGlPulfnzxqMP92UUXM33P5I_KwpDhXJsJv5lfnTySY0mQ7p7r8Qsedwm6Wab3MfxKPLGkLibPYwif3xVJriQ-c-qV2Qbri29a9fTYyZBuqD-O1luTU5Lw3kX0x_TjusKmqzrb2_7w6Lur06C57A3CPvDsD8IB8NwMAhP38DZ8dPfAAAA__-h7zgW
   283  
   284  query T
   285  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]
   286  ----
   287  https://cockroachdb.github.io/distsqlplan/decode.html#eJzMl1Fv4jgQx9_vU1jzBLdGwU6gFGml9O56J1YUem1X2tUKVYa4FInGnBOkXVX97qeQnggEPHFNb_O2BP_sGfL779TPkPyzhD7cXg4vf78ja70kf96Mr8i3yy_Xw4vBiDT-GNze3f49bJLXJb_mCxqvHwUlT-J7Y9bMHydKpzK6j0QqyF8348_X5LevRDTJp3G21yszpeRpER9iwgeltty0ScYjIshHMp0AhVhFciSeZAL9b8CAAgcKPlAIgEIHJhRWWs1kkiidLXneAIPoO_TbFBbxap1mjycUZkpL6D9DukiXEvpwJ6ZLeSNFJLXXBgqRTMViuTlmpRdPQv8ICzUChduViJM-aXmMiDgijKj0UWqgMF6nfRIyGvoweaGg1un21CQVcwl99kKrV3Yxn2s5F6nSXme3sDD7AcY6klpG2ZFA4WL09X40vrsffR4OGyFrAoWriy-NkDf3itnuP_1BHkXyWNp68rItmB8teLuPygvZ3-dDvpGhK9b-WW35bm3R7ap1fGjdwc6vpJ7LT2oRS-2x3u6-S_mQNkL2oflRL-aP-T-LSnEa-jQMjop1VqEhi1JHqqVWHvf3Vh4-u7dzNqseN2YRN4-1PO4aOKS2gprdegSOnThwrB6Bs27rBIE7f8_A8erScxvpecvzXaVHaivocVYP6fmJpef1kN66LXfpefs9pferS-_bSO-3vMBVeqS2gh69ekjvn1h6vx7SW7d1AunZe0ofVJc-sJE-aHkdV-mR2gp6nNdD-uDE0gf1kN7CEbZ3s3tQ6sh1cyvEURsCmyqytPxXRLeKqfnp3KRj5406srf95TEYOb-4rpuPJ_jfiv9fF8EDhdzIZKXiRFa65rWzVmQ0l_mvk6i1nslrrWabY_KP4w23eRDJJM2_ZfmHQZx_lRVYhNk-zIow34GZHXzmAjPmRHec6HMzzY207wL3XGCGvC6E7rrQHGnbN0oamOHACPPArHjHSHfNcNclH2YYyYcZxvKB0Eg-EBrJx5lLPswwkg8zjOUDoZF8mGksHz2XfJybJ0AbGQGlAWI1A8w0NgTMNDoFEBwbAwiOeM7MYwR54wiNmI7QmOoYjriO4JjsrDRLbGxn5lnCkHHAStPESnczjeluplHdERzTHcEx3UuD1Ep3M43pbqZR3REc092Mo7qXxqmV7qXBsqt7D9G9NFmsdDfTmO5mGtUdwTHdERzTvTRVrXQ305juZhrVHcEx3c04pjs3X0g5ciPlpdmyi3MEt7mdcUu650TvvTZrvOuEc6x1uyva5OWXfwMAAP__qOFDRA==
   288  
   289  # Verify that the stages preserve the ordering as expected.
   290  query T
   291  SELECT url FROM [EXPLAIN (DISTSQL) SELECT sum(x) FROM (SELECT a, b::float + c AS x FROM data) GROUP BY a ORDER BY a]
   292  ----
   293  https://cockroachdb.github.io/distsqlplan/decode.html#eJzMllFv2j4Uxd__n8K6T6AaBTuB0jyF_0onJEq6QKVVFapcYlEkGjM7SK2qfvcpSTcCrHY6Rx1vJPjne-49R1d5AfVjBT5MBqPBlynayBW6iMJLdDv4fjXqD8eocT6cTCffRk30dkRtHhtPzeJU4-0dw-je9y9GYX_aQydojvoT9FQciVnKmuhrFF5fof9vEENhdD6I8p8zwJCImI_ZI1fg3wIBDBQwuIDBAwwdmGFYSzHnSgmZHXnJgWH8BH4bwzJZb9Ls9QzDXEgO_guky3TFwYcpu1_xiLOYS6cNGGKesuUqL7OWy0cmn4NMGmCYrFmifNRyCGJJjCgS6QOXCjBEPIm59FHgngT0V38YBQRmrxjEJt2WVylbcPDJK64usb9YSL5gqZBOZ1dhkE0hlDGXPPZR_tQf39yNw-nd-Ho0agS0mQm_vmwEpLknZnv__TN6YOph7-pM_FYwfVfw9h5RCNm_56S4SNMVaR_ULrdFDtoiv9vKGww3adY91gzc_Wv99B39Y9ESa4fsOvJeeW-nPKkeSVIlkg5pOTQPJSlCWUMmDRpL7nWPI5Ok5kyST84krR4KWikUtOW4NYfCoLE0vtPjCAWtORT0k0PhVg-FWykUbsvxag6FQWNpfL3jCIVbcyjcTw6FVz0UXqVQeK38w8I2CAZdpZGdHUcQvJqD4P3Dz5g_SIu4WotE8UpfKO2sOR4veDEMJTZyzq-kmOdliscw5_IXMVdp8S8pHoZJ8VcmsAyTfZiUYboDk4_BXRv4zAYmVrpJR09T7bxdPezqzerq3fK0dEcPd2ys1sMGq_WwwWo9bLLaQBus7tpYfaqFe3qzejZm6WGDWXrYYJYeNplloA1mndmYRQxb1LRG7fao3SK126SWq9RulxKrZUoM29QzmHawTj9kmp42maanTabpaaNpBtxk2sFS1Zo2e_3vZwAAAP__faGWgA==
   294  
   295  query T
   296  SELECT url FROM [EXPLAIN (DISTSQL) SELECT sum(x) FROM (SELECT a, b::float + c AS x FROM data) WHERE a > x GROUP BY a ORDER BY a]
   297  ----
   298  https://cockroachdb.github.io/distsqlplan/decode.html#eJzMll1v2kwQhe_fX7GaK1AWmV2bL1_B25AWieDUELVRiqINXhEkgunaSERR_ntlb1I-3OyYYqXcge3Hc2bPmZGfIfo5BxeG3X7304is1Jxc-N4lue1-v-p3egNSOu8NR8Ov_TJ5fSRaPZbWZf1U6fWaoOTedS_6XmfUJGdkQjpDstaPBCIWZfLtS9fvEkF-rKpVW5I1-ex711fk_xsiiOefd_305xgoLMJADsSjjMC9BQYUOFCwgYIDFGowprBU4URGUaiSR55ToBeswa1SmC2Wqzi5PKYwCZUE9xniWTyX4MJI3M-lL0UglVUFCoGMxWyellmq2aNQT-1EK1AYLsUicknFYkQsAsJJGD9IFQEFXy4CqVzSts_a_K1hStoMxi8UwlW8KR_FYirBZS80v8RBWAmXVm1X3MVsHqc1-dvpGcrxQ8p1plMlpyIOlcX2TqSdnLqnAqlkkJQGCp3Bzd3AG90Nrvv9UpuXk4O6viy1WXlPzabA_RN5ENHD3qsT9RvF9ruKN-8JtZD995zpF5naqmVqb7fFMm2x322lDXqrOOmeGk7c-Wv9_B39OgV815H3ytd2yrP8I8DyjIDFKhZPh4DpIShgBhCNuvt6YTOAlNsOCzuNGWAFz0D9g2eA5w8hzxVCXrHsgkOIaNQhbBQWQqTctlv8NELICw5h44NDaOcPoZ0rhHbFcgoOIaJRh7BZWAiRcttu2acRQrvgEDY_OIRO_hA6uULoVNKvw2ODh-jSwWsVFjyk3LZDzmkEzyk4eK1_-Bn6B2m-jJbhIpK5vjCrSXMymEp9GFG4UhN5pcJJWkb_9VIuvRDIKNZ3mf7TW-hbicBtmBlhbob5Psy2YXsHZofBzWNgxo-i68fQvGqmbeOBO2bYMbuFeF0z0nUzXDfCDTPcOCYoZhgJihnGgoLQSFDMNBaU5jFBaZl3QhVZCshKwXZKZqkcYjdCI34jNGY4hiOOIzhmOcuslkM8Z-bVwhzENfNyYTUEz2yXg0w305jpZho1HcEx0804arp5s2KmZ5bMrmtNxDXzlmEtBM_smYNMN9OY6WYaNR3BMdPNOGY6N2_YfdPHL__9CgAA__--oLSZ
   299  
   300  # Ensure that an interesting input ordering that causes an ordered group by
   301  # forces an ordered synchronizer. We create an index on b even though it's
   302  # not used to help the optimizer realize that there's an ordering available
   303  # on b for a constrained scan on the a,b primary index.
   304  
   305  statement ok
   306  CREATE TABLE data2 (a INT, b INT, PRIMARY KEY (a, b), INDEX(b));
   307  ALTER TABLE data2 SPLIT AT SELECT 1,i FROM generate_series(1, 9) AS g(i);
   308  ALTER TABLE data2 EXPERIMENTAL_RELOCATE
   309    SELECT ARRAY[i%5+1], i FROM generate_series(0, 9) AS g(i);
   310  
   311  # Verify data placement.
   312  query TTTI colnames,rowsort
   313  SELECT start_key, end_key, replicas, lease_holder FROM [SHOW RANGES FROM TABLE data2]
   314  ----
   315  start_key  end_key  replicas  lease_holder
   316  NULL       /1/1     {2}       2
   317  /1/1       /1/2     {5}       5
   318  /1/2       /1/3     {5}       5
   319  /1/3       /1/4     {5}       5
   320  /1/4       /1/5     {5}       5
   321  /1/5       /1/6     {5}       5
   322  /1/6       /1/7     {5}       5
   323  /1/7       /1/8     {5}       5
   324  /1/8       /1/9     {5}       5
   325  /1/9       NULL     {5}       5
   326  
   327  
   328  query T
   329  EXPLAIN (opt,verbose) SELECT b, count(*) FROM data2 WHERE a=1 GROUP BY b
   330  ----
   331  group-by
   332   ├── columns: b:2 count:3
   333   ├── grouping columns: b:2
   334   ├── internal-ordering: +2 opt(1)
   335   ├── stats: [rows=9.5617925, distinct(2)=9.5617925, null(2)=0]
   336   ├── cost: 11.1256179
   337   ├── key: (2)
   338   ├── fd: (2)-->(3)
   339   ├── prune: (3)
   340   ├── scan data2
   341   │    ├── columns: a:1 b:2
   342   │    ├── constraint: /1/2: [/1 - /1]
   343   │    ├── stats: [rows=10, distinct(1)=1, null(1)=0, distinct(2)=9.5617925, null(2)=0]
   344   │    ├── cost: 10.81
   345   │    ├── key: (2)
   346   │    ├── fd: ()-->(1)
   347   │    ├── ordering: +2 opt(1) [actual: +2]
   348   │    ├── prune: (2)
   349   │    └── interesting orderings: (+1,+2) (+2,+1)
   350   └── aggregations
   351        └── count-rows [as=count_rows:3]
   352  
   353  query TTTTT
   354  EXPLAIN (verbose) SELECT b, count(*), corr(a, b) FROM data2 WHERE a=1 GROUP BY b
   355  ----
   356  ·          distributed  true           ·                 ·
   357  ·          vectorized   true           ·                 ·
   358  group      ·            ·              (b, count, corr)  ·
   359   │         aggregate 0  b              ·                 ·
   360   │         aggregate 1  count_rows()   ·                 ·
   361   │         aggregate 2  corr(a, b)     ·                 ·
   362   │         group by     b              ·                 ·
   363   │         ordered      +b             ·                 ·
   364   └── scan  ·            ·              (a, b)            +b
   365  ·          table        data2@primary  ·                 ·
   366  ·          spans        /1-/2          ·                 ·
   367  
   368  query T
   369  SELECT url FROM [EXPLAIN (DISTSQL) SELECT b, count(*) FROM data2 WHERE a=1 GROUP BY b];
   370  ----
   371  https://cockroachdb.github.io/distsqlplan/decode.html#eJzMlF-Lm0wUxu_fTzGcq-TtLGYmfwpCwXRrW8HVVA3bZZEw0cENuI6dGaHLku9e1EBMmnWTtpRejuf8znme84DPoL7lYEJou_Z1hCqZo4-Bf4Pu7a8Ld-54aPDBCaPwiztEu5Y1RomoCj34f9i2pkwzim4_24GNGHqHCPoU-MsFen-H1jFgKETKPfbIFZj3QAADBQxTiDGUUiRcKSHr0nPT6KTfwRxh2BRlpdvPeqNzDiZUhZAplzwFDCnXbJPX9XgbY0iE5GDuWz1xJUpjdtSIQVR6NzbGoDTLOJiTLe6sJp3VJwZHbJ3zgLOUS2N0MB5KuXlk8slqzgEYwpIVykQGuTKIUdv2K20ii8JLQsglQuZZJnnGtJAGPdRhNbvaS5moec29u5XnRytv6boDiwwBw7W_9KJV4N-Gg-GRov2S9RN6YOrhp_nNzXeq6Yuq93NO5QYWeQMnw-tYm_yKtXB5s3K8aGDRY2d71eMD1fT80MmZodex04tDf0VI5zLjfyh0-mdDn_6d0Ef9tw64KkWh-Fn_kFFtiacZb0-gRCUTvpAiada0T7_hmg8pV7qtvm0fTtGWaoFdmPTCtB-mxzDpwuMDmFwGz_rhca_sUT886YWn_Z6nv-O5H37F8-wiz_H2vx8BAAD__0AqYjY=
   372  
   373  statement ok
   374  CREATE TABLE uv (u INT PRIMARY KEY, v INT);
   375  INSERT INTO uv SELECT x, x*10 FROM generate_series(2, 8) AS g(x);
   376  
   377  # Regression test for #37211 (incorrect ordering between aggregator stages).
   378  query T
   379  SELECT url FROM [EXPLAIN (DISTSQL) SELECT sum(v) FROM data INNER LOOKUP JOIN uv ON (a=u) GROUP BY u ORDER BY u]
   380  ----
   381  https://cockroachdb.github.io/distsqlplan/decode.html#eJzMlttv2kgUxt_3rxidJ9AOMjM2N0srkd2wFSmxKRepUYQiB48ILfFQX6JGUf73ynYUDIQ5dkEubxj7N-eb-b5zNC8Q_FiBCePeoPffhET-ivw_sq_Jbe_rcHDRt0jlsj-ejL8MquTtkyB6rDxV069cJ3RI37J6IzKw7c_TIbmy-xaJnohtkYpD_iFRlXwa2dMh-feGRMQeXfZGyc8ZUPCkKyznUQRg3gIDChwo6EDBAAoNmFFY-3IugkD68ScvCdB3f4JZp7D01lEY_z2jMJe-APMFwmW4EmDCxLlfiZFwXOFrdaDgitBZrpIya3_56PjP3Vg5UBivHS8wSU1jxPFcwokMH4QfAAU7Ck3SZTB7pSCjcFMsCJ2FAJO90vyCruTSe9PT-FhP9AQUBlJ-j9bkm1x6RHpJ-XchtMtpVz8ohxeRc7FY-GLhhNLX2M75dGMPbN8VvnBNkjxdWDd3lj25s6aDQaXLq_GxTa8rXb26o2ZT4P6ZPDjBw87S8WFuFOsHFW_WkamQ3XX-ThdSbauxVzu7Lba3Lfa-rWSD6aFzqgiA8dv6-QH9lqzJtca3HTlUvrFVnuVvCJanITRW03jSEixticIdgSjKdESzjI5A5GSjw86jI9iJO6JZckfw_JHkuSLJa5p-VCQRRZlItsqIJCIn6x0_j0jyE0eyVXIk9fyR1HNFUq9pxlGRRBRlItkuI5KInKx3-nlEUj9xJNslR9LIH0kjVySNWnLFLBZDREUmhp0yYojIyfplnEcMjRPHsPMHr68fSBuJYC29QOS6mdbjzQl3IdLDCGTkz8XQl_OkTPpoJ1zyhyuCMH3L0oe-l76KBWZhpoS5Gua7MMvC-hbMisHtY2DGj6Kbx9C8rqZ15YEbathQu4V43VDSTTXcVMItNdw6JihqGAmKGsaCgtBIUNQ0FpT2MUHpqGdCHRkKyEjBZsreUCliN0IjfiM0ZjiGI44jOGY52xstRTxn6tHCDMQ19XBhDQTfmy6FTFfTmOlqGjUdwTHT1ThqunqyYqbvDZlt19qIa-opwzoIvjdnCpmupjHT1TRqOoJjpqtxzHSunrC7ps9e__oVAAD__7N8zns=