From 665ae75a65193b67eb90357f1d468c72c2ffade2 Mon Sep 17 00:00:00 2001 From: eaydingol Date: Thu, 31 Jul 2025 16:51:41 +0300 Subject: [PATCH] test --- src/test/regress/sql/multi_insert_select.sql | 9 +++++++-- .../sql/multi_subquery_in_where_reference_clause.sql | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/test/regress/sql/multi_insert_select.sql b/src/test/regress/sql/multi_insert_select.sql index 19ae70abc..e96addd5b 100644 --- a/src/test/regress/sql/multi_insert_select.sql +++ b/src/test/regress/sql/multi_insert_select.sql @@ -2397,16 +2397,21 @@ SELECT coordinator_plan($$ EXPLAIN (COSTS FALSE) INSERT INTO dist_table_5 SELECT id, (SELECT id FROM ref_table_1 WHERE id = 1) FROM ref_table_1; $$); --- verify that insert select cannot be pushed down when we have reference table in outside of outer join. +-- verify that insert select can be pushed down when we have reference table in outside of outer join. SELECT coordinator_plan($$ EXPLAIN (COSTS FALSE) INSERT INTO dist_table_5 SELECT a.id FROM dist_table_5 a LEFT JOIN ref_table_1 b ON (true) RIGHT JOIN ref_table_1 c ON (true); $$); --- verify that insert select cannot be pushed down when it has a recurring outer join in a subquery. +-- verify that insert select can be pushed down when we have reference table in outside of left join. SELECT coordinator_plan($$ EXPLAIN (COSTS FALSE) INSERT INTO dist_table_5 SELECT id FROM ref_table_1 LEFT JOIN dist_table_5 USING(id); $$); +-- verify that insert select cannot be pushed down when we have reference table in outside of left join and joined on non-distribution column. +SELECT coordinator_plan($$ + EXPLAIN (COSTS FALSE) INSERT INTO dist_table_5 SELECT ref_table_1.id FROM ref_table_1 LEFT JOIN dist_table_5 ON ref_table_1.id = dist_table_5.id2; +$$); + CREATE TABLE loc_table_1(id int); -- verify that insert select cannot be pushed down when it contains join between local and distributed tables. diff --git a/src/test/regress/sql/multi_subquery_in_where_reference_clause.sql b/src/test/regress/sql/multi_subquery_in_where_reference_clause.sql index fc1bb5c17..c99da5ee6 100644 --- a/src/test/regress/sql/multi_subquery_in_where_reference_clause.sql +++ b/src/test/regress/sql/multi_subquery_in_where_reference_clause.sql @@ -260,7 +260,7 @@ SELECT user_id, value_2 FROM users_table WHERE ) ORDER BY 1, 2; --- reference table LEFT JOIN distributed table in WHERE is still not ok +-- reference table LEFT JOIN distributed table in WHERE is ok SELECT user_id, value_2 FROM users_table WHERE value_1 > 1 AND value_1 < 3 AND value_2 >= 5