diff --git a/src/test/regress/expected/multi_subquery_in_where_clause.out b/src/test/regress/expected/multi_subquery_in_where_clause.out index e85e1d53a..07fc69993 100644 --- a/src/test/regress/expected/multi_subquery_in_where_clause.out +++ b/src/test/regress/expected/multi_subquery_in_where_clause.out @@ -612,7 +612,7 @@ WHERE ); ERROR: cannot push down this subquery DETAIL: Offset clause is currently unsupported when a subquery references a column from another query --- we can detect unsupported subquerues even if they appear +-- we can detect unsupported subqueries even if they appear -- in WHERE subquery -> FROM subquery -> WHERE subquery -- but we can recursively plan that anyway SELECT DISTINCT user_id @@ -636,15 +636,14 @@ WHERE user_id users_table u1, events_table e1 WHERE e1.user_id = u1.user_id - AND e1.user_id IN (SELECT user_id FROM users_table LIMIT 3 ) + AND e1.user_id IN (SELECT user_id FROM users_table ORDER BY user_id LIMIT 3) ) as f_outer WHERE f_inner.user_id = f_outer.user_id ) ORDER BY 1 LIMIT 3; user_id --------- 1 - 5 -(2 rows) +(1 row) -- semi join is not on the partition key for the third subquery, and recursively planned SET client_min_messages TO DEBUG1; diff --git a/src/test/regress/expected/set_operations.out b/src/test/regress/expected/set_operations.out index 14d7f6268..72ef19845 100644 --- a/src/test/regress/expected/set_operations.out +++ b/src/test/regress/expected/set_operations.out @@ -858,13 +858,13 @@ SELECT * FROM set_view_pushdown ORDER BY 1 DESC; -- this should be recursively planned CREATE VIEW set_view_recursive_second AS SELECT u.x, test.y FROM ((SELECT x, y FROM test) UNION (SELECT 1, 1 FROM test)) u JOIN test USING (x) ORDER BY 1,2; -SELECT * FROM set_view_recursive_second; +SELECT * FROM set_view_recursive_second ORDER BY 1,2; DEBUG: generating subplan 175_1 for subquery SELECT x, y FROM recursive_union.test DEBUG: generating subplan 175_2 for subquery SELECT 1, 1 FROM recursive_union.test DEBUG: Creating router plan DEBUG: Plan is router executable DEBUG: generating subplan 175_3 for subquery SELECT intermediate_result.x, intermediate_result.y FROM read_intermediate_result('175_1'::text, 'binary'::citus_copy_format) intermediate_result(x integer, y integer) UNION SELECT intermediate_result."?column?", intermediate_result."?column?_1" AS "?column?" FROM read_intermediate_result('175_2'::text, 'binary'::citus_copy_format) intermediate_result("?column?" integer, "?column?_1" integer) -DEBUG: Plan 175 query after replacing subqueries and CTEs: SELECT x, y FROM (SELECT u.x, test.y FROM ((SELECT intermediate_result.x, intermediate_result.y FROM read_intermediate_result('175_3'::text, 'binary'::citus_copy_format) intermediate_result(x integer, y integer)) u JOIN recursive_union.test USING (x)) ORDER BY u.x, test.y) set_view_recursive_second +DEBUG: Plan 175 query after replacing subqueries and CTEs: SELECT x, y FROM (SELECT u.x, test.y FROM ((SELECT intermediate_result.x, intermediate_result.y FROM read_intermediate_result('175_3'::text, 'binary'::citus_copy_format) intermediate_result(x integer, y integer)) u JOIN recursive_union.test USING (x)) ORDER BY u.x, test.y) set_view_recursive_second ORDER BY x, y x | y ---+--- 1 | 1 diff --git a/src/test/regress/sql/multi_subquery_in_where_clause.sql b/src/test/regress/sql/multi_subquery_in_where_clause.sql index 4ae327e57..d87f60f92 100644 --- a/src/test/regress/sql/multi_subquery_in_where_clause.sql +++ b/src/test/regress/sql/multi_subquery_in_where_clause.sql @@ -518,7 +518,7 @@ WHERE OFFSET 3 ); --- we can detect unsupported subquerues even if they appear +-- we can detect unsupported subqueries even if they appear -- in WHERE subquery -> FROM subquery -> WHERE subquery -- but we can recursively plan that anyway SELECT DISTINCT user_id @@ -542,7 +542,7 @@ WHERE user_id users_table u1, events_table e1 WHERE e1.user_id = u1.user_id - AND e1.user_id IN (SELECT user_id FROM users_table LIMIT 3 ) + AND e1.user_id IN (SELECT user_id FROM users_table ORDER BY user_id LIMIT 3) ) as f_outer WHERE f_inner.user_id = f_outer.user_id ) ORDER BY 1 LIMIT 3; diff --git a/src/test/regress/sql/set_operations.sql b/src/test/regress/sql/set_operations.sql index 4af2da87d..d08123fb9 100644 --- a/src/test/regress/sql/set_operations.sql +++ b/src/test/regress/sql/set_operations.sql @@ -164,7 +164,7 @@ SELECT * FROM set_view_pushdown ORDER BY 1 DESC; -- this should be recursively planned CREATE VIEW set_view_recursive_second AS SELECT u.x, test.y FROM ((SELECT x, y FROM test) UNION (SELECT 1, 1 FROM test)) u JOIN test USING (x) ORDER BY 1,2; -SELECT * FROM set_view_recursive_second; +SELECT * FROM set_view_recursive_second ORDER BY 1,2; -- this should create lots of recursive calls since both views and set operations lead to recursive plans :) ((SELECT x FROM set_view_recursive_second) INTERSECT (SELECT * FROM set_view_recursive)) EXCEPT (SELECT * FROM set_view_pushdown);