diff -U3 /tmp/cirrus-ci-build/contrib/file_fdw/expected/file_fdw.out /tmp/cirrus-ci-build/build/testrun/file_fdw/regress/results/file_fdw.out --- /tmp/cirrus-ci-build/contrib/file_fdw/expected/file_fdw.out 2024-03-27 22:35:12.746855000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/file_fdw/regress/results/file_fdw.out 2024-03-27 22:53:11.077149000 +0000 @@ -118,6 +118,7 @@ CREATE FOREIGN TABLE header_match ("1" int, foo text) SERVER file_server OPTIONS (format 'csv', filename :'filename', delimiter ',', header 'match'); SELECT * FROM header_match; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree 1 | foo ---+----- 1 | bar @@ -126,6 +127,7 @@ CREATE FOREIGN TABLE header_doesnt_match (a int, foo text) SERVER file_server OPTIONS (format 'csv', filename :'filename', delimiter ',', header 'match'); SELECT * FROM header_doesnt_match; -- ERROR +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: column name mismatch in header line field 1: got "1", expected "a" CONTEXT: COPY header_doesnt_match, line 1: "1,foo" -- per-column options tests @@ -138,10 +140,12 @@ ) SERVER file_server OPTIONS (format 'text', filename :'filename', null 'NULL'); SELECT * FROM text_csv; -- ERROR +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: COPY FORCE_NOT_NULL requires CSV mode ALTER FOREIGN TABLE text_csv OPTIONS (SET format 'csv'); \pset null _null_ SELECT * FROM text_csv; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree word1 | word2 | word3 | word4 -------+--------+--------+-------- AAA | aaa | 123 | @@ -180,6 +184,7 @@ ERROR: invalid option "force_null" -- basic query tests SELECT * FROM agg_text WHERE b > 10.0 ORDER BY a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b -----+-------- 42 | 324.78 @@ -187,6 +192,7 @@ (2 rows) SELECT * FROM agg_csv ORDER BY a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b -----+--------- 0 | 0.09561 @@ -195,6 +201,7 @@ (3 rows) SELECT * FROM agg_csv c JOIN agg_text t ON (t.a = c.a) ORDER BY c.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | a | b -----+---------+-----+--------- 0 | 0.09561 | 0 | 0.09561 @@ -204,17 +211,20 @@ -- error context report tests SELECT * FROM agg_bad; -- ERROR +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: invalid input syntax for type real: "aaa" CONTEXT: COPY agg_bad, line 3, column b: "aaa" -- misc query tests \t on SELECT explain_filter('EXPLAIN (VERBOSE, COSTS FALSE) SELECT * FROM agg_csv'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Foreign Scan on public.agg_csv Output: a, b Foreign File: .../agg.csv \t off PREPARE st(int) AS SELECT * FROM agg_csv WHERE a = $1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree EXECUTE st(100); a | b -----+-------- @@ -230,6 +240,7 @@ DEALLOCATE st; -- tableoid SELECT tableoid::regclass, b FROM agg_csv; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree tableoid | b ----------+--------- agg_csv | 99.097 @@ -239,28 +250,27 @@ -- updates aren't supported INSERT INTO agg_csv VALUES(1,2.0); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: cannot insert into foreign table "agg_csv" UPDATE agg_csv SET a = 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: cannot update foreign table "agg_csv" DELETE FROM agg_csv WHERE a = 100; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: cannot delete from foreign table "agg_csv" TRUNCATE agg_csv; ERROR: cannot truncate foreign table "agg_csv" -- but this should be allowed SELECT * FROM agg_csv FOR UPDATE; - a | b ------+--------- - 100 | 99.097 - 0 | 0.09561 - 42 | 324.78 -(3 rows) - +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +ERROR: could not find junk ctid1 column -- copy from isn't supported either COPY agg_csv FROM STDIN; ERROR: cannot insert into foreign table "agg_csv" -- constraint exclusion tests \t on SELECT explain_filter('EXPLAIN (VERBOSE, COSTS FALSE) SELECT * FROM agg_csv WHERE a < 0'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Foreign Scan on public.agg_csv Output: a, b Filter: (agg_csv.a < 0) @@ -268,6 +278,7 @@ \t off SELECT * FROM agg_csv WHERE a < 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+--- (0 rows) @@ -275,12 +286,14 @@ SET constraint_exclusion = 'on'; \t on SELECT explain_filter('EXPLAIN (VERBOSE, COSTS FALSE) SELECT * FROM agg_csv WHERE a < 0'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Result Output: a, b One-Time Filter: false \t off SELECT * FROM agg_csv WHERE a < 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+--- (0 rows) @@ -298,6 +311,7 @@ (3 rows) SELECT tableoid::regclass, * FROM agg_csv; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree tableoid | a | b ----------+-----+--------- agg_csv | 100 | 99.097 @@ -341,6 +355,7 @@ (2 rows) SELECT tableoid::regclass, * FROM p1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree tableoid | a | b ----------+---+----- p1 | 1 | foo @@ -368,6 +383,7 @@ (4 rows) SELECT tableoid::regclass, * FROM p1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree tableoid | a | b ----------+---+----- p1 | 1 | foo @@ -397,6 +413,7 @@ (5 rows) SELECT tableoid::regclass, * FROM p1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree tableoid | a | b ----------+---+----- p1 | 1 | foo @@ -417,6 +434,7 @@ CREATE FOREIGN TABLE gft1 (a int, b text, c text GENERATED ALWAYS AS ('foo') STORED) SERVER file_server OPTIONS (format 'csv', filename :'filename', delimiter ','); SELECT a, c FROM gft1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | c ---+-------- 1 | _null_ @@ -433,6 +451,7 @@ ) SERVER file_server OPTIONS (format 'csv', filename :'filename', default '\D'); SELECT id, text_value, ts_value FROM copy_default; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id | text_value | ts_value ----+------------+-------------------------- 1 | value | Mon Jul 04 00:00:00 2022 @@ -444,6 +463,7 @@ -- privilege tests SET ROLE regress_file_fdw_superuser; SELECT * FROM agg_text ORDER BY a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b -----+--------- 0 | 0.09561 @@ -454,6 +474,7 @@ SET ROLE regress_file_fdw_user; SELECT * FROM agg_text ORDER BY a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b -----+--------- 0 | 0.09561 @@ -464,10 +485,12 @@ SET ROLE regress_no_priv_user; SELECT * FROM agg_text ORDER BY a; -- ERROR +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for foreign table agg_text SET ROLE regress_file_fdw_user; \t on SELECT explain_filter('EXPLAIN (VERBOSE, COSTS FALSE) SELECT * FROM agg_text WHERE a > 0'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Foreign Scan on public.agg_text Output: a, b Filter: (agg_text.a > 0) @@ -477,6 +500,7 @@ -- file FDW allows foreign tables to be accessed without user mapping DROP USER MAPPING FOR regress_file_fdw_user SERVER file_server; SELECT * FROM agg_text ORDER BY a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b -----+--------- 0 | 0.09561