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

     1  # LogicTest: 5node
     2  
     3  # First, we set up two data tables:
     4  #   - NumToSquare maps integers from 1 to 100 to their squares
     5  #   - NumToStr maps integers from 1 to 100*100 to strings; this table is
     6  #     split and distributed to all nodes.
     7  statement ok
     8  CREATE TABLE NumToSquare (x INT PRIMARY KEY, xsquared INT)
     9  
    10  statement ok
    11  INSERT INTO NumToSquare SELECT i, i*i FROM generate_series(1, 100) AS g(i)
    12  
    13  statement ok
    14  CREATE TABLE NumToStr (y INT PRIMARY KEY, str STRING)
    15  
    16  # Split into five parts.
    17  statement ok
    18  ALTER TABLE NumToStr SPLIT AT SELECT (i * 100 * 100 / 5)::int FROM generate_series(1, 4) AS g(i)
    19  
    20  # Relocate the five parts to the five nodes.
    21  statement ok
    22  ALTER TABLE NumToStr EXPERIMENTAL_RELOCATE
    23    SELECT ARRAY[i+1], (i * 100 * 100 / 5)::int FROM generate_series(0, 4) AS g(i)
    24  
    25  # Verify data placement.
    26  query TTTI colnames
    27  SELECT start_key, end_key, replicas, lease_holder FROM [SHOW RANGES FROM TABLE NumToSquare]
    28  ----
    29  start_key  end_key  replicas  lease_holder
    30  NULL       NULL     {1}       1
    31  
    32  query TTTI colnames
    33  SELECT start_key, end_key, replicas, lease_holder FROM [SHOW RANGES FROM TABLE NumToStr]
    34  ----
    35  start_key  end_key  replicas  lease_holder
    36  NULL       /2000    {1}       1
    37  /2000      /4000    {2}       2
    38  /4000      /6000    {3}       3
    39  /6000      /8000    {4}       4
    40  /8000      NULL     {5}       5
    41  
    42  #
    43  # -- Basic tests --
    44  #
    45  
    46  # Query with a restricted span.
    47  
    48  query T
    49  SELECT url FROM [EXPLAIN (DISTSQL) SELECT 5, 2+y, * FROM NumToStr WHERE y <= 10 ORDER BY str]
    50  ----
    51  https://cockroachdb.github.io/distsqlplan/decode.html#eJyUkFFLwzAUhd_9FZfri7pIm-pAAkLVVSzMbbYFldmH2l5GoUtqkoJj9L_LWsVNmOjjOfeck4-s0bxVKDAOxsFNAo2u4Daa3sM8eJqNr8IJHI3COIkfxsfwGRky8GAAKwYnfVQ2S6uM1fB4F0QBrOClcd2z_BK4C9NoFERw_QzG6hQZSlXQJFuSQTFHjinDWqucjFF6Y627QFi8o3AZlrJu7MZOGeZKE4o12tJWhAKT7LWiiLKCtOMiw4JsVlbdbK3LZaZX_hcXMozrTBoBpw53nUNkGJEsSAsYCiHCSXLBwOcDb0sw8D1MW4aqsd8QxmYLQsFb9nfQWGlL2uG7jP75YO-895_5iEytpKGd-X3LbpsypGJB_V8b1eicZlrl3TO9nHa9zijI2P7KexHK_rQB3C7zX8vej3LaHnwEAAD___w4xj8=
    52  
    53  # Query which requires a full table scan.
    54  query T
    55  SELECT url FROM [EXPLAIN (DISTSQL) SELECT 5, 2 + y, * FROM NumToStr WHERE y % 1000 = 0 ORDER BY str]
    56  ----
    57  https://cockroachdb.github.io/distsqlplan/decode.html#eJzElG-L2k4Qx5__XsUw8AOvrpiN0fMWCra9HBWsXqPQlsMHqRkOIWbT3Q1UxPde8qfceWiyaMFn2c185zvzmWV2qH_FKHDuT_xPC8hUDA_B7As8-d8fJx_GU2jdj-eL-dfJDVQhfQYutGHL4F0ZmmQbI7VR8O2zH_jQ2sL_wB3HuYH34MAsuPcD-PgDtFFLZJjIiKbhhjSKJ-TI0EWGPWToIcM-LhmmSq5Ia6nykF0hGEe_UTgM10mamfx6yXAlFaHYoVmbmFDgIvwZU0BhRKrrIMOITLiOC5tUrTeh2o7-VooM52mYaAGdrus4efTDOjakBLRGvCpfCDGeLoZFF9U3MgwoifK4fnXFYMTb7qsDg5GLyz1DmZmXYrUJnwkF3zP7huZSGVLd_mEvI699Mr17Mv1LVqkiUhQdS3qkhqnsyLTLD3mesu8d2HP7cXHbcRXT6nS9682soatqZoNzZ-baQ3OtoXkFtMH1oDV0VUG7PRdazx5azxraoIA2vB60hq4qaMNzoXn20DxraDmuzpV4NTRU8br7F9v0SPqAdCoTTVaL0slXLUXPVK5mLTO1okclV4VNeZwVuuIiIm3Kv7w8jJPyV17gazGvFbsHYv5W7NY7N1j3atVevdi7pO5-rXhQ7zy4xPm2Vjysdx5e4nxXPyun4ZnUP7K33sv9f38CAAD__4vzJqk=
    58  
    59  # Query with a restricted span + filter.
    60  query T
    61  SELECT url FROM [EXPLAIN (DISTSQL) SELECT str FROM NumToStr WHERE y < 10 AND str LIKE '%e%' ORDER BY y]
    62  ----
    63  https://cockroachdb.github.io/distsqlplan/decode.html#eJyMkE1L60AUhvf3VxzOpbSFuTS5rpxVq001GJM6CajULMbkUAJpJs4HWEr-uyRR1IXg8v2Ydx7OCc1LjRzTIAouM3C6ho1IbmEXPGyjVRjDbB2mWXoXzeG9YqweK407WNWr--tABDA7wpPzvLMCfG8Oq3gNsz6MwpsAphOaTOeQiHUg4OIRjjkybFRJsTyQQb5DH3OGrVYFGaN0b52GQli-IvcYVk3rbG_nDAulCfkJbWVrQo6ZfK5JkCxJLzxkWJKVVT3Mtro6SH1cfrAiw7SVjeHwb3G--IsMN1VtSXNY_v-CyjlPMxHGV8gwcbZPMe8YKmc_MYyVe0Lud-z3qIJMqxpD3yh_Wva6nCGVexrPYZTTBW21KoZvRpkM7wajJGPH1B9F2IxRl3d_3gIAAP__QCCYHg==
    64  
    65  # Query which requires a full table scan.
    66  query T
    67  SELECT url FROM [EXPLAIN (DISTSQL) SELECT str FROM NumToStr WHERE y % 1000 = 0 AND str LIKE '%i%' ORDER BY y]
    68  ----
    69  https://cockroachdb.github.io/distsqlplan/decode.html#eJzMlEFr20AQhe_9FcOAiUzXeCXLJiwUlNZKK-rKqWxoS9BBtYYgkLXq7gpqjP970Spt4pIUFR-cm2bnPd58A6M96h8lClyFi_DdGhpVwnWy_AS34debxVUUgzOPVuvV58UQ7iXaqE5SNVsj2-rLhzAJwXF2MACXcz6EN8CHcBXPwWn7i-hjCBeDYnAxhGUyDxN4-w12KTKsZE5xtiWN4hZdZOghwwky9JHhFFOGtZIb0lqqVrK3hij_iYIzLKq6Me1zynAjFaHYoylMSShwnX0vKaEsJzXmyDAnkxWljalVsc3ULvg9PjJc1VmlBYzGHuet-rooDSkBjhO490xCiCheX1q0P9-WMPAeAQohVuskit8PkeGyMQICjwUupgeGsjEPA2uT3REK98CegXpgkSonRfkxReC9xvTwBHksR7IeT4_Uz6V7R-lu_5W6fVdqNzoa--fdq9efzOtN5luy2XnJJv3JJr3JZpbs8rxkfn8yvzdZyzR6IQf-BFRCupaVpl7Hy9vrp_yOur-Flo3a0I2SGxvTlUvrsw85adN13a6IKtuyAz42u_80z47M_G-zd0ry5BSzf4p5-l_m9PDqVwAAAP__fh4tNA==
    70  
    71  #
    72  # -- Join tests --
    73  #
    74  
    75  query T
    76  SELECT url FROM [EXPLAIN (DISTSQL) SELECT x, str FROM NumToSquare JOIN NumToStr ON y = xsquared]
    77  ----
    78  https://cockroachdb.github.io/distsqlplan/decode.html#eJy8lVGL4jwUhu-_XxHO1QxksGmrjoWBfuzOsg6zOjvOxcLQi47NaqE2nSQFRfzvS1tBq27SbtTLNnmSc54XctYgPhPwYPL4_PjlDeU8Qd9exz_Q--Ovl-f_hyN083U4eZv8fL5F2y1LjITk1a40X0gmPvOQU_Q0Ho62PyRH4xFaoQe0rBajADCkLKKjcEEFeO9AAIMNGBzA4AKGLgQYMs6mVAjGiy3rEhhGS_AsDHGa5bL4HWCYMk7BW4OMZULBg7fwI6GvNIwo71iAIaIyjJPymozHi5Cv_L1CAcMkC1PhoTsINhhYLrdH7078WKF5KOb1s3wbgk2AQchwRsEjG_xvJRJViZLv1dexLctqWSSpFWn_tcjdOXnKeEQ5jWonBQWp23Ki0--hmD-xOKW806uXltDf8sa3bx94PJvLG5_cAoZxLj3kE-y7B33uenAMejhR4IjdsaxDyGG3J-92a3eT5iHbTUMuM77ruOdNmlw36f4lkrab23Ya23ZL273z2rava_v-Erad5rbdxrZ7pe3789p2rmt7cAnbbnPb3ca2C89tZ5pKtHtd0cS69Lw4cf8rFRlLBW00DayiAxrNaGVEsJxP6Qtn0_Ka6nNccuULHFEhq1W7-him1VJRYHO4awL3TeCBCUyImiYtjNnt4K4J3DeBBybwgbEj2j6krX3aUet2lDCp-7YOadckLDWsCUsNa8JSw5qw1LAurK5JWD0T3WpYo1sNa3SrYY1uNazT3TfRfW-iWw1rdKthjW41rNGthnW6Bya6SZthefyGtpmWbWnd499mXraldc7J0fRQSg82__0JAAD__4ka6Z0=
    79  
    80  query TTTTT
    81  EXPLAIN (VERBOSE) SELECT x, str FROM NumToSquare JOIN NumToStr ON x = y WHERE x % 2 = 0
    82  ----
    83  ·                distributed         true                 ·            ·
    84  ·                vectorized          true                 ·            ·
    85  render           ·                   ·                    (x, str)     ·
    86   │               render 0            x                    ·            ·
    87   │               render 1            str                  ·            ·
    88   └── merge-join  ·                   ·                    (x, y, str)  ·
    89        │          type                inner                ·            ·
    90        │          equality            (x) = (y)            ·            ·
    91        │          left cols are key   ·                    ·            ·
    92        │          right cols are key  ·                    ·            ·
    93        │          mergeJoinOrder      +"(x=y)"             ·            ·
    94        ├── scan   ·                   ·                    (x)          +x
    95        │          table               numtosquare@primary  ·            ·
    96        │          spans               FULL SCAN            ·            ·
    97        │          filter              (x % 2) = 0          ·            ·
    98        └── scan   ·                   ·                    (y, str)     +y
    99  ·                table               numtostr@primary     ·            ·
   100  ·                spans               FULL SCAN            ·            ·
   101  ·                filter              (y % 2) = 0          ·            ·
   102  
   103  query T
   104  SELECT url FROM [EXPLAIN (DISTSQL) SELECT x, str FROM NumToSquare JOIN NumToStr ON x = y WHERE x % 2 = 0]
   105  ----
   106  https://cockroachdb.github.io/distsqlplan/decode.html#eJzElV1r2zwUx--fTyEOPJBSlVi282YoZGwpS2mTLglsUHzhxlpqcK1UkiGl9LsP2xlp0kySpyW584t-1jn_n_B5BfGcQgDTwc3g8wzlPEVXk_Etuh_8uLv5NByhxpfhdDb9dnOG1ktWGAnJq1VZ_iSZeM4jTtH1eDhaP5AcjUdohS7RC_r-dTAZoMYK_Y_cM3SJnBAwZCymo-iJCgjugQAGFzB4gMEHDC0IMSw5m1MhGC-WvJbAMF5B4GBIsmUui8chhjnjFIJXkIlMKQQwix5SOqFRTHnTAQwxlVGSltssefIU8Zf-u5oBw3QZZSJAF4DhKkkl5QFq9ElRbBAEw9GsW9a8vgYM41wGqE8gfMPAcrmuZFPAwwt6jMTj9tbl-hCDkNGCQkDe8N91RFQdSf6unabrOI5ZTzaduH_sZPOdPGM8ppzGW18KC_L3kn0LoE_Oq712E7mlfEGvWZJR3mxvMyn9KRt9cn52yZPFY3W5kYb73k63m048i0721DhiF2zZJGS35717-1t7E_Pz4Jqeh_I4XDT9ExwKcvxD0TnMoXDNxXjGYvxSTPsEYtzji-keRoxnLsY3FtMuxXRPIMY7vpjeYcT45mJaxmIKJYbj-t858Y_vhDiHn217SphQsWSZoEaTyymaoPGCVrkIlvM5veNsXm5T3Y5LrhwEMRWyeutWN8OselUUaA63bOCODdyzgQlR06RGYm49uGUDd2zgng28k9gH2t2lnfe0p47bU8JkO29nl_ZtZKlhjSw1rJGlhjWy1LBOVstGVtsmbjWsiVsNa-JWw5q41bAu7o5N3F2buNWwJm41rIlbDWviVsO6uHs2cZM6w_LjP7TOtKxL637-deZlXVqXOfkwPZShh2___QoAAP__Jx8lsg==
   107  
   108  #
   109  # -- Aggregation tests --
   110  #
   111  
   112  # Sum the numbers in the NumToStr table.
   113  query T
   114  SELECT url FROM [EXPLAIN (DISTSQL) SELECT sum(y) FROM NumToStr]
   115  ----
   116  https://cockroachdb.github.io/distsqlplan/decode.html#eJyslF9r2zAUxd_3Kcx9SkAhlu24qZ9StgwCadPFGQyKH7z4YgKO5ekPrIR892F5o3ZoZSXeo6R7dM5PV9wTiF8FRBAv18vPO0fxwvm63Tw6L8sfz-uH1ZMz-rKKd_G39dj5WyLUcfQ6bqpKdZRMSJ4AgZJl-JQeUUD0AhQIeEDABwIBEJhBQqDibI9CMF6XnLRglf2GyCVwKCsl6-2EwJ5xhOgE8iALhAh26c8Ct5hmyKcuEMhQpodC21T8cEz56-JfDiAQV2kpImcy9Vy3rt4oGTkLCsmZAFPyzUbINEeI6JnYR3nIc455KhmfzrpJ4u-PowUdf2jjfWjzdrsqGc-QY9a5Ojmbg1D3uiR-Jwm1f3tq-_b66SfT4JYG9ORpcYdDGuDZY3vW2IHGDm_B7snTwr4bgu3bY_vW2KHGnt-C3ZOnhT0fgh3YYwfW2DXw5Grinigt4vv_NWDesdmiqFgp8GLQvH-zWw8gzHJsppVgiu_xmbO9tmmWG63TGxkK2ZzSZrEqm6M6YFtMjWKvI6aXYs_s3GPtG9WBWRwMyT0zikOzczjE-c4onpud50Oc7829cnu-ifmTXXon509_AgAA__8yyd0T
   117  
   118  # Count the rows in the NumToStr table.
   119  query T
   120  SELECT url FROM [EXPLAIN (DISTSQL) SELECT count(*) FROM NumToStr]
   121  ----
   122  https://cockroachdb.github.io/distsqlplan/decode.html#eJyslFFr2zAUhd_3K8x9SoZCbMdxUz-1dBkYUruLXTYopnj2xQQcyZNk2Aj578P2Rp3QyCLuo6R7dM6nK-4BxK8SPIjWm_VDbNS8NL5uw0fjZf3jaXPvB8bkix_F0bfN1PhXkrGaysnnaVdH671kQvIECFCWY5DuUYD3AhYQsIHAAgg4QGAJCYGKswyFYLwpObQCP_8NnklgR6taNtsJgYxxBO8AcidLBA_i9GeJW0xz5HMTCOQo013Z2lR8t0_5n7v_OYBAVKVUeMZsbptmUx3W0jMCRhGSIwFWyzcjIdMCwbOORD_MfVFwLFLJ-Hx5muUhfA7i1234PZpML3rZF73eLGrKeI4c85P7k6M6jXX2NNHz46sfxJM763KaxUkaS78Nlm4b2i7M5s51vRhI1KN3R_fC1qe3temdlt69jn4gUY_-ZjT9Qp9-oU3vtvSr6-gHEvXoV6PpHX16R5u-4Z5dAT4Qpgd--6ED6B2vLYqKUYFng-j9m81mQGFeYDfNBKt5hk-cZa1NtwxbXbuRo5DdqdUtfNodNQH7Yksptk_E1rnYVjsPWC-UakctdsbkXirFrtrZHeN8oxSv1M6rMc636l6ZA99E_cnOvZPjp78BAAD__3Ud7X4=
   123  
   124  # Count how many numbers contain the digit 5.
   125  query T
   126  SELECT url FROM [EXPLAIN (DISTSQL) SELECT count(*) FROM NumToStr WHERE str LIKE '%five%']
   127  ----
   128  https://cockroachdb.github.io/distsqlplan/decode.html#eJy0lF9r2zAUxd_3KcSF0mQoxHacNNVTSuduZqnT2S4dFFO8-C4YHCuT5LER8t2H7Y0moZENXt705x6dw--KuwX5IwMGgTN3bkNSiIzc-Yt78ux8fZjfuB7pfXCDMPgy75O_JUte5Kr3vl_X5cVacakEefrk-A4pV3P3s0MuL76nP_HiMgIKOU_Qi9cogT2DCRQsoDACCjZQGENEYSP4EqXkoizZVgI3-QXMoJDmm0KVxxGFJRcIbAsqVRkCgzD-lqGPcYJiaACFBFWcZpXNRqTrWPye_csHFIJNnEtGBkPLMMrquzRTKBiZWYeRGWNB6LveR6CwKBQjHs8Roh0FXqjXMFLFKwRm7mj7wDerlcBVrLgYjg_z3i4evfDFXzwFvf5JL-uk16tFkXORoMDk4P1op09jHuELHu9fXC_szczTaUYHacz2rTLbtqrq1GBon69fDan3CE0698tqT8hqTciuCE3OR6gh9R6hq86ERu0JjVoTmlSEpucj1JB6j9C0MyG7PSG7NaGSzeBMcBoC78G5_q8D8Q0vH-WG5xKPBuPbLxvlwMRkhfV0lbwQS3wQfFnZ1NtFpasOEpSqvjXrjZvXV2XAfbGpFVsHYvNYbOmdG6xHWrWtF9tdco-14oneedLF-Uornuqdp12cr_W9Mhq-if6THXtHu3d_AgAA__8x9SVO
   129  
   130  #
   131  # -- Limit tests --
   132  #
   133  
   134  query T
   135  SELECT url FROM [EXPLAIN (DISTSQL) SELECT y FROM NumToStr LIMIT 5]
   136  ----
   137  https://cockroachdb.github.io/distsqlplan/decode.html#eJyMT0tLMzEU3X-_IpzVJ0TsLLrJqqIVAtOHnVkIJYs4uZTATDLmAZYy_106UcSF4PI87jnnXhDfegg063r90LIcevZ02G3Ycf2yr-_llv1_lE3bPNc37NNyLgaXh-RjCqyWG9mypQKH84a2eqAIcUQFxTEG31GMPlypy2yQ5h1iwWHdmNOVVhydDwRxQbKpJwi0-rWnA2lD4W4BDkNJ236OHYMddDivvvrB0YzaRcFuwbHLSbBVBY7aDjaxJdTE4XP67opJnwiimvjf9xwojt5F-jHlt-TFpDjInKj8HH0OHe2D7-aaAnfz3UwYiqmoVQHSFWlS07-PAAAA__9944W2
   138  
   139  query T
   140  SELECT url FROM [EXPLAIN (DISTSQL) SELECT y FROM NumToStr ORDER BY y LIMIT 5]
   141  ----
   142  https://cockroachdb.github.io/distsqlplan/decode.html#eJyMT01Lw0AUvPsrHnNSWLE59LKnqo0QSJua5KCUHNbkUQJJNu4HWEL-uzSriAfB43y8mXkT7HsHiSJO48eSvOnoKc92dIxfDul9sqfrbVKUxXN6Q1-WczAMvnfaOkNZvo1zenilM6XJLilpXUFg0A3vVc8W8ogIlcBodM3WanOhpsWQNB-QK4F2GL270JVArQ1DTnCt6xgSpXrrOGfVsLlbQaBhp9puiR1N2ytz3nxPgUAxqsFKuoVA5p2kTQSBtO1bR2tUs4D27qfLOnViyGgW_9-Tsx31YPnXlL-SV3MlwM2Jw89We1Pzweh6qQkwW-4WomHrghoFkAxBmqv56jMAAP__ahCIpg==
   143  
   144  # Test that the correct node is chosen in a reverse scan with multiple spans.
   145  query T
   146  SELECT url FROM [EXPLAIN (DISTSQL) SELECT y FROM NumToStr WHERE y < 1000 OR y > 9000 ORDER BY y DESC LIMIT 5]
   147  ----
   148  https://cockroachdb.github.io/distsqlplan/decode.html#eJyMUM0Ok0AQvvsUk_HSJtuw1PTAnqotRhJaKpCoqRxWmFQSYHF3SSQN726Aqq2J1eN8f_PNXNF8q1Bg4of-LoVOV_A2jg5w9j-ewtfBERb7IEmT9-ESbpJ-FjRdbZWxGj6882MfFj187jh_lYPLOV9CFP-CCLwbtPdjePMJetj7yQ7C4BCksMmQYaMKOsqaDIozushwgxnDVqucjFF6hK-TKCi-o-AMy6bt7AhnDHOlCcUVbWkrQoFHtVKtM6YUZGVZTbKBoersb5Ox8kIo1gO7C3afB6fyS0UxyYK0wx_isdVlLXW__fkVZJi0sjECVo7nec5LkE0BLij7lUYy6qyA7dgxLOvSwgb_1tB9aPiP02MyrWoM_dftfMgYUnGh-b1GdTqnk1b5tGYeo8k3AQUZO7PreQiamRoL3pvdp2b-hzkbXvwIAAD__-tKysw=
   149  
   150  query TTTTT
   151  EXPLAIN (VERBOSE) SELECT x FROM (SELECT x, 2*x, x+1 FROM NumToSquare)
   152  ----
   153  ·     distributed  true                 ·    ·
   154  ·     vectorized   true                 ·    ·
   155  scan  ·            ·                    (x)  ·
   156  ·     table        numtosquare@primary  ·    ·
   157  ·     spans        FULL SCAN            ·    ·
   158  
   159  # Verifies that unused renders don't cause us to do rendering instead of a
   160  # simple projection.
   161  query T
   162  SELECT url FROM [EXPLAIN (DISTSQL) SELECT x FROM (SELECT x, 2*x, x+1 FROM NumToSquare)]
   163  ----
   164  https://cockroachdb.github.io/distsqlplan/decode.html#eJyMT01L80AYvL-_YplT-7pi43FPFa0QqG1tchDKHtbsQwkku-l-QCTkv0uyinoQPC3zsTPzDPCXBgLFZru5L1l0DXs87p_YafNy2N7lO7Z4yIuyeN4u2YelT4bFJ-Tslv2fnp5dsSyJJrbB-ktUjpYSHMZq2qmWPMQJGSRH52xF3ls3UcNsyHUPseKoTRfDREuOyjqCGBDq0BAESvXa0JGUJnezAoemoOpmju1c3Sr3tv7WDY6iU8YLdg2OfQyCrTPIkcPG8FXigzoTRDbyvw85ku-s8fRjw2_Jq1FykD5TOtbb6Co6OFvNNQnu538zocmHpGYJ5CZJoxz_vQcAAP__tUyKSg==
   165  
   166  query TTTTT
   167  EXPLAIN (VERBOSE) SELECT y, str, repeat('test', y) AS res FROM NumToStr ORDER BY res
   168  ----
   169  ·                    distributed  true               ·              ·
   170  ·                    vectorized   true               ·              ·
   171  render               ·            ·                  (y, str, res)  ·
   172   │                   render 0     y                  ·              ·
   173   │                   render 1     str                ·              ·
   174   │                   render 2     res                ·              ·
   175   └── sort            ·            ·                  (res, y, str)  +res
   176        │              order        +res               ·              ·
   177        └── render     ·            ·                  (res, y, str)  ·
   178             │         render 0     repeat('test', y)  ·              ·
   179             │         render 1     y                  ·              ·
   180             │         render 2     str                ·              ·
   181             └── scan  ·            ·                  (y, str)       ·
   182  ·                    table        numtostr@primary   ·              ·
   183  ·                    spans        FULL SCAN          ·              ·
   184  
   185  query TTTTT
   186  EXPLAIN (VERBOSE) SELECT y, str, repeat('test', y) AS res FROM NumToStr ORDER BY res LIMIT 10
   187  ----
   188  ·                         distributed  true               ·              ·
   189  ·                         vectorized   true               ·              ·
   190  render                    ·            ·                  (y, str, res)  ·
   191   │                        render 0     y                  ·              ·
   192   │                        render 1     str                ·              ·
   193   │                        render 2     res                ·              ·
   194   └── limit                ·            ·                  (res, y, str)  +res
   195        │                   count        10                 ·              ·
   196        └── sort            ·            ·                  (res, y, str)  +res
   197             │              order        +res               ·              ·
   198             └── render     ·            ·                  (res, y, str)  ·
   199                  │         render 0     repeat('test', y)  ·              ·
   200                  │         render 1     y                  ·              ·
   201                  │         render 2     str                ·              ·
   202                  └── scan  ·            ·                  (y, str)       ·
   203  ·                         table        numtostr@primary   ·              ·
   204  ·                         spans        FULL SCAN          ·              ·
   205  
   206  # Regression test for #20481.
   207  query T
   208  SELECT url FROM [EXPLAIN (DISTSQL) SELECT count(*) FROM (SELECT 1 AS one FROM NumToSquare WHERE x > 10 ORDER BY xsquared LIMIT 10)]
   209  ----
   210  https://cockroachdb.github.io/distsqlplan/decode.html#eJyUkU1r20AQhu_9FcOc7HaLtfJtT3ETlQoUK5VU0pKKspUGIZB3lf0AF-P_XqQNNC7YxMd9533mGdgD2ucBBZZJltxW4M0An4v8Hp6S7w_ZJt3C4i4tq_JrtoSXSqO9cov3y9BbvKQcNiVoRSFVfue0ffbSEDx-SYoE9vDTR9GagEeQF3dJAZ9-wD5UWsjS-7QCHi1rZKh0S1u5I4viCTnWDEejG7JWmyk6zIW03aOIGPZq9G6Ka4aNNoTigK53A6HASv4eqCDZkllFyLAlJ_thXjuafifNn5tXhyLDcpTKClhx_hHrI0Pt3b_t1smOUPAje_sFpTaOzIqfym_iD8gw907AVqtJnPW73gGPzlrja6ybrjPUSafNKj413-bfttWvIn8sF8uzrvU1roLsqJWlE8-5zdGxZkhtR-EfrfamoQejm1kTnvnMzUFL1oUpD49UhdF04GuYX4Tjy3B8EV7_B9fHd38DAAD__wAHBz4=