diff --git a/src/test/regress/expected/ch_bench_subquery_repartition.out b/src/test/regress/expected/ch_bench_subquery_repartition.out index 371829fc1..b39c0710d 100644 --- a/src/test/regress/expected/ch_bench_subquery_repartition.out +++ b/src/test/regress/expected/ch_bench_subquery_repartition.out @@ -133,6 +133,53 @@ select s_i_id s_i_id not in (select i_im_id from item) AND s_i_id = ol_i_id; ERROR: complex joins are only supported when all distributed tables are co-located and joined on their distribution columns +-- Multiple subqueries are supported IN and a NOT IN when no repartition join +-- is necessary and the IN subquery returns unique results +select s_i_id + from stock + where + s_i_id in (select i_id from item) + AND s_i_id not in (select i_im_id from item); +ERROR: syntax error at or near "SubPlan" +CONTEXT: while executing command on localhost:xxxxx +-- Subquery + repartion is not supported when it contains both an IN and a NOT IN +-- where both subqueries return unique results +select s_i_id + from stock, order_line + where + s_i_id in (select i_id from item) + AND s_i_id not in (select i_id from item) + AND s_i_id = ol_i_id; +ERROR: syntax error at or near "SubPlan" +CONTEXT: while executing command on localhost:xxxxx +-- Subquery + repartion is not supported when it contains both an IN and a NOT IN +-- where the IN subquery returns unique results and the NOT IN returns non unique results +select s_i_id + from stock, order_line + where + s_i_id in (select i_id from item) + AND s_i_id not in (select i_im_id from item) + AND s_i_id = ol_i_id; +ERROR: syntax error at or near "SubPlan" +CONTEXT: while executing command on localhost:xxxxx +-- Subquery + repartion is not supported when it contains both an IN and a NOT IN +-- where the IN subquery returns non unique results and the NOT IN returns unique results +select s_i_id + from stock, order_line + where + s_i_id in (select i_im_id from item) + AND s_i_id not in (select i_id from item) + AND s_i_id = ol_i_id; +ERROR: complex joins are only supported when all distributed tables are co-located and joined on their distribution columns +-- Subquery + repartion is not supported when it contains both an IN and a NOT IN +-- where both subqueries return non unique results +select s_i_id + from stock, order_line + where + s_i_id in (select i_im_id from item) + AND s_i_id not in (select i_im_id from item) + AND s_i_id = ol_i_id; +ERROR: complex joins are only supported when all distributed tables are co-located and joined on their distribution columns -- Actual CHbenCHmark query is supported select su_name, su_address from supplier, nation diff --git a/src/test/regress/sql/ch_bench_subquery_repartition.sql b/src/test/regress/sql/ch_bench_subquery_repartition.sql index 04e7e23fa..1821972d0 100644 --- a/src/test/regress/sql/ch_bench_subquery_repartition.sql +++ b/src/test/regress/sql/ch_bench_subquery_repartition.sql @@ -112,6 +112,51 @@ select s_i_id s_i_id not in (select i_im_id from item) AND s_i_id = ol_i_id; +-- Multiple subqueries are supported IN and a NOT IN when no repartition join +-- is necessary and the IN subquery returns unique results +select s_i_id + from stock + where + s_i_id in (select i_id from item) + AND s_i_id not in (select i_im_id from item); + +-- Subquery + repartion is not supported when it contains both an IN and a NOT IN +-- where both subqueries return unique results +select s_i_id + from stock, order_line + where + s_i_id in (select i_id from item) + AND s_i_id not in (select i_id from item) + AND s_i_id = ol_i_id; + +-- Subquery + repartion is not supported when it contains both an IN and a NOT IN +-- where the IN subquery returns unique results and the NOT IN returns non unique results +select s_i_id + from stock, order_line + where + s_i_id in (select i_id from item) + AND s_i_id not in (select i_im_id from item) + AND s_i_id = ol_i_id; + + +-- Subquery + repartion is not supported when it contains both an IN and a NOT IN +-- where the IN subquery returns non unique results and the NOT IN returns unique results +select s_i_id + from stock, order_line + where + s_i_id in (select i_im_id from item) + AND s_i_id not in (select i_id from item) + AND s_i_id = ol_i_id; + +-- Subquery + repartion is not supported when it contains both an IN and a NOT IN +-- where both subqueries return non unique results +select s_i_id + from stock, order_line + where + s_i_id in (select i_im_id from item) + AND s_i_id not in (select i_im_id from item) + AND s_i_id = ol_i_id; + -- Actual CHbenCHmark query is supported select su_name, su_address