diff -U3 /tmp/cirrus-ci-build/contrib/postgres_fdw/expected/postgres_fdw.out /tmp/cirrus-ci-build/build/testrun/postgres_fdw/regress/results/postgres_fdw.out --- /tmp/cirrus-ci-build/contrib/postgres_fdw/expected/postgres_fdw.out 2024-03-19 15:41:20.191911000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/postgres_fdw/regress/results/postgres_fdw.out 2024-03-19 15:59:33.921464000 +0000 @@ -72,21 +72,25 @@ id % 10, 'foo'::user_enum FROM generate_series(1, 1000) id; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO "S 1"."T 2" SELECT id, 'AAA' || to_char(id, 'FM000') FROM generate_series(1, 100) id; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO "S 1"."T 3" SELECT id, id + 1, 'AAA' || to_char(id, 'FM000') FROM generate_series(1, 100) id; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree DELETE FROM "S 1"."T 3" WHERE c1 % 2 != 0; -- delete for outer join tests INSERT INTO "S 1"."T 4" SELECT id, id + 1, 'AAA' || to_char(id, 'FM000') FROM generate_series(1, 100) id; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree DELETE FROM "S 1"."T 4" WHERE c1 % 3 != 0; -- delete for outer join tests ANALYZE "S 1"."T 1"; ANALYZE "S 1"."T 2"; @@ -201,6 +205,7 @@ ALTER FOREIGN TABLE ft1 ALTER COLUMN c1 OPTIONS (column_name 'C 1'); ALTER FOREIGN TABLE ft2 ALTER COLUMN c1 OPTIONS (column_name 'C 1'); \det+ +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of foreign tables Schema | Table | Server | FDW options | Description --------+-------+-----------+---------------------------------------+------------- @@ -421,6 +426,7 @@ -- used in CTE WITH t1 AS (SELECT * FROM ft1 WHERE c1 <= 10) SELECT t2.c1, t2.c2, t2.c3, t2.c4 FROM t1, ft2 t2 WHERE t1.c1 = t2.c1 ORDER BY t1.c1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c1 | c2 | c3 | c4 ----+----+-------+------------------------------ 1 | 1 | 00001 | Fri Jan 02 00:00:00 1970 PST @@ -448,6 +454,7 @@ -- inner join; expressions in the clauses appear in the equivalence class list EXPLAIN (VERBOSE, COSTS OFF) SELECT t1.c1, t2."C 1" FROM ft2 t1 JOIN "S 1"."T 1" t2 ON (t1.c1 = t2."C 1") OFFSET 100 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------------------------------------------------- Limit @@ -464,6 +471,7 @@ (11 rows) SELECT t1.c1, t2."C 1" FROM ft2 t1 JOIN "S 1"."T 1" t2 ON (t1.c1 = t2."C 1") OFFSET 100 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c1 | C 1 -----+----- 101 | 101 @@ -482,6 +490,7 @@ -- list but no output change as compared to the previous query EXPLAIN (VERBOSE, COSTS OFF) SELECT t1.c1, t2."C 1" FROM ft2 t1 LEFT JOIN "S 1"."T 1" t2 ON (t1.c1 = t2."C 1") OFFSET 100 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------------------------------------------------- Limit @@ -498,6 +507,7 @@ (11 rows) SELECT t1.c1, t2."C 1" FROM ft2 t1 LEFT JOIN "S 1"."T 1" t2 ON (t1.c1 = t2."C 1") OFFSET 100 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c1 | C 1 -----+----- 101 | 101 @@ -516,6 +526,7 @@ -- foreign join so that the local table can be joined using merge join strategy. EXPLAIN (VERBOSE, COSTS OFF) SELECT t1."C 1" FROM "S 1"."T 1" t1 left join ft1 t2 join ft2 t3 on (t2.c1 = t3.c1) on (t3.c1 = t1."C 1") OFFSET 100 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------------------------------------------------------------------------------------------------------------------- Limit @@ -533,6 +544,7 @@ (12 rows) SELECT t1."C 1" FROM "S 1"."T 1" t1 left join ft1 t2 join ft2 t3 on (t2.c1 = t3.c1) on (t3.c1 = t1."C 1") OFFSET 100 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree C 1 ----- 101 @@ -552,6 +564,7 @@ -- included in join restrictions. EXPLAIN (VERBOSE, COSTS OFF) SELECT t1."C 1", t2.c1, t3.c1 FROM "S 1"."T 1" t1 left join ft1 t2 full join ft2 t3 on (t2.c1 = t3.c1) on (t3.c1 = t1."C 1") OFFSET 100 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------------------------------------------------------------------------------------------ Limit @@ -569,6 +582,7 @@ (12 rows) SELECT t1."C 1", t2.c1, t3.c1 FROM "S 1"."T 1" t1 left join ft1 t2 full join ft2 t3 on (t2.c1 = t3.c1) on (t3.c1 = t1."C 1") OFFSET 100 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree C 1 | c1 | c1 -----+-----+----- 101 | 101 | 101 @@ -586,6 +600,7 @@ -- Test similar to above with all full outer joins EXPLAIN (VERBOSE, COSTS OFF) SELECT t1."C 1", t2.c1, t3.c1 FROM "S 1"."T 1" t1 full join ft1 t2 full join ft2 t3 on (t2.c1 = t3.c1) on (t3.c1 = t1."C 1") OFFSET 100 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------------------------------------------------------------------------------------------ Limit @@ -603,6 +618,7 @@ (12 rows) SELECT t1."C 1", t2.c1, t3.c1 FROM "S 1"."T 1" t1 full join ft1 t2 full join ft2 t3 on (t2.c1 = t3.c1) on (t3.c1 = t1."C 1") OFFSET 100 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree C 1 | c1 | c1 -----+-----+----- 101 | 101 | 101 @@ -627,6 +643,7 @@ SERVER loopback OPTIONS (table_name 'loct_empty'); INSERT INTO loct_empty SELECT id, 'AAA' || to_char(id, 'FM000') FROM generate_series(1, 100) id; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree DELETE FROM loct_empty; ANALYZE ft_empty; EXPLAIN (VERBOSE, COSTS OFF) SELECT * FROM ft_empty ORDER BY c1; @@ -1217,6 +1234,7 @@ UNION ALL SELECT 2 AS type,c1 FROM ft2 ) a ORDER BY type,c1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------------------------------------------- Merge Append @@ -1235,6 +1253,7 @@ UNION ALL SELECT 2 AS type,c1 FROM ft2 ) a ORDER BY type; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------------- Merge Append @@ -1257,6 +1276,7 @@ -- join two tables EXPLAIN (VERBOSE, COSTS OFF) SELECT t1.c1, t2.c1 FROM ft1 t1 JOIN ft2 t2 ON (t1.c1 = t2.c1) ORDER BY t1.c3, t1.c1 OFFSET 100 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Foreign Scan @@ -1266,6 +1286,7 @@ (4 rows) SELECT t1.c1, t2.c1 FROM ft1 t1 JOIN ft2 t2 ON (t1.c1 = t2.c1) ORDER BY t1.c3, t1.c1 OFFSET 100 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c1 | c1 -----+----- 101 | 101 @@ -1283,6 +1304,7 @@ -- join three tables EXPLAIN (VERBOSE, COSTS OFF) SELECT t1.c1, t2.c2, t3.c3 FROM ft1 t1 JOIN ft2 t2 ON (t1.c1 = t2.c1) JOIN ft4 t3 ON (t3.c1 = t1.c1) ORDER BY t1.c3, t1.c1 OFFSET 10 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Foreign Scan @@ -1292,6 +1314,7 @@ (4 rows) SELECT t1.c1, t2.c2, t3.c3 FROM ft1 t1 JOIN ft2 t2 ON (t1.c1 = t2.c1) JOIN ft4 t3 ON (t3.c1 = t1.c1) ORDER BY t1.c3, t1.c1 OFFSET 10 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c1 | c2 | c3 ----+----+-------- 22 | 2 | AAA022 @@ -1309,6 +1332,7 @@ -- left outer join EXPLAIN (VERBOSE, COSTS OFF) SELECT t1.c1, t2.c1 FROM ft4 t1 LEFT JOIN ft5 t2 ON (t1.c1 = t2.c1) ORDER BY t1.c1, t2.c1 OFFSET 10 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Foreign Scan @@ -1318,6 +1342,7 @@ (4 rows) SELECT t1.c1, t2.c1 FROM ft4 t1 LEFT JOIN ft5 t2 ON (t1.c1 = t2.c1) ORDER BY t1.c1, t2.c1 OFFSET 10 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c1 | c1 ----+---- 22 | @@ -1335,6 +1360,7 @@ -- left outer join three tables EXPLAIN (VERBOSE, COSTS OFF) SELECT t1.c1, t2.c2, t3.c3 FROM ft2 t1 LEFT JOIN ft2 t2 ON (t1.c1 = t2.c1) LEFT JOIN ft4 t3 ON (t2.c1 = t3.c1) OFFSET 10 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Foreign Scan @@ -1344,6 +1370,7 @@ (4 rows) SELECT t1.c1, t2.c2, t3.c3 FROM ft2 t1 LEFT JOIN ft2 t2 ON (t1.c1 = t2.c1) LEFT JOIN ft4 t3 ON (t2.c1 = t3.c1) OFFSET 10 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c1 | c2 | c3 ----+----+-------- 11 | 1 | @@ -1363,6 +1390,7 @@ -- non-nullable side is pushed into non-nullable side EXPLAIN (VERBOSE, COSTS OFF) SELECT t1.c1, t1.c2, t2.c1, t2.c2 FROM ft4 t1 LEFT JOIN (SELECT * FROM ft5 WHERE c1 < 10) t2 ON (t1.c1 = t2.c1) WHERE t1.c1 < 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------------------------------------------------------------------------------------------------------------------------- Foreign Scan @@ -1372,6 +1400,7 @@ (4 rows) SELECT t1.c1, t1.c2, t2.c1, t2.c2 FROM ft4 t1 LEFT JOIN (SELECT * FROM ft5 WHERE c1 < 10) t2 ON (t1.c1 = t2.c1) WHERE t1.c1 < 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c1 | c2 | c1 | c2 ----+----+----+---- 2 | 3 | | @@ -1385,6 +1414,7 @@ EXPLAIN (VERBOSE, COSTS OFF) SELECT t1.c1, t1.c2, t2.c1, t2.c2 FROM ft4 t1 LEFT JOIN (SELECT * FROM ft5 WHERE c1 < 10) t2 ON (t1.c1 = t2.c1) WHERE (t2.c1 < 10 OR t2.c1 IS NULL) AND t1.c1 < 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Foreign Scan @@ -1395,6 +1425,7 @@ SELECT t1.c1, t1.c2, t2.c1, t2.c2 FROM ft4 t1 LEFT JOIN (SELECT * FROM ft5 WHERE c1 < 10) t2 ON (t1.c1 = t2.c1) WHERE (t2.c1 < 10 OR t2.c1 IS NULL) AND t1.c1 < 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c1 | c2 | c1 | c2 ----+----+----+---- 2 | 3 | | @@ -1406,6 +1437,7 @@ -- right outer join EXPLAIN (VERBOSE, COSTS OFF) SELECT t1.c1, t2.c1 FROM ft5 t1 RIGHT JOIN ft4 t2 ON (t1.c1 = t2.c1) ORDER BY t2.c1, t1.c1 OFFSET 10 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Foreign Scan @@ -1415,6 +1447,7 @@ (4 rows) SELECT t1.c1, t2.c1 FROM ft5 t1 RIGHT JOIN ft4 t2 ON (t1.c1 = t2.c1) ORDER BY t2.c1, t1.c1 OFFSET 10 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c1 | c1 ----+---- | 22 @@ -1432,6 +1465,7 @@ -- right outer join three tables EXPLAIN (VERBOSE, COSTS OFF) SELECT t1.c1, t2.c2, t3.c3 FROM ft2 t1 RIGHT JOIN ft2 t2 ON (t1.c1 = t2.c1) RIGHT JOIN ft4 t3 ON (t2.c1 = t3.c1) OFFSET 10 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Foreign Scan @@ -1441,6 +1475,7 @@ (4 rows) SELECT t1.c1, t2.c2, t3.c3 FROM ft2 t1 RIGHT JOIN ft2 t2 ON (t1.c1 = t2.c1) RIGHT JOIN ft4 t3 ON (t2.c1 = t3.c1) OFFSET 10 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c1 | c2 | c3 ----+----+-------- 22 | 2 | AAA022 @@ -1458,6 +1493,7 @@ -- full outer join EXPLAIN (VERBOSE, COSTS OFF) SELECT t1.c1, t2.c1 FROM ft4 t1 FULL JOIN ft5 t2 ON (t1.c1 = t2.c1) ORDER BY t1.c1, t2.c1 OFFSET 45 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Foreign Scan @@ -1467,6 +1503,7 @@ (4 rows) SELECT t1.c1, t2.c1 FROM ft4 t1 FULL JOIN ft5 t2 ON (t1.c1 = t2.c1) ORDER BY t1.c1, t2.c1 OFFSET 45 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c1 | c1 -----+---- 92 | @@ -1485,6 +1522,7 @@ -- a. the joining relations are both base relations EXPLAIN (VERBOSE, COSTS OFF) SELECT t1.c1, t2.c1 FROM (SELECT c1 FROM ft4 WHERE c1 between 50 and 60) t1 FULL JOIN (SELECT c1 FROM ft5 WHERE c1 between 50 and 60) t2 ON (t1.c1 = t2.c1) ORDER BY t1.c1, t2.c1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Foreign Scan @@ -1494,6 +1532,7 @@ (4 rows) SELECT t1.c1, t2.c1 FROM (SELECT c1 FROM ft4 WHERE c1 between 50 and 60) t1 FULL JOIN (SELECT c1 FROM ft5 WHERE c1 between 50 and 60) t2 ON (t1.c1 = t2.c1) ORDER BY t1.c1, t2.c1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c1 | c1 ----+---- 50 | @@ -1508,6 +1547,7 @@ EXPLAIN (VERBOSE, COSTS OFF) SELECT 1 FROM (SELECT c1 FROM ft4 WHERE c1 between 50 and 60) t1 FULL JOIN (SELECT c1 FROM ft5 WHERE c1 between 50 and 60) t2 ON (TRUE) OFFSET 10 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Foreign Scan @@ -1517,6 +1557,7 @@ (4 rows) SELECT 1 FROM (SELECT c1 FROM ft4 WHERE c1 between 50 and 60) t1 FULL JOIN (SELECT c1 FROM ft5 WHERE c1 between 50 and 60) t2 ON (TRUE) OFFSET 10 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ?column? ---------- 1 @@ -1535,6 +1576,7 @@ -- relation EXPLAIN (VERBOSE, COSTS OFF) SELECT t1.c1, ss.a, ss.b FROM (SELECT c1 FROM ft4 WHERE c1 between 50 and 60) t1 FULL JOIN (SELECT t2.c1, t3.c1 FROM ft4 t2 LEFT JOIN ft5 t3 ON (t2.c1 = t3.c1) WHERE (t2.c1 between 50 and 60)) ss(a, b) ON (t1.c1 = ss.a) ORDER BY t1.c1, ss.a, ss.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Foreign Scan @@ -1544,6 +1586,7 @@ (4 rows) SELECT t1.c1, ss.a, ss.b FROM (SELECT c1 FROM ft4 WHERE c1 between 50 and 60) t1 FULL JOIN (SELECT t2.c1, t3.c1 FROM ft4 t2 LEFT JOIN ft5 t3 ON (t2.c1 = t3.c1) WHERE (t2.c1 between 50 and 60)) ss(a, b) ON (t1.c1 = ss.a) ORDER BY t1.c1, ss.a, ss.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c1 | a | b ----+----+---- 50 | 50 | @@ -1557,6 +1600,7 @@ -- c. test deparsing the remote query as nested subqueries EXPLAIN (VERBOSE, COSTS OFF) SELECT t1.c1, ss.a, ss.b FROM (SELECT c1 FROM ft4 WHERE c1 between 50 and 60) t1 FULL JOIN (SELECT t2.c1, t3.c1 FROM (SELECT c1 FROM ft4 WHERE c1 between 50 and 60) t2 FULL JOIN (SELECT c1 FROM ft5 WHERE c1 between 50 and 60) t3 ON (t2.c1 = t3.c1) WHERE t2.c1 IS NULL OR t2.c1 IS NOT NULL) ss(a, b) ON (t1.c1 = ss.a) ORDER BY t1.c1, ss.a, ss.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Foreign Scan @@ -1566,6 +1610,7 @@ (4 rows) SELECT t1.c1, ss.a, ss.b FROM (SELECT c1 FROM ft4 WHERE c1 between 50 and 60) t1 FULL JOIN (SELECT t2.c1, t3.c1 FROM (SELECT c1 FROM ft4 WHERE c1 between 50 and 60) t2 FULL JOIN (SELECT c1 FROM ft5 WHERE c1 between 50 and 60) t3 ON (t2.c1 = t3.c1) WHERE t2.c1 IS NULL OR t2.c1 IS NOT NULL) ss(a, b) ON (t1.c1 = ss.a) ORDER BY t1.c1, ss.a, ss.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c1 | a | b ----+----+---- 50 | 50 | @@ -1581,6 +1626,7 @@ -- d. test deparsing rowmarked relations as subqueries EXPLAIN (VERBOSE, COSTS OFF) SELECT t1.c1, ss.a, ss.b FROM (SELECT c1 FROM "S 1"."T 3" WHERE c1 = 50) t1 INNER JOIN (SELECT t2.c1, t3.c1 FROM (SELECT c1 FROM ft4 WHERE c1 between 50 and 60) t2 FULL JOIN (SELECT c1 FROM ft5 WHERE c1 between 50 and 60) t3 ON (t2.c1 = t3.c1) WHERE t2.c1 IS NULL OR t2.c1 IS NOT NULL) ss(a, b) ON (TRUE) ORDER BY t1.c1, ss.a, ss.b FOR UPDATE OF t1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- LockRows @@ -1614,6 +1660,7 @@ (28 rows) SELECT t1.c1, ss.a, ss.b FROM (SELECT c1 FROM "S 1"."T 3" WHERE c1 = 50) t1 INNER JOIN (SELECT t2.c1, t3.c1 FROM (SELECT c1 FROM ft4 WHERE c1 between 50 and 60) t2 FULL JOIN (SELECT c1 FROM ft5 WHERE c1 between 50 and 60) t3 ON (t2.c1 = t3.c1) WHERE t2.c1 IS NULL OR t2.c1 IS NOT NULL) ss(a, b) ON (TRUE) ORDER BY t1.c1, ss.a, ss.b FOR UPDATE OF t1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c1 | a | b ----+----+---- 50 | 50 | @@ -1629,6 +1676,7 @@ -- full outer join + inner join EXPLAIN (VERBOSE, COSTS OFF) SELECT t1.c1, t2.c1, t3.c1 FROM ft4 t1 INNER JOIN ft5 t2 ON (t1.c1 = t2.c1 + 1 and t1.c1 between 50 and 60) FULL JOIN ft4 t3 ON (t2.c1 = t3.c1) ORDER BY t1.c1, t2.c1, t3.c1 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Foreign Scan @@ -1638,6 +1686,7 @@ (4 rows) SELECT t1.c1, t2.c1, t3.c1 FROM ft4 t1 INNER JOIN ft5 t2 ON (t1.c1 = t2.c1 + 1 and t1.c1 between 50 and 60) FULL JOIN ft4 t3 ON (t2.c1 = t3.c1) ORDER BY t1.c1, t2.c1, t3.c1 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c1 | c1 | c1 ----+----+---- 52 | 51 | @@ -1655,6 +1704,7 @@ -- full outer join three tables EXPLAIN (VERBOSE, COSTS OFF) SELECT t1.c1, t2.c2, t3.c3 FROM ft2 t1 FULL JOIN ft2 t2 ON (t1.c1 = t2.c1) FULL JOIN ft4 t3 ON (t2.c1 = t3.c1) OFFSET 10 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Foreign Scan @@ -1664,6 +1714,7 @@ (4 rows) SELECT t1.c1, t2.c2, t3.c3 FROM ft2 t1 FULL JOIN ft2 t2 ON (t1.c1 = t2.c1) FULL JOIN ft4 t3 ON (t2.c1 = t3.c1) OFFSET 10 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c1 | c2 | c3 ----+----+-------- 11 | 1 | @@ -1681,6 +1732,7 @@ -- full outer join + right outer join EXPLAIN (VERBOSE, COSTS OFF) SELECT t1.c1, t2.c2, t3.c3 FROM ft2 t1 FULL JOIN ft2 t2 ON (t1.c1 = t2.c1) RIGHT JOIN ft4 t3 ON (t2.c1 = t3.c1) OFFSET 10 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Foreign Scan @@ -1690,6 +1742,7 @@ (4 rows) SELECT t1.c1, t2.c2, t3.c3 FROM ft2 t1 FULL JOIN ft2 t2 ON (t1.c1 = t2.c1) RIGHT JOIN ft4 t3 ON (t2.c1 = t3.c1) OFFSET 10 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c1 | c2 | c3 ----+----+-------- 22 | 2 | AAA022 @@ -1707,6 +1760,7 @@ -- right outer join + full outer join EXPLAIN (VERBOSE, COSTS OFF) SELECT t1.c1, t2.c2, t3.c3 FROM ft2 t1 RIGHT JOIN ft2 t2 ON (t1.c1 = t2.c1) FULL JOIN ft4 t3 ON (t2.c1 = t3.c1) OFFSET 10 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Foreign Scan @@ -1716,6 +1770,7 @@ (4 rows) SELECT t1.c1, t2.c2, t3.c3 FROM ft2 t1 RIGHT JOIN ft2 t2 ON (t1.c1 = t2.c1) FULL JOIN ft4 t3 ON (t2.c1 = t3.c1) OFFSET 10 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c1 | c2 | c3 ----+----+-------- 11 | 1 | @@ -1733,6 +1788,7 @@ -- full outer join + left outer join EXPLAIN (VERBOSE, COSTS OFF) SELECT t1.c1, t2.c2, t3.c3 FROM ft2 t1 FULL JOIN ft2 t2 ON (t1.c1 = t2.c1) LEFT JOIN ft4 t3 ON (t2.c1 = t3.c1) OFFSET 10 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Foreign Scan @@ -1742,6 +1798,7 @@ (4 rows) SELECT t1.c1, t2.c2, t3.c3 FROM ft2 t1 FULL JOIN ft2 t2 ON (t1.c1 = t2.c1) LEFT JOIN ft4 t3 ON (t2.c1 = t3.c1) OFFSET 10 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c1 | c2 | c3 ----+----+-------- 11 | 1 | @@ -1759,6 +1816,7 @@ -- left outer join + full outer join EXPLAIN (VERBOSE, COSTS OFF) SELECT t1.c1, t2.c2, t3.c3 FROM ft2 t1 LEFT JOIN ft2 t2 ON (t1.c1 = t2.c1) FULL JOIN ft4 t3 ON (t2.c1 = t3.c1) OFFSET 10 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Foreign Scan @@ -1768,6 +1826,7 @@ (4 rows) SELECT t1.c1, t2.c2, t3.c3 FROM ft2 t1 LEFT JOIN ft2 t2 ON (t1.c1 = t2.c1) FULL JOIN ft4 t3 ON (t2.c1 = t3.c1) OFFSET 10 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c1 | c2 | c3 ----+----+-------- 11 | 1 | @@ -1786,6 +1845,7 @@ -- right outer join + left outer join EXPLAIN (VERBOSE, COSTS OFF) SELECT t1.c1, t2.c2, t3.c3 FROM ft2 t1 RIGHT JOIN ft2 t2 ON (t1.c1 = t2.c1) LEFT JOIN ft4 t3 ON (t2.c1 = t3.c1) OFFSET 10 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Foreign Scan @@ -1795,6 +1855,7 @@ (4 rows) SELECT t1.c1, t2.c2, t3.c3 FROM ft2 t1 RIGHT JOIN ft2 t2 ON (t1.c1 = t2.c1) LEFT JOIN ft4 t3 ON (t2.c1 = t3.c1) OFFSET 10 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c1 | c2 | c3 ----+----+-------- 11 | 1 | @@ -1813,6 +1874,7 @@ -- left outer join + right outer join EXPLAIN (VERBOSE, COSTS OFF) SELECT t1.c1, t2.c2, t3.c3 FROM ft2 t1 LEFT JOIN ft2 t2 ON (t1.c1 = t2.c1) RIGHT JOIN ft4 t3 ON (t2.c1 = t3.c1) OFFSET 10 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Foreign Scan @@ -1822,6 +1884,7 @@ (4 rows) SELECT t1.c1, t2.c2, t3.c3 FROM ft2 t1 LEFT JOIN ft2 t2 ON (t1.c1 = t2.c1) RIGHT JOIN ft4 t3 ON (t2.c1 = t3.c1) OFFSET 10 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c1 | c2 | c3 ----+----+-------- 22 | 2 | AAA022 @@ -1839,6 +1902,7 @@ -- full outer join + WHERE clause, only matched rows EXPLAIN (VERBOSE, COSTS OFF) SELECT t1.c1, t2.c1 FROM ft4 t1 FULL JOIN ft5 t2 ON (t1.c1 = t2.c1) WHERE (t1.c1 = t2.c1 OR t1.c1 IS NULL) ORDER BY t1.c1, t2.c1 OFFSET 10 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------------------------------------------------------------------------------------------ Limit @@ -1853,6 +1917,7 @@ (9 rows) SELECT t1.c1, t2.c1 FROM ft4 t1 FULL JOIN ft5 t2 ON (t1.c1 = t2.c1) WHERE (t1.c1 = t2.c1 OR t1.c1 IS NULL) ORDER BY t1.c1, t2.c1 OFFSET 10 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c1 | c1 ----+---- 66 | 66 @@ -1870,6 +1935,7 @@ -- full outer join + WHERE clause with shippable extensions set EXPLAIN (VERBOSE, COSTS OFF) SELECT t1.c1, t2.c2, t1.c3 FROM ft1 t1 FULL JOIN ft2 t2 ON (t1.c1 = t2.c1) WHERE postgres_fdw_abs(t1.c1) > 0 OFFSET 10 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Foreign Scan @@ -1882,6 +1948,7 @@ -- full outer join + WHERE clause with shippable extensions not set EXPLAIN (VERBOSE, COSTS OFF) SELECT t1.c1, t2.c2, t1.c3 FROM ft1 t1 FULL JOIN ft2 t2 ON (t1.c1 = t2.c1) WHERE postgres_fdw_abs(t1.c1) > 0 OFFSET 10 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------------------------------------------------------- Limit @@ -1898,6 +1965,7 @@ -- tests whole-row reference for row marks EXPLAIN (VERBOSE, COSTS OFF) SELECT t1.c1, t2.c1 FROM ft1 t1 JOIN ft2 t2 ON (t1.c1 = t2.c1) ORDER BY t1.c3, t1.c1 OFFSET 100 LIMIT 10 FOR UPDATE OF t1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Foreign Scan @@ -1907,6 +1975,7 @@ (4 rows) SELECT t1.c1, t2.c1 FROM ft1 t1 JOIN ft2 t2 ON (t1.c1 = t2.c1) ORDER BY t1.c3, t1.c1 OFFSET 100 LIMIT 10 FOR UPDATE OF t1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c1 | c1 -----+----- 101 | 101 @@ -1923,6 +1992,7 @@ EXPLAIN (VERBOSE, COSTS OFF) SELECT t1.c1, t2.c1 FROM ft1 t1 JOIN ft2 t2 ON (t1.c1 = t2.c1) ORDER BY t1.c3, t1.c1 OFFSET 100 LIMIT 10 FOR UPDATE; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Foreign Scan @@ -1932,6 +2002,7 @@ (4 rows) SELECT t1.c1, t2.c1 FROM ft1 t1 JOIN ft2 t2 ON (t1.c1 = t2.c1) ORDER BY t1.c3, t1.c1 OFFSET 100 LIMIT 10 FOR UPDATE; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c1 | c1 -----+----- 101 | 101 @@ -1949,6 +2020,7 @@ -- join two tables with FOR SHARE clause EXPLAIN (VERBOSE, COSTS OFF) SELECT t1.c1, t2.c1 FROM ft1 t1 JOIN ft2 t2 ON (t1.c1 = t2.c1) ORDER BY t1.c3, t1.c1 OFFSET 100 LIMIT 10 FOR SHARE OF t1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Foreign Scan @@ -1958,6 +2030,7 @@ (4 rows) SELECT t1.c1, t2.c1 FROM ft1 t1 JOIN ft2 t2 ON (t1.c1 = t2.c1) ORDER BY t1.c3, t1.c1 OFFSET 100 LIMIT 10 FOR SHARE OF t1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c1 | c1 -----+----- 101 | 101 @@ -1974,6 +2047,7 @@ EXPLAIN (VERBOSE, COSTS OFF) SELECT t1.c1, t2.c1 FROM ft1 t1 JOIN ft2 t2 ON (t1.c1 = t2.c1) ORDER BY t1.c3, t1.c1 OFFSET 100 LIMIT 10 FOR SHARE; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Foreign Scan @@ -1983,6 +2057,7 @@ (4 rows) SELECT t1.c1, t2.c1 FROM ft1 t1 JOIN ft2 t2 ON (t1.c1 = t2.c1) ORDER BY t1.c3, t1.c1 OFFSET 100 LIMIT 10 FOR SHARE; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c1 | c1 -----+----- 101 | 101 @@ -2000,6 +2075,7 @@ -- join in CTE EXPLAIN (VERBOSE, COSTS OFF) WITH t (c1_1, c1_3, c2_1) AS MATERIALIZED (SELECT t1.c1, t1.c3, t2.c1 FROM ft1 t1 JOIN ft2 t2 ON (t1.c1 = t2.c1)) SELECT c1_1, c2_1 FROM t ORDER BY c1_3, c1_1 OFFSET 100 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------------------------------------------------------------- Limit @@ -2017,6 +2093,7 @@ (12 rows) WITH t (c1_1, c1_3, c2_1) AS MATERIALIZED (SELECT t1.c1, t1.c3, t2.c1 FROM ft1 t1 JOIN ft2 t2 ON (t1.c1 = t2.c1)) SELECT c1_1, c2_1 FROM t ORDER BY c1_3, c1_1 OFFSET 100 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c1_1 | c2_1 ------+------ 101 | 101 @@ -2034,6 +2111,7 @@ -- ctid with whole-row reference EXPLAIN (VERBOSE, COSTS OFF) SELECT t1.ctid, t1, t2, t1.c1 FROM ft1 t1 JOIN ft2 t2 ON (t1.c1 = t2.c1) ORDER BY t1.c3, t1.c1 OFFSET 100 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Foreign Scan @@ -2104,6 +2182,7 @@ -- CROSS JOIN can be pushed down EXPLAIN (VERBOSE, COSTS OFF) SELECT t1.c1, t2.c1 FROM ft1 t1 CROSS JOIN ft2 t2 ORDER BY t1.c1, t2.c1 OFFSET 100 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Foreign Scan @@ -2113,6 +2192,7 @@ (4 rows) SELECT t1.c1, t2.c1 FROM ft1 t1 CROSS JOIN ft2 t2 ORDER BY t1.c1, t2.c1 OFFSET 100 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c1 | c1 ----+----- 1 | 101 @@ -2130,6 +2210,7 @@ -- different server, not pushed down. No result expected. EXPLAIN (VERBOSE, COSTS OFF) SELECT t1.c1, t2.c1 FROM ft5 t1 JOIN ft6 t2 ON (t1.c1 = t2.c1) ORDER BY t1.c1, t2.c1 OFFSET 100 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------------------------------------------------- Limit @@ -2148,6 +2229,7 @@ (13 rows) SELECT t1.c1, t2.c1 FROM ft5 t1 JOIN ft6 t2 ON (t1.c1 = t2.c1) ORDER BY t1.c1, t2.c1 OFFSET 100 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c1 | c1 ----+---- (0 rows) @@ -2156,6 +2238,7 @@ -- JOIN since c8 in both tables has same value. EXPLAIN (VERBOSE, COSTS OFF) SELECT t1.c1, t2.c1 FROM ft1 t1 LEFT JOIN ft2 t2 ON (t1.c8 = t2.c8) ORDER BY t1.c1, t2.c1 OFFSET 100 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------- Limit @@ -2181,6 +2264,7 @@ (20 rows) SELECT t1.c1, t2.c1 FROM ft1 t1 LEFT JOIN ft2 t2 ON (t1.c8 = t2.c8) ORDER BY t1.c1, t2.c1 OFFSET 100 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c1 | c1 ----+----- 1 | 101 @@ -2198,6 +2282,7 @@ -- unsafe conditions on one side (c8 has a UDT), not pushed down. EXPLAIN (VERBOSE, COSTS OFF) SELECT t1.c1, t2.c1 FROM ft1 t1 LEFT JOIN ft2 t2 ON (t1.c1 = t2.c1) WHERE t1.c8 = 'foo' ORDER BY t1.c3, t1.c1 OFFSET 100 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------------------- Limit @@ -2220,6 +2305,7 @@ (17 rows) SELECT t1.c1, t2.c1 FROM ft1 t1 LEFT JOIN ft2 t2 ON (t1.c1 = t2.c1) WHERE t1.c8 = 'foo' ORDER BY t1.c3, t1.c1 OFFSET 100 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c1 | c1 -----+----- 101 | 101 @@ -2240,6 +2326,7 @@ -- into one of the joining sides. EXPLAIN (VERBOSE, COSTS OFF) SELECT t1.c1, t2.c1 FROM ft1 t1 JOIN ft2 t2 ON (t1.c1 = t2.c1) WHERE t1.c8 = t2.c8 ORDER BY t1.c3, t1.c1 OFFSET 100 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------------------------------------------------------------------------------- Limit @@ -2255,6 +2342,7 @@ (10 rows) SELECT t1.c1, t2.c1 FROM ft1 t1 JOIN ft2 t2 ON (t1.c1 = t2.c1) WHERE t1.c8 = t2.c8 ORDER BY t1.c3, t1.c1 OFFSET 100 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c1 | c1 -----+----- 101 | 101 @@ -2272,6 +2360,7 @@ -- Aggregate after UNION, for testing setrefs EXPLAIN (VERBOSE, COSTS OFF) SELECT t1c1, avg(t1c1 + t2c1) FROM (SELECT t1.c1, t2.c1 FROM ft1 t1 JOIN ft2 t2 ON (t1.c1 = t2.c1) UNION SELECT t1.c1, t2.c1 FROM ft1 t1 JOIN ft2 t2 ON (t1.c1 = t2.c1)) AS t (t1c1, t2c1) GROUP BY t1c1 ORDER BY t1c1 OFFSET 100 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------------------------------------------------------------------------------------------- Limit @@ -2297,6 +2386,7 @@ (20 rows) SELECT t1c1, avg(t1c1 + t2c1) FROM (SELECT t1.c1, t2.c1 FROM ft1 t1 JOIN ft2 t2 ON (t1.c1 = t2.c1) UNION SELECT t1.c1, t2.c1 FROM ft1 t1 JOIN ft2 t2 ON (t1.c1 = t2.c1)) AS t (t1c1, t2c1) GROUP BY t1c1 ORDER BY t1c1 OFFSET 100 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree t1c1 | avg ------+---------------------- 101 | 202.0000000000000000 @@ -2314,6 +2404,7 @@ -- join with lateral reference EXPLAIN (VERBOSE, COSTS OFF) SELECT t1."C 1" FROM "S 1"."T 1" t1, LATERAL (SELECT DISTINCT t2.c1, t3.c1 FROM ft1 t2, ft2 t3 WHERE t2.c1 = t3.c1 AND t2.c2 = t1.c2) q ORDER BY t1."C 1" OFFSET 10 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Limit @@ -2336,6 +2427,7 @@ (17 rows) SELECT t1."C 1" FROM "S 1"."T 1" t1, LATERAL (SELECT DISTINCT t2.c1, t3.c1 FROM ft1 t2, ft2 t3 WHERE t2.c1 = t3.c1 AND t2.c2 = t1.c2) q ORDER BY t1."C 1" OFFSET 10 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree C 1 ----- 1 @@ -2353,6 +2445,7 @@ -- join with pseudoconstant quals EXPLAIN (VERBOSE, COSTS OFF) SELECT t1.c1, t2.c1 FROM ft1 t1 JOIN ft2 t2 ON (t1.c1 = t2.c1 AND CURRENT_USER = SESSION_USER) ORDER BY t1.c3, t1.c1 OFFSET 100 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Limit @@ -2371,6 +2464,7 @@ -- unable to push {ft1, ft2} EXPLAIN (VERBOSE, COSTS OFF) SELECT q.a, ft2.c1 FROM (SELECT 13 FROM ft1 WHERE c1 = 13) q(a) RIGHT JOIN ft2 ON (q.a = ft2.c1) WHERE ft2.c1 BETWEEN 10 AND 15; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------------------------------------------------------------------------------------- Nested Loop Left Join @@ -2387,6 +2481,7 @@ (11 rows) SELECT q.a, ft2.c1 FROM (SELECT 13 FROM ft1 WHERE c1 = 13) q(a) RIGHT JOIN ft2 ON (q.a = ft2.c1) WHERE ft2.c1 BETWEEN 10 AND 15; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | c1 ----+---- | 10 @@ -2400,6 +2495,7 @@ -- ok to push {ft1, ft2} but not {ft1, ft2, ft4} EXPLAIN (VERBOSE, COSTS OFF) SELECT ft4.c1, q.* FROM ft4 LEFT JOIN (SELECT 13, ft1.c1, ft2.c1 FROM ft1 RIGHT JOIN ft2 ON (ft1.c1 = ft2.c1) WHERE ft1.c1 = 12) q(a, b, c) ON (ft4.c1 = q.b) WHERE ft4.c1 BETWEEN 10 AND 15; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Nested Loop Left Join @@ -2417,6 +2513,7 @@ (12 rows) SELECT ft4.c1, q.* FROM ft4 LEFT JOIN (SELECT 13, ft1.c1, ft2.c1 FROM ft1 RIGHT JOIN ft2 ON (ft1.c1 = ft2.c1) WHERE ft1.c1 = 12) q(a, b, c) ON (ft4.c1 = q.b) WHERE ft4.c1 BETWEEN 10 AND 15; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c1 | a | b | c ----+----+----+---- 10 | | | @@ -2428,6 +2525,7 @@ UPDATE ft5 SET c3 = null where c1 % 9 = 0; EXPLAIN (VERBOSE, COSTS OFF) SELECT ft5, ft5.c1, ft5.c2, ft5.c3, ft4.c1, ft4.c2 FROM ft5 left join ft4 on ft5.c1 = ft4.c1 WHERE ft4.c1 BETWEEN 10 and 30 ORDER BY ft5.c1, ft4.c1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Foreign Scan @@ -2437,6 +2535,7 @@ (4 rows) SELECT ft5, ft5.c1, ft5.c2, ft5.c3, ft4.c1, ft4.c2 FROM ft5 left join ft4 on ft5.c1 = ft4.c1 WHERE ft4.c1 BETWEEN 10 and 30 ORDER BY ft5.c1, ft4.c1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ft5 | c1 | c2 | c3 | c1 | c2 ----------------+----+----+--------+----+---- (12,13,AAA012) | 12 | 13 | AAA012 | 12 | 13 @@ -2449,6 +2548,7 @@ -- (this case used to have EPQ-related planning problems) CREATE TABLE local_tbl (c1 int NOT NULL, c2 int NOT NULL, c3 text, CONSTRAINT local_tbl_pkey PRIMARY KEY (c1)); INSERT INTO local_tbl SELECT id, id % 10, to_char(id, 'FM0000') FROM generate_series(1, 1000) id; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE local_tbl; SET enable_nestloop TO false; SET enable_hashjoin TO false; @@ -2528,6 +2628,7 @@ -- return columns needed by the parent ForeignScan node EXPLAIN (VERBOSE, COSTS OFF) SELECT * FROM local_tbl LEFT JOIN (SELECT ft1.*, COALESCE(ft1.c3 || ft2.c3, 'foobar') FROM ft1 INNER JOIN ft2 ON (ft1.c1 = ft2.c1 AND ft1.c1 < 100)) ss ON (local_tbl.c1 = ss.c1) ORDER BY local_tbl.c1 FOR UPDATE OF local_tbl; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- LockRows @@ -2565,6 +2666,7 @@ ALTER SERVER loopback OPTIONS (ADD fdw_startup_cost '10000.0'); EXPLAIN (VERBOSE, COSTS OFF) SELECT * FROM local_tbl LEFT JOIN (SELECT ft1.* FROM ft1 INNER JOIN ft2 ON (ft1.c1 = ft2.c1 AND ft1.c1 < 100 AND (ft1.c1 - postgres_fdw_abs(ft2.c2)) = 0)) ss ON (local_tbl.c3 = ss.c3) ORDER BY local_tbl.c1 FOR UPDATE OF local_tbl; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- LockRows @@ -2614,6 +2716,7 @@ ALTER VIEW v5 OWNER TO regress_view_owner; EXPLAIN (VERBOSE, COSTS OFF) SELECT t1.c1, t2.c2 FROM v4 t1 LEFT JOIN v5 t2 ON (t1.c1 = t2.c1) ORDER BY t1.c1, t2.c1 OFFSET 10 LIMIT 10; -- can't be pushed down, different view owners +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------------- Limit @@ -2635,6 +2738,7 @@ (16 rows) SELECT t1.c1, t2.c2 FROM v4 t1 LEFT JOIN v5 t2 ON (t1.c1 = t2.c1) ORDER BY t1.c1, t2.c1 OFFSET 10 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c1 | c2 ----+---- 22 | @@ -2652,6 +2756,7 @@ ALTER VIEW v4 OWNER TO regress_view_owner; EXPLAIN (VERBOSE, COSTS OFF) SELECT t1.c1, t2.c2 FROM v4 t1 LEFT JOIN v5 t2 ON (t1.c1 = t2.c1) ORDER BY t1.c1, t2.c1 OFFSET 10 LIMIT 10; -- can be pushed down +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Foreign Scan @@ -2661,6 +2766,7 @@ (4 rows) SELECT t1.c1, t2.c2 FROM v4 t1 LEFT JOIN v5 t2 ON (t1.c1 = t2.c1) ORDER BY t1.c1, t2.c1 OFFSET 10 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c1 | c2 ----+---- 22 | @@ -2677,6 +2783,7 @@ EXPLAIN (VERBOSE, COSTS OFF) SELECT t1.c1, t2.c2 FROM v4 t1 LEFT JOIN ft5 t2 ON (t1.c1 = t2.c1) ORDER BY t1.c1, t2.c1 OFFSET 10 LIMIT 10; -- can't be pushed down, view owner not current user +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------------- Limit @@ -2698,6 +2805,7 @@ (16 rows) SELECT t1.c1, t2.c2 FROM v4 t1 LEFT JOIN ft5 t2 ON (t1.c1 = t2.c1) ORDER BY t1.c1, t2.c1 OFFSET 10 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c1 | c2 ----+---- 22 | @@ -2715,6 +2823,7 @@ ALTER VIEW v4 OWNER TO CURRENT_USER; EXPLAIN (VERBOSE, COSTS OFF) SELECT t1.c1, t2.c2 FROM v4 t1 LEFT JOIN ft5 t2 ON (t1.c1 = t2.c1) ORDER BY t1.c1, t2.c1 OFFSET 10 LIMIT 10; -- can be pushed down +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Foreign Scan @@ -2724,6 +2833,7 @@ (4 rows) SELECT t1.c1, t2.c2 FROM v4 t1 LEFT JOIN ft5 t2 ON (t1.c1 = t2.c1) ORDER BY t1.c1, t2.c1 OFFSET 10 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c1 | c2 ----+---- 22 | @@ -2754,6 +2864,7 @@ ERROR: user mapping not found for user "regress_view_owner_another", server "loopback" -- Likewise, but with the query under an UNION ALL EXPLAIN (VERBOSE, COSTS OFF) SELECT * FROM (SELECT * FROM v4 UNION ALL SELECT * FROM v4); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: user mapping not found for user "regress_view_owner_another", server "loopback" -- Should not get that error once a user mapping is created CREATE USER MAPPING FOR regress_view_owner_another SERVER loopback OPTIONS (password_required 'false'); @@ -2766,6 +2877,7 @@ (3 rows) EXPLAIN (VERBOSE, COSTS OFF) SELECT * FROM (SELECT * FROM v4 UNION ALL SELECT * FROM v4); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------- Append @@ -2839,6 +2951,7 @@ -- Aggregate over join query explain (verbose, costs off) select count(*), sum(t1.c1), avg(t2.c1) from ft1 t1 inner join ft1 t2 on (t1.c2 = t2.c2) where t1.c2 = 6; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------------------------------------------------------------------------------------- Foreign Scan @@ -2848,6 +2961,7 @@ (4 rows) select count(*), sum(t1.c1), avg(t2.c1) from ft1 t1 inner join ft1 t2 on (t1.c2 = t2.c2) where t1.c2 = 6; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count | sum | avg -------+---------+---------------------- 10000 | 5010000 | 501.0000000000000000 @@ -2856,6 +2970,7 @@ -- Not pushed down due to local conditions present in underneath input rel explain (verbose, costs off) select sum(t1.c1), count(t2.c1) from ft1 t1 inner join ft2 t2 on (t1.c1 = t2.c1) where ((t1.c1 * t2.c1)/(t1.c1 * t2.c1)) * random() <= 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------------------------------------------------------------------- Aggregate @@ -2892,6 +3007,7 @@ set enable_incremental_sort = off; explain (verbose, costs off) select count(x.a), sum(x.a) from (select c2 a, sum(c1) b from ft1 group by c2, sqrt(c1) order by 1, 2) x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------------------------------------------------------------------------------------------------------- Aggregate @@ -2903,6 +3019,7 @@ (6 rows) select count(x.a), sum(x.a) from (select c2 a, sum(c1) b from ft1 group by c2, sqrt(c1) order by 1, 2) x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count | sum -------+------ 1000 | 4500 @@ -3021,6 +3138,7 @@ -- Unshippable HAVING clause will be evaluated locally, and other qual in HAVING clause is pushed down explain (verbose, costs off) select count(*) from (select c5, count(c1) from ft1 group by c5, sqrt(c2) having (avg(c1) / avg(c1)) * random() <= 1 and avg(c1) < 500) x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------------------------------------------------------------------------------------------------- Aggregate @@ -3033,6 +3151,7 @@ (7 rows) select count(*) from (select c5, count(c1) from ft1 group by c5, sqrt(c2) having (avg(c1) / avg(c1)) * random() <= 1 and avg(c1) < 500) x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 49 @@ -3141,6 +3260,7 @@ -- DISTINCT within aggregate explain (verbose, costs off) select array_agg(distinct (t1.c1)%5) from ft4 t1 full join ft5 t2 on (t1.c1 = t2.c1) where t1.c1 < 20 or (t1.c1 is null and t2.c1 < 5) group by (t2.c1)%3 order by 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Foreign Scan @@ -3150,6 +3270,7 @@ (4 rows) select array_agg(distinct (t1.c1)%5) from ft4 t1 full join ft5 t2 on (t1.c1 = t2.c1) where t1.c1 < 20 or (t1.c1 is null and t2.c1 < 5) group by (t2.c1)%3 order by 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree array_agg -------------- {0,1,2,3,4} @@ -3159,6 +3280,7 @@ -- DISTINCT combined with ORDER BY within aggregate explain (verbose, costs off) select array_agg(distinct (t1.c1)%5 order by (t1.c1)%5) from ft4 t1 full join ft5 t2 on (t1.c1 = t2.c1) where t1.c1 < 20 or (t1.c1 is null and t2.c1 < 5) group by (t2.c1)%3 order by 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Foreign Scan @@ -3168,6 +3290,7 @@ (4 rows) select array_agg(distinct (t1.c1)%5 order by (t1.c1)%5) from ft4 t1 full join ft5 t2 on (t1.c1 = t2.c1) where t1.c1 < 20 or (t1.c1 is null and t2.c1 < 5) group by (t2.c1)%3 order by 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree array_agg -------------- {0,1,2,3,4} @@ -3176,6 +3299,7 @@ explain (verbose, costs off) select array_agg(distinct (t1.c1)%5 order by (t1.c1)%5 desc nulls last) from ft4 t1 full join ft5 t2 on (t1.c1 = t2.c1) where t1.c1 < 20 or (t1.c1 is null and t2.c1 < 5) group by (t2.c1)%3 order by 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Foreign Scan @@ -3185,6 +3309,7 @@ (4 rows) select array_agg(distinct (t1.c1)%5 order by (t1.c1)%5 desc nulls last) from ft4 t1 full join ft5 t2 on (t1.c1 = t2.c1) where t1.c1 < 20 or (t1.c1 is null and t2.c1 < 5) group by (t2.c1)%3 order by 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree array_agg -------------- {3,2,1,NULL} @@ -3565,6 +3690,7 @@ -- the aggregate cannot be pushed down to foreign server. explain (verbose, costs off) select count(t1.c3) from ft2 t1 left join ft2 t2 on (t1.c1 = random() * t2.c2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------------------- Aggregate @@ -3585,6 +3711,7 @@ -- Subquery in FROM clause having aggregate explain (verbose, costs off) select count(*), x.b from ft1, (select c2 a, sum(c1) b from ft1 group by c2) x where ft1.c2 = x.a group by x.b order by 1, 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------------------------------------- Sort @@ -3611,6 +3738,7 @@ (21 rows) select count(*), x.b from ft1, (select c2 a, sum(c1) b from ft1 group by c2) x where ft1.c2 = x.a group by x.b order by 1, 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count | b -------+------- 100 | 49600 @@ -3628,6 +3756,7 @@ -- FULL join with IS NULL check in HAVING explain (verbose, costs off) select avg(t1.c1), sum(t2.c1) from ft4 t1 full join ft5 t2 on (t1.c1 = t2.c1) group by t2.c1 having (avg(t1.c1) is null and sum(t2.c1) < 10) or sum(t2.c1) is null order by 1 nulls last, 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Foreign Scan @@ -3637,6 +3766,7 @@ (4 rows) select avg(t1.c1), sum(t2.c1) from ft4 t1 full join ft5 t2 on (t1.c1 = t2.c1) group by t2.c1 having (avg(t1.c1) is null and sum(t2.c1) < 10) or sum(t2.c1) is null order by 1 nulls last, 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree avg | sum ---------------------+----- 51.0000000000000000 | @@ -3648,6 +3778,7 @@ -- subqueries. explain (verbose, costs off) select count(*), sum(t1.c1), avg(t2.c1) from (select c1 from ft4 where c1 between 50 and 60) t1 full join (select c1 from ft5 where c1 between 50 and 60) t2 on (t1.c1 = t2.c1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Foreign Scan @@ -3657,6 +3788,7 @@ (4 rows) select count(*), sum(t1.c1), avg(t2.c1) from (select c1 from ft4 where c1 between 50 and 60) t1 full join (select c1 from ft5 where c1 between 50 and 60) t2 on (t1.c1 = t2.c1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count | sum | avg -------+-----+--------------------- 8 | 330 | 55.5000000000000000 @@ -3687,6 +3819,7 @@ set enable_hashagg to false; explain (verbose, costs off) select c2, sum from "S 1"."T 1" t1, lateral (select sum(t2.c1 + t1."C 1") sum from ft2 t2 group by t2.c1) qry where t1.c2 * 2 = qry.sum and t1.c2 < 3 and t1."C 1" < 100 order by 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------------------------------ Sort @@ -3708,6 +3841,7 @@ (16 rows) select c2, sum from "S 1"."T 1" t1, lateral (select sum(t2.c1 + t1."C 1") sum from ft2 t2 group by t2.c1) qry where t1.c2 * 2 = qry.sum and t1.c2 < 3 and t1."C 1" < 100 order by 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c2 | sum ----+----- 1 | 2 @@ -3728,6 +3862,7 @@ ) AS subq_1 WHERE ref_0."C 1" < 10 AND subq_1.c3 = '00001' ORDER BY ref_0."C 1"; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------------------------------------------------------------------- Nested Loop @@ -3758,6 +3893,7 @@ ) AS subq_1 WHERE ref_0."C 1" < 10 AND subq_1.c3 = '00001' ORDER BY ref_0."C 1"; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c2 | c1 | c2 | c3 ----+----+----+------- 1 | 1 | 1 | 00001 @@ -3774,6 +3910,7 @@ -- Check with placeHolderVars explain (verbose, costs off) select sum(q.a), count(q.b) from ft4 left join (select 13, avg(ft1.c1), sum(ft2.c1) from ft1 right join ft2 on (ft1.c1 = ft2.c1)) q(a, b, c) on (ft4.c1 <= q.b); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------------------------------------------------------------------------------------------------- Aggregate @@ -3796,6 +3933,7 @@ (17 rows) select sum(q.a), count(q.b) from ft4 left join (select 13, avg(ft1.c1), sum(ft2.c1) from ft1 right join ft2 on (ft1.c1 = ft2.c1)) q(a, b, c) on (ft4.c1 <= q.b); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree sum | count -----+------- 650 | 50 @@ -4648,6 +4786,7 @@ WHERE ft2.c1 > 900 AND EXISTS (SELECT 1 FROM ft5 WHERE ft4.c1 = ft5.c1) ORDER BY ft2.c1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Foreign Scan @@ -4660,6 +4799,7 @@ WHERE ft2.c1 > 900 AND EXISTS (SELECT 1 FROM ft5 WHERE ft4.c1 = ft5.c1) ORDER BY ft2.c1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c1 | c2 | c3 | c4 | c5 | c6 | c7 | c8 | c1 | c2 | c3 -----+----+-------+------------------------------+--------------------------+----+------------+-----+----+----+-------- 906 | 6 | 00906 | Wed Jan 07 00:00:00 1970 PST | Wed Jan 07 00:00:00 1970 | 6 | 6 | foo | 6 | 7 | AAA006 @@ -4682,6 +4822,7 @@ ON ft2.c2 = ft4.c1 WHERE ft2.c1 > 900 ORDER BY ft2.c1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Foreign Scan @@ -4696,6 +4837,7 @@ ON ft2.c2 = ft4.c1 WHERE ft2.c1 > 900 ORDER BY ft2.c1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c1 | c2 | c3 | c4 | c5 | c6 | c7 | c8 | c1 | c2 | c3 -----+----+-------+------------------------------+--------------------------+----+------------+-----+----+----+-------- 906 | 6 | 00906 | Wed Jan 07 00:00:00 1970 PST | Wed Jan 07 00:00:00 1970 | 6 | 6 | foo | 6 | 7 | AAA006 @@ -4718,6 +4860,7 @@ ON ft2.c2 = ft4.c1 WHERE ft2.c1 > 900 ORDER BY ft2.c1 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Foreign Scan @@ -4732,6 +4875,7 @@ ON ft2.c2 = ft4.c1 WHERE ft2.c1 > 900 ORDER BY ft2.c1 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c1 | c2 | c3 | c4 | c5 | c6 | c7 | c8 | c1 | c2 | c3 -----+----+-------+------------------------------+--------------------------+----+------------+-----+----+----+-------- 901 | 1 | 00901 | Fri Jan 02 00:00:00 1970 PST | Fri Jan 02 00:00:00 1970 | 1 | 1 | foo | | | @@ -4757,6 +4901,7 @@ ON ft2.c2 <= ft5.c1 WHERE ft2.c1 > 900 ORDER BY ft2.c1 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Foreign Scan @@ -4774,6 +4919,7 @@ ON ft2.c2 <= ft5.c1 WHERE ft2.c1 > 900 ORDER BY ft2.c1 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c1 | c2 | c3 | c4 | c5 | c6 | c7 | c8 | c1 | c2 | c3 -----+----+-------+------------------------------+--------------------------+----+------------+-----+----+----+-------- 906 | 6 | 00906 | Wed Jan 07 00:00:00 1970 PST | Wed Jan 07 00:00:00 1970 | 6 | 6 | foo | 6 | 7 | AAA006 @@ -4872,6 +5018,7 @@ ON ft2.c2 = ft21.c2 WHERE ft2.c1 > 900 ORDER BY ft2.c1 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Foreign Scan @@ -4890,6 +5037,7 @@ ON ft2.c2 = ft21.c2 WHERE ft2.c1 > 900 ORDER BY ft2.c1 LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c1 | c2 | c3 | c4 | c5 | c6 | c7 | c8 | c1 | c2 | c3 ----+----+----+----+----+----+----+----+----+----+---- (0 rows) @@ -4900,6 +5048,7 @@ ft1.c1 IN ( SELECT ft2.c1 FROM ft2 JOIN ft4 ON ft2.c1 = ft4.c1) ORDER BY ft1.c1 LIMIT 5; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------------------------------------------------------------------------------------------- Limit @@ -4922,6 +5071,7 @@ -- =================================================================== EXPLAIN (verbose, costs off) INSERT INTO ft2 (c1,c2,c3) SELECT c1+1000,c2+100, c3 || c3 FROM ft2 LIMIT 20; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Insert on public.ft2 @@ -4935,8 +5085,10 @@ (8 rows) INSERT INTO ft2 (c1,c2,c3) SELECT c1+1000,c2+100, c3 || c3 FROM ft2 LIMIT 20; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO ft2 (c1,c2,c3) VALUES (1101,201,'aaa'), (1102,202,'bbb'), (1103,203,'ccc') RETURNING *; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c1 | c2 | c3 | c4 | c5 | c6 | c7 | c8 ------+-----+-----+----+----+----+------------+---- 1101 | 201 | aaa | | | | ft2 | @@ -4945,6 +5097,7 @@ (3 rows) INSERT INTO ft2 (c1,c2,c3) VALUES (1104,204,'ddd'), (1105,205,'eee'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree EXPLAIN (verbose, costs off) UPDATE ft2 SET c2 = c2 + 300, c3 = c3 || '_update3' WHERE c1 % 10 = 3; -- can be pushed down QUERY PLAN @@ -6089,11 +6242,13 @@ -- Test UPDATE/DELETE with RETURNING on a three-table join INSERT INTO ft2 (c1,c2,c3) SELECT id, id - 1200, to_char(id, 'FM00000') FROM generate_series(1201, 1300) id; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree EXPLAIN (verbose, costs off) UPDATE ft2 SET c3 = 'foo' FROM ft4 INNER JOIN ft5 ON (ft4.c1 = ft5.c1) WHERE ft2.c1 > 1200 AND ft2.c2 = ft4.c1 RETURNING ft2, ft2.*, ft4, ft4.*; -- can be pushed down +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Update on public.ft2 @@ -6106,6 +6261,7 @@ FROM ft4 INNER JOIN ft5 ON (ft4.c1 = ft5.c1) WHERE ft2.c1 > 1200 AND ft2.c2 = ft4.c1 RETURNING ft2, ft2.*, ft4, ft4.*; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ft2 | c1 | c2 | c3 | c4 | c5 | c6 | c7 | c8 | ft4 | c1 | c2 | c3 --------------------------------+------+----+-----+----+----+----+------------+----+----------------+----+----+-------- (1206,6,foo,,,,"ft2 ",) | 1206 | 6 | foo | | | | ft2 | | (6,7,AAA006) | 6 | 7 | AAA006 @@ -6131,6 +6287,7 @@ USING ft4 LEFT JOIN ft5 ON (ft4.c1 = ft5.c1) WHERE ft2.c1 > 1200 AND ft2.c1 % 10 = 0 AND ft2.c2 = ft4.c1 RETURNING 100; -- can be pushed down +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Delete on public.ft2 @@ -6143,6 +6300,7 @@ USING ft4 LEFT JOIN ft5 ON (ft4.c1 = ft5.c1) WHERE ft2.c1 > 1200 AND ft2.c1 % 10 = 0 AND ft2.c2 = ft4.c1 RETURNING 100; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ?column? ---------- 100 @@ -6222,6 +6380,7 @@ ALTER SERVER loopback OPTIONS (DROP extensions); INSERT INTO ft2 (c1,c2,c3) SELECT id, id % 10, to_char(id, 'FM00000') FROM generate_series(2001, 2010) id; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree EXPLAIN (verbose, costs off) UPDATE ft2 SET c3 = 'bar' WHERE postgres_fdw_abs(c1) > 2000 RETURNING *; -- can't be pushed down QUERY PLAN @@ -6255,6 +6414,7 @@ FROM ft4 INNER JOIN ft5 ON (ft4.c1 = ft5.c1) WHERE ft2.c1 > 2000 AND ft2.c2 === ft4.c1 RETURNING ft2.*, ft4.*, ft5.*; -- can't be pushed down +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Update on public.ft2 @@ -6287,6 +6447,7 @@ FROM ft4 INNER JOIN ft5 ON (ft4.c1 = ft5.c1) WHERE ft2.c1 > 2000 AND ft2.c2 === ft4.c1 RETURNING ft2.*, ft4.*, ft5.*; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c1 | c2 | c3 | c4 | c5 | c6 | c7 | c8 | c1 | c2 | c3 | c1 | c2 | c3 ------+----+-----+----+----+----+------------+----+----+----+--------+----+----+-------- 2006 | 6 | baz | | | | ft2 | | 6 | 7 | AAA006 | 6 | 7 | AAA006 @@ -6297,6 +6458,7 @@ USING ft4 INNER JOIN ft5 ON (ft4.c1 === ft5.c1) WHERE ft2.c1 > 2000 AND ft2.c2 = ft4.c1 RETURNING ft2.c1, ft2.c2, ft2.c3; -- can't be pushed down +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Delete on public.ft2 @@ -6327,6 +6489,7 @@ USING ft4 INNER JOIN ft5 ON (ft4.c1 === ft5.c1) WHERE ft2.c1 > 2000 AND ft2.c2 = ft4.c1 RETURNING ft2.c1, ft2.c2, ft2.c3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c1 | c2 | c3 ------+----+----- 2006 | 6 | baz @@ -6906,6 +7069,8 @@ CREATE VIEW rw_view AS SELECT * FROM foreign_tbl WHERE a < b WITH CHECK OPTION; \d+ rw_view +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree View "public.rw_view" Column | Type | Collation | Nullable | Default | Storage | Description --------+---------+-----------+----------+---------+---------+------------- @@ -6986,6 +7151,7 @@ ALTER SERVER loopback OPTIONS (ADD batch_size '10'); EXPLAIN (VERBOSE, COSTS OFF) INSERT INTO rw_view VALUES (0, 15), (0, 5); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------------------- Insert on public.foreign_tbl @@ -6996,6 +7162,7 @@ (5 rows) INSERT INTO rw_view VALUES (0, 15), (0, 5); -- should fail +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: new row violates check option for view "rw_view" DETAIL: Failing row contains (10, 5). SELECT * FROM foreign_tbl; @@ -7023,6 +7190,8 @@ CREATE VIEW rw_view AS SELECT * FROM parent_tbl WHERE a < b WITH CHECK OPTION; \d+ rw_view +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree View "public.rw_view" Column | Type | Collation | Nullable | Default | Storage | Description --------+---------+-----------+----------+---------+---------+------------- @@ -7101,6 +7270,7 @@ ALTER SERVER loopback OPTIONS (ADD batch_size '10'); EXPLAIN (VERBOSE, COSTS OFF) INSERT INTO rw_view VALUES (0, 15), (0, 5); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------- Insert on public.parent_tbl @@ -7109,6 +7279,7 @@ (3 rows) INSERT INTO rw_view VALUES (0, 15), (0, 5); -- should fail +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: new row violates check option for view "rw_view" DETAIL: Failing row contains (10, 5). SELECT * FROM foreign_tbl; @@ -7134,6 +7305,7 @@ ALTER TABLE sub_parent ATTACH PARTITION child_foreign FOR VALUES FROM (1) TO (10); CREATE VIEW rw_view AS SELECT * FROM parent_tbl WHERE a < 5 WITH CHECK OPTION; INSERT INTO parent_tbl (a) VALUES(1),(5); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree EXPLAIN (VERBOSE, COSTS OFF) UPDATE rw_view SET b = 'text', c = 123.456; QUERY PLAN @@ -7207,6 +7379,7 @@ server loopback options(table_name 'gloc1'); explain (verbose, costs off) insert into grem1 (a) values (1), (2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------- Insert on public.grem1 @@ -7217,6 +7390,7 @@ (5 rows) insert into grem1 (a) values (1), (2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree explain (verbose, costs off) update grem1 set a = 22 where a = 2; QUERY PLAN @@ -7265,6 +7439,7 @@ alter server loopback options (add batch_size '10'); explain (verbose, costs off) insert into grem1 (a) values (1), (2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------- Insert on public.grem1 @@ -7275,6 +7450,7 @@ (5 rows) insert into grem1 (a) values (1), (2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select * from gloc1; a | b ---+--- @@ -7295,6 +7471,7 @@ -- to loop across all of them in batches. create table tab_batch_local (id int, data text); insert into tab_batch_local select i, 'test'|| i from generate_series(1, 45) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree create table tab_batch_sharded (id int, data text) partition by hash(id); create table tab_batch_sharded_p0 partition of tab_batch_sharded for values with (modulus 2, remainder 0); @@ -7303,6 +7480,7 @@ for values with (modulus 2, remainder 1) server loopback options (table_name 'tab_batch_sharded_p1_remote'); insert into tab_batch_sharded select * from tab_batch_local; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select count(*) from tab_batch_sharded; count ------- @@ -8277,6 +8455,7 @@ from ( select f1 from foo union all select f1+3 from foo ) ss where bar.f1 = ss.f1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------------------------ Update on public.bar @@ -8315,6 +8494,7 @@ from ( select f1 from foo union all select f1+3 from foo ) ss where bar.f1 = ss.f1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select tableoid::regclass, * from bar order by 1,2; tableoid | f1 | f2 ----------+----+----- @@ -8332,7 +8512,9 @@ truncate table only foo; \set num_rows_foo 2000 insert into loct1 select generate_series(0, :num_rows_foo, 2), generate_series(0, :num_rows_foo, 2), generate_series(0, :num_rows_foo, 2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into foo select generate_series(1, :num_rows_foo, 2), generate_series(1, :num_rows_foo, 2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SET enable_hashjoin to false; SET enable_nestloop to false; alter foreign table foo2 options (use_remote_estimate 'true'); @@ -8343,6 +8525,7 @@ -- inner join; expressions in the clauses appear in the equivalence class list explain (verbose, costs off) select foo.f1, loct1.f1 from foo join loct1 on (foo.f1 = loct1.f1) order by foo.f2 offset 10 limit 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------------------------------------- Limit @@ -8365,6 +8548,7 @@ (17 rows) select foo.f1, loct1.f1 from foo join loct1 on (foo.f1 = loct1.f1) order by foo.f2 offset 10 limit 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 | f1 ----+---- 20 | 20 @@ -8383,6 +8567,7 @@ -- list but no output change as compared to the previous query explain (verbose, costs off) select foo.f1, loct1.f1 from foo left join loct1 on (foo.f1 = loct1.f1) order by foo.f2 offset 10 limit 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------------------------------------- Limit @@ -8405,6 +8590,7 @@ (17 rows) select foo.f1, loct1.f1 from foo left join loct1 on (foo.f1 = loct1.f1) order by foo.f2 offset 10 limit 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 | f1 ----+---- 10 | 10 @@ -8665,6 +8851,7 @@ (1 row) insert into itrtest values (1, 'test1'), (2, 'test2') returning *; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+------- 1 | test1 @@ -8702,6 +8889,7 @@ -- MERGE ought to fail cleanly merge into itrtest using (select 1, 'foo') as source on (true) when matched then do nothing; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: cannot execute MERGE on relation "remp1" DETAIL: This operation is not supported for foreign tables. create unique index loct1_idx on loct1 (a); @@ -8755,6 +8943,7 @@ (1 row) insert into itrtest values (1, 'test1'), (2, 'test2') returning *; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+------------------- 1 | test1 triggered ! @@ -8762,6 +8951,7 @@ (2 rows) with result as (insert into itrtest values (1, 'test1'), (2, 'test2') returning *) select * from result; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+------------------- 1 | test1 triggered ! @@ -8908,6 +9098,7 @@ -- with a non-direct modification plan explain (verbose, costs off) update utrtest set a = 1 from (values (1), (2)) s(x) where a = s.x returning *; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------------------------ Update on public.utrtest @@ -8931,6 +9122,7 @@ (18 rows) update utrtest set a = 1 from (values (1), (2)) s(x) where a = s.x returning *; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: cannot route tuples into foreign table to be updated "remp" -- Change the definition of utrtest so that the foreign partition get updated -- after the local partition @@ -8965,6 +9157,7 @@ -- with a non-direct modification plan explain (verbose, costs off) update utrtest set a = 3 from (values (2), (3)) s(x) where a = s.x returning *; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------------------------------------------- Update on public.utrtest @@ -8988,6 +9181,7 @@ (18 rows) update utrtest set a = 3 from (values (2), (3)) s(x) where a = s.x returning *; -- ERROR +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: cannot route tuples into foreign table to be updated "remp" drop table utrtest; drop table loct; @@ -9303,6 +9497,7 @@ CREATE FOREIGN TABLE tru_ftable (id int) SERVER loopback OPTIONS (table_name 'tru_rtable0'); INSERT INTO tru_rtable0 (SELECT x FROM generate_series(1,10) x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE TABLE tru_ptable (id int) PARTITION BY HASH(id); CREATE TABLE tru_ptable__p0 PARTITION OF tru_ptable FOR VALUES WITH (MODULUS 2, REMAINDER 0); @@ -9311,10 +9506,13 @@ FOR VALUES WITH (MODULUS 2, REMAINDER 1) SERVER loopback OPTIONS (table_name 'tru_rtable1'); INSERT INTO tru_ptable (SELECT x FROM generate_series(11,20) x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE TABLE tru_pk_table(id int primary key); CREATE TABLE tru_fk_table(fkey int references tru_pk_table(id)); INSERT INTO tru_pk_table (SELECT x FROM generate_series(1,10) x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO tru_fk_table (SELECT x % 10 + 1 FROM generate_series(5,25) x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE FOREIGN TABLE tru_pk_ftable (id int) SERVER loopback OPTIONS (table_name 'tru_pk_table'); CREATE TABLE tru_rtable_parent (id int); @@ -9324,7 +9522,9 @@ CREATE FOREIGN TABLE tru_ftable_child () INHERITS (tru_ftable_parent) SERVER loopback OPTIONS (table_name 'tru_rtable_child'); INSERT INTO tru_rtable_parent (SELECT x FROM generate_series(1,8) x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO tru_rtable_child (SELECT x FROM generate_series(10, 18) x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- normal truncate SELECT sum(id) FROM tru_ftable; -- 55 sum @@ -9419,7 +9619,9 @@ -- truncate two tables at a command INSERT INTO tru_ftable (SELECT x FROM generate_series(1,8) x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO tru_pk_ftable (SELECT x FROM generate_series(3,10) x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT count(*) from tru_ftable; -- 8 count ------- @@ -9465,7 +9667,9 @@ -- in case when remote table has inherited children CREATE TABLE tru_rtable0_child () INHERITS (tru_rtable0); INSERT INTO tru_rtable0 (SELECT x FROM generate_series(5,9) x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO tru_rtable0_child (SELECT x FROM generate_series(10,14) x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT sum(id) FROM tru_ftable; -- 95 sum ----- @@ -9483,7 +9687,9 @@ (1 row) INSERT INTO tru_rtable0 (SELECT x FROM generate_series(21,25) x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO tru_rtable0_child (SELECT x FROM generate_series(26,30) x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT sum(id) FROM tru_ftable; -- 255 sum ----- @@ -9521,6 +9727,7 @@ CREATE SCHEMA import_dest1; IMPORT FOREIGN SCHEMA import_source FROM SERVER loopback INTO import_dest1; \det+ import_dest1.* +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of foreign tables Schema | Table | Server | FDW options | Description --------------+-------+----------+-------------------------------------------------+------------- @@ -9534,6 +9741,12 @@ (7 rows) \d import_dest1.* +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Foreign table "import_dest1.t1" Column | Type | Collation | Nullable | Default | FDW options --------+-------------------+-----------+----------+---------+-------------------- @@ -9542,6 +9755,11 @@ Server: loopback FDW options: (schema_name 'import_source', table_name 't1') +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Foreign table "import_dest1.t2" Column | Type | Collation | Nullable | Default | FDW options --------+-------------------+-----------+----------+---------+-------------------- @@ -9551,6 +9769,11 @@ Server: loopback FDW options: (schema_name 'import_source', table_name 't2') +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Foreign table "import_dest1.t3" Column | Type | Collation | Nullable | Default | FDW options --------+--------------------------+-----------+----------+---------+-------------------- @@ -9559,6 +9782,11 @@ Server: loopback FDW options: (schema_name 'import_source', table_name 't3') +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Foreign table "import_dest1.t4" Column | Type | Collation | Nullable | Default | FDW options --------+---------+-----------+----------+---------+-------------------- @@ -9566,6 +9794,11 @@ Server: loopback FDW options: (schema_name 'import_source', table_name 't4') +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Foreign table "import_dest1.x 4" Column | Type | Collation | Nullable | Default | FDW options --------+-----------------------+-----------+----------+---------+--------------------- @@ -9575,12 +9808,22 @@ Server: loopback FDW options: (schema_name 'import_source', table_name 'x 4') +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Foreign table "import_dest1.x 5" Column | Type | Collation | Nullable | Default | FDW options --------+------+-----------+----------+---------+------------- Server: loopback FDW options: (schema_name 'import_source', table_name 'x 5') +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Foreign table "import_dest1.x 6" Column | Type | Collation | Nullable | Default | FDW options --------+---------+-----------+----------+-------------------------------------+-------------------- @@ -9594,6 +9837,7 @@ IMPORT FOREIGN SCHEMA import_source FROM SERVER loopback INTO import_dest2 OPTIONS (import_default 'true'); \det+ import_dest2.* +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of foreign tables Schema | Table | Server | FDW options | Description --------------+-------+----------+-------------------------------------------------+------------- @@ -9607,6 +9851,12 @@ (7 rows) \d import_dest2.* +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Foreign table "import_dest2.t1" Column | Type | Collation | Nullable | Default | FDW options --------+-------------------+-----------+----------+---------+-------------------- @@ -9615,6 +9865,11 @@ Server: loopback FDW options: (schema_name 'import_source', table_name 't1') +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Foreign table "import_dest2.t2" Column | Type | Collation | Nullable | Default | FDW options --------+-------------------+-----------+----------+---------+-------------------- @@ -9624,6 +9879,11 @@ Server: loopback FDW options: (schema_name 'import_source', table_name 't2') +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Foreign table "import_dest2.t3" Column | Type | Collation | Nullable | Default | FDW options --------+--------------------------+-----------+----------+---------+-------------------- @@ -9632,6 +9892,11 @@ Server: loopback FDW options: (schema_name 'import_source', table_name 't3') +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Foreign table "import_dest2.t4" Column | Type | Collation | Nullable | Default | FDW options --------+---------+-----------+----------+---------+-------------------- @@ -9639,6 +9904,11 @@ Server: loopback FDW options: (schema_name 'import_source', table_name 't4') +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Foreign table "import_dest2.x 4" Column | Type | Collation | Nullable | Default | FDW options --------+-----------------------+-----------+----------+---------+--------------------- @@ -9648,12 +9918,22 @@ Server: loopback FDW options: (schema_name 'import_source', table_name 'x 4') +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Foreign table "import_dest2.x 5" Column | Type | Collation | Nullable | Default | FDW options --------+------+-----------+----------+---------+------------- Server: loopback FDW options: (schema_name 'import_source', table_name 'x 5') +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Foreign table "import_dest2.x 6" Column | Type | Collation | Nullable | Default | FDW options --------+---------+-----------+----------+-------------------------------------+-------------------- @@ -9666,6 +9946,7 @@ IMPORT FOREIGN SCHEMA import_source FROM SERVER loopback INTO import_dest3 OPTIONS (import_collate 'false', import_generated 'false', import_not_null 'false'); \det+ import_dest3.* +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of foreign tables Schema | Table | Server | FDW options | Description --------------+-------+----------+-------------------------------------------------+------------- @@ -9679,6 +9960,12 @@ (7 rows) \d import_dest3.* +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Foreign table "import_dest3.t1" Column | Type | Collation | Nullable | Default | FDW options --------+-------------------+-----------+----------+---------+-------------------- @@ -9687,6 +9974,11 @@ Server: loopback FDW options: (schema_name 'import_source', table_name 't1') +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Foreign table "import_dest3.t2" Column | Type | Collation | Nullable | Default | FDW options --------+-------------------+-----------+----------+---------+-------------------- @@ -9696,6 +9988,11 @@ Server: loopback FDW options: (schema_name 'import_source', table_name 't2') +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Foreign table "import_dest3.t3" Column | Type | Collation | Nullable | Default | FDW options --------+--------------------------+-----------+----------+---------+-------------------- @@ -9704,6 +10001,11 @@ Server: loopback FDW options: (schema_name 'import_source', table_name 't3') +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Foreign table "import_dest3.t4" Column | Type | Collation | Nullable | Default | FDW options --------+---------+-----------+----------+---------+-------------------- @@ -9711,6 +10013,11 @@ Server: loopback FDW options: (schema_name 'import_source', table_name 't4') +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Foreign table "import_dest3.x 4" Column | Type | Collation | Nullable | Default | FDW options --------+-----------------------+-----------+----------+---------+--------------------- @@ -9720,12 +10027,22 @@ Server: loopback FDW options: (schema_name 'import_source', table_name 'x 4') +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Foreign table "import_dest3.x 5" Column | Type | Collation | Nullable | Default | FDW options --------+------+-----------+----------+---------+------------- Server: loopback FDW options: (schema_name 'import_source', table_name 'x 5') +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Foreign table "import_dest3.x 6" Column | Type | Collation | Nullable | Default | FDW options --------+---------+-----------+----------+---------+-------------------- @@ -9739,6 +10056,7 @@ IMPORT FOREIGN SCHEMA import_source LIMIT TO (t1, nonesuch, t4_part) FROM SERVER loopback INTO import_dest4; \det+ import_dest4.* +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of foreign tables Schema | Table | Server | FDW options | Description --------------+---------+----------+-----------------------------------------------------+------------- @@ -9749,6 +10067,7 @@ IMPORT FOREIGN SCHEMA import_source EXCEPT (t1, "x 4", nonesuch, t4_part) FROM SERVER loopback INTO import_dest4; \det+ import_dest4.* +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of foreign tables Schema | Table | Server | FDW options | Description --------------+---------+----------+-----------------------------------------------------+------------- @@ -9862,7 +10181,9 @@ ALTER TABLE fprt1_p1 SET (autovacuum_enabled = 'false'); ALTER TABLE fprt1_p2 SET (autovacuum_enabled = 'false'); INSERT INTO fprt1_p1 SELECT i, i, to_char(i/50, 'FM0000') FROM generate_series(0, 249, 2) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO fprt1_p2 SELECT i, i, to_char(i/50, 'FM0000') FROM generate_series(250, 499, 2) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE FOREIGN TABLE ftprt1_p1 PARTITION OF fprt1 FOR VALUES FROM (0) TO (250) SERVER loopback OPTIONS (table_name 'fprt1_p1', use_remote_estimate 'true'); CREATE FOREIGN TABLE ftprt1_p2 PARTITION OF fprt1 FOR VALUES FROM (250) TO (500) @@ -9876,7 +10197,9 @@ ALTER TABLE fprt2_p1 SET (autovacuum_enabled = 'false'); ALTER TABLE fprt2_p2 SET (autovacuum_enabled = 'false'); INSERT INTO fprt2_p1 SELECT i, i, to_char(i/50, 'FM0000') FROM generate_series(0, 249, 3) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO fprt2_p2 SELECT i, i, to_char(i/50, 'FM0000') FROM generate_series(250, 499, 3) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE FOREIGN TABLE ftprt2_p1 (b int, c varchar, a int) SERVER loopback OPTIONS (table_name 'fprt2_p1', use_remote_estimate 'true'); ALTER TABLE fprt2 ATTACH PARTITION ftprt2_p1 FOR VALUES FROM (0) TO (250); @@ -9888,6 +10211,7 @@ -- inner join three tables EXPLAIN (COSTS OFF) SELECT t1.a,t2.b,t3.c FROM fprt1 t1 INNER JOIN fprt2 t2 ON (t1.a = t2.b) INNER JOIN fprt1 t3 ON (t2.b = t3.a) WHERE t1.a % 25 =0 ORDER BY 1,2,3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------------------------------------------- Sort @@ -9900,6 +10224,7 @@ (7 rows) SELECT t1.a,t2.b,t3.c FROM fprt1 t1 INNER JOIN fprt2 t2 ON (t1.a = t2.b) INNER JOIN fprt1 t3 ON (t2.b = t3.a) WHERE t1.a % 25 =0 ORDER BY 1,2,3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c -----+-----+------ 0 | 0 | 0000 @@ -9911,6 +10236,7 @@ -- left outer join + nullable clause EXPLAIN (VERBOSE, COSTS OFF) SELECT t1.a,t2.b,t2.c FROM fprt1 t1 LEFT JOIN (SELECT * FROM fprt2 WHERE a < 10) t2 ON (t1.a = t2.b and t1.b = t2.a) WHERE t1.a < 10 ORDER BY 1,2,3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Foreign Scan @@ -9920,6 +10246,7 @@ (4 rows) SELECT t1.a,t2.b,t2.c FROM fprt1 t1 LEFT JOIN (SELECT * FROM fprt2 WHERE a < 10) t2 ON (t1.a = t2.b and t1.b = t2.a) WHERE t1.a < 10 ORDER BY 1,2,3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c ---+---+------ 0 | 0 | 0000 @@ -9932,6 +10259,7 @@ -- with whole-row reference; partitionwise join does not apply EXPLAIN (COSTS OFF) SELECT t1.wr, t2.wr FROM (SELECT t1 wr, a FROM fprt1 t1 WHERE t1.a % 25 = 0) t1 FULL JOIN (SELECT t2 wr, b FROM fprt2 t2 WHERE t2.b % 25 = 0) t2 ON (t1.a = t2.b) ORDER BY 1,2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------- Sort @@ -9948,6 +10276,7 @@ (11 rows) SELECT t1.wr, t2.wr FROM (SELECT t1 wr, a FROM fprt1 t1 WHERE t1.a % 25 = 0) t1 FULL JOIN (SELECT t2 wr, b FROM fprt2 t2 WHERE t2.b % 25 = 0) t2 ON (t1.a = t2.b) ORDER BY 1,2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree wr | wr ----------------+---------------- (0,0,0000) | (0,0,0000) @@ -9969,6 +10298,7 @@ -- join with lateral reference EXPLAIN (COSTS OFF) SELECT t1.a,t1.b FROM fprt1 t1, LATERAL (SELECT t2.a, t2.b FROM fprt2 t2 WHERE t1.a = t2.b AND t1.b = t2.a) q WHERE t1.a%25 = 0 ORDER BY 1,2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------------- Sort @@ -9981,6 +10311,7 @@ (7 rows) SELECT t1.a,t1.b FROM fprt1 t1, LATERAL (SELECT t2.a, t2.b FROM fprt2 t2 WHERE t1.a = t2.b AND t1.b = t2.a) q WHERE t1.a%25 = 0 ORDER BY 1,2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b -----+----- 0 | 0 @@ -9992,6 +10323,7 @@ -- with PHVs, partitionwise join selected but no join pushdown EXPLAIN (COSTS OFF) SELECT t1.a, t1.phv, t2.b, t2.phv FROM (SELECT 't1_phv' phv, * FROM fprt1 WHERE a % 25 = 0) t1 FULL JOIN (SELECT 't2_phv' phv, * FROM fprt2 WHERE b % 25 = 0) t2 ON (t1.a = t2.b) ORDER BY t1.a, t2.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------- Sort @@ -10010,6 +10342,7 @@ (13 rows) SELECT t1.a, t1.phv, t2.b, t2.phv FROM (SELECT 't1_phv' phv, * FROM fprt1 WHERE a % 25 = 0) t1 FULL JOIN (SELECT 't2_phv' phv, * FROM fprt2 WHERE b % 25 = 0) t2 ON (t1.a = t2.b) ORDER BY t1.a, t2.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | phv | b | phv -----+--------+-----+-------- 0 | t1_phv | 0 | t2_phv @@ -10031,6 +10364,7 @@ -- test FOR UPDATE; partitionwise join does not apply EXPLAIN (COSTS OFF) SELECT t1.a, t2.b FROM fprt1 t1 INNER JOIN fprt2 t2 ON (t1.a = t2.b) WHERE t1.a % 25 = 0 ORDER BY 1,2 FOR UPDATE OF t1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------- LockRows @@ -10046,6 +10380,7 @@ (10 rows) SELECT t1.a, t2.b FROM fprt1 t1 INNER JOIN fprt2 t2 ON (t1.a = t2.b) WHERE t1.a % 25 = 0 ORDER BY 1,2 FOR UPDATE OF t1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b -----+----- 0 | 0 @@ -10063,8 +10398,11 @@ CREATE TABLE pagg_tab_p2 (LIKE pagg_tab); CREATE TABLE pagg_tab_p3 (LIKE pagg_tab); INSERT INTO pagg_tab_p1 SELECT i % 30, i % 50, to_char(i/30, 'FM0000') FROM generate_series(1, 3000) i WHERE (i % 30) < 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO pagg_tab_p2 SELECT i % 30, i % 50, to_char(i/30, 'FM0000') FROM generate_series(1, 3000) i WHERE (i % 30) < 20 and (i % 30) >= 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO pagg_tab_p3 SELECT i % 30, i % 50, to_char(i/30, 'FM0000') FROM generate_series(1, 3000) i WHERE (i % 30) < 30 and (i % 30) >= 20; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- Create foreign partitions CREATE FOREIGN TABLE fpagg_tab_p1 PARTITION OF pagg_tab FOR VALUES FROM (0) TO (10) SERVER loopback OPTIONS (table_name 'pagg_tab_p1'); CREATE FOREIGN TABLE fpagg_tab_p2 PARTITION OF pagg_tab FOR VALUES FROM (10) TO (20) SERVER loopback OPTIONS (table_name 'pagg_tab_p2'); @@ -10316,6 +10654,7 @@ PERFORM pg_terminate_backend(pid, 180000) FROM pg_stat_activity WHERE application_name = 'fdw_retry_check'; END $$; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- This query should detect the broken connection when starting new remote -- transaction, reestablish new connection, and then succeed. BEGIN; @@ -10332,6 +10671,7 @@ PERFORM pg_terminate_backend(pid, 180000) FROM pg_stat_activity WHERE application_name = 'fdw_retry_check'; END $$; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SAVEPOINT s; -- The text of the error might vary across platforms, so only show SQLSTATE. \set VERBOSITY sqlstate @@ -10344,6 +10684,7 @@ -- ============================================================================= -- Let's ensure to close all the existing cached connections. SELECT 1 FROM postgres_fdw_disconnect_all(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ?column? ---------- 1 @@ -10351,6 +10692,7 @@ -- No cached connections, so no records should be output. SELECT server_name FROM postgres_fdw_get_connections() ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree server_name ------------- (0 rows) @@ -10373,6 +10715,7 @@ -- List all the existing cached connections. loopback and loopback3 should be -- output. SELECT server_name FROM postgres_fdw_get_connections() ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree server_name ------------- loopback @@ -10391,6 +10734,7 @@ -- should be output as invalid connections. Also the server name for -- loopback3 should be NULL because the server was dropped. SELECT * FROM postgres_fdw_get_connections() ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree server_name | valid -------------+------- loopback | f @@ -10402,6 +10746,7 @@ -- All cached connections were closed while committing above xact, so no -- records should be output. SELECT server_name FROM postgres_fdw_get_connections() ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree server_name ------------- (0 rows) @@ -10427,6 +10772,7 @@ -- List all the existing cached connections. loopback and loopback2 should be -- output. SELECT server_name FROM postgres_fdw_get_connections() ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree server_name ------------- loopback @@ -10445,6 +10791,7 @@ -- List all the existing cached connections. loopback and loopback2 should be -- output. SELECT server_name FROM postgres_fdw_get_connections() ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree server_name ------------- loopback @@ -10464,12 +10811,14 @@ COMMIT; -- Ensure that loopback2 connection is closed. SELECT 1 FROM postgres_fdw_disconnect('loopback2'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ?column? ---------- 1 (1 row) SELECT server_name FROM postgres_fdw_get_connections() WHERE server_name = 'loopback2'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree server_name ------------- (0 rows) @@ -10486,6 +10835,7 @@ ERROR: server "unknownserver" does not exist -- Let's ensure to close all the existing cached connections. SELECT 1 FROM postgres_fdw_disconnect_all(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ?column? ---------- 1 @@ -10493,6 +10843,7 @@ -- No cached connections, so no records should be output. SELECT server_name FROM postgres_fdw_get_connections() ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree server_name ------------- (0 rows) @@ -10525,6 +10876,7 @@ RESET ROLE; -- Should output two connections for loopback server SELECT server_name FROM postgres_fdw_get_connections() ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree server_name ------------- loopback @@ -10534,6 +10886,7 @@ COMMIT; -- Let's ensure to close all the existing cached connections. SELECT 1 FROM postgres_fdw_disconnect_all(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ?column? ---------- 1 @@ -10541,6 +10894,7 @@ -- No cached connections, so no records should be output. SELECT server_name FROM postgres_fdw_get_connections() ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree server_name ------------- (0 rows) @@ -10566,6 +10920,7 @@ -- No cached connections, so no records should be output. SELECT server_name FROM postgres_fdw_get_connections() ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree server_name ------------- (0 rows) @@ -10637,6 +10992,7 @@ CREATE TABLE batch_table ( x int ); CREATE FOREIGN TABLE ftable ( x int ) SERVER loopback OPTIONS ( table_name 'batch_table', batch_size '10' ); EXPLAIN (VERBOSE, COSTS OFF) INSERT INTO ftable SELECT * FROM generate_series(1, 10) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------- Insert on public.ftable @@ -10648,9 +11004,12 @@ (6 rows) INSERT INTO ftable SELECT * FROM generate_series(1, 10) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO ftable SELECT * FROM generate_series(11, 31) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO ftable VALUES (32); INSERT INTO ftable VALUES (33), (34); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT COUNT(*) FROM ftable; count ------- @@ -10662,6 +11021,7 @@ -- Disable batch insert CREATE FOREIGN TABLE ftable ( x int ) SERVER loopback OPTIONS ( table_name 'batch_table', batch_size '1' ); EXPLAIN (VERBOSE, COSTS OFF) INSERT INTO ftable VALUES (1), (2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------- Insert on public.ftable @@ -10672,6 +11032,7 @@ (5 rows) INSERT INTO ftable VALUES (1), (2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT COUNT(*) FROM ftable; count ------- @@ -10684,6 +11045,7 @@ CREATE TRIGGER trig_row_before BEFORE INSERT ON ftable FOR EACH ROW EXECUTE PROCEDURE trigger_data(23,'skidoo'); EXPLAIN (VERBOSE, COSTS OFF) INSERT INTO ftable VALUES (3), (4); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------- Insert on public.ftable @@ -10694,6 +11056,7 @@ (5 rows) INSERT INTO ftable VALUES (3), (4); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: trig_row_before(23, skidoo) BEFORE ROW INSERT ON ftable NOTICE: NEW: (3) NOTICE: trig_row_before(23, skidoo) BEFORE ROW INSERT ON ftable @@ -10726,6 +11089,7 @@ PARTITION OF batch_table FOR VALUES WITH (MODULUS 3, REMAINDER 2); INSERT INTO batch_table SELECT * FROM generate_series(1, 66) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT COUNT(*) FROM batch_table; count ------- @@ -10767,12 +11131,16 @@ -- foreign partition 'batch_cp_upd_test1', one that has insert batching -- enabled, so a single INSERT for both rows. INSERT INTO batch_cp_upd_test VALUES (2), (2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree UPDATE batch_cp_upd_test t SET a = 1 FROM (VALUES (1), (2)) s(a) WHERE t.a = s.a AND s.a = 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- This one moves rows from the local partition 'batch_cp_upd_test2' to the -- foreign partition 'batch_cp_upd_test2', one that has insert batching -- disabled, so separate INSERTs for the two rows. INSERT INTO batch_cp_upd_test VALUES (2), (2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree UPDATE batch_cp_upd_test t SET a = 3 FROM (VALUES (1), (2)) s(a) WHERE t.a = s.a AND s.a = 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT tableoid::regclass, * FROM batch_cp_upd_test ORDER BY 1; tableoid | a ----------------------+--- @@ -10816,6 +11184,7 @@ SERVER loopback OPTIONS (table_name 'batch_table_p1'); INSERT INTO batch_table SELECT i, 'test'||i, 'test'|| i FROM generate_series(1, 50) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT COUNT(*) FROM batch_table; count ------- @@ -10907,6 +11276,7 @@ INSERT INTO ltable VALUES ('AAA', 42), ('BBB', 42) RETURNING * ) INSERT INTO ftable SELECT * FROM t; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: ftable_rowcount_trigger: there are 0 rows in ftable NOTICE: ftable_rowcount_trigger: there are 1 rows in ftable SELECT * FROM ltable; @@ -10928,6 +11298,7 @@ UPDATE ltable SET b = b + 100 RETURNING * ) INSERT INTO ftable SELECT * FROM t; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: ftable_rowcount_trigger: there are 0 rows in ftable NOTICE: ftable_rowcount_trigger: there are 1 rows in ftable SELECT * FROM ltable; @@ -10949,6 +11320,7 @@ DELETE FROM ltable RETURNING * ) INSERT INTO ftable SELECT * FROM t; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: ftable_rowcount_trigger: there are 0 rows in ftable NOTICE: ftable_rowcount_trigger: there are 1 rows in ftable SELECT * FROM ltable; @@ -10983,6 +11355,7 @@ BEFORE INSERT ON ltable FOR EACH ROW EXECUTE PROCEDURE ftable_rowcount_trigf(); INSERT INTO parent VALUES ('AAA', 42), ('BBB', 42), ('AAA', 42), ('BBB', 42); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: ftable_rowcount_trigger: there are 1 rows in ftable NOTICE: ftable_rowcount_trigger: there are 2 rows in ftable SELECT tableoid::regclass, * FROM parent; @@ -11015,12 +11388,15 @@ CREATE FOREIGN TABLE async_p2 PARTITION OF async_pt FOR VALUES FROM (2000) TO (3000) SERVER loopback2 OPTIONS (table_name 'base_tbl2'); INSERT INTO async_p1 SELECT 1000 + i, i, to_char(i, 'FM0000') FROM generate_series(0, 999, 5) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO async_p2 SELECT 2000 + i, i, to_char(i, 'FM0000') FROM generate_series(0, 999, 5) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE async_pt; -- simple queries CREATE TABLE result_tbl (a int, b int, c text); EXPLAIN (VERBOSE, COSTS OFF) INSERT INTO result_tbl SELECT * FROM async_pt WHERE b % 100 = 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------------------------------- Insert on public.result_tbl @@ -11034,6 +11410,7 @@ (8 rows) INSERT INTO result_tbl SELECT * FROM async_pt WHERE b % 100 = 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM result_tbl ORDER BY a; a | b | c ------+-----+------ @@ -11062,6 +11439,7 @@ DELETE FROM result_tbl; EXPLAIN (VERBOSE, COSTS OFF) INSERT INTO result_tbl SELECT * FROM async_pt WHERE b === 505; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------- Insert on public.result_tbl @@ -11077,6 +11455,7 @@ (10 rows) INSERT INTO result_tbl SELECT * FROM async_pt WHERE b === 505; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM result_tbl ORDER BY a; a | b | c ------+-----+------ @@ -11087,6 +11466,7 @@ DELETE FROM result_tbl; EXPLAIN (VERBOSE, COSTS OFF) INSERT INTO result_tbl SELECT a, b, 'AAA' || c FROM async_pt WHERE b === 505; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------------------------------------------- Insert on public.result_tbl @@ -11102,6 +11482,7 @@ (10 rows) INSERT INTO result_tbl SELECT a, b, 'AAA' || c FROM async_pt WHERE b === 505; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM result_tbl ORDER BY a; a | b | c ------+-----+--------- @@ -11122,9 +11503,11 @@ CREATE FOREIGN TABLE async_p3 PARTITION OF async_pt FOR VALUES FROM (3000) TO (4000) SERVER loopback2 OPTIONS (table_name 'base_tbl3'); INSERT INTO async_p3 SELECT 3000 + i, i, to_char(i, 'FM0000') FROM generate_series(0, 999, 5) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE async_pt; EXPLAIN (VERBOSE, COSTS OFF) INSERT INTO result_tbl SELECT * FROM async_pt WHERE b === 505; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------- Insert on public.result_tbl @@ -11144,6 +11527,7 @@ (14 rows) INSERT INTO result_tbl SELECT * FROM async_pt WHERE b === 505; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM result_tbl ORDER BY a; a | b | c ------+-----+------ @@ -11158,9 +11542,11 @@ -- Check case where the partitioned table has local/remote partitions CREATE TABLE async_p3 PARTITION OF async_pt FOR VALUES FROM (3000) TO (4000); INSERT INTO async_p3 SELECT 3000 + i, i, to_char(i, 'FM0000') FROM generate_series(0, 999, 5) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE async_pt; EXPLAIN (VERBOSE, COSTS OFF) INSERT INTO result_tbl SELECT * FROM async_pt WHERE b === 505; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------- Insert on public.result_tbl @@ -11179,6 +11565,7 @@ (13 rows) INSERT INTO result_tbl SELECT * FROM async_pt WHERE b === 505; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM result_tbl ORDER BY a; a | b | c ------+-----+------ @@ -11193,6 +11580,7 @@ CREATE TABLE join_tbl (a1 int, b1 int, c1 text, a2 int, b2 int, c2 text); EXPLAIN (VERBOSE, COSTS OFF) INSERT INTO join_tbl SELECT * FROM async_pt t1, async_pt t2 WHERE t1.a = t2.a AND t1.b = t2.b AND t1.b % 100 = 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Insert on public.join_tbl @@ -11218,6 +11606,7 @@ (20 rows) INSERT INTO join_tbl SELECT * FROM async_pt t1, async_pt t2 WHERE t1.a = t2.a AND t1.b = t2.b AND t1.b % 100 = 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM join_tbl ORDER BY a1; a1 | b1 | c1 | a2 | b2 | c2 ------+-----+------+------+-----+------ @@ -11256,6 +11645,7 @@ DELETE FROM join_tbl; EXPLAIN (VERBOSE, COSTS OFF) INSERT INTO join_tbl SELECT t1.a, t1.b, 'AAA' || t1.c, t2.a, t2.b, 'AAA' || t2.c FROM async_pt t1, async_pt t2 WHERE t1.a = t2.a AND t1.b = t2.b AND t1.b % 100 = 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Insert on public.join_tbl @@ -11281,6 +11671,7 @@ (20 rows) INSERT INTO join_tbl SELECT t1.a, t1.b, 'AAA' || t1.c, t2.a, t2.b, 'AAA' || t2.c FROM async_pt t1, async_pt t2 WHERE t1.a = t2.a AND t1.b = t2.b AND t1.b % 100 = 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM join_tbl ORDER BY a1; a1 | b1 | c1 | a2 | b2 | c2 ------+-----+---------+------+-----+--------- @@ -11322,6 +11713,7 @@ SET enable_hashjoin TO false; EXPLAIN (VERBOSE, COSTS OFF) INSERT INTO join_tbl SELECT * FROM async_p1 t1, async_pt t2 WHERE t1.a = t2.a AND t1.b = t2.b AND t1.b % 100 = 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------------------------------- Insert on public.join_tbl @@ -11343,6 +11735,7 @@ (16 rows) INSERT INTO join_tbl SELECT * FROM async_p1 t1, async_pt t2 WHERE t1.a = t2.a AND t1.b = t2.b AND t1.b % 100 = 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM join_tbl ORDER BY a1; a1 | b1 | c1 | a2 | b2 | c2 ------+-----+------+------+-----+------ @@ -11387,6 +11780,7 @@ SET plan_cache_mode TO force_generic_plan; PREPARE async_pt_query (int, int) AS INSERT INTO result_tbl SELECT * FROM async_pt WHERE a < $1 AND b === $2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree EXPLAIN (VERBOSE, COSTS OFF) EXECUTE async_pt_query (3000, 505); QUERY PLAN @@ -11437,6 +11831,7 @@ RESET plan_cache_mode; CREATE TABLE local_tbl(a int, b int, c text); INSERT INTO local_tbl VALUES (1505, 505, 'foo'), (2505, 505, 'bar'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE local_tbl; CREATE INDEX base_tbl1_idx ON base_tbl1 (a); CREATE INDEX base_tbl2_idx ON base_tbl2 (a); @@ -11500,6 +11895,7 @@ (SELECT a, b, 'AAA' || c FROM async_p1 ORDER BY a LIMIT 10) UNION (SELECT a, b, 'AAA' || c FROM async_p2 WHERE b < 10); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------------------------------------------------------- Insert on public.result_tbl @@ -11519,6 +11915,7 @@ (SELECT a, b, 'AAA' || c FROM async_p1 ORDER BY a LIMIT 10) UNION (SELECT a, b, 'AAA' || c FROM async_p2 WHERE b < 10); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM result_tbl ORDER BY a; a | b | c ------+----+--------- @@ -11542,6 +11939,7 @@ (SELECT a, b, 'AAA' || c FROM async_p1 ORDER BY a LIMIT 10) UNION ALL (SELECT a, b, 'AAA' || c FROM async_p2 WHERE b < 10); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------------------------------------------------- Insert on public.result_tbl @@ -11558,6 +11956,7 @@ (SELECT a, b, 'AAA' || c FROM async_p1 ORDER BY a LIMIT 10) UNION ALL (SELECT a, b, 'AAA' || c FROM async_p2 WHERE b < 10); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM result_tbl ORDER BY a; a | b | c ------+----+--------- @@ -11606,6 +12005,7 @@ (SELECT * FROM async_p1 WHERE CURRENT_USER = SESSION_USER) UNION ALL (SELECT * FROM async_p2 WHERE CURRENT_USER = SESSION_USER); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------- Append @@ -11625,6 +12025,7 @@ EXPLAIN (VERBOSE, COSTS OFF) SELECT * FROM ((SELECT * FROM async_p1 WHERE b < 10) UNION ALL (SELECT * FROM async_p2 WHERE b < 10)) s WHERE CURRENT_USER = SESSION_USER; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------------------------------------------- Append @@ -11682,6 +12083,7 @@ ANALYZE local_tbl; EXPLAIN (VERBOSE, COSTS OFF) SELECT * FROM local_tbl t1 LEFT JOIN (SELECT *, (SELECT count(*) FROM async_pt WHERE a < 3000) FROM async_pt WHERE a < 3000) t2 ON t1.a = t2.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------------------------------- Nested Loop Left Join @@ -11708,6 +12110,7 @@ EXPLAIN (ANALYZE, COSTS OFF, SUMMARY OFF, TIMING OFF) SELECT * FROM local_tbl t1 LEFT JOIN (SELECT *, (SELECT count(*) FROM async_pt WHERE a < 3000) FROM async_pt WHERE a < 3000) t2 ON t1.a = t2.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------------------------------- Nested Loop Left Join (actual rows=1 loops=1) @@ -11725,6 +12128,7 @@ (12 rows) SELECT * FROM local_tbl t1 LEFT JOIN (SELECT *, (SELECT count(*) FROM async_pt WHERE a < 3000) FROM async_pt WHERE a < 3000) t2 ON t1.a = t2.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c | a | b | c | count ------+-----+-----+------+-----+------+------- 1505 | 505 | foo | 1505 | 505 | 0505 | 400 @@ -11781,6 +12185,7 @@ SERVER loopback OPTIONS (table_name 'base_tbl4'); EXPLAIN (VERBOSE, COSTS OFF) INSERT INTO insert_tbl (SELECT * FROM local_tbl UNION ALL SELECT * FROM remote_tbl); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------- Insert on public.insert_tbl @@ -11795,6 +12200,7 @@ (9 rows) INSERT INTO insert_tbl (SELECT * FROM local_tbl UNION ALL SELECT * FROM remote_tbl); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM insert_tbl ORDER BY a; a | b | c ------+-----+----- @@ -11806,6 +12212,7 @@ EXPLAIN (VERBOSE, COSTS OFF) WITH t AS (UPDATE remote_tbl SET c = c || c RETURNING *) INSERT INTO join_tbl SELECT * FROM async_pt LEFT JOIN t ON (async_pt.a = t.a AND async_pt.b = t.b) WHERE async_pt.b === 505; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------------------------------- Insert on public.join_tbl @@ -11835,6 +12242,7 @@ WITH t AS (UPDATE remote_tbl SET c = c || c RETURNING *) INSERT INTO join_tbl SELECT * FROM async_pt LEFT JOIN t ON (async_pt.a = t.a AND async_pt.b = t.b) WHERE async_pt.b === 505; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM join_tbl ORDER BY a1; a1 | b1 | c1 | a2 | b2 | c2 ------+-----+------+------+-----+-------- @@ -11930,6 +12338,7 @@ -- ReScanForeignScan CREATE TABLE base_tbl (a int, b int); INSERT INTO base_tbl VALUES (1, 11), (2, 22), (3, 33); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE FOREIGN TABLE foreign_tbl (b int) SERVER loopback OPTIONS (table_name 'base_tbl'); CREATE FOREIGN TABLE foreign_tbl2 () INHERITS (foreign_tbl) @@ -12046,6 +12455,7 @@ pg_stat_get_activity(pg_backend_pid()))))::integer) || '.' || to_hex(pg_backend_pid()) for current_setting('max_identifier_length')::int); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 1 @@ -12188,6 +12598,7 @@ CREATE FOREIGN TABLE analyze_ftable (id int, a text, b bigint) SERVER loopback OPTIONS (table_name 'analyze_rtable1'); INSERT INTO analyze_table (SELECT x FROM generate_series(1,1000) x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE analyze_table; SET default_statistics_target = 10; ANALYZE analyze_table;