diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/test_setup.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/test_setup.out --- /tmp/cirrus-ci-build/src/test/regress/expected/test_setup.out 2024-03-19 15:41:21.046043000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/test_setup.out 2024-03-19 15:51:11.305207000 +0000 @@ -34,6 +34,7 @@ ('ab'), ('abcd'), ('abcd '); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree VACUUM CHAR_TBL; CREATE TABLE FLOAT8_TBL(f1 float8); INSERT INTO FLOAT8_TBL(f1) VALUES @@ -42,6 +43,7 @@ ('-1004.30'), ('-1.2345678901234e+200'), ('-1.2345678901234e-200'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree VACUUM FLOAT8_TBL; CREATE TABLE INT2_TBL(f1 int2); INSERT INTO INT2_TBL(f1) VALUES @@ -50,6 +52,7 @@ (' -1234'), ('32767'), -- largest and smallest values ('-32767'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree VACUUM INT2_TBL; CREATE TABLE INT4_TBL(f1 int4); INSERT INTO INT4_TBL(f1) VALUES @@ -58,6 +61,7 @@ (' -123456'), ('2147483647'), -- largest and smallest values ('-2147483647'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree VACUUM INT4_TBL; CREATE TABLE INT8_TBL(q1 int8, q2 int8); INSERT INTO INT8_TBL VALUES @@ -66,6 +70,7 @@ ('4567890123456789','123'), (+4567890123456789,'4567890123456789'), ('+4567890123456789','-4567890123456789'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree VACUUM INT8_TBL; CREATE TABLE POINT_TBL(f1 point); INSERT INTO POINT_TBL(f1) VALUES @@ -79,11 +84,13 @@ ('(Inf,1e+300)'), -- Transposed (' ( Nan , NaN ) '), ('10.0,10.0'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- We intentionally don't vacuum point_tbl here; geometry depends on that CREATE TABLE TEXT_TBL (f1 text); INSERT INTO TEXT_TBL VALUES ('doh!'), ('hi de ho neighbor'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree VACUUM TEXT_TBL; CREATE TABLE VARCHAR_TBL(f1 varchar(4)); INSERT INTO VARCHAR_TBL (f1) VALUES @@ -91,6 +98,7 @@ ('ab'), ('abcd'), ('abcd '); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree VACUUM VARCHAR_TBL; CREATE TABLE onek ( unique1 int4, @@ -180,6 +188,7 @@ SELECT * FROM ONLY road WHERE name ~ 'I- .*'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree VACUUM ANALYZE ihighway; CREATE TABLE shighway ( surface text @@ -188,6 +197,7 @@ SELECT *, 'asphalt' FROM ONLY road WHERE name ~ 'State Hwy.*'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree VACUUM ANALYZE shighway; -- -- We must have some enum type in the database for opr_sanity and type_sanity. diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/boolean.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/boolean.out --- /tmp/cirrus-ci-build/src/test/regress/expected/boolean.out 2024-03-19 15:41:21.016988000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/boolean.out 2024-03-19 15:51:11.513336000 +0000 @@ -156,6 +156,7 @@ (1 row) SELECT * FROM pg_input_error_info('junk', 'bool'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code -----------------------------------------------+--------+------+---------------- invalid input syntax for type boolean: "junk" | | | 22P02 diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/char_1.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/char.out --- /tmp/cirrus-ci-build/src/test/regress/expected/char_1.out 2024-03-19 15:41:21.017280000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/char.out 2024-03-19 15:51:11.413521000 +0000 @@ -133,6 +133,7 @@ (1 row) SELECT * FROM pg_input_error_info('abcde', 'char(4)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code --------------------------------------+--------+------+---------------- value too long for type character(4) | | | 22001 diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/name.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/name.out --- /tmp/cirrus-ci-build/src/test/regress/expected/name.out 2024-03-19 15:41:21.019809000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/name.out 2024-03-19 15:51:11.438252000 +0000 @@ -163,6 +163,7 @@ SELECT parse_ident(E'X\rXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'); ERROR: string is not a valid identifier: "X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" SELECT length(a[1]), length(a[2]) from parse_ident('"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx".yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy') as a ; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree length | length --------+-------- 414 | 289 diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/varchar_1.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/varchar.out --- /tmp/cirrus-ci-build/src/test/regress/expected/varchar_1.out 2024-03-19 15:41:21.046950000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/varchar.out 2024-03-19 15:51:11.408737000 +0000 @@ -125,6 +125,7 @@ (1 row) SELECT * FROM pg_input_error_info('abcde', 'varchar(4)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code ----------------------------------------------+--------+------+---------------- value too long for type character varying(4) | | | 22001 diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/text.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/text.out --- /tmp/cirrus-ci-build/src/test/regress/expected/text.out 2024-03-19 15:41:21.046065000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/text.out 2024-03-19 15:51:11.463904000 +0000 @@ -101,6 +101,7 @@ (1 row) select i, left('ahoj', i), right('ahoj', i) from generate_series(-5, 5) t(i) order by i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | left | right ----+------+------- -5 | | @@ -328,6 +329,7 @@ -- variadic argument allows simulating more than FUNC_MAX_ARGS parameters select format(string_agg('%s',','), variadic array_agg(i)) from generate_series(1,200) g(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree format --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200 diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/int2.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/int2.out --- /tmp/cirrus-ci-build/src/test/regress/expected/int2.out 2024-03-19 15:41:21.018917000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/int2.out 2024-03-19 15:51:11.463658000 +0000 @@ -65,6 +65,7 @@ (1 row) SELECT * FROM pg_input_error_info('50000', 'int2'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code -------------------------------------------------+--------+------+---------------- value "50000" is out of range for type smallint | | | 22003 @@ -78,12 +79,14 @@ (1 row) SELECT * FROM pg_input_error_info('1 asdf', 'int2vector'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code ------------------------------------------------+--------+------+---------------- invalid input syntax for type smallint: "asdf" | | | 22P02 (1 row) SELECT * FROM pg_input_error_info('50000', 'int2vector'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code -------------------------------------------------+--------+------+---------------- value "50000" is out of range for type smallint | | | 22003 @@ -317,6 +320,7 @@ (0.5::float8), (1.5::float8), (2.5::float8)) t(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | int2_value ------+------------ -2.5 | -2 @@ -337,6 +341,7 @@ (0.5::numeric), (1.5::numeric), (2.5::numeric)) t(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | int2_value ------+------------ -2.5 | -3 diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/int4.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/int4.out --- /tmp/cirrus-ci-build/src/test/regress/expected/int4.out 2024-03-19 15:41:21.018930000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/int4.out 2024-03-19 15:51:11.528460000 +0000 @@ -65,6 +65,7 @@ (1 row) SELECT * FROM pg_input_error_info('1000000000000', 'int4'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code --------------------------------------------------------+--------+------+---------------- value "1000000000000" is out of range for type integer | | | 22003 @@ -379,6 +380,7 @@ (0.5::float8), (1.5::float8), (2.5::float8)) t(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | int4_value ------+------------ -2.5 | -2 @@ -399,6 +401,7 @@ (0.5::numeric), (1.5::numeric), (2.5::numeric)) t(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | int4_value ------+------------ -2.5 | -3 @@ -419,6 +422,7 @@ ((-2147483648)::int4, 1::int4), ((-2147483648)::int4, 2147483647::int4), ((-2147483648)::int4, 1073741824::int4)) AS v(a, b); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | gcd | gcd | gcd | gcd -------------+------------+------------+------------+------------+------------ 0 | 0 | 0 | 0 | 0 | 0 @@ -442,6 +446,7 @@ (330::int4, 462::int4), (-330::int4, 462::int4), ((-2147483648)::int4, 0::int4)) AS v(a, b); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | lcm | lcm | lcm | lcm -------------+-----+------+------+------+------ 0 | 0 | 0 | 0 | 0 | 0 diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/int8.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/int8.out --- /tmp/cirrus-ci-build/src/test/regress/expected/int8.out 2024-03-19 15:41:21.018951000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/int8.out 2024-03-19 15:51:11.534116000 +0000 @@ -62,6 +62,7 @@ (1 row) SELECT * FROM pg_input_error_info('10000000000000000000', 'int8'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code --------------------------------------------------------------+--------+------+---------------- value "10000000000000000000" is out of range for type bigint | | | 22003 @@ -796,6 +797,7 @@ -- generate_series SELECT * FROM generate_series('+4567890123456789'::int8, '+4567890123456799'::int8); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree generate_series ------------------ 4567890123456789 @@ -812,8 +814,10 @@ (11 rows) SELECT * FROM generate_series('+4567890123456789'::int8, '+4567890123456799'::int8, 0); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: step size cannot equal zero SELECT * FROM generate_series('+4567890123456789'::int8, '+4567890123456799'::int8, 2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree generate_series ------------------ 4567890123456789 @@ -877,6 +881,7 @@ (0.5::float8), (1.5::float8), (2.5::float8)) t(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | int8_value ------+------------ -2.5 | -2 @@ -897,6 +902,7 @@ (0.5::numeric), (1.5::numeric), (2.5::numeric)) t(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | int8_value ------+------------ -2.5 | -3 @@ -917,6 +923,7 @@ ((-9223372036854775808)::int8, 1::int8), ((-9223372036854775808)::int8, 9223372036854775807::int8), ((-9223372036854775808)::int8, 4611686018427387904::int8)) AS v(a, b); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | gcd | gcd | gcd | gcd ----------------------+---------------------+---------------------+---------------------+---------------------+--------------------- 0 | 0 | 0 | 0 | 0 | 0 @@ -940,6 +947,7 @@ (288484263558::int8, 29893644334::int8), (-288484263558::int8, 29893644334::int8), ((-9223372036854775808)::int8, 0::int8)) AS v(a, b); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | lcm | lcm | lcm | lcm ----------------------+-------------+------------------+------------------+------------------+------------------ 0 | 0 | 0 | 0 | 0 | 0 diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/oid.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/oid.out --- /tmp/cirrus-ci-build/src/test/regress/expected/oid.out 2024-03-19 15:41:21.042894000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/oid.out 2024-03-19 15:51:11.441307000 +0000 @@ -79,6 +79,7 @@ (1 row) SELECT * FROM pg_input_error_info('01XYZ', 'oid'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code --------------------------------------------+--------+------+---------------- invalid input syntax for type oid: "01XYZ" | | | 22P02 @@ -91,6 +92,7 @@ (1 row) SELECT * FROM pg_input_error_info('9999999999', 'oid'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code -------------------------------------------------+--------+------+---------------- value "9999999999" is out of range for type oid | | | 22003 @@ -110,6 +112,7 @@ (1 row) SELECT * FROM pg_input_error_info('01 01XYZ', 'oidvector'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code ------------------------------------------+--------+------+---------------- invalid input syntax for type oid: "XYZ" | | | 22P02 @@ -122,6 +125,7 @@ (1 row) SELECT * FROM pg_input_error_info('01 9999999999', 'oidvector'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code -------------------------------------------------+--------+------+---------------- value "9999999999" is out of range for type oid | | | 22003 diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/float4.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/float4.out --- /tmp/cirrus-ci-build/src/test/regress/expected/float4.out 2024-03-19 15:41:21.018160000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/float4.out 2024-03-19 15:51:11.515467000 +0000 @@ -101,6 +101,7 @@ (1 row) SELECT * FROM pg_input_error_info('1e400', 'float4'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code ---------------------------------------+--------+------+---------------- "1e400" is out of range for type real | | | 22003 @@ -520,6 +521,7 @@ from (select bits::integer::xfloat4::float4 as flt from testdata offset 0) s; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ibits | flt ------------+--------------- \x00000001 | 1e-45 @@ -710,6 +712,7 @@ from (select bits::integer::xfloat4::float4 as flt from testdata offset 0) s; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ibits | flt | r_flt | obits | correct ------------+----------------+----------------+------------+--------- \x00000000 | 0 | 0 | \x00000000 | t diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/float8.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/float8.out --- /tmp/cirrus-ci-build/src/test/regress/expected/float8.out 2024-03-19 15:41:21.018203000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/float8.out 2024-03-19 15:51:11.553233000 +0000 @@ -88,6 +88,7 @@ (1 row) SELECT * FROM pg_input_error_info('1e4000', 'float8'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code ----------------------------------------------------+--------+------+---------------- "1e4000" is out of range for type double precision | | | 22003 @@ -803,6 +804,7 @@ (1.2e-17), (2.3e-13), (1.2e-9), (0.45), (1.1), (2.1), (3.4), (6), (28), (float8 'infinity'), (float8 'nan')) AS t(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | erf | erfc -----------+----------------------+--------------------- -Infinity | -1 | 2 @@ -914,6 +916,7 @@ sind(x) IN (-1,-0.5,0,0.5,1) AS sind_exact FROM (VALUES (0), (30), (90), (150), (180), (210), (270), (330), (360)) AS t(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | sind | sind_exact -----+------+------------ 0 | 0 | t @@ -932,6 +935,7 @@ cosd(x) IN (-1,-0.5,0,0.5,1) AS cosd_exact FROM (VALUES (0), (60), (90), (120), (180), (240), (270), (300), (360)) AS t(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | cosd | cosd_exact -----+------+------------ 0 | 1 | t @@ -954,6 +958,7 @@ 1,'Infinity'::float8) AS cotd_exact FROM (VALUES (0), (45), (90), (135), (180), (225), (270), (315), (360)) AS t(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | tand | tand_exact | cotd | cotd_exact -----+-----------+------------+-----------+------------ 0 | 0 | t | Infinity | t @@ -973,6 +978,7 @@ acosd(x), acosd(x) IN (0,60,90,120,180) AS acosd_exact FROM (VALUES (-1), (-0.5), (0), (0.5), (1)) AS t(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | asind | asind_exact | acosd | acosd_exact ------+-------+-------------+-------+------------- -1 | -90 | t | 180 | t @@ -987,6 +993,7 @@ atand(x) IN (-90,-45,0,45,90) AS atand_exact FROM (VALUES ('-Infinity'::float8), (-1), (0), (1), ('Infinity'::float8)) AS t(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | atand | atand_exact -----------+-------+------------- -Infinity | -90 | t @@ -1001,6 +1008,7 @@ atan2d(y, x) IN (-90,0,90,180) AS atan2d_exact FROM (SELECT 10*cosd(a), 10*sind(a) FROM generate_series(0, 360, 90) AS t(a)) AS t(x,y); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | y | atan2d | atan2d_exact -----+-----+--------+-------------- 10 | 0 | 0 | t @@ -1051,6 +1059,7 @@ from (select bits::bigint::xfloat8::float8 as flt from testdata offset 0) s; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ibits | flt --------------------+------------------------- \x0000000000000001 | 5e-324 @@ -1220,6 +1229,7 @@ from (select bits::bigint::xfloat8::float8 as flt from testdata offset 0) s; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ibits | flt | r_flt | obits | correct --------------------+-------------------------+-------------------------+--------------------+--------- \x0000000000000000 | 0 | 0 | \x0000000000000000 | t diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/bit.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/bit.out --- /tmp/cirrus-ci-build/src/test/regress/expected/bit.out 2024-03-19 15:41:21.016967000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/bit.out 2024-03-19 15:51:11.561770000 +0000 @@ -496,9 +496,13 @@ CREATE TABLE BIT_SHIFT_TABLE(b BIT(16)); INSERT INTO BIT_SHIFT_TABLE VALUES (B'1101100000000000'); INSERT INTO BIT_SHIFT_TABLE SELECT b>>1 FROM BIT_SHIFT_TABLE; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO BIT_SHIFT_TABLE SELECT b>>2 FROM BIT_SHIFT_TABLE; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO BIT_SHIFT_TABLE SELECT b>>4 FROM BIT_SHIFT_TABLE; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO BIT_SHIFT_TABLE SELECT b>>8 FROM BIT_SHIFT_TABLE; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT POSITION(B'1101' IN b), POSITION(B'11011' IN b), b @@ -614,9 +618,13 @@ CREATE TABLE VARBIT_SHIFT_TABLE(v BIT VARYING(20)); INSERT INTO VARBIT_SHIFT_TABLE VALUES (B'11011'); INSERT INTO VARBIT_SHIFT_TABLE SELECT CAST(v || B'0' AS BIT VARYING(6)) >>1 FROM VARBIT_SHIFT_TABLE; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO VARBIT_SHIFT_TABLE SELECT CAST(v || B'00' AS BIT VARYING(8)) >>2 FROM VARBIT_SHIFT_TABLE; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO VARBIT_SHIFT_TABLE SELECT CAST(v || B'0000' AS BIT VARYING(12)) >>4 FROM VARBIT_SHIFT_TABLE; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO VARBIT_SHIFT_TABLE SELECT CAST(v || B'00000000' AS BIT VARYING(20)) >>8 FROM VARBIT_SHIFT_TABLE; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT POSITION(B'1101' IN v), POSITION(B'11011' IN v), v @@ -748,6 +756,10 @@ b4 bit varying(5) DEFAULT B'0101' ); \d bit_defaults +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 Table "public.bit_defaults" Column | Type | Collation | Nullable | Default --------+----------------+-----------+----------+--------------------- @@ -771,6 +783,7 @@ (1 row) SELECT * FROM pg_input_error_info('01010001', 'bit(10)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code -------------------------------------------------+--------+------+---------------- bit string length 8 does not match type bit(10) | | | 22026 @@ -783,6 +796,7 @@ (1 row) SELECT * FROM pg_input_error_info('01010Z01', 'bit(8)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code ---------------------------------+--------+------+---------------- "Z" is not a valid binary digit | | | 22P02 @@ -795,6 +809,7 @@ (1 row) SELECT * FROM pg_input_error_info('x01010Z01', 'bit(32)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code --------------------------------------+--------+------+---------------- "Z" is not a valid hexadecimal digit | | | 22P02 @@ -807,6 +822,7 @@ (1 row) SELECT * FROM pg_input_error_info('01010Z01', 'varbit'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code ---------------------------------+--------+------+---------------- "Z" is not a valid binary digit | | | 22P02 @@ -819,6 +835,7 @@ (1 row) SELECT * FROM pg_input_error_info('x01010Z01', 'varbit'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code --------------------------------------+--------+------+---------------- "Z" is not a valid hexadecimal digit | | | 22P02 diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/numeric.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/numeric.out --- /tmp/cirrus-ci-build/src/test/regress/expected/numeric.out 2024-03-19 15:41:21.042532000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/numeric.out 2024-03-19 15:51:11.940117000 +0000 @@ -505,6 +505,7 @@ DELETE FROM num_result; INSERT INTO num_result SELECT t1.id, t2.id, t1.val + t2.val FROM num_data t1, num_data t2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT t1.id1, t1.id2, t1.result, t2.expected FROM num_result t1, num_exp_add t2 WHERE t1.id1 = t2.id1 AND t1.id2 = t2.id2 @@ -516,6 +517,7 @@ DELETE FROM num_result; INSERT INTO num_result SELECT t1.id, t2.id, round(t1.val + t2.val, 10) FROM num_data t1, num_data t2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT t1.id1, t1.id2, t1.result, round(t2.expected, 10) as expected FROM num_result t1, num_exp_add t2 WHERE t1.id1 = t2.id1 AND t1.id2 = t2.id2 @@ -530,6 +532,7 @@ DELETE FROM num_result; INSERT INTO num_result SELECT t1.id, t2.id, t1.val - t2.val FROM num_data t1, num_data t2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT t1.id1, t1.id2, t1.result, t2.expected FROM num_result t1, num_exp_sub t2 WHERE t1.id1 = t2.id1 AND t1.id2 = t2.id2 @@ -541,6 +544,7 @@ DELETE FROM num_result; INSERT INTO num_result SELECT t1.id, t2.id, round(t1.val - t2.val, 40) FROM num_data t1, num_data t2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT t1.id1, t1.id2, t1.result, round(t2.expected, 40) FROM num_result t1, num_exp_sub t2 WHERE t1.id1 = t2.id1 AND t1.id2 = t2.id2 @@ -555,6 +559,7 @@ DELETE FROM num_result; INSERT INTO num_result SELECT t1.id, t2.id, t1.val * t2.val FROM num_data t1, num_data t2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT t1.id1, t1.id2, t1.result, t2.expected FROM num_result t1, num_exp_mul t2 WHERE t1.id1 = t2.id1 AND t1.id2 = t2.id2 @@ -566,6 +571,7 @@ DELETE FROM num_result; INSERT INTO num_result SELECT t1.id, t2.id, round(t1.val * t2.val, 30) FROM num_data t1, num_data t2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT t1.id1, t1.id2, t1.result, round(t2.expected, 30) as expected FROM num_result t1, num_exp_mul t2 WHERE t1.id1 = t2.id1 AND t1.id2 = t2.id2 @@ -581,6 +587,7 @@ INSERT INTO num_result SELECT t1.id, t2.id, t1.val / t2.val FROM num_data t1, num_data t2 WHERE t2.val != '0.0'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT t1.id1, t1.id2, t1.result, t2.expected FROM num_result t1, num_exp_div t2 WHERE t1.id1 = t2.id1 AND t1.id2 = t2.id2 @@ -593,6 +600,7 @@ INSERT INTO num_result SELECT t1.id, t2.id, round(t1.val / t2.val, 80) FROM num_data t1, num_data t2 WHERE t2.val != '0.0'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT t1.id1, t1.id2, t1.result, round(t2.expected, 80) as expected FROM num_result t1, num_exp_div t2 WHERE t1.id1 = t2.id1 AND t1.id2 = t2.id2 @@ -607,6 +615,7 @@ DELETE FROM num_result; INSERT INTO num_result SELECT id, 0, SQRT(ABS(val)) FROM num_data; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT t1.id1, t1.result, t2.expected FROM num_result t1, num_exp_sqrt t2 WHERE t1.id1 = t2.id @@ -622,6 +631,7 @@ INSERT INTO num_result SELECT id, 0, LN(ABS(val)) FROM num_data WHERE val != '0.0'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT t1.id1, t1.result, t2.expected FROM num_result t1, num_exp_ln t2 WHERE t1.id1 = t2.id @@ -637,6 +647,7 @@ INSERT INTO num_result SELECT id, 0, LOG(numeric '10', ABS(val)) FROM num_data WHERE val != '0.0'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT t1.id1, t1.result, t2.expected FROM num_result t1, num_exp_log10 t2 WHERE t1.id1 = t2.id @@ -652,6 +663,7 @@ INSERT INTO num_result SELECT id, 0, POWER(numeric '10', LN(ABS(round(val,200)))) FROM num_data WHERE val != '0.0'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT t1.id1, t1.result, t2.expected FROM num_result t1, num_exp_power_10_ln t2 WHERE t1.id1 = t2.id @@ -672,6 +684,7 @@ x1 - x2 AS diff, x1 * x2 AS prod FROM v AS v1(x1), v AS v2(x2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x1 | x2 | sum | diff | prod -----------+-----------+-----------+-----------+----------- 0 | 0 | 0 | 0 | 0 @@ -732,6 +745,7 @@ x1 % x2 AS mod, div(x1, x2) AS div FROM v AS v1(x1), v AS v2(x2) WHERE x2 != 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x1 | x2 | quot | mod | div -----------+-----------+-------------------------+------+----------- 0 | 1 | 0.00000000000000000000 | 0 | 0 @@ -818,6 +832,7 @@ (VALUES('0'::numeric),('1'),('-1'),('4.2'),('-7.777'),('inf'),('-inf'),('nan')) SELECT x, -x as minusx, abs(x), floor(x), ceil(x), sign(x), numeric_inc(x) as inc FROM v; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | minusx | abs | floor | ceil | sign | inc -----------+-----------+----------+-----------+-----------+------+----------- 0 | 0 | 0 | 0 | 0 | 0 | 1 @@ -834,6 +849,7 @@ (VALUES('0'::numeric),('1'),('-1'),('4.2'),('-7.777'),('inf'),('-inf'),('nan')) SELECT x, round(x), round(x,1) as round1, trunc(x), trunc(x,1) as trunc1 FROM v; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | round | round1 | trunc | trunc1 -----------+-----------+-----------+-----------+----------- 0 | 0 | 0.0 | 0 | 0.0 @@ -853,6 +869,7 @@ ('inf'),('-inf'),('nan')) SELECT substring(x::text, 1, 32) FROM v ORDER BY x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree substring ---------------------------------- -Infinity @@ -874,6 +891,7 @@ (VALUES('0'::numeric),('1'),('4.2'),('inf'),('nan')) SELECT x, sqrt(x) FROM v; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | sqrt ----------+------------------- 0 | 0.000000000000000 @@ -894,6 +912,7 @@ log10(x), ln(x) FROM v; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | log | log10 | ln ----------+--------------------+--------------------+-------------------- 1 | 0.0000000000000000 | 0.0000000000000000 | 0.0000000000000000 @@ -913,6 +932,7 @@ SELECT x1, x2, log(x1, x2) FROM v AS v1(x1), v AS v2(x2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x1 | x2 | log ----------+----------+-------------------- 2 | 2 | 1.0000000000000000 @@ -952,6 +972,7 @@ SELECT x1, x2, power(x1, x2) FROM v AS v1(x1), v AS v2(x2) WHERE x1 != 0 OR x2 >= 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x1 | x2 | power ----------+----------+-------------------- 0 | 0 | 1.0000000000000000 @@ -1331,6 +1352,7 @@ round((1.5 * 10 ^ i)::numeric, -i), round((2.5 * 10 ^ i)::numeric, -i) FROM generate_series(-5,5) AS t(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree pow | round | round | round | round | round | round -----+----------+----------+----------+---------+---------+--------- -5 | -0.00003 | -0.00002 | -0.00001 | 0.00001 | 0.00002 | 0.00003 @@ -1438,6 +1460,7 @@ SELECT x, width_bucket(x::float8, 10, 100, 9) as flt, width_bucket(x::numeric, 10, 100, 9) as num FROM generate_series(0, 110, 10) x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | flt | num -----+-----+----- 0 | 0 | 0 @@ -1457,6 +1480,7 @@ SELECT x, width_bucket(x::float8, 100, 10, 9) as flt, width_bucket(x::numeric, 100, 10, 9) as num FROM generate_series(0, 110, 10) x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | flt | num -----+-----+----- 0 | 10 | 10 @@ -1516,6 +1540,7 @@ (0, 0, 1, 2147483647), (1, 1, 0, 2147483647) ) as sample(oper, low, high, cnt); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree oper | low | high | cnt | width_bucket -------------+-------------+-------------+------------+-------------- 10.5 | -1.797e+308 | 1.797e+308 | 1 | 1 @@ -1896,6 +1921,7 @@ to_char(val::float8, '9.999EEEE') as float8, to_char(val::float4, '9.999EEEE') as float4 FROM v; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree val | numeric | float8 | float4 ------------+------------+------------+------------ 0 | 0.000e+00 | 0.000e+00 | 0.000e+00 @@ -1913,6 +1939,7 @@ SELECT exp, to_char(('1.2345e'||exp)::numeric, '9.999EEEE') as numeric FROM v; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree exp | numeric --------+---------------- -16379 | 1.235e-16379 @@ -1946,6 +1973,7 @@ to_char(val::float8, 'MI9999999999.99') as float8, to_char(val::float4, 'MI9999999999.99') as float4 FROM v; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree val | numeric | float8 | float4 ------------+----------------+----------------+---------------- 0 | .00 | .00 | .00 @@ -1964,6 +1992,7 @@ to_char(val::float8, 'MI99.99') as float8, to_char(val::float4, 'MI99.99') as float4 FROM v; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree val | numeric | float8 | float4 ------------+---------+--------+-------- 0 | .00 | .00 | .00 @@ -2383,6 +2412,7 @@ (1 row) SELECT * FROM pg_input_error_info('1e400000', 'numeric'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code --------------------------------+--------+------+---------------- value overflows numeric format | | | 22003 @@ -2401,12 +2431,14 @@ (1 row) SELECT * FROM pg_input_error_info('1234.567', 'numeric(7,4)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code ------------------------+-----------------------------------------------------------------------------------+------+---------------- numeric field overflow | A field with precision 7, scale 4 must round to an absolute value less than 10^3. | | 22003 (1 row) SELECT * FROM pg_input_error_info('0x1234.567', 'numeric'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code -----------------------------------------------------+--------+------+---------------- invalid input syntax for type numeric: "0x1234.567" | | | 22P02 @@ -2423,6 +2455,10 @@ millionths numeric(3, 6) ); \d num_typemod_test +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 Table "public.num_typemod_test" Column | Type | Collation | Nullable | Default -------------+---------------+-----------+----------+--------- @@ -2755,6 +2791,7 @@ -- integer powers of 10 select n, 10.0 ^ n as "10^n", (10.0 ^ n) * (10.0 ^ (-n)) = 1 as ok from generate_series(-20, 20) n; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree n | 10^n | ok -----+----------------------------------------+---- -20 | 0.000000000000000000010000000000000000 | t @@ -2984,6 +3021,7 @@ -- Tests for generate_series -- select * from generate_series(0.0::numeric, 4.0::numeric); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree generate_series ----------------- 0.0 @@ -2994,6 +3032,7 @@ (5 rows) select * from generate_series(0.1::numeric, 4.0::numeric, 1.3::numeric); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree generate_series ----------------- 0.1 @@ -3003,6 +3042,7 @@ (4 rows) select * from generate_series(4.0::numeric, -1.5::numeric, -2.2::numeric); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree generate_series ----------------- 4.0 @@ -3012,24 +3052,32 @@ -- Trigger errors select * from generate_series(-100::numeric, 100::numeric, 0::numeric); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: step size cannot equal zero select * from generate_series(-100::numeric, 100::numeric, 'nan'::numeric); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: step size cannot be NaN select * from generate_series('nan'::numeric, 100::numeric, 10::numeric); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: start value cannot be NaN select * from generate_series(0::numeric, 'nan'::numeric, 10::numeric); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: stop value cannot be NaN select * from generate_series('inf'::numeric, 'inf'::numeric, 10::numeric); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: start value cannot be infinity select * from generate_series(0::numeric, 'inf'::numeric, 10::numeric); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: stop value cannot be infinity select * from generate_series(0::numeric, '42'::numeric, '-inf'::numeric); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: step size cannot be infinity -- Checks maximum, output is truncated select (i / (10::numeric ^ 131071))::numeric(1,0) from generate_series(6 * (10::numeric ^ 131071), 9 * (10::numeric ^ 131071), 10::numeric ^ 131071) as a(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree numeric --------- 6 @@ -3040,6 +3088,7 @@ -- Check usage with variables select * from generate_series(1::numeric, 3::numeric) i, generate_series(i,3) j; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | j ---+--- 1 | 1 @@ -3051,6 +3100,7 @@ (6 rows) select * from generate_series(1::numeric, 3::numeric) i, generate_series(1,i) j; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | j ---+--- 1 | 1 @@ -3062,6 +3112,7 @@ (6 rows) select * from generate_series(1::numeric, 3::numeric) i, generate_series(1,5,i) j; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | j ---+--- 1 | 1 @@ -3427,12 +3478,14 @@ -- -- cases that need carry propagation SELECT SUM(9999::numeric) FROM generate_series(1, 100000); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree sum ----------- 999900000 (1 row) SELECT SUM((-9999)::numeric) FROM generate_series(1, 100000); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree sum ------------ -999900000 @@ -3469,6 +3522,7 @@ -- case where sum of squares would overflow but variance does not DELETE FROM num_variance; INSERT INTO num_variance SELECT 9e131071 + x FROM generate_series(1, 5) x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT variance(a) FROM num_variance; variance -------------------- @@ -3502,6 +3556,7 @@ ('inf', '42'), ('inf', 'inf') ) AS v(a, b); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | gcd | gcd | gcd | gcd ----------+-----------+---------+---------+---------+--------- 0 | 0 | 0 | 0 | 0 | 0 @@ -3530,6 +3585,7 @@ ('inf', '42'), ('inf', 'inf') ) AS v(a, b); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | lcm | lcm | lcm | lcm ----------+-----------+--------------+--------------+--------------+-------------- 0 | 0 | 0 | 0 | 0 | 0 diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/txid.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/txid.out --- /tmp/cirrus-ci-build/src/test/regress/expected/txid.out 2024-03-19 15:41:21.046582000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/txid.out 2024-03-19 15:51:11.449966000 +0000 @@ -103,6 +103,7 @@ select id, txid_visible_in_snapshot(id, snap) from snapshot_test, generate_series(11, 21) id where nr = 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id | txid_visible_in_snapshot ----+-------------------------- 11 | t @@ -122,6 +123,7 @@ select id, txid_visible_in_snapshot(id, snap) from snapshot_test, generate_series(90, 160) id where nr = 4; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id | txid_visible_in_snapshot -----+-------------------------- 90 | t diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/uuid.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/uuid.out --- /tmp/cirrus-ci-build/src/test/regress/expected/uuid.out 2024-03-19 15:41:21.046855000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/uuid.out 2024-03-19 15:51:11.455164000 +0000 @@ -47,6 +47,7 @@ (1 row) SELECT * FROM pg_input_error_info('11', 'uuid'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code ------------------------------------------+--------+------+---------------- invalid input syntax for type uuid: "11" | | | 22P02 @@ -147,12 +148,14 @@ INSERT INTO guid2(guid_field) VALUES('3f3e3c3b3a3039383736353433a2313e'); -- join test SELECT COUNT(*) FROM guid1 g1 INNER JOIN guid2 g2 ON g1.guid_field = g2.guid_field; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 3 (1 row) SELECT COUNT(*) FROM guid1 g1 LEFT JOIN guid2 g2 ON g1.guid_field = g2.guid_field WHERE g2.guid_field IS NULL; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 1 diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/enum.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/enum.out --- /tmp/cirrus-ci-build/src/test/regress/expected/enum.out 2024-03-19 15:41:21.018012000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/enum.out 2024-03-19 15:51:11.575475000 +0000 @@ -38,6 +38,7 @@ (1 row) SELECT * FROM pg_input_error_info('mauve', 'rainbow'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code -----------------------------------------------+--------+------+---------------- invalid input value for enum rainbow: "mauve" | | | 22P02 @@ -45,6 +46,7 @@ \x SELECT * FROM pg_input_error_info(repeat('too_long', 32), 'rainbow'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]--+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- message | invalid input value for enum rainbow: "too_longtoo_longtoo_longtoo_longtoo_longtoo_longtoo_longtoo_longtoo_longtoo_longtoo_longtoo_longtoo_longtoo_longtoo_longtoo_longtoo_longtoo_longtoo_longtoo_longtoo_longtoo_longtoo_longtoo_longtoo_longtoo_longtoo_longtoo_longtoo_longtoo_longtoo_longtoo_long" detail | @@ -228,6 +230,7 @@ -- CREATE TABLE enumtest (col rainbow); INSERT INTO enumtest values ('red'), ('orange'), ('yellow'), ('green'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree COPY enumtest FROM stdin; SELECT * FROM enumtest; col diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/money.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/money.out --- /tmp/cirrus-ci-build/src/test/regress/expected/money.out 2024-03-19 15:41:21.019757000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/money.out 2024-03-19 15:51:11.497275000 +0000 @@ -339,6 +339,7 @@ (1 row) SELECT * FROM pg_input_error_info('\x0001', 'money'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code -----------------------------------------------+--------+------+---------------- invalid input syntax for type money: "\x0001" | | | 22P02 @@ -351,6 +352,7 @@ (1 row) SELECT * FROM pg_input_error_info('192233720368547758.07', 'money'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code --------------------------------------------------------------+--------+------+---------------- value "192233720368547758.07" is out of range for type money | | | 22003 diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/rangetypes.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/rangetypes.out --- /tmp/cirrus-ci-build/src/test/regress/expected/rangetypes.out 2024-03-19 15:41:21.044556000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/rangetypes.out 2024-03-19 15:51:11.871418000 +0000 @@ -189,6 +189,7 @@ (1 row) select * from pg_input_error_info('(1,4', 'int4range'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code ---------------------------------+--------------------------+------+---------------- malformed range literal: "(1,4" | Unexpected end of input. | | 22P02 @@ -201,6 +202,7 @@ (1 row) select * from pg_input_error_info('(4,1)', 'int4range'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code -------------------------------------------------------------------+--------+------+---------------- range lower bound must be less than or equal to range upper bound | | | 22000 @@ -213,6 +215,7 @@ (1 row) select * from pg_input_error_info('(4,zed)', 'int4range'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code ----------------------------------------------+--------+------+---------------- invalid input syntax for type integer: "zed" | | | 22P02 @@ -225,6 +228,7 @@ (1 row) select * from pg_input_error_info('[1,2147483647]', 'int4range'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code ----------------------+--------+------+---------------- integer out of range | | | 22003 @@ -237,6 +241,7 @@ (1 row) select * from pg_input_error_info('[2000-01-01,5874897-12-31]', 'daterange'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code -------------------+--------+------+---------------- date out of range | | | 22008 @@ -627,6 +632,7 @@ set enable_hashjoin=f; set enable_mergejoin=f; select * from numrange_test natural join numrange_test2 order by nr; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree nr ----------- empty @@ -639,6 +645,7 @@ set enable_hashjoin=t; set enable_mergejoin=f; select * from numrange_test natural join numrange_test2 order by nr; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree nr ----------- empty @@ -651,6 +658,7 @@ set enable_hashjoin=f; set enable_mergejoin=t; select * from numrange_test natural join numrange_test2 order by nr; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree nr ----------- empty @@ -847,12 +855,19 @@ create table test_range_gist(ir int4range); create index test_range_gist_idx on test_range_gist using gist (ir); insert into test_range_gist select int4range(g, g+10) from generate_series(1,2000) g; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into test_range_gist select 'empty'::int4range from generate_series(1,500) g; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into test_range_gist select int4range(g, g+10000) from generate_series(1,1000) g; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into test_range_gist select 'empty'::int4range from generate_series(1,500) g; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into test_range_gist select int4range(NULL,g*10,'(]') from generate_series(1,100) g; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into test_range_gist select int4range(g*10,NULL,'(]') from generate_series(1,100) g; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into test_range_gist select int4range(g, g+10) from generate_series(1,2000) g; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- test statistics and selectivity estimation as well -- -- We don't check the accuracy of selectivity estimation, but at least check @@ -1233,12 +1248,19 @@ create table test_range_spgist(ir int4range); create index test_range_spgist_idx on test_range_spgist using spgist (ir); insert into test_range_spgist select int4range(g, g+10) from generate_series(1,2000) g; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into test_range_spgist select 'empty'::int4range from generate_series(1,500) g; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into test_range_spgist select int4range(g, g+10000) from generate_series(1,1000) g; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into test_range_spgist select 'empty'::int4range from generate_series(1,500) g; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into test_range_spgist select int4range(NULL,g*10,'(]') from generate_series(1,100) g; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into test_range_spgist select int4range(g*10,NULL,'(]') from generate_series(1,100) g; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into test_range_spgist select int4range(g, g+10) from generate_series(1,2000) g; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- first, verify non-indexed results SET enable_seqscan = t; SET enable_indexscan = f; @@ -1474,6 +1496,7 @@ create table test_range_elem(i int4); create index test_range_elem_idx on test_range_elem (i); insert into test_range_elem select i from generate_series(1,100) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SET enable_seqscan = f; select count(*) from test_range_elem where i <@ int4range(10,50); count @@ -1747,6 +1770,7 @@ select *, row_to_json(upper(t)) as u from (values (two_ints_range(row(1,2), row(3,4))), (two_ints_range(row(5,6), row(7,8)))) v(t); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree t | u -------------------+--------------- ["(1,2)","(3,4)") | {"a":3,"b":4} @@ -1764,6 +1788,7 @@ create type varbitrange as range (subtype = varbit); set enable_sort = off; -- try to make it pick a hash setop implementation select '(01,10)'::varbitrange except select '(10,11)'::varbitrange; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree varbitrange ------------- (01,10) @@ -1777,6 +1802,7 @@ create function outparam_succeed(i anyrange, out r anyrange, out t text) as $$ select $1, 'foo'::text $$ language sql; select * from outparam_succeed(int4range(1,2)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree r | t -------+----- [1,2) | foo @@ -1786,6 +1812,7 @@ as $$ select array[lower($1), upper($1)], array[upper($1), lower($1)] $$ language sql; select * from outparam2_succeed(int4range(1,11)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree lu | ul --------+-------- {1,11} | {11,1} @@ -1795,6 +1822,7 @@ create function outparam_succeed2(i anyrange, out r anyarray, out t text) as $$ select ARRAY[upper($1)], 'foo'::text $$ language sql; select * from outparam_succeed2(int4range(int4range(1,2))); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree r | t -----+----- {2} | foo @@ -1804,6 +1832,7 @@ create function inoutparam_succeed(out i anyelement, inout r anyrange) as $$ select upper($1), $1 $$ language sql; select * from inoutparam_succeed(int4range(1,2)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | r ---+------- 2 | [1,2) @@ -1814,6 +1843,7 @@ as $$ select lower($1), upper($1) $$ language sql; select * from table_succeed(int4range(1,11)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree l | u ---+---- 1 | 11 @@ -1958,6 +1988,7 @@ ); create temp table text_support_test (t text collate "C"); insert into text_support_test values ('a'), ('c'), ('d'), ('ch'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree explain (costs off) select * from text_support_test where t <@ textrange_supp('a', 'd'); QUERY PLAN diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/pg_lsn.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/pg_lsn.out --- /tmp/cirrus-ci-build/src/test/regress/expected/pg_lsn.out 2024-03-19 15:41:21.043647000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/pg_lsn.out 2024-03-19 15:51:11.438270000 +0000 @@ -34,6 +34,7 @@ (1 row) SELECT * FROM pg_input_error_info('16AE7F7', 'pg_lsn'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code -------------------------------------------------+--------+------+---------------- invalid input syntax for type pg_lsn: "16AE7F7" | | | 22P02 @@ -142,6 +143,7 @@ generate_series(1, 5) k WHERE i <= 10 AND j > 0 AND j <= 10 ORDER BY f; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------------- Sort @@ -164,6 +166,7 @@ generate_series(1, 5) k WHERE i <= 10 AND j > 0 AND j <= 10 ORDER BY f; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f ------- 1/1 diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/regproc.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/regproc.out --- /tmp/cirrus-ci-build/src/test/regress/expected/regproc.out 2024-03-19 15:41:21.044602000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/regproc.out 2024-03-19 15:51:11.501338000 +0000 @@ -449,6 +449,7 @@ -- Test soft-error API SELECT * FROM pg_input_error_info('ng_catalog.pg_class', 'regclass'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code -----------------------------------------------+--------+------+---------------- relation "ng_catalog.pg_class" does not exist | | | 42P01 @@ -461,72 +462,84 @@ (1 row) SELECT * FROM pg_input_error_info('no_such_config', 'regconfig'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code -----------------------------------------------------------+--------+------+---------------- text search configuration "no_such_config" does not exist | | | 42704 (1 row) SELECT * FROM pg_input_error_info('no_such_dictionary', 'regdictionary'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code ------------------------------------------------------------+--------+------+---------------- text search dictionary "no_such_dictionary" does not exist | | | 42704 (1 row) SELECT * FROM pg_input_error_info('Nonexistent', 'regnamespace'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code -------------------------------------+--------+------+---------------- schema "nonexistent" does not exist | | | 3F000 (1 row) SELECT * FROM pg_input_error_info('ng_catalog.||/', 'regoper'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code -----------------------------------------+--------+------+---------------- operator does not exist: ng_catalog.||/ | | | 42883 (1 row) SELECT * FROM pg_input_error_info('-', 'regoper'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code --------------------------------+--------+------+---------------- more than one operator named - | | | 42725 (1 row) SELECT * FROM pg_input_error_info('ng_catalog.+(int4,int4)', 'regoperator'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code --------------------------------------------------+--------+------+---------------- operator does not exist: ng_catalog.+(int4,int4) | | | 42883 (1 row) SELECT * FROM pg_input_error_info('-', 'regoperator'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code -----------------------------+--------+------+---------------- expected a left parenthesis | | | 22P02 (1 row) SELECT * FROM pg_input_error_info('ng_catalog.now', 'regproc'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code ------------------------------------------+--------+------+---------------- function "ng_catalog.now" does not exist | | | 42883 (1 row) SELECT * FROM pg_input_error_info('ng_catalog.abs(numeric)', 'regprocedure'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code ---------------------------------------------------+--------+------+---------------- function "ng_catalog.abs(numeric)" does not exist | | | 42883 (1 row) SELECT * FROM pg_input_error_info('ng_catalog.abs(numeric', 'regprocedure'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code ------------------------------+--------+------+---------------- expected a right parenthesis | | | 22P02 (1 row) SELECT * FROM pg_input_error_info('regress_regrole_test', 'regrole'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code --------------------------------------------+--------+------+---------------- role "regress_regrole_test" does not exist | | | 42704 (1 row) SELECT * FROM pg_input_error_info('no_such_type', 'regtype'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code ------------------------------------+--------+------+---------------- type "no_such_type" does not exist | | | 42704 @@ -534,13 +547,17 @@ -- Some cases that should be soft errors, but are not yet SELECT * FROM pg_input_error_info('incorrect type name syntax', 'regtype'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: syntax error at or near "type" LINE 1: SELECT * FROM pg_input_error_info('incorrect type name synta... ^ CONTEXT: invalid type name "incorrect type name syntax" SELECT * FROM pg_input_error_info('numeric(1,2,3)', 'regtype'); -- bogus typmod +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: invalid NUMERIC type modifier SELECT * FROM pg_input_error_info('way.too.many.names', 'regtype'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: improper qualified name (too many dotted names): way.too.many.names SELECT * FROM pg_input_error_info('no_such_catalog.schema.name', 'regtype'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: cross-database references are not implemented: no_such_catalog.schema.name diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/strings.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/strings.out --- /tmp/cirrus-ci-build/src/test/regress/expected/strings.out 2024-03-19 15:41:21.045837000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/strings.out 2024-03-19 15:51:12.474346000 +0000 @@ -281,18 +281,21 @@ (1 row) SELECT * FROM pg_input_error_info(E'\\xDeAdBeE', 'bytea'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code ------------------------------------------------+--------+------+---------------- invalid hexadecimal data: odd number of digits | | | 22023 (1 row) SELECT * FROM pg_input_error_info(E'\\xDeAdBeEx', 'bytea'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code --------------------------------+--------+------+---------------- invalid hexadecimal digit: "x" | | | 22023 (1 row) SELECT * FROM pg_input_error_info(E'foo\\99bar', 'bytea'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code -------------------------------------+--------+------+---------------- invalid input syntax for type bytea | | | 22P02 @@ -1125,6 +1128,7 @@ ERROR: invalid regular expression: invalid repetition count(s) -- split string on regexp SELECT foo, length(foo) FROM regexp_split_to_table('the quick brown fox jumps over the lazy dog', $re$\s+$re$) AS foo; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree foo | length -------+-------- the | 3 @@ -1145,6 +1149,7 @@ (1 row) SELECT foo, length(foo) FROM regexp_split_to_table('the quick brown fox jumps over the lazy dog', $re$\s*$re$) AS foo; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree foo | length -----+-------- t | 1 @@ -1191,6 +1196,7 @@ (1 row) SELECT foo, length(foo) FROM regexp_split_to_table('the quick brown fox jumps over the lazy dog', '') AS foo; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree foo | length -----+-------- t | 1 @@ -1246,6 +1252,7 @@ -- case insensitive SELECT foo, length(foo) FROM regexp_split_to_table('thE QUick bROWn FOx jUMPs ovEr The lazy dOG', 'e', 'i') AS foo; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree foo | length ---------------------------+-------- th | 2 @@ -1262,6 +1269,7 @@ -- no match of pattern SELECT foo, length(foo) FROM regexp_split_to_table('the quick brown fox jumps over the lazy dog', 'nomatch') AS foo; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree foo | length ---------------------------------------------+-------- the quick brown fox jumps over the lazy dog | 43 @@ -1312,11 +1320,13 @@ -- errors SELECT foo, length(foo) FROM regexp_split_to_table('thE QUick bROWn FOx jUMPs ovEr The lazy dOG', 'e', 'zippy') AS foo; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: invalid regular expression option: "z" SELECT regexp_split_to_array('thE QUick bROWn FOx jUMPs ovEr The lazy dOG', 'e', 'iz'); ERROR: invalid regular expression option: "z" -- global option meaningless for regexp_split SELECT foo, length(foo) FROM regexp_split_to_table('thE QUick bROWn FOx jUMPs ovEr The lazy dOG', 'e', 'g') AS foo; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: regexp_split_to_table() does not support the "global" option SELECT regexp_split_to_array('thE QUick bROWn FOx jUMPs ovEr The lazy dOG', 'e', 'g'); ERROR: regexp_split_to_array() does not support the "global" option diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/numerology.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/numerology.out --- /tmp/cirrus-ci-build/src/test/regress/expected/numerology.out 2024-03-19 15:41:21.042839000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/numerology.out 2024-03-19 15:51:12.188448000 +0000 @@ -338,8 +338,10 @@ CREATE TABLE TEMP_FLOAT (f1 FLOAT8); INSERT INTO TEMP_FLOAT (f1) SELECT float8(f1) FROM INT4_TBL; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO TEMP_FLOAT (f1) SELECT float8(f1) FROM INT2_TBL; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT f1 FROM TEMP_FLOAT ORDER BY f1; f1 @@ -361,8 +363,10 @@ INSERT INTO TEMP_INT4 (f1) SELECT int4(f1) FROM FLOAT8_TBL WHERE (f1 > -2147483647) AND (f1 < 2147483647); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO TEMP_INT4 (f1) SELECT int4(f1) FROM INT2_TBL; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT f1 FROM TEMP_INT4 ORDER BY f1; f1 @@ -383,9 +387,11 @@ INSERT INTO TEMP_INT2 (f1) SELECT int2(f1) FROM FLOAT8_TBL WHERE (f1 >= -32767) AND (f1 <= 32767); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO TEMP_INT2 (f1) SELECT int2(f1) FROM INT4_TBL WHERE (f1 >= -32767) AND (f1 <= 32767); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT f1 FROM TEMP_INT2 ORDER BY f1; f1 @@ -404,9 +410,11 @@ INSERT INTO TEMP_GROUP SELECT 1, (- i.f1), (- f.f1) FROM INT4_TBL i, FLOAT8_TBL f; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO TEMP_GROUP SELECT 2, i.f1, f.f1 FROM INT4_TBL i, FLOAT8_TBL f; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT DISTINCT f1 AS two FROM TEMP_GROUP ORDER BY 1; two ----- diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/point.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/point.out --- /tmp/cirrus-ci-build/src/test/regress/expected/point.out 2024-03-19 15:41:21.043837000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/point.out 2024-03-19 15:51:12.161742000 +0000 @@ -416,6 +416,7 @@ -- Test that GiST indexes provide same behavior as sequential scan CREATE TEMP TABLE point_gist_tbl(f1 point); INSERT INTO point_gist_tbl SELECT '(0,0)' FROM generate_series(0,1000); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE INDEX point_gist_tbl_index ON point_gist_tbl USING gist (f1); INSERT INTO point_gist_tbl VALUES ('(0.0000009,0.0000009)'); SET enable_seqscan TO true; @@ -471,6 +472,7 @@ (1 row) SELECT * FROM pg_input_error_info('1,y', 'point'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code --------------------------------------------+--------+------+---------------- invalid input syntax for type point: "1,y" | | | 22P02 diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/lseg.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/lseg.out --- /tmp/cirrus-ci-build/src/test/regress/expected/lseg.out 2024-03-19 15:41:21.019586000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/lseg.out 2024-03-19 15:51:12.123264000 +0000 @@ -50,6 +50,7 @@ (1 row) SELECT * FROM pg_input_error_info('[(1,2),(3)]', 'lseg'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code ---------------------------------------------------+--------+------+---------------- invalid input syntax for type lseg: "[(1,2),(3)]" | | | 22P02 diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/line.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/line.out --- /tmp/cirrus-ci-build/src/test/regress/expected/line.out 2024-03-19 15:41:21.019565000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/line.out 2024-03-19 15:51:12.127841000 +0000 @@ -93,6 +93,7 @@ (1 row) SELECT * FROM pg_input_error_info('{1, 1}', 'line'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code ----------------------------------------------+--------+------+---------------- invalid input syntax for type line: "{1, 1}" | | | 22P02 @@ -105,6 +106,7 @@ (1 row) SELECT * FROM pg_input_error_info('{0, 0, 0}', 'line'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code ---------------------------------------------------------+--------+------+---------------- invalid line specification: A and B cannot both be zero | | | 22P02 @@ -117,6 +119,7 @@ (1 row) SELECT * FROM pg_input_error_info('{1, 1, a}', 'line'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code -------------------------------------------------+--------+------+---------------- invalid input syntax for type line: "{1, 1, a}" | | | 22P02 @@ -129,6 +132,7 @@ (1 row) SELECT * FROM pg_input_error_info('{1, 1, 1e400}', 'line'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code ---------------------------------------------------+--------+------+---------------- "1e400" is out of range for type double precision | | | 22003 @@ -141,6 +145,7 @@ (1 row) SELECT * FROM pg_input_error_info('(1, 1), (1, 1e400)', 'line'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code ---------------------------------------------------+--------+------+---------------- "1e400" is out of range for type double precision | | | 22003 diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/box.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/box.out --- /tmp/cirrus-ci-build/src/test/regress/expected/box.out 2024-03-19 15:41:21.017164000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/box.out 2024-03-19 15:51:12.385225000 +0000 @@ -244,6 +244,7 @@ INSERT INTO box_temp SELECT box(point(i, i), point(i * 2, i * 2)) FROM generate_series(1, 50) AS i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE INDEX box_spgist ON box_temp USING spgist (f1); INSERT INTO box_temp VALUES (NULL), @@ -252,6 +253,7 @@ ('(0,100)(0,infinity)'), ('(-infinity,0)(0,infinity)'), ('(-infinity,-infinity)(infinity,infinity)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SET enable_seqscan = false; SELECT * FROM box_temp WHERE f1 << '(10,20),(30,40)'; f1 @@ -485,10 +487,12 @@ SELECT (x - 1) * 100 + y, box(point(x * 10, y * 10), point(x * 10 + 5, y * 10 + 5)) FROM generate_series(1, 100) x, generate_series(1, 100) y; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- insert repeating data to test allTheSame INSERT INTO quad_box_tbl SELECT i, '((200, 300),(210, 310))' FROM generate_series(10001, 11000) AS i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO quad_box_tbl VALUES (11001, NULL), @@ -496,6 +500,7 @@ (11003, '((-infinity,-infinity),(infinity,infinity))'), (11004, '((-infinity,100),(-infinity,500))'), (11005, '((-infinity,-infinity),(700,infinity))'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE INDEX quad_box_tbl_idx ON quad_box_tbl USING spgist(b); -- get reference results for ORDER BY distance from seq scan SET enable_seqscan = ON; @@ -609,6 +614,7 @@ ON seq.n = idx.n AND seq.id = idx.id AND (seq.dist = idx.dist OR seq.dist IS NULL AND idx.dist IS NULL) WHERE seq.id IS NULL OR idx.id IS NULL; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree n | dist | id | n | dist | id ---+------+----+---+------+---- (0 rows) @@ -632,6 +638,7 @@ ON seq.n = idx.n AND seq.id = idx.id AND (seq.dist = idx.dist OR seq.dist IS NULL AND idx.dist IS NULL) WHERE seq.id IS NULL OR idx.id IS NULL; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree n | dist | id | n | dist | id ---+------+----+---+------+---- (0 rows) @@ -647,6 +654,7 @@ (1 row) SELECT * FROM pg_input_error_info('200', 'box'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code ------------------------------------------+--------+------+---------------- invalid input syntax for type box: "200" | | | 22P02 @@ -659,6 +667,7 @@ (1 row) SELECT * FROM pg_input_error_info('((200,300),(500, xyz))', 'box'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code -------------------------------------------------------------+--------+------+---------------- invalid input syntax for type box: "((200,300),(500, xyz))" | | | 22P02 diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/path.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/path.out --- /tmp/cirrus-ci-build/src/test/regress/expected/path.out 2024-03-19 15:41:21.043629000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/path.out 2024-03-19 15:51:12.117568000 +0000 @@ -88,6 +88,7 @@ (1 row) SELECT * FROM pg_input_error_info('[(1,2),(3)]', 'path'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code ---------------------------------------------------+--------+------+---------------- invalid input syntax for type path: "[(1,2),(3)]" | | | 22P02 @@ -100,6 +101,7 @@ (1 row) SELECT * FROM pg_input_error_info('[(1,2,6),(3,4,6)]', 'path'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code ---------------------------------------------------------+--------+------+---------------- invalid input syntax for type path: "[(1,2,6),(3,4,6)]" | | | 22P02 diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/polygon.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/polygon.out --- /tmp/cirrus-ci-build/src/test/regress/expected/polygon.out 2024-03-19 15:41:21.043860000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/polygon.out 2024-03-19 15:51:12.389963000 +0000 @@ -53,14 +53,17 @@ SELECT (x - 1) * 100 + y, polygon(circle(point(x * 10, y * 10), 1 + (x + y) % 10)) FROM generate_series(1, 100) x, generate_series(1, 100) y; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO quad_poly_tbl SELECT i, polygon '((200, 300),(210, 310),(230, 290))' FROM generate_series(10001, 11000) AS i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO quad_poly_tbl VALUES (11001, NULL), (11002, NULL), (11003, NULL); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE INDEX quad_poly_tbl_idx ON quad_poly_tbl USING spgist(p); -- get reference results for ORDER BY distance from seq scan SET enable_seqscan = ON; @@ -299,6 +302,7 @@ ON seq.n = idx.n AND seq.id = idx.id AND (seq.dist = idx.dist OR seq.dist IS NULL AND idx.dist IS NULL) WHERE seq.id IS NULL OR idx.id IS NULL; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree n | dist | id | n | dist | id ---+------+----+---+------+---- (0 rows) @@ -314,6 +318,7 @@ (1 row) SELECT * FROM pg_input_error_info('(2.0,0.8,0.1)', 'polygon'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code --------------------------------------------------------+--------+------+---------------- invalid input syntax for type polygon: "(2.0,0.8,0.1)" | | | 22P02 @@ -326,6 +331,7 @@ (1 row) SELECT * FROM pg_input_error_info('(2.0,xyz)', 'polygon'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code ----------------------------------------------------+--------+------+---------------- invalid input syntax for type polygon: "(2.0,xyz)" | | | 22P02 diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/date.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/date.out --- /tmp/cirrus-ci-build/src/test/regress/expected/date.out 2024-03-19 15:41:21.017607000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/date.out 2024-03-19 15:51:12.275504000 +0000 @@ -860,12 +860,14 @@ (1 row) SELECT * FROM pg_input_error_info('garbage', 'date'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code -----------------------------------------------+--------+------+---------------- invalid input syntax for type date: "garbage" | | | 22007 (1 row) SELECT * FROM pg_input_error_info('6874898-01-01', 'date'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code ------------------------------------+--------+------+---------------- date out of range: "6874898-01-01" | | | 22008 diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/time.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/time.out --- /tmp/cirrus-ci-build/src/test/regress/expected/time.out 2024-03-19 15:41:21.046111000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/time.out 2024-03-19 15:51:12.133051000 +0000 @@ -134,12 +134,14 @@ (1 row) SELECT * FROM pg_input_error_info('25:00:00', 'time'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code ------------------------------------------------+--------+------+---------------- date/time field value out of range: "25:00:00" | | | 22008 (1 row) SELECT * FROM pg_input_error_info('15:36:39 America/New_York', 'time'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code -----------------------------------------------------------------+--------+------+---------------- invalid input syntax for type time: "15:36:39 America/New_York" | | | 22007 diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/timetz.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/timetz.out --- /tmp/cirrus-ci-build/src/test/regress/expected/timetz.out 2024-03-19 15:41:21.046257000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/timetz.out 2024-03-19 15:51:12.186224000 +0000 @@ -151,12 +151,14 @@ (1 row) SELECT * FROM pg_input_error_info('25:00:00 PDT', 'timetz'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code ----------------------------------------------------+--------+------+---------------- date/time field value out of range: "25:00:00 PDT" | | | 22008 (1 row) SELECT * FROM pg_input_error_info('15:36:39 America/New_York', 'timetz'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code --------------------------------------------------------------------------------+--------+------+---------------- invalid input syntax for type time with time zone: "15:36:39 America/New_York" | | | 22007 @@ -288,6 +290,7 @@ (1 row) TABLE timetz_local_view; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree dat | dat_func | dat_at_local | dat_at_tz | dat_at_int ----------------+----------------+----------------+----------------+---------------- 00:01:00-07 | 07:01:00+00 | 07:01:00+00 | 07:01:00+00 | 07:01:00+00 diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/timestamp.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/timestamp.out --- /tmp/cirrus-ci-build/src/test/regress/expected/timestamp.out 2024-03-19 15:41:21.046155000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/timestamp.out 2024-03-19 15:51:12.456749000 +0000 @@ -145,12 +145,14 @@ (1 row) SELECT * FROM pg_input_error_info('garbage', 'timestamp'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code ----------------------------------------------------+--------+------+---------------- invalid input syntax for type timestamp: "garbage" | | | 22007 (1 row) SELECT * FROM pg_input_error_info('2001-01-01 00:00 Nehwon/Lankhmar', 'timestamp'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code --------------------------------------------+--------+------+---------------- time zone "nehwon/lankhmar" not recognized | | | 22023 @@ -608,6 +610,7 @@ ('microsecond', '1 us') ) intervals (str, interval), (VALUES (timestamp '2020-02-29 15:44:17.71393')) ts (ts); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree str | interval | equal -------------+----------+------- week | 7 d | t @@ -635,6 +638,7 @@ ('microsecond', '1 us') ) intervals (str, interval), (VALUES (timestamp '0055-6-10 15:44:17.71393 BC')) ts (ts); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree str | interval | equal -------------+----------+------- week | 7 d | t @@ -662,6 +666,7 @@ ('microsecond', '1 us') ) intervals (str, interval), (VALUES (timestamp '2020-02-29 15:44:17.71393')) ts (ts); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree str | interval | equal -------------+----------+------- week | 7 d | t @@ -689,6 +694,7 @@ ('microsecond', '1 us') ) intervals (str, interval), (VALUES (timestamp '0055-6-10 15:44:17.71393 BC')) ts (ts); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree str | interval | equal -------------+----------+------- week | 7 d | t @@ -718,6 +724,7 @@ ) intervals (interval), (VALUES (timestamp '2020-02-11 15:44:17.71393')) ts (ts), (VALUES (timestamp '2001-01-01')) origin (origin); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree interval | ts | origin | date_bin -------------------+--------------------------------+--------------------------+-------------------------------- 15 days | Tue Feb 11 15:44:17.71393 2020 | Mon Jan 01 00:00:00 2001 | Thu Feb 06 00:00:00 2020 @@ -2019,6 +2026,7 @@ ('2018-11-02 12:34:56.78901'), ('2018-11-02 12:34:56.78901234') ) d(d); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree to_char -------------------------------------------------------------------- 0 00 000 0000 00000 000000 0 00 000 0000 00000 000000 000 000000 @@ -2032,6 +2040,7 @@ to_char(i * interval '1mon', 'rm'), to_char(i * interval '1mon', 'RM') FROM generate_series(-13, 13) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | to_char | to_char -----+---------+--------- -13 | xii | XII @@ -2083,6 +2092,7 @@ select * from generate_series('2020-01-01 00:00'::timestamp, '2020-01-02 03:00'::timestamp, '1 hour'::interval); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree generate_series -------------------------- Wed Jan 01 00:00:00 2020 @@ -2138,6 +2148,7 @@ select * from generate_series('2020-01-01 00:00'::timestamp, '2020-01-02 03:00'::timestamp, '0 hour'::interval); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: step size cannot equal zero select generate_series(timestamp '1995-08-06 12:12:12', timestamp '1996-08-06 12:12:12', interval 'infinity'); ERROR: step size cannot be infinite diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/timestamptz.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/timestamptz.out --- /tmp/cirrus-ci-build/src/test/regress/expected/timestamptz.out 2024-03-19 15:41:21.046234000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/timestamptz.out 2024-03-19 15:51:12.511276000 +0000 @@ -196,12 +196,14 @@ (1 row) SELECT * FROM pg_input_error_info('garbage', 'timestamptz'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code -------------------------------------------------------------------+--------+------+---------------- invalid input syntax for type timestamp with time zone: "garbage" | | | 22007 (1 row) SELECT * FROM pg_input_error_info('2001-01-01 00:00 Nehwon/Lankhmar', 'timestamptz'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code --------------------------------------------+--------+------+---------------- time zone "nehwon/lankhmar" not recognized | | | 22023 @@ -734,6 +736,7 @@ ('microsecond', '1 us') ) intervals (str, interval), (VALUES (timestamptz '2020-02-29 15:44:17.71393+00')) ts (ts); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree str | interval | equal -------------+----------+------- day | 1 d | t @@ -762,6 +765,7 @@ ) intervals (interval), (VALUES (timestamptz '2020-02-11 15:44:17.71393')) ts (ts), (VALUES (timestamptz '2001-01-01')) origin (origin); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree interval | ts | origin | date_bin -------------------+------------------------------------+------------------------------+------------------------------------ 15 days | Tue Feb 11 15:44:17.71393 2020 PST | Mon Jan 01 00:00:00 2001 PST | Thu Feb 06 00:00:00 2020 PST @@ -2154,6 +2158,7 @@ ('2018-11-02 12:34:56.78901'), ('2018-11-02 12:34:56.78901234') ) d(d); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree to_char -------------------------------------------------------------------- 0 00 000 0000 00000 000000 0 00 000 0000 00000 000000 000 000000 @@ -2341,6 +2346,7 @@ ('+10:00:1'), ('+10:00:01'), ('+10:00:10')) SELECT make_timestamptz(2010, 2, 27, 3, 45, 00, tz), tz FROM tzs; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree make_timestamptz | tz ------------------------------+----------- Fri Feb 26 21:45:00 2010 EST | +1 @@ -2426,6 +2432,7 @@ select * from generate_series('2020-01-01 00:00'::timestamptz, '2020-01-02 03:00'::timestamptz, '1 hour'::interval); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree generate_series ------------------------------ Wed Jan 01 00:00:00 2020 PST @@ -2481,6 +2488,7 @@ select * from generate_series('2020-01-01 00:00'::timestamptz, '2020-01-02 03:00'::timestamptz, '0 hour'::interval); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: step size cannot equal zero select generate_series(timestamptz '1995-08-06 12:12:12', timestamptz '1996-08-06 12:12:12', interval 'infinity'); ERROR: step size cannot be infinite @@ -2522,6 +2530,7 @@ '2020-12-31 23:00:00+00'::timestamptz, '-1 month'::interval, 'Europe/Warsaw'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree generate_series ------------------------------ Fri Dec 31 23:00:00 2021 UTC @@ -3159,12 +3168,14 @@ BEGIN; SET LOCAL TIME ZONE 'Europe/Paris'; VALUES (CAST('1978-07-07 19:38 America/New_York' AS TIMESTAMP WITH TIME ZONE) AT LOCAL); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree column1 -------------------------- Sat Jul 08 01:38:00 1978 (1 row) VALUES (TIMESTAMP '1978-07-07 19:38' AT LOCAL); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree column1 ------------------------------- Fri Jul 07 19:38:00 1978 CEST @@ -3172,12 +3183,14 @@ SET LOCAL TIME ZONE 'Australia/Sydney'; VALUES (CAST('1978-07-07 19:38 America/New_York' AS TIMESTAMP WITH TIME ZONE) AT LOCAL); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree column1 -------------------------- Sat Jul 08 09:38:00 1978 (1 row) VALUES (TIMESTAMP '1978-07-07 19:38' AT LOCAL); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree column1 ------------------------------- Fri Jul 07 19:38:00 1978 AEST @@ -3200,6 +3213,7 @@ \x TABLE timestamp_local_view; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]+----------------------------- ttz_at_local | Fri Jul 07 23:38:00 1978 ttz_func | Fri Jul 07 23:38:00 1978 diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/interval.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/interval.out --- /tmp/cirrus-ci-build/src/test/regress/expected/interval.out 2024-03-19 15:41:21.019129000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/interval.out 2024-03-19 15:51:12.365403000 +0000 @@ -106,12 +106,14 @@ (1 row) SELECT * FROM pg_input_error_info('garbage', 'interval'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code ---------------------------------------------------+--------+------+---------------- invalid input syntax for type interval: "garbage" | | | 22007 (1 row) SELECT * FROM pg_input_error_info('@ 30 eons ago', 'interval'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code ---------------------------------------------------------+--------+------+---------------- invalid input syntax for type interval: "@ 30 eons ago" | | | 22007 @@ -333,6 +335,7 @@ ('1 year'), ('-2147483648 days 2147483647 months'), ('-2147483648 days -2147483648 months'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- these should fail as out-of-range INSERT INTO INTERVAL_TBL_OF (f1) VALUES ('2147483648 days'); ERROR: interval field value out of range: "2147483648 days" @@ -1972,6 +1975,7 @@ CREATE TABLE INFINITE_INTERVAL_TBL (i interval); INSERT INTO INFINITE_INTERVAL_TBL VALUES ('infinity'), ('-infinity'), ('1 year 2 days 3 hours'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT i, isfinite(i) FROM INFINITE_INTERVAL_TBL; i | isfinite -------------------------+---------- @@ -2002,6 +2006,7 @@ (date 'infinity')) AS t1(d), (VALUES (interval '-infinity'), (interval 'infinity')) AS t2(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree date | interval | plus | minus ------------+-----------+------------------------+------------------------ -infinity | -infinity | -infinity | timestamp out of range @@ -2021,6 +2026,7 @@ (VALUES (interval '-infinity'), (interval '10 days'), (interval 'infinity')) AS t2(i2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree interval1 | interval2 | plus | minus -----------+-----------+-----------------------+----------------------- -infinity | -infinity | -infinity | interval out of range @@ -2050,6 +2056,7 @@ (timestamp 'infinity')) AS t1(t), (VALUES (interval '-infinity'), (interval 'infinity')) AS t2(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree timestamp | interval | plus | minus ---------------------+-----------+------------------------+------------------------ -infinity | -infinity | -infinity | timestamp out of range @@ -2068,6 +2075,7 @@ (timestamptz 'infinity')) AS t1(t), (VALUES (interval '-infinity'), (interval 'infinity')) AS t2(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree timestamptz | interval | plus | minus ---------------------+-----------+------------------------+------------------------ -infinity | -infinity | -infinity | timestamp out of range @@ -2105,6 +2113,7 @@ lhst.i <> rhst.i AS ne FROM INFINITE_INTERVAL_TBL lhst CROSS JOIN INFINITE_INTERVAL_TBL rhst WHERE NOT isfinite(lhst.i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree lhs | rhs | lt | le | eq | gt | ge | ne -----------+-------------------------+----+----+----+----+----+---- infinity | infinity | f | t | t | f | t | f diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/inet.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/inet.out --- /tmp/cirrus-ci-build/src/test/regress/expected/inet.out 2024-03-19 15:41:21.018767000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/inet.out 2024-03-19 15:51:12.255127000 +0000 @@ -961,6 +961,7 @@ ('ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff/0'::inet), ('ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff/128'::inet) ) AS i(a) ORDER BY a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a -------------------------------------------- 0.0.0.0/0 @@ -1064,6 +1065,7 @@ (1 row) SELECT * FROM pg_input_error_info('1234', 'cidr'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code --------------------------------------------+--------+------+---------------- invalid input syntax for type cidr: "1234" | | | 22P02 @@ -1076,6 +1078,7 @@ (1 row) SELECT * FROM pg_input_error_info('192.168.198.200/24', 'cidr'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code ------------------------------------------+--------------------------------------+------+---------------- invalid cidr value: "192.168.198.200/24" | Value has bits set to right of mask. | | 22P02 @@ -1088,6 +1091,7 @@ (1 row) SELECT * FROM pg_input_error_info('1234', 'inet'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code --------------------------------------------+--------+------+---------------- invalid input syntax for type inet: "1234" | | | 22P02 diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/macaddr.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/macaddr.out --- /tmp/cirrus-ci-build/src/test/regress/expected/macaddr.out 2024-03-19 15:41:21.019597000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/macaddr.out 2024-03-19 15:51:12.164846000 +0000 @@ -166,6 +166,7 @@ (1 row) SELECT * FROM pg_input_error_info('08:00:2b:01:02:ZZ', 'macaddr'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code ------------------------------------------------------------+--------+------+---------------- invalid input syntax for type macaddr: "08:00:2b:01:02:ZZ" | | | 22P02 @@ -178,6 +179,7 @@ (1 row) SELECT * FROM pg_input_error_info('08:00:2b:01:02:', 'macaddr'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code ----------------------------------------------------------+--------+------+---------------- invalid input syntax for type macaddr: "08:00:2b:01:02:" | | | 22P02 diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/macaddr8.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/macaddr8.out --- /tmp/cirrus-ci-build/src/test/regress/expected/macaddr8.out 2024-03-19 15:41:21.019613000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/macaddr8.out 2024-03-19 15:51:12.191454000 +0000 @@ -360,6 +360,7 @@ (1 row) SELECT * FROM pg_input_error_info('08:00:2b:01:02:03:04:ZZ', 'macaddr8'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code -------------------------------------------------------------------+--------+------+---------------- invalid input syntax for type macaddr8: "08:00:2b:01:02:03:04:ZZ" | | | 22P02 @@ -372,6 +373,7 @@ (1 row) SELECT * FROM pg_input_error_info('08:00:2b:01:02:03:04:', 'macaddr8'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code -----------------------------------------------------------------+--------+------+---------------- invalid input syntax for type macaddr8: "08:00:2b:01:02:03:04:" | | | 22P02 diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/multirangetypes.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/multirangetypes.out --- /tmp/cirrus-ci-build/src/test/regress/expected/multirangetypes.out 2024-03-19 15:41:21.019788000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/multirangetypes.out 2024-03-19 15:51:12.585310000 +0000 @@ -288,6 +288,7 @@ (1 row) select * from pg_input_error_info('{[1,2], [4,5]', 'int4multirange'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code -----------------------------------------------+--------------------------+------+---------------- malformed multirange literal: "{[1,2], [4,5]" | Unexpected end of input. | | 22P02 @@ -300,6 +301,7 @@ (1 row) select * from pg_input_error_info('{[1,2], [4,zed]}', 'int4multirange'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code ----------------------------------------------+--------+------+---------------- invalid input syntax for type integer: "zed" | | | 22P02 @@ -2288,10 +2290,15 @@ -- test GiST index create table test_multirange_gist(mr int4multirange); insert into test_multirange_gist select int4multirange(int4range(g, g+10),int4range(g+20, g+30),int4range(g+40, g+50)) from generate_series(1,2000) g; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into test_multirange_gist select '{}'::int4multirange from generate_series(1,500) g; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into test_multirange_gist select int4multirange(int4range(g, g+10000)) from generate_series(1,1000) g; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into test_multirange_gist select int4multirange(int4range(NULL, g*10, '(]'), int4range(g*10, g*20, '(]')) from generate_series(1,100) g; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into test_multirange_gist select int4multirange(int4range(g*10, g*20, '(]'), int4range(g*20, NULL, '(]')) from generate_series(1,100) g; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree create index test_mulrirange_gist_idx on test_multirange_gist using gist (mr); -- test statistics and selectivity estimation as well -- @@ -2785,6 +2792,7 @@ -- 8: an empty range (8, 'empty'::daterange) ; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT room_id, range_agg(booked_during) FROM reservations GROUP BY room_id @@ -2810,6 +2818,7 @@ ('[g,h)'::textrange), ('[h,j)'::textrange) ) t(r); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree range_agg --------------- {[a,f],[g,j)} @@ -2835,42 +2844,49 @@ (1 row) select range_agg(nmr) from (values ('{}'::nummultirange)) t(nmr); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree range_agg ----------- {} (1 row) select range_agg(nmr) from (values ('{}'::nummultirange), ('{}'::nummultirange)) t(nmr); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree range_agg ----------- {} (1 row) select range_agg(nmr) from (values ('{[1,2]}'::nummultirange)) t(nmr); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree range_agg ----------- {[1,2]} (1 row) select range_agg(nmr) from (values ('{[1,2], [5,6]}'::nummultirange)) t(nmr); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree range_agg --------------- {[1,2],[5,6]} (1 row) select range_agg(nmr) from (values ('{[1,2], [2,3]}'::nummultirange)) t(nmr); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree range_agg ----------- {[1,3]} (1 row) select range_agg(nmr) from (values ('{[1,2]}'::nummultirange), ('{[5,6]}'::nummultirange)) t(nmr); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree range_agg --------------- {[1,2],[5,6]} (1 row) select range_agg(nmr) from (values ('{[1,2]}'::nummultirange), ('{[2,3]}'::nummultirange)) t(nmr); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree range_agg ----------- {[1,3]} @@ -2898,18 +2914,21 @@ (1 row) select range_intersect_agg(nmr) from (values ('{[1,3]}'::nummultirange), ('{[6,12]}'::nummultirange)) t(nmr); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree range_intersect_agg --------------------- {} (1 row) select range_intersect_agg(nmr) from (values ('{[1,6]}'::nummultirange), ('{[3,12]}'::nummultirange)) t(nmr); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree range_intersect_agg --------------------- {[3,6]} (1 row) select range_intersect_agg(nmr) from (values ('{[1,6], [10,12]}'::nummultirange), ('{[4,14]}'::nummultirange)) t(nmr); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree range_intersect_agg --------------------- {[4,6],[10,12]} @@ -2917,18 +2936,21 @@ -- test with just one input: select range_intersect_agg(nmr) from (values ('{}'::nummultirange)) t(nmr); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree range_intersect_agg --------------------- {} (1 row) select range_intersect_agg(nmr) from (values ('{[1,2]}'::nummultirange)) t(nmr); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree range_intersect_agg --------------------- {[1,2]} (1 row) select range_intersect_agg(nmr) from (values ('{[1,6], [10,12]}'::nummultirange)) t(nmr); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree range_intersect_agg --------------------- {[1,6],[10,12]} @@ -2969,6 +2991,7 @@ set enable_hashjoin=f; set enable_mergejoin=f; select * from nummultirange_test natural join nummultirange_test2 order by nmr; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree nmr ------------- {} @@ -2984,6 +3007,7 @@ set enable_hashjoin=t; set enable_mergejoin=f; select * from nummultirange_test natural join nummultirange_test2 order by nmr; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree nmr ------------- {} @@ -2999,6 +3023,7 @@ set enable_hashjoin=f; set enable_mergejoin=t; select * from nummultirange_test natural join nummultirange_test2 order by nmr; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree nmr ------------- {} @@ -3129,6 +3154,7 @@ HINT: Set the privileges of the range type instead. revoke usage on type textrange1 from public; \dT+ *textrange1* +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of data types Schema | Name | Internal name | Size | Elements | Owner | Access privileges | Description --------+-----------------+-----------------+------+----------+--------------------------+-----------------------------------------------------+------------- @@ -3291,6 +3317,7 @@ select *, row_to_json(upper(t)) as u from (values (two_ints_multirange(two_ints_range(row(1,2), row(3,4)))), (two_ints_multirange(two_ints_range(row(5,6), row(7,8))))) v(t); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree t | u ---------------------+--------------- {["(1,2)","(3,4)")} | {"a":3,"b":4} @@ -3304,6 +3331,7 @@ -- set enable_sort = off; -- try to make it pick a hash setop implementation select '{(01,10)}'::varbitmultirange except select '{(10,11)}'::varbitmultirange; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree varbitmultirange ------------------ {(01,10)} @@ -3317,6 +3345,7 @@ create function mr_outparam_succeed(i anymultirange, out r anymultirange, out t text) as $$ select $1, 'foo'::text $$ language sql; select * from mr_outparam_succeed(int4multirange(int4range(1,2))); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree r | t ---------+----- {[1,2)} | foo @@ -3326,6 +3355,7 @@ create function mr_outparam_succeed2(i anymultirange, out r anyarray, out t text) as $$ select ARRAY[upper($1)], 'foo'::text $$ language sql; select * from mr_outparam_succeed2(int4multirange(int4range(1,2))); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree r | t -----+----- {2} | foo @@ -3335,6 +3365,7 @@ create function mr_outparam_succeed3(i anymultirange, out r anyrange, out t text) as $$ select range_merge($1), 'foo'::text $$ language sql; select * from mr_outparam_succeed3(int4multirange(int4range(1,2))); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree r | t -------+----- [1,2) | foo @@ -3344,6 +3375,7 @@ create function mr_outparam_succeed4(i anyrange, out r anymultirange, out t text) as $$ select multirange($1), 'foo'::text $$ language sql; select * from mr_outparam_succeed4(int4range(1,2)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree r | t ---------+----- {[1,2)} | foo @@ -3353,6 +3385,7 @@ create function mr_inoutparam_succeed(out i anyelement, inout r anymultirange) as $$ select upper($1), $1 $$ language sql; select * from mr_inoutparam_succeed(int4multirange(int4range(1,2))); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | r ---+--------- 2 | {[1,2)} @@ -3362,6 +3395,7 @@ create function mr_table_succeed(i anyelement, r anymultirange) returns table(i anyelement, r anymultirange) as $$ select $1, $2 $$ language sql; select * from mr_table_succeed(123, int4multirange(int4range(1,11))); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | r -----+---------- 123 | {[1,11)} diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/geometry.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/geometry.out --- /tmp/cirrus-ci-build/src/test/regress/expected/geometry.out 2024-03-19 15:41:21.018448000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/geometry.out 2024-03-19 15:51:12.896539000 +0000 @@ -5303,6 +5303,7 @@ (1 row) SELECT * FROM pg_input_error_info('1,', 'circle'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code --------------------------------------------+--------+------+---------------- invalid input syntax for type circle: "1," | | | 22P02 @@ -5315,6 +5316,7 @@ (1 row) SELECT * FROM pg_input_error_info('(1,2),-1', 'circle'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code --------------------------------------------------+--------+------+---------------- invalid input syntax for type circle: "(1,2),-1" | | | 22P02 diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/horology.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/horology.out --- /tmp/cirrus-ci-build/src/test/regress/expected/horology.out 2024-03-19 15:41:21.018629000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/horology.out 2024-03-19 15:51:12.950642000 +0000 @@ -1534,6 +1534,7 @@ SELECT d1 FROM TIMESTAMP_TBL WHERE d1 BETWEEN '13-jun-1957' AND '1-jan-1997' OR d1 BETWEEN '1-jan-1999' AND '1-jan-2010'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT f1 AS "timestamp" FROM TEMP_TIMESTAMP ORDER BY "timestamp"; @@ -3211,6 +3212,7 @@ (1 row) SELECT i, to_timestamp('2018-11-02 12:34:56', 'YYYY-MM-DD HH24:MI:SS.FF' || i) FROM generate_series(1, 6) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | to_timestamp ---+------------------------------ 1 | Fri Nov 02 12:34:56 2018 PDT @@ -3222,6 +3224,7 @@ (6 rows) SELECT i, to_timestamp('2018-11-02 12:34:56.1', 'YYYY-MM-DD HH24:MI:SS.FF' || i) FROM generate_series(1, 6) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | to_timestamp ---+-------------------------------- 1 | Fri Nov 02 12:34:56.1 2018 PDT @@ -3233,6 +3236,7 @@ (6 rows) SELECT i, to_timestamp('2018-11-02 12:34:56.12', 'YYYY-MM-DD HH24:MI:SS.FF' || i) FROM generate_series(1, 6) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | to_timestamp ---+--------------------------------- 1 | Fri Nov 02 12:34:56.1 2018 PDT @@ -3244,6 +3248,7 @@ (6 rows) SELECT i, to_timestamp('2018-11-02 12:34:56.123', 'YYYY-MM-DD HH24:MI:SS.FF' || i) FROM generate_series(1, 6) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | to_timestamp ---+---------------------------------- 1 | Fri Nov 02 12:34:56.1 2018 PDT @@ -3255,6 +3260,7 @@ (6 rows) SELECT i, to_timestamp('2018-11-02 12:34:56.1234', 'YYYY-MM-DD HH24:MI:SS.FF' || i) FROM generate_series(1, 6) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | to_timestamp ---+----------------------------------- 1 | Fri Nov 02 12:34:56.1 2018 PDT @@ -3266,6 +3272,7 @@ (6 rows) SELECT i, to_timestamp('2018-11-02 12:34:56.12345', 'YYYY-MM-DD HH24:MI:SS.FF' || i) FROM generate_series(1, 6) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | to_timestamp ---+------------------------------------ 1 | Fri Nov 02 12:34:56.1 2018 PDT @@ -3277,6 +3284,7 @@ (6 rows) SELECT i, to_timestamp('2018-11-02 12:34:56.123456', 'YYYY-MM-DD HH24:MI:SS.FF' || i) FROM generate_series(1, 6) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | to_timestamp ---+------------------------------------- 1 | Fri Nov 02 12:34:56.1 2018 PDT @@ -3288,6 +3296,7 @@ (6 rows) SELECT i, to_timestamp('2018-11-02 12:34:56.123456789', 'YYYY-MM-DD HH24:MI:SS.FF' || i) FROM generate_series(1, 6) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: date/time field value out of range: "2018-11-02 12:34:56.123456789" SELECT to_date('1 4 1902', 'Q MM YYYY'); -- Q is ignored to_date diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/tstypes.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/tstypes.out --- /tmp/cirrus-ci-build/src/test/regress/expected/tstypes.out 2024-03-19 15:41:21.046530000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/tstypes.out 2024-03-19 15:51:12.880767000 +0000 @@ -103,6 +103,7 @@ (1 row) SELECT * FROM pg_input_error_info($$''$$, 'tsvector'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code --------------------------------+--------+------+---------------- syntax error in tsvector: "''" | | | 42601 @@ -405,12 +406,14 @@ (1 row) SELECT * FROM pg_input_error_info('foo!', 'tsquery'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code ---------------------------------+--------+------+---------------- syntax error in tsquery: "foo!" | | | 42601 (1 row) SELECT * FROM pg_input_error_info('a <100000> b', 'tsquery'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code ---------------------------------------------------------------------------------------+--------+------+---------------- distance in phrase operator must be an integer value between zero and 16384 inclusive | | | 22023 @@ -1333,6 +1336,7 @@ (5 rows) SELECT * FROM unnest('base:7 hidden:6 rebel:1 spaceship:2,33A,34B,35C,36D strike:3'::tsvector); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree lexeme | positions | weights -----------+-----------------+------------- base | {7} | {D} @@ -1343,6 +1347,7 @@ (5 rows) SELECT * FROM unnest('base hidden rebel spaceship strike'::tsvector); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree lexeme | positions | weights -----------+-----------+--------- base | | @@ -1353,6 +1358,7 @@ (5 rows) SELECT lexeme, positions[1] from unnest('base:7 hidden:6 rebel:1 spaceship:2,33A,34B,35C,36D strike:3'::tsvector); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree lexeme | positions -----------+----------- base | 7 diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/type_sanity.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/type_sanity.out --- /tmp/cirrus-ci-build/src/test/regress/expected/type_sanity.out 2024-03-19 15:41:21.046606000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/type_sanity.out 2024-03-19 15:51:12.863932000 +0000 @@ -84,6 +84,7 @@ WHERE t1.typarray <> 0 AND (t2.oid IS NULL OR t2.typsubscript <> 'array_subscript_handler'::regproc); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree oid | basetype | arraytype | typsubscript -----+----------+-----------+-------------- (0 rows) @@ -106,6 +107,7 @@ (t1.typalign != (CASE WHEN t2.typalign = 'd' THEN 'd'::"char" ELSE 'i'::"char" END) OR t2.oid IS NULL); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree oid | typname | typalign | typname | typalign -----+---------+----------+---------+---------- (0 rows) @@ -230,6 +232,7 @@ SELECT t1.oid, t1.typname, t2.oid, t2.typname FROM pg_type AS t1 LEFT JOIN pg_type AS t2 ON t1.typbasetype = t2.oid WHERE t1.typtype = 'd' AND t1.typoutput IS DISTINCT FROM t2.typoutput; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree oid | typname | oid | typname -----+---------+-----+--------- (0 rows) @@ -355,6 +358,7 @@ SELECT t1.oid, t1.typname, t2.oid, t2.typname FROM pg_type AS t1 LEFT JOIN pg_type AS t2 ON t1.typbasetype = t2.oid WHERE t1.typtype = 'd' AND t1.typsend IS DISTINCT FROM t2.typsend; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree oid | typname | oid | typname -----+---------+-----+--------- (0 rows) @@ -467,6 +471,7 @@ SELECT d.oid, d.typname, d.typanalyze, t.oid, t.typname, t.typanalyze FROM pg_type d JOIN pg_type t ON d.typbasetype = t.oid WHERE d.typanalyze != t.typanalyze; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree oid | typname | typanalyze | oid | typname | typanalyze -----+---------+------------+-----+---------+------------ (0 rows) @@ -477,6 +482,7 @@ FROM pg_type t LEFT JOIN pg_range r on t.oid = r.rngtypid WHERE t.typbasetype = 0 AND (t.typanalyze = 'range_typanalyze'::regproc) != (r.rngtypid IS NOT NULL); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree oid | typname | typanalyze -----+---------+------------ (0 rows) @@ -532,6 +538,7 @@ FROM pg_class as pc JOIN pg_am AS pa ON (pc.relam = pa.oid) WHERE pc.relkind IN ('i', 'I') and pa.amtype != 'i'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree oid | relname | amname | amtype -----+---------+--------+-------- (0 rows) @@ -541,6 +548,7 @@ FROM pg_class as pc JOIN pg_am AS pa ON (pc.relam = pa.oid) WHERE pc.relkind IN ('r', 't', 'm') and pa.amtype != 't'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree oid | relname | amname | amtype -----+---------+--------+-------- (0 rows) @@ -601,6 +609,7 @@ SELECT r.rngtypid, r.rngsubtype, r.rngcollation, t.typcollation FROM pg_range r JOIN pg_type t ON t.oid = r.rngsubtype WHERE (rngcollation = 0) != (typcollation = 0); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree rngtypid | rngsubtype | rngcollation | typcollation ----------+------------+--------------+-------------- (0 rows) @@ -615,6 +624,7 @@ EXISTS(select 1 from pg_catalog.pg_type where oid = r.rngsubtype and typelem != 0 and typsubscript = 'array_subscript_handler'::regproc))); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree rngtypid | rngsubtype | opcmethod | opcname ----------+------------+-----------+--------- (0 rows) @@ -623,6 +633,7 @@ SELECT r.rngtypid, r.rngsubtype, p.proname FROM pg_range r JOIN pg_proc p ON p.oid = r.rngcanonical WHERE pronargs != 1 OR proargtypes[0] != rngtypid OR prorettype != rngtypid; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree rngtypid | rngsubtype | proname ----------+------------+--------- (0 rows) @@ -633,6 +644,7 @@ WHERE pronargs != 2 OR proargtypes[0] != rngsubtype OR proargtypes[1] != rngsubtype OR prorettype != 'pg_catalog.float8'::regtype; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree rngtypid | rngsubtype | proname ----------+------------+--------- (0 rows) diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/opr_sanity.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/opr_sanity.out --- /tmp/cirrus-ci-build/src/test/regress/expected/opr_sanity.out 2024-03-19 15:41:21.042971000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/opr_sanity.out 2024-03-19 15:51:13.087169000 +0000 @@ -468,6 +468,7 @@ ARRAY(SELECT proallargtypes[i] FROM generate_series(1, array_length(proallargtypes, 1)) g(i) WHERE proargmodes IS NULL OR proargmodes[i] IN ('i', 'b', 'v')); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree oid | proname | proargtypes | proallargtypes | proargmodes -----+---------+-------------+----------------+------------- (0 rows) @@ -518,6 +519,7 @@ FROM pg_proc as p1 LEFT JOIN pg_description as d ON p1.tableoid = d.classoid and p1.oid = d.objoid and d.objsubid = 0 WHERE d.classoid IS NULL AND p1.oid <= 9999; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree oid | proname -----+--------- (0 rows) @@ -535,6 +537,7 @@ ON pronamespace = pn.oid WHERE nspname = 'pg_catalog' AND proleakproof ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree boollt(boolean,boolean) boolgt(boolean,boolean) booleq(boolean,boolean) @@ -1344,6 +1347,7 @@ FROM pg_operator as o1 LEFT JOIN pg_description as d ON o1.tableoid = d.classoid and o1.oid = d.objoid and d.objsubid = 0 WHERE d.classoid IS NULL AND o1.oid <= 9999; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree oid | oprname -----+--------- (0 rows) @@ -1372,6 +1376,7 @@ WHERE prodesc IS DISTINCT FROM expecteddesc AND oprdesc NOT LIKE 'deprecated%' AND prodesc IS DISTINCT FROM oprdesc; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree p_oid | proname | o_oid | prodesc | expecteddesc | oprdesc -------+---------+-------+---------+--------------+--------- (0 rows) @@ -1396,6 +1401,7 @@ WHERE prodesc IS DISTINCT FROM expecteddesc AND oprdesc NOT LIKE 'deprecated%' ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree p_oid | proname | prodesc -------+-------------------------+------------------------------------------------- 378 | array_append | append element onto end of array @@ -1839,6 +1845,7 @@ SELECT p.oid, proname FROM pg_proc AS p JOIN pg_aggregate AS a ON a.aggfnoid = p.oid WHERE prokind = 'a' AND provariadic != 0 AND a.aggkind = 'n'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree oid | proname -----+--------- (0 rows) @@ -1964,6 +1971,7 @@ SELECT DISTINCT amopmethod, amopstrategy, oprname FROM pg_amop a1 LEFT JOIN pg_operator o1 ON amopopr = o1.oid ORDER BY 1, 2, 3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree amopmethod | amopstrategy | oprname ------------+--------------+--------- 403 | 1 | *< @@ -2201,6 +2209,7 @@ WHERE am.amname = 'btree' AND amp.amproc IS DISTINCT FROM 'btequalimage'::regproc ORDER BY 1, 2, 3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree proc | opfamily_name | opclass_name | opcintype --------------------+------------------+------------------+------------------ btvarstrequalimage | bpchar_ops | bpchar_ops | character @@ -2252,6 +2261,7 @@ pg_opclass opc WHERE a.attrelid = indrelid AND a.attnum = ikey AND opc.oid = iclass AND (NOT binary_coercible(atttypid, opcintype) OR icoll != attcollation); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree indexrelid | indrelid | attname | atttypid | opcname ------------+----------+---------+----------+--------- (0 rows) @@ -2269,6 +2279,7 @@ WHERE a.attrelid = indrelid AND a.attnum = ikey AND opc.oid = iclass AND (opcintype != atttypid OR icoll != attcollation) ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree indexrelid | indrelid | attname | atttypid | opcname --------------------------+--------------+----------+----------+--------- pg_aggregate_fnoid_index | pg_aggregate | aggfnoid | regproc | oid_ops @@ -2297,6 +2308,7 @@ WHERE indrelid < 16384) ss WHERE icoll != 0 AND icoll != (SELECT oid FROM pg_collation WHERE collname = 'C'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree indexrelid | indrelid | iclass | icoll ------------+----------+--------+------- (0 rows) diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/misc_sanity.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/misc_sanity.out --- /tmp/cirrus-ci-build/src/test/regress/expected/misc_sanity.out 2024-03-19 15:41:21.019745000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/misc_sanity.out 2024-03-19 15:51:12.739521000 +0000 @@ -47,6 +47,7 @@ relkind = 'r' AND attstorage != 'p' ORDER BY 1, 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | attname | atttypid -------------------------+---------------+-------------- pg_attribute | attacl | aclitem[] @@ -85,6 +86,7 @@ AND i.indisunique AND c.oid NOT IN (SELECT conindid FROM pg_constraint) ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname --------- (0 rows) diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/expressions.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/expressions.out --- /tmp/cirrus-ci-build/src/test/regress/expected/expressions.out 2024-03-19 15:41:21.018102000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/expressions.out 2024-03-19 15:51:12.842590000 +0000 @@ -127,6 +127,8 @@ f2, f2::numeric(16,4) as f2164, f2::numeric as f2n from numeric_tbl; \d+ numeric_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.numeric_view" Column | Type | Collation | Nullable | Default | Storage | Description --------+---------------+-----------+----------+---------+---------+------------- @@ -161,6 +163,8 @@ f2, f2::character(14) as f214, f2::bpchar as f2n from bpchar_tbl; \d+ bpchar_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.bpchar_view" Column | Type | Collation | Nullable | Default | Storage | Description --------+---------------+-----------+----------+---------+----------+------------- @@ -383,6 +387,7 @@ function 1 myinthash(myint); create table inttest (a myint); insert into inttest values(1::myint),(null); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- try an array with enough elements to cause hashing select * from inttest where a in (1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint,8::myint,9::myint, null); a diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/unicode.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/unicode.out --- /tmp/cirrus-ci-build/src/test/regress/expected/unicode.out 2024-03-19 15:41:21.046637000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/unicode.out 2024-03-19 15:51:12.729500000 +0000 @@ -94,6 +94,7 @@ (4, U&'\0061\0308\24D1c'), (5, '')) vals (num, val) ORDER BY num; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree num | val | nfc | nfd | nfkc | nfkd -----+-----+-----+-----+------+------ 1 | äbc | t | f | t | f diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/xid.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/xid.out --- /tmp/cirrus-ci-build/src/test/regress/expected/xid.out 2024-03-19 15:41:21.047153000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/xid.out 2024-03-19 15:51:12.868048000 +0000 @@ -44,6 +44,7 @@ (1 row) SELECT * FROM pg_input_error_info('0xffffffffff', 'xid'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code ---------------------------------------------------+--------+------+---------------- value "0xffffffffff" is out of range for type xid | | | 22003 @@ -62,6 +63,7 @@ (1 row) SELECT * FROM pg_input_error_info('0xffffffffffffffffffff', 'xid8'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code --------------------------------------------------------------+--------+------+---------------- value "0xffffffffffffffffffff" is out of range for type xid8 | | | 22003 @@ -161,6 +163,7 @@ -- min() and max() for xid8 create table xid8_t1 (x xid8); insert into xid8_t1 values ('0'), ('010'), ('42'), ('0xffffffffffffffff'), ('-1'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select min(x), max(x) from xid8_t1; min | max -----+---------------------- @@ -224,6 +227,7 @@ (1 row) select * from pg_input_error_info('31:12:', 'pg_snapshot'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code -----------------------------------------------------+--------+------+---------------- invalid input syntax for type pg_snapshot: "31:12:" | | | 22P02 @@ -236,6 +240,7 @@ (1 row) select * from pg_input_error_info('12:16:14,13', 'pg_snapshot'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code ----------------------------------------------------------+--------+------+---------------- invalid input syntax for type pg_snapshot: "12:16:14,13" | | | 22P02 @@ -306,6 +311,7 @@ select id, pg_visible_in_snapshot(id::text::xid8, snap) from snapshot_test, generate_series(11, 21) id where nr = 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id | pg_visible_in_snapshot ----+------------------------ 11 | t @@ -325,6 +331,7 @@ select id, pg_visible_in_snapshot(id::text::xid8, snap) from snapshot_test, generate_series(90, 160) id where nr = 4; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id | pg_visible_in_snapshot -----+------------------------ 90 | t diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/mvcc.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/mvcc.out --- /tmp/cirrus-ci-build/src/test/regress/expected/mvcc.out 2024-03-19 15:41:21.019798000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/mvcc.out 2024-03-19 15:51:12.782371000 +0000 @@ -32,6 +32,7 @@ EXCEPTION WHEN reading_sql_data_not_permitted THEN END; END LOOP; END;$$; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- show sizes only if they differ SELECT :clean_aborted_self_key_before AS size_before, pg_relation_size('clean_aborted_self_key') size_after WHERE :clean_aborted_self_key_before != pg_relation_size('clean_aborted_self_key'); diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/copy.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/copy.out --- /tmp/cirrus-ci-build/src/test/regress/expected/copy.out 2024-03-19 15:41:21.017525000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/copy.out 2024-03-19 15:51:13.257915000 +0000 @@ -19,6 +19,7 @@ create temp table copytest2 (like copytest); copy copytest2 from :'filename' csv; select * from copytest except select * from copytest2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree style | test | filler -------+------+-------- (0 rows) @@ -28,6 +29,7 @@ copy copytest to :'filename' csv quote '''' escape E'\\'; copy copytest2 from :'filename' csv quote '''' escape E'\\'; select * from copytest except select * from copytest2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree style | test | filler -------+------+-------- (0 rows) @@ -63,8 +65,11 @@ -- We must insert enough rows to trigger multi-inserts. These are only -- enabled adaptively when there are few enough partition changes. insert into parted_copytest select x,1,'One' from generate_series(1,1000) x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into parted_copytest select x,2,'Two' from generate_series(1001,1010) x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into parted_copytest select x,1,'One' from generate_series(1011,1020) x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree \set filename :abs_builddir '/results/parted_copytest.csv' copy (select * from parted_copytest order by a) to :'filename'; truncate parted_copytest; @@ -166,6 +171,7 @@ execute function notice_after_tab_progress_reporting(); -- Generate COPY FROM report with PIPE. copy tab_progress_reporting from stdin; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INFO: progress: {"type": "PIPE", "command": "COPY FROM", "relname": "tab_progress_reporting", "has_bytes_total": false, "tuples_excluded": 0, "tuples_processed": 3, "has_bytes_processed": true} -- Generate COPY FROM report with FILE, with some excluded tuples. truncate tab_progress_reporting; diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/copyselect.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/copyselect.out --- /tmp/cirrus-ci-build/src/test/regress/expected/copyselect.out 2024-03-19 15:41:21.017564000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/copyselect.out 2024-03-19 15:51:13.184708000 +0000 @@ -63,6 +63,7 @@ -- Test JOIN -- copy (select * from test1 join test2 using (id)) to stdout; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree 1 a A 2 b B 3 c C @@ -72,6 +73,7 @@ -- Test UNION SELECT -- copy (select t from test1 where id = 1 UNION select * from v_test1 ORDER BY 1) to stdout; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a v_a v_b @@ -82,6 +84,7 @@ -- Test subselect -- copy (select * from (select t from test1 where id = 1 UNION select * from v_test1 ORDER BY 1) t1) to stdout; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a v_a v_b diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/insert.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/insert.out --- /tmp/cirrus-ci-build/src/test/regress/expected/insert.out 2024-03-19 15:41:21.018876000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/insert.out 2024-03-19 15:51:13.733501000 +0000 @@ -51,6 +51,7 @@ -- insert into inserttest values(10, 20, '40'), (-1, 2, DEFAULT), ((select 2), (select i from (values(3)) as foo (i)), 'values are fun!'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select * from inserttest; col1 | col2 | col3 ------+------+----------------- @@ -88,8 +89,10 @@ ALTER TABLE large_tuple_test ALTER COLUMN b SET STORAGE plain; -- create page w/ free space in range [nearlyEmptyFreeSpace, MaxHeapTupleSize) INSERT INTO large_tuple_test (select 1, NULL); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- should still fit on the page INSERT INTO large_tuple_test (select 2, repeat('a', 1000)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT pg_size_pretty(pg_relation_size('large_tuple_test'::regclass, 'main')); pg_size_pretty ---------------- @@ -98,9 +101,11 @@ -- add small record to the second page INSERT INTO large_tuple_test (select 3, NULL); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- now this tuple won't fit on the second page, but the insert should -- still succeed by extending the relation INSERT INTO large_tuple_test (select 4, repeat('a', 8126)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree DROP TABLE large_tuple_test; -- -- check indirection (field/array assignment), cf bug #14265 @@ -112,24 +117,32 @@ f3 insert_test_type, f4 insert_test_type[]); insert into inserttest (f2[1], f2[2]) values (1,2); insert into inserttest (f2[1], f2[2]) values (3,4), (5,6); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into inserttest (f2[1], f2[2]) select 7,8; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into inserttest (f2[1], f2[2]) values (1,default); -- not supported ERROR: cannot set an array element to DEFAULT LINE 1: insert into inserttest (f2[1], f2[2]) values (1,default); ^ insert into inserttest (f3.if1, f3.if2) values (1,array['foo']); insert into inserttest (f3.if1, f3.if2) values (1,'{foo}'), (2,'{bar}'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into inserttest (f3.if1, f3.if2) select 3, '{baz,quux}'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into inserttest (f3.if1, f3.if2) values (1,default); -- not supported ERROR: cannot set a subfield to DEFAULT LINE 1: insert into inserttest (f3.if1, f3.if2) values (1,default); ^ insert into inserttest (f3.if2[1], f3.if2[2]) values ('foo', 'bar'); insert into inserttest (f3.if2[1], f3.if2[2]) values ('foo', 'bar'), ('baz', 'quux'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into inserttest (f3.if2[1], f3.if2[2]) select 'bear', 'beer'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into inserttest (f4[1].if2[1], f4[1].if2[2]) values ('foo', 'bar'); insert into inserttest (f4[1].if2[1], f4[1].if2[2]) values ('foo', 'bar'), ('baz', 'quux'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into inserttest (f4[1].if2[1], f4[1].if2[2]) select 'bear', 'beer'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select * from inserttest; f1 | f2 | f3 | f4 ----+-------+------------------+------------------------ @@ -163,6 +176,11 @@ insert into inserttest (f4[1].if1, f4[1].if2[2]) select new.f1, new.f2; \d+ inserttest2 +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 Table "public.inserttest2" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+--------+-----------+----------+---------+----------+--------------+------------- @@ -188,7 +206,9 @@ create table inserttestb (f3 insert_test_domain, f4 insert_test_domain[]); insert into inserttesta (f2[1], f2[2]) values (1,2); insert into inserttesta (f2[1], f2[2]) values (3,4), (5,6); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into inserttesta (f2[1], f2[2]) select 7,8; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into inserttesta (f2[1], f2[2]) values (1,default); -- not supported ERROR: cannot set an array element to DEFAULT LINE 1: insert into inserttesta (f2[1], f2[2]) values (1,default); @@ -196,12 +216,16 @@ insert into inserttesta (f2[1], f2[2]) values (0,2); ERROR: value for domain insert_pos_ints violates check constraint "insert_pos_ints_check" insert into inserttesta (f2[1], f2[2]) values (3,4), (0,6); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: value for domain insert_pos_ints violates check constraint "insert_pos_ints_check" insert into inserttesta (f2[1], f2[2]) select 0,8; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: value for domain insert_pos_ints violates check constraint "insert_pos_ints_check" insert into inserttestb (f3.if1, f3.if2) values (1,array['foo']); insert into inserttestb (f3.if1, f3.if2) values (1,'{foo}'), (2,'{bar}'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into inserttestb (f3.if1, f3.if2) select 3, '{baz,quux}'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into inserttestb (f3.if1, f3.if2) values (1,default); -- not supported ERROR: cannot set a subfield to DEFAULT LINE 1: insert into inserttestb (f3.if1, f3.if2) values (1,default); @@ -209,15 +233,21 @@ insert into inserttestb (f3.if1, f3.if2) values (1,array[null]); ERROR: value for domain insert_test_domain violates check constraint "insert_test_domain_check" insert into inserttestb (f3.if1, f3.if2) values (1,'{null}'), (2,'{bar}'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: value for domain insert_test_domain violates check constraint "insert_test_domain_check" insert into inserttestb (f3.if1, f3.if2) select 3, '{null,quux}'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: value for domain insert_test_domain violates check constraint "insert_test_domain_check" insert into inserttestb (f3.if2[1], f3.if2[2]) values ('foo', 'bar'); insert into inserttestb (f3.if2[1], f3.if2[2]) values ('foo', 'bar'), ('baz', 'quux'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into inserttestb (f3.if2[1], f3.if2[2]) select 'bear', 'beer'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into inserttestb (f3, f4[1].if2[1], f4[1].if2[2]) values (row(1,'{x}'), 'foo', 'bar'); insert into inserttestb (f3, f4[1].if2[1], f4[1].if2[2]) values (row(1,'{x}'), 'foo', 'bar'), (row(2,'{y}'), 'baz', 'quux'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into inserttestb (f3, f4[1].if2[1], f4[1].if2[2]) select row(1,'{x}')::insert_test_domain, 'bear', 'beer'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select * from inserttesta; f1 | f2 ----+------- @@ -256,6 +286,11 @@ insert into inserttestb (f4[1].if1, f4[1].if2[2]) select new.f1, new.f2; \d+ inserttest2 +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 Table "public.inserttest2" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+--------+-----------+----------+---------+----------+--------------+------------- @@ -504,8 +539,11 @@ create table part_ee_ff3_2 partition of part_ee_ff3 for values from (25) to (30); truncate list_parted; insert into list_parted values ('aa'), ('cc'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into list_parted select 'Ff', s.a from generate_series(1, 29) s(a); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into list_parted select 'gg', s.a from generate_series(1, 9) s(a); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into list_parted (b) values (1); select tableoid::regclass::text, a, min(b) as min_b, max(b) as max_b from list_parted group by 1, 2 order by 1; tableoid | a | min_b | max_b @@ -532,6 +570,7 @@ insert into hash_parted values(generate_series(1,10)); -- direct insert of values divisible by 4 - ok; insert into hpart0 values(12),(16); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- fail; insert into hpart0 values(11); ERROR: new row for relation "hpart0" violates partition constraint @@ -561,6 +600,13 @@ -- test \d+ output on a table which has both partitioned and unpartitioned -- partitions \d+ list_parted +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Partitioned table "public.list_parted" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+----------+--------------+------------- @@ -583,6 +629,12 @@ create table list_parted (a int) partition by list (a); create table part_default partition of list_parted default; \d+ part_default +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 Table "public.part_default" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- @@ -688,6 +740,7 @@ with ins (a, b, c) as (insert into mlparted (b, a) select s.a, 1 from generate_series(2, 39) s(a) returning tableoid::regclass, *) select a, b, min(c), max(c) from ins group by a, b order by 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | min | max ------------+---+-----+----- mlparted11 | 1 | 2 | 4 @@ -921,6 +974,7 @@ set role regress_coldesc_role; with result as (insert into brtrigpartcon values (1, 'hi there') returning 1) insert into inserttest3 (f3) select * from result; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: new row for relation "brtrigpartcon1" violates partition constraint DETAIL: Failing row contains (a, b) = (2, hi there). reset role; @@ -942,6 +996,7 @@ alter table donothingbrtrig_test attach partition donothingbrtrig_test1 for values in (1); alter table donothingbrtrig_test attach partition donothingbrtrig_test2 for values in (2); insert into donothingbrtrig_test values (1, 'foo'), (2, 'bar'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: b: foo NOTICE: b: bar copy donothingbrtrig_test from stdout; @@ -966,6 +1021,13 @@ create table mcrparted7_gt_common_lt_d partition of mcrparted for values from ('common', maxvalue) to ('d', minvalue); create table mcrparted8_ge_d partition of mcrparted for values from ('d', minvalue) to (maxvalue, maxvalue); \d+ mcrparted +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Partitioned table "public.mcrparted" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+----------+--------------+------------- @@ -982,6 +1044,12 @@ mcrparted8_ge_d FOR VALUES FROM ('d', MINVALUE) TO (MAXVALUE, MAXVALUE) \d+ mcrparted1_lt_b +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 Table "public.mcrparted1_lt_b" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+----------+--------------+------------- @@ -991,6 +1059,12 @@ Partition constraint: ((a IS NOT NULL) AND (b IS NOT NULL) AND (a < 'b'::text)) \d+ mcrparted2_b +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 Table "public.mcrparted2_b" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+----------+--------------+------------- @@ -1000,6 +1074,12 @@ Partition constraint: ((a IS NOT NULL) AND (b IS NOT NULL) AND (a >= 'b'::text) AND (a < 'c'::text)) \d+ mcrparted3_c_to_common +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 Table "public.mcrparted3_c_to_common" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+----------+--------------+------------- @@ -1009,6 +1089,12 @@ Partition constraint: ((a IS NOT NULL) AND (b IS NOT NULL) AND (a >= 'c'::text) AND (a < 'common'::text)) \d+ mcrparted4_common_lt_0 +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 Table "public.mcrparted4_common_lt_0" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+----------+--------------+------------- @@ -1018,6 +1104,12 @@ Partition constraint: ((a IS NOT NULL) AND (b IS NOT NULL) AND (a = 'common'::text) AND (b < 0)) \d+ mcrparted5_common_0_to_10 +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 Table "public.mcrparted5_common_0_to_10" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+----------+--------------+------------- @@ -1027,6 +1119,12 @@ Partition constraint: ((a IS NOT NULL) AND (b IS NOT NULL) AND (a = 'common'::text) AND (b >= 0) AND (b < 10)) \d+ mcrparted6_common_ge_10 +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 Table "public.mcrparted6_common_ge_10" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+----------+--------------+------------- @@ -1036,6 +1134,12 @@ Partition constraint: ((a IS NOT NULL) AND (b IS NOT NULL) AND (a = 'common'::text) AND (b >= 10)) \d+ mcrparted7_gt_common_lt_d +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 Table "public.mcrparted7_gt_common_lt_d" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+----------+--------------+------------- @@ -1045,6 +1149,12 @@ Partition constraint: ((a IS NOT NULL) AND (b IS NOT NULL) AND (a > 'common'::text) AND (a < 'd'::text)) \d+ mcrparted8_ge_d +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 Table "public.mcrparted8_ge_d" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+----------+--------------+------------- @@ -1056,6 +1166,7 @@ insert into mcrparted values ('aaa', 0), ('b', 0), ('bz', 10), ('c', -10), ('comm', -10), ('common', -10), ('common', 0), ('common', 10), ('commons', 0), ('d', -10), ('e', 0); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select tableoid::regclass, * from mcrparted order by a, b; tableoid | a | b ---------------------------+---------+----- diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/insert_conflict.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/insert_conflict.out --- /tmp/cirrus-ci-build/src/test/regress/expected/insert_conflict.out 2024-03-19 15:41:21.018900000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/insert_conflict.out 2024-03-19 15:51:13.350088000 +0000 @@ -236,6 +236,7 @@ insert into insertconflicttest values (1, 'Apple'), (2, 'Orange') on conflict (key) do update set (fruit, key) = (excluded.fruit, excluded.key); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- Give good diagnostic message when EXCLUDED.* spuriously referenced from -- RETURNING: insert into insertconflicttest values (1, 'Apple') on conflict (key) do update set fruit = excluded.fruit RETURNING excluded.fruit; @@ -698,25 +699,31 @@ create table selfconflict (f1 int primary key, f2 int); begin transaction isolation level read committed; insert into selfconflict values (1,1), (1,2) on conflict do nothing; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree commit; begin transaction isolation level repeatable read; insert into selfconflict values (2,1), (2,2) on conflict do nothing; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree commit; begin transaction isolation level serializable; insert into selfconflict values (3,1), (3,2) on conflict do nothing; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree commit; begin transaction isolation level read committed; insert into selfconflict values (4,1), (4,2) on conflict(f1) do update set f2 = 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: ON CONFLICT DO UPDATE command cannot affect row a second time HINT: Ensure that no rows proposed for insertion within the same command have duplicate constrained values. commit; begin transaction isolation level repeatable read; insert into selfconflict values (5,1), (5,2) on conflict(f1) do update set f2 = 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: ON CONFLICT DO UPDATE command cannot affect row a second time HINT: Ensure that no rows proposed for insertion within the same command have duplicate constrained values. commit; begin transaction isolation level serializable; insert into selfconflict values (6,1), (6,2) on conflict(f1) do update set f2 = 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: ON CONFLICT DO UPDATE command cannot affect row a second time HINT: Ensure that no rows proposed for insertion within the same command have duplicate constrained values. commit; @@ -795,7 +802,9 @@ -- test with multiple rows truncate parted_conflict_test; insert into parted_conflict_test (a, b) values (1, 'a'), (2, 'a'), (4, 'a') on conflict (a) do update set b = excluded.b where excluded.b = 'b'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into parted_conflict_test (a, b) values (1, 'b'), (2, 'c'), (4, 'b') on conflict (a) do update set b = excluded.b where excluded.b = 'b'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- should see (1, 'b'), (2, 'a'), (4, 'b') select * from parted_conflict_test order by a; a | b @@ -867,6 +876,7 @@ insert into parted_conflict values (0, 'cero', 1); insert into parted_conflict values(0, 'cero', 1) on conflict (a,b) do update set c = parted_conflict.c + 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: a = 0, b = cero, c = 2 drop table parted_conflict; drop function parted_conflict_update_func(); diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/create_procedure.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/create_procedure.out --- /tmp/cirrus-ci-build/src/test/regress/expected/create_procedure.out 2024-03-19 15:41:21.017787000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/create_procedure.out 2024-03-19 15:51:13.856992000 +0000 @@ -16,6 +16,7 @@ INSERT INTO cp_test VALUES (1, x); $$; \df ptest1 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of functions Schema | Name | Result data type | Argument data types | Type --------+--------+------------------+---------------------+------ @@ -35,6 +36,7 @@ -- show only normal functions \dfn public.*test*1 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of functions Schema | Name | Result data type | Argument data types | Type --------+--------------+------------------+---------------------+------ @@ -43,6 +45,7 @@ -- show only procedures \dfp public.*test*1 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of functions Schema | Name | Result data type | Argument data types | Type --------+--------+------------------+---------------------+------ @@ -72,6 +75,7 @@ INSERT INTO cp_test VALUES (1, x); END; \df ptest1s +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of functions Schema | Name | Result data type | Argument data types | Type --------+---------+------------------+---------------------+------ @@ -205,6 +209,7 @@ BEGIN ATOMIC END; \df ptest8 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of functions Schema | Name | Result data type | Argument data types | Type --------+--------+------------------+---------------------+------ @@ -294,6 +299,7 @@ CREATE PROCEDURE ptest10(IN a int, IN b int, IN c int) LANGUAGE SQL AS $$ SELECT a + b - c $$; \df ptest10 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of functions Schema | Name | Result data type | Argument data types | Type --------+---------+------------------+-------------------------------------------+------ @@ -309,6 +315,7 @@ begin; drop procedure ptest10(out int, int, int); \df ptest10 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of functions Schema | Name | Result data type | Argument data types | Type --------+---------+------------------+------------------------------------------+------ @@ -320,6 +327,7 @@ begin; drop procedure ptest10(in int, int, int); \df ptest10 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of functions Schema | Name | Result data type | Argument data types | Type --------+---------+------------------+-------------------------------------------+------ diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/create_table.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/create_table.out --- /tmp/cirrus-ci-build/src/test/regress/expected/create_table.out 2024-03-19 15:41:21.017845000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/create_table.out 2024-03-19 15:51:14.529396000 +0000 @@ -73,6 +73,7 @@ -- create an extra wide table to test for issues related to that -- (temporarily hide query, to avoid the long CREATE TABLE stmt) \set ECHO none +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO extra_wide_table(firstc, lastc) VALUES('first col', 'last col'); SELECT firstc, lastc FROM extra_wide_table; firstc | lastc @@ -274,6 +275,12 @@ ERROR: cannot inherit from partitioned table "partitioned2" -- Partition key in describe output \d partitioned +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 Partitioned table "public.partitioned" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -285,6 +292,13 @@ Number of partitions: 0 \d+ partitioned2 +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Partitioned table "public.partitioned2" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+----------+--------------+------------- @@ -298,6 +312,12 @@ DETAIL: Partition key of the failing row contains ((a + 1), substr(b, 1, 5)) = (2, hello). CREATE TABLE part2_1 PARTITION OF partitioned2 FOR VALUES FROM (-1, 'aaaaa') TO (100, 'ccccc'); \d+ part2_1 +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 Table "public.part2_1" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+----------+--------------+------------- @@ -339,6 +359,12 @@ (2 rows) \d+ partitioned1 +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 Table "public.partitioned1" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- @@ -396,6 +422,13 @@ CREATE TABLE part_p3 PARTITION OF list_parted FOR VALUES IN ((2+1)); CREATE TABLE part_null PARTITION OF list_parted FOR VALUES IN (null); \d+ list_parted +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Partitioned table "public.list_parted" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- @@ -808,6 +841,11 @@ DETAIL: Failing row contains (1, null). -- note that while b's default is overridden, a's default is preserved \d parted_notnull_inh_test1 +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 Table "public.parted_notnull_inh_test1" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -847,6 +885,12 @@ drop table test_part_coll_posix; -- Partition bound in describe output \d+ part_b +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 Table "public.part_b" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+----------+--------------+------------- @@ -859,6 +903,14 @@ -- Both partition bound and partition key in describe output \d+ part_c +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Partitioned table "public.part_c" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+----------+--------------+------------- @@ -873,6 +925,12 @@ -- a level-2 partition's constraint will include the parent's expressions \d+ part_c_1_10 +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 Table "public.part_c_1_10" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+----------+--------------+------------- @@ -888,6 +946,12 @@ -- output could vary depending on the order in which partition oids are -- returned. \d parted +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 Partitioned table "public.parted" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -897,6 +961,12 @@ Number of partitions: 3 (Use \d+ to list them.) \d hash_parted +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 Partitioned table "public.hash_parted" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -908,6 +978,12 @@ CREATE TABLE range_parted4 (a int, b int, c int) PARTITION BY RANGE (abs(a), abs(b), c); CREATE TABLE unbounded_range_part PARTITION OF range_parted4 FOR VALUES FROM (MINVALUE, MINVALUE, MINVALUE) TO (MAXVALUE, MAXVALUE, MAXVALUE); \d+ unbounded_range_part +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 Table "public.unbounded_range_part" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- @@ -920,6 +996,12 @@ DROP TABLE unbounded_range_part; CREATE TABLE range_parted4_1 PARTITION OF range_parted4 FOR VALUES FROM (MINVALUE, MINVALUE, MINVALUE) TO (1, MAXVALUE, MAXVALUE); \d+ range_parted4_1 +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 Table "public.range_parted4_1" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- @@ -931,6 +1013,12 @@ CREATE TABLE range_parted4_2 PARTITION OF range_parted4 FOR VALUES FROM (3, 4, 5) TO (6, 7, MAXVALUE); \d+ range_parted4_2 +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 Table "public.range_parted4_2" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- @@ -942,6 +1030,12 @@ CREATE TABLE range_parted4_3 PARTITION OF range_parted4 FOR VALUES FROM (6, 8, MINVALUE) TO (9, MAXVALUE, MAXVALUE); \d+ range_parted4_3 +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 Table "public.range_parted4_3" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- @@ -979,6 +1073,13 @@ (1 row) \d+ parted_col_comment +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Partitioned table "public.parted_col_comment" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+----------+--------------+--------------- @@ -996,6 +1097,12 @@ CREATE TABLE arrlp (a int[]) PARTITION BY LIST (a); CREATE TABLE arrlp12 PARTITION OF arrlp FOR VALUES IN ('{1}', '{2}'); \d+ arrlp12 +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 Table "public.arrlp12" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+-----------+-----------+----------+---------+----------+--------------+------------- @@ -1009,6 +1116,13 @@ create table boolspart_t partition of boolspart for values in (true); create table boolspart_f partition of boolspart for values in (false); \d+ boolspart +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Partitioned table "public.boolspart" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- @@ -1090,6 +1204,13 @@ create table part_column_drop_1_10 partition of part_column_drop for values from (1) to (10); \d part_column_drop +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Partitioned table "public.part_column_drop" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -1105,6 +1226,12 @@ Number of partitions: 1 (Use \d+ to list them.) \d part_column_drop_1_10 +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 Table "public.part_column_drop_1_10" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/create_type.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/create_type.out --- /tmp/cirrus-ci-build/src/test/regress/expected/create_type.out 2024-03-19 15:41:21.017876000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/create_type.out 2024-03-19 15:51:13.846017000 +0000 @@ -158,6 +158,7 @@ SELECT * FROM default_test; ' LANGUAGE SQL; SELECT * FROM get_default_test(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 | f2 -------+---- zippo | 42 @@ -222,6 +223,7 @@ -- might as well exercise the widget type while we're here INSERT INTO mytab VALUES ('(1,2,3)'), ('(-44,5.5,12)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree TABLE mytab; foo -------------- @@ -302,6 +304,7 @@ INSERT INTO city VALUES ('Podunk', '(1,2),(3,4)', '100,127,1000'), ('Gotham', '(1000,34),(1100,334)', '123456,127,-1000,6789'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree TABLE city; name | location | budget --------+----------------------+----------------------- diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/create_schema.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/create_schema.out --- /tmp/cirrus-ci-build/src/test/regress/expected/create_schema.out 2024-03-19 15:41:21.017818000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/create_schema.out 2024-03-19 15:51:13.855392000 +0000 @@ -63,6 +63,10 @@ CREATE SCHEMA AUTHORIZATION regress_create_schema_role CREATE TABLE regress_create_schema_role.tab (id int); \d regress_create_schema_role.tab +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 Table "regress_create_schema_role.tab" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -75,6 +79,10 @@ CREATE SCHEMA AUTHORIZATION CURRENT_ROLE CREATE TABLE regress_create_schema_role.tab (id int); \d regress_create_schema_role.tab +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 Table "regress_create_schema_role.tab" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -86,6 +94,10 @@ CREATE SCHEMA regress_schema_1 AUTHORIZATION CURRENT_ROLE CREATE TABLE regress_schema_1.tab (id int); \d regress_schema_1.tab +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 Table "regress_schema_1.tab" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/create_index.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/create_index.out --- /tmp/cirrus-ci-build/src/test/regress/expected/create_index.out 2024-03-19 15:41:21.017720000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/create_index.out 2024-03-19 15:51:15.660100000 +0000 @@ -53,6 +53,7 @@ \set filename :abs_srcdir '/data/rect.data' COPY slow_emp4000 FROM :'filename'; INSERT INTO fast_emp4000 SELECT * FROM slow_emp4000; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE slow_emp4000; ANALYZE fast_emp4000; CREATE INDEX grect2ind ON fast_emp4000 USING gist (home_base); @@ -590,6 +591,7 @@ EXPLAIN (COSTS OFF) SELECT point(x,x), (SELECT f1 FROM gpolygon_tbl ORDER BY f1 <-> point(x,x) LIMIT 1) as c FROM generate_series(0,10,1) x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------------------------------- Function Scan on generate_series x @@ -600,6 +602,7 @@ (5 rows) SELECT point(x,x), (SELECT f1 FROM gpolygon_tbl ORDER BY f1 <-> point(x,x) LIMIT 1) as c FROM generate_series(0,10,1) x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree point | c ---------+------------------------------------------- (0,0) | ((240,359),(240,455),(337,455),(337,359)) @@ -1184,6 +1187,7 @@ -- CREATE TABLE array_gin_test (a int[]); INSERT INTO array_gin_test SELECT ARRAY[1, g%5, g] FROM generate_series(1, 10000) g; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE INDEX array_gin_test_idx ON array_gin_test USING gin (a); SELECT COUNT(*) FROM array_gin_test WHERE a @> '{2}'; count @@ -1198,6 +1202,8 @@ CREATE INDEX gin_relopts_test ON array_index_op_test USING gin (i) WITH (FASTUPDATE=on, GIN_PENDING_LIST_LIMIT=128); \d+ gin_relopts_test +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Index "public.gin_relopts_test" Column | Type | Key? | Definition | Storage | Stats target --------+---------+------+------------+---------+-------------- @@ -1260,6 +1266,11 @@ DELETE FROM unique_tbl WHERE t = 'seven'; CREATE UNIQUE INDEX unique_idx4 ON unique_tbl (i) NULLS NOT DISTINCT; -- ok now \d unique_tbl +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 Table "public.unique_tbl" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -1270,6 +1281,8 @@ "unique_idx4" UNIQUE, btree (i) NULLS NOT DISTINCT \d unique_idx3 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Index "public.unique_idx3" Column | Type | Key? | Definition --------+---------+------+------------ @@ -1277,6 +1290,8 @@ unique, btree, for table "public.unique_tbl" \d unique_idx4 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Index "public.unique_idx4" Column | Type | Key? | Definition --------+---------+------+------------ @@ -1312,6 +1327,11 @@ INSERT INTO func_index_heap VALUES('QWERTY'); -- while we're here, see that the metadata looks sane \d func_index_heap +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 Table "public.func_index_heap" Column | Type | Collation | Nullable | Default --------+------+-----------+----------+--------- @@ -1321,6 +1341,8 @@ "func_index_index" UNIQUE, btree (textcat(f1, f2)) \d func_index_index +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Index "public.func_index_index" Column | Type | Key? | Definition ---------+------+------+----------------- @@ -1344,6 +1366,11 @@ INSERT INTO func_index_heap VALUES('QWERTY'); -- while we're here, see that the metadata looks sane \d func_index_heap +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 Table "public.func_index_heap" Column | Type | Collation | Nullable | Default --------+------+-----------+----------+--------- @@ -1353,6 +1380,8 @@ "func_index_index" UNIQUE, btree ((f1 || f2)) \d func_index_index +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Index "public.func_index_index" Column | Type | Key? | Definition --------+------+------+------------ @@ -1439,6 +1468,11 @@ DELETE FROM concur_heap WHERE f1 = 'b'; VACUUM FULL concur_heap; \d concur_heap +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 Table "public.concur_heap" Column | Type | Collation | Nullable | Default --------+------+-----------+----------+--------- @@ -1455,6 +1489,11 @@ REINDEX TABLE concur_heap; \d concur_heap +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 Table "public.concur_heap" Column | Type | Collation | Nullable | Default --------+------+-----------+----------+--------- @@ -1475,6 +1514,7 @@ CREATE TEMP TABLE concur_temp (f1 int, f2 text) ON COMMIT PRESERVE ROWS; INSERT INTO concur_temp VALUES (1, 'foo'), (2, 'bar'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE INDEX CONCURRENTLY concur_temp_ind ON concur_temp(f1); DROP INDEX CONCURRENTLY concur_temp_ind; DROP TABLE concur_temp; @@ -1483,6 +1523,7 @@ CREATE TEMP TABLE concur_temp (f1 int, f2 text) ON COMMIT DROP; INSERT INTO concur_temp VALUES (1, 'foo'), (2, 'bar'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- Fails when running in a transaction. CREATE INDEX CONCURRENTLY concur_temp_ind ON concur_temp(f1); ERROR: CREATE INDEX CONCURRENTLY cannot run inside a transaction block @@ -1491,6 +1532,7 @@ CREATE TEMP TABLE concur_temp (f1 int, f2 text) ON COMMIT DELETE ROWS; INSERT INTO concur_temp VALUES (1, 'foo'), (2, 'bar'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE INDEX CONCURRENTLY concur_temp_ind ON concur_temp(f1); DROP INDEX CONCURRENTLY concur_temp_ind; DROP TABLE concur_temp; @@ -1514,6 +1556,11 @@ DROP INDEX CONCURRENTLY "concur_index1"; DROP INDEX CONCURRENTLY "concur_heap_expr_idx"; \d concur_heap +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 Table "public.concur_heap" Column | Type | Collation | Nullable | Default --------+------+-----------+----------+--------- @@ -1529,9 +1576,15 @@ CREATE TABLE cwi_test( a int , b varchar(10), c char); -- add some data so that all tests have something to work with. INSERT INTO cwi_test VALUES(1, 2), (3, 4), (5, 6); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE UNIQUE INDEX cwi_uniq_idx ON cwi_test(a , b); ALTER TABLE cwi_test ADD primary key USING INDEX cwi_uniq_idx; \d cwi_test +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 Table "public.cwi_test" Column | Type | Collation | Nullable | Default --------+-----------------------+-----------+----------+--------- @@ -1542,6 +1595,8 @@ "cwi_uniq_idx" PRIMARY KEY, btree (a, b) \d cwi_uniq_idx +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Index "public.cwi_uniq_idx" Column | Type | Key? | Definition --------+-----------------------+------+------------ @@ -1555,6 +1610,11 @@ USING INDEX cwi_uniq2_idx; NOTICE: ALTER TABLE / ADD CONSTRAINT USING INDEX will rename index "cwi_uniq2_idx" to "cwi_replaced_pkey" \d cwi_test +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 Table "public.cwi_test" Column | Type | Collation | Nullable | Default --------+-----------------------+-----------+----------+--------- @@ -1565,6 +1625,8 @@ "cwi_replaced_pkey" PRIMARY KEY, btree (b, a) \d cwi_replaced_pkey +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Index "public.cwi_replaced_pkey" Column | Type | Key? | Definition --------+-----------------------+------+------------ @@ -1620,6 +1682,7 @@ -- CREATE TABLE onek_with_null AS SELECT unique1, unique2 FROM onek; INSERT INTO onek_with_null (unique1,unique2) VALUES (NULL, -1), (NULL, NULL); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE UNIQUE INDEX onek_nulltest ON onek_with_null (unique2,unique1); SET enable_seqscan = OFF; SET enable_indexscan = ON; @@ -2207,6 +2270,11 @@ USING gist (k tsvector_ops (siglen='300'), j tsvector_ops); REINDEX TABLE CONCURRENTLY concur_appclass_tab; \d concur_appclass_tab +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 Table "public.concur_appclass_tab" Column | Type | Collation | Nullable | Default --------+----------+-----------+----------+--------- @@ -2243,6 +2311,7 @@ ALTER INDEX concur_reindex_part_index_0 ATTACH PARTITION concur_reindex_part_index_0_2; SELECT relid, parentrelid, level FROM pg_partition_tree('concur_reindex_part_index') ORDER BY relid, level; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relid | parentrelid | level -------------------------------+-----------------------------+------- concur_reindex_part_index | | 0 @@ -2254,6 +2323,7 @@ SELECT relid, parentrelid, level FROM pg_partition_tree('concur_reindex_part_index') ORDER BY relid, level; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relid | parentrelid | level -------------------------------+-----------------------------+------- concur_reindex_part_index | | 0 @@ -2305,6 +2375,7 @@ REINDEX INDEX CONCURRENTLY concur_reindex_part_index_0_2; SELECT relid, parentrelid, level FROM pg_partition_tree('concur_reindex_part_index') ORDER BY relid, level; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relid | parentrelid | level -------------------------------+-----------------------------+------- concur_reindex_part_index | | 0 @@ -2355,6 +2426,7 @@ SELECT relid, parentrelid, level FROM pg_partition_tree('concur_reindex_part_index') ORDER BY relid, level; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relid | parentrelid | level -------------------------------+-----------------------------+------- concur_reindex_part_index | | 0 @@ -2414,6 +2486,7 @@ $func$ LANGUAGE plpgsql; -- Check that expected relfilenodes are changed, non-concurrent case. SELECT create_relfilenode_part('reindex_index_status', 'concur_reindex_part_index'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree create_relfilenode_part ------------------------- @@ -2421,6 +2494,8 @@ REINDEX INDEX concur_reindex_part_index; SELECT * FROM compare_relfilenode_part('reindex_index_status'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | relkind | state -------------------------------+---------+-------------------------- concur_reindex_part_index | I | relfilenode is unchanged @@ -2433,6 +2508,7 @@ DROP TABLE reindex_index_status; -- concurrent case. SELECT create_relfilenode_part('reindex_index_status', 'concur_reindex_part_index'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree create_relfilenode_part ------------------------- @@ -2440,6 +2516,8 @@ REINDEX INDEX CONCURRENTLY concur_reindex_part_index; SELECT * FROM compare_relfilenode_part('reindex_index_status'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | relkind | state -------------------------------+---------+-------------------------- concur_reindex_part_index | I | relfilenode is unchanged @@ -2471,6 +2549,7 @@ -- Check that expected relfilenodes are changed, non-concurrent case. -- Note that the partition tree changes of the *indexes* need to be checked. SELECT create_relfilenode_part('reindex_index_status', 'concur_reindex_part_index'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree create_relfilenode_part ------------------------- @@ -2478,6 +2557,8 @@ REINDEX TABLE concur_reindex_part; SELECT * FROM compare_relfilenode_part('reindex_index_status'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | relkind | state -------------------------------+---------+-------------------------- concur_reindex_part_index | I | relfilenode is unchanged @@ -2490,6 +2571,7 @@ DROP TABLE reindex_index_status; -- concurrent case. SELECT create_relfilenode_part('reindex_index_status', 'concur_reindex_part_index'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree create_relfilenode_part ------------------------- @@ -2497,6 +2579,8 @@ REINDEX TABLE CONCURRENTLY concur_reindex_part; SELECT * FROM compare_relfilenode_part('reindex_index_status'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | relkind | state -------------------------------+---------+-------------------------- concur_reindex_part_index | I | relfilenode is unchanged @@ -2540,6 +2624,13 @@ ERROR: can only reindex the currently open database -- Check the relation status, there should not be invalid indexes \d concur_reindex_tab +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Table "public.concur_reindex_tab" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -2558,6 +2649,7 @@ -- Check handling of invalid indexes CREATE TABLE concur_reindex_tab4 (c1 int); INSERT INTO concur_reindex_tab4 VALUES (1), (1), (2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- This trick creates an invalid index. CREATE UNIQUE INDEX CONCURRENTLY concur_reindex_ind5 ON concur_reindex_tab4 (c1); ERROR: could not create unique index "concur_reindex_ind5" @@ -2568,6 +2660,11 @@ ERROR: could not create unique index "concur_reindex_ind5_ccnew" DETAIL: Key (c1)=(1) is duplicated. \d concur_reindex_tab4 +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 Table "public.concur_reindex_tab4" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -2585,6 +2682,11 @@ HINT: Use DROP INDEX or REINDEX INDEX. NOTICE: table "concur_reindex_tab4" has no indexes that can be reindexed concurrently \d concur_reindex_tab4 +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 Table "public.concur_reindex_tab4" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -2595,6 +2697,11 @@ -- But it is fixed with REINDEX INDEX. REINDEX INDEX CONCURRENTLY concur_reindex_ind5; \d concur_reindex_tab4 +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 Table "public.concur_reindex_tab4" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -2610,6 +2717,7 @@ INSERT INTO concur_exprs_tab (c1, c2) VALUES (1369652450, FALSE), (414515746, TRUE), (897778963, FALSE); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE UNIQUE INDEX concur_exprs_index_expr ON concur_exprs_tab ((c1::text COLLATE "C")); CREATE UNIQUE INDEX concur_exprs_index_pred ON concur_exprs_tab (c1) @@ -2717,6 +2825,7 @@ CREATE TEMP TABLE concur_temp_tab_1 (c1 int, c2 text) ON COMMIT PRESERVE ROWS; INSERT INTO concur_temp_tab_1 VALUES (1, 'foo'), (2, 'bar'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE INDEX concur_temp_ind_1 ON concur_temp_tab_1(c2); REINDEX TABLE CONCURRENTLY concur_temp_tab_1; REINDEX INDEX CONCURRENTLY concur_temp_ind_1; @@ -2736,6 +2845,7 @@ CREATE TEMP TABLE concur_temp_tab_3 (c1 int, c2 text) ON COMMIT PRESERVE ROWS; INSERT INTO concur_temp_tab_3 VALUES (1, 'foo'), (2, 'bar'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE INDEX concur_temp_ind_3 ON concur_temp_tab_3(c2); -- Fails when running in a transaction REINDEX INDEX CONCURRENTLY concur_temp_ind_3; @@ -2754,6 +2864,7 @@ ELSE 'relfilenode has changed' END FROM reindex_temp_before b JOIN pg_class a ON b.oid = a.oid ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | relkind | case -------------------+---------+------------------------- concur_temp_ind_1 | i | relfilenode has changed @@ -2770,8 +2881,10 @@ SET search_path = 'schema_to_reindex'; CREATE TABLE table1(col1 SERIAL PRIMARY KEY); INSERT INTO table1 SELECT generate_series(1,400); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE TABLE table2(col1 SERIAL PRIMARY KEY, col2 TEXT NOT NULL); INSERT INTO table2 SELECT generate_series(1,400), 'abc'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE INDEX ON table2(col2); CREATE MATERIALIZED VIEW matview AS SELECT col1 FROM table2; CREATE INDEX ON matview(col1); @@ -2784,11 +2897,13 @@ SELECT oid, 'pg_toast_TABLE', relfilenode, relkind, reltoastrelid FROM pg_class WHERE oid IN (SELECT reltoastrelid FROM reindex_before WHERE reltoastrelid > 0); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO reindex_before SELECT oid, 'pg_toast_TABLE_index', relfilenode, relkind, reltoastrelid FROM pg_class where oid in (select indexrelid from pg_index where indrelid in (select reltoastrelid from reindex_before where reltoastrelid > 0)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree REINDEX SCHEMA schema_to_reindex; CREATE TABLE reindex_after AS SELECT oid, relname, relfilenode, relkind FROM pg_class @@ -2799,6 +2914,7 @@ ELSE 'relfilenode has changed' END FROM reindex_before b JOIN pg_class a ON b.oid = a.oid ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | relkind | case ----------------------+---------+-------------------------- matview | m | relfilenode is unchanged diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/create_index_spgist.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/create_index_spgist.out --- /tmp/cirrus-ci-build/src/test/regress/expected/create_index_spgist.out 2024-03-19 15:41:21.017746000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/create_index_spgist.out 2024-03-19 15:51:15.143728000 +0000 @@ -5,7 +5,9 @@ SELECT point(unique1,unique2) AS p FROM tenk1; INSERT INTO quad_point_tbl SELECT '(333.0,400.0)'::point FROM generate_series(1,1000); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO quad_point_tbl VALUES (NULL), (NULL), (NULL); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE INDEX sp_quad_ind ON quad_point_tbl USING spgist (p); CREATE TABLE kd_point_tbl AS SELECT * FROM quad_point_tbl; CREATE INDEX sp_kd_ind ON kd_point_tbl USING spgist (p kd_point_ops); @@ -13,6 +15,7 @@ SELECT name AS t FROM road WHERE name !~ '^[0-9]'; INSERT INTO radix_text_tbl SELECT 'P0123456789abcdef' FROM generate_series(1,1000); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO radix_text_tbl VALUES ('P0123456789abcde'); INSERT INTO radix_text_tbl VALUES ('P0123456789abcdefF'); CREATE INDEX sp_radix_ind ON radix_text_tbl USING spgist (t); @@ -342,6 +345,7 @@ SELECT * FROM quad_point_tbl_ord_seq1 seq FULL JOIN quad_point_tbl_ord_idx1 idx ON seq.n = idx.n WHERE seq.dist IS DISTINCT FROM idx.dist; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree n | dist | p | n | dist | p ---+------+---+---+------+--- (0 rows) @@ -363,6 +367,7 @@ SELECT * FROM quad_point_tbl_ord_seq2 seq FULL JOIN quad_point_tbl_ord_idx2 idx ON seq.n = idx.n WHERE seq.dist IS DISTINCT FROM idx.dist; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree n | dist | p | n | dist | p ---+------+---+---+------+--- (0 rows) @@ -384,6 +389,7 @@ SELECT * FROM quad_point_tbl_ord_seq3 seq FULL JOIN quad_point_tbl_ord_idx3 idx ON seq.n = idx.n WHERE seq.dist IS DISTINCT FROM idx.dist; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree n | dist | p | n | dist | p ---+------+---+---+------+--- (0 rows) @@ -509,6 +515,7 @@ SELECT * FROM quad_point_tbl_ord_seq1 seq FULL JOIN kd_point_tbl_ord_idx1 idx ON seq.n = idx.n WHERE seq.dist IS DISTINCT FROM idx.dist; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree n | dist | p | n | dist | p ---+------+---+---+------+--- (0 rows) @@ -530,6 +537,7 @@ SELECT * FROM quad_point_tbl_ord_seq2 seq FULL JOIN kd_point_tbl_ord_idx2 idx ON seq.n = idx.n WHERE seq.dist IS DISTINCT FROM idx.dist; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree n | dist | p | n | dist | p ---+------+---+---+------+--- (0 rows) @@ -551,6 +559,7 @@ SELECT * FROM quad_point_tbl_ord_seq3 seq FULL JOIN kd_point_tbl_ord_idx3 idx ON seq.n = idx.n WHERE seq.dist IS DISTINCT FROM idx.dist; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree n | dist | p | n | dist | p ---+------+---+---+------+--- (0 rows) @@ -587,6 +596,7 @@ -- check ORDER BY distance to NULL SELECT (SELECT p FROM kd_point_tbl ORDER BY p <-> pt, p <-> '0,0' LIMIT 1) FROM (VALUES (point '1,2'), (NULL), ('1234,5678')) pts(pt); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree p ------------- (59,21) diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/create_view.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/create_view.out --- /tmp/cirrus-ci-build/src/test/regress/expected/create_view.out 2024-03-19 15:41:21.017910000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/create_view.out 2024-03-19 15:51:15.223467000 +0000 @@ -61,6 +61,7 @@ CREATE OR REPLACE VIEW viewtest AS SELECT * FROM viewtest_tbl WHERE a > 10; SELECT * FROM viewtest; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c | d ----+----+-----+------- 15 | 20 | 3.3 | xyzz @@ -70,6 +71,7 @@ CREATE OR REPLACE VIEW viewtest AS SELECT a, b, c, d FROM viewtest_tbl WHERE a > 5 ORDER BY b DESC; SELECT * FROM viewtest; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c | d ----+----+-----+------- 20 | 25 | 4.4 | xyzzy @@ -358,6 +360,8 @@ CREATE VIEW unspecified_types AS SELECT 42 as i, 42.5 as num, 'foo' as u, 'foo'::unknown as u2, null as n; \d+ unspecified_types +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree View "testviewschm2.unspecified_types" Column | Type | Collation | Nullable | Default | Storage | Description --------+---------+-----------+----------+---------+----------+------------- @@ -374,6 +378,7 @@ NULL::text AS n; SELECT * FROM unspecified_types; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | num | u | u2 | n ----+------+-----+-----+--- 42 | 42.5 | foo | foo | @@ -387,6 +392,8 @@ ('0123456789', 'abc'::varchar(3), 42.12, 'abc'::varchar(4)) ) vv(a,b,c,d); \d+ tt1 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree View "testviewschm2.tt1" Column | Type | Collation | Nullable | Default | Storage | Description --------+----------------------+-----------+----------+---------+----------+------------- @@ -402,6 +409,7 @@ FROM ( VALUES ('abc'::character varying(3),'0123456789'::character varying,42,'abcd'::character varying(4)), ('0123456789'::character varying,'abc'::character varying(3),42.12,'abc'::character varying(4))) vv(a, b, c, d); SELECT * FROM tt1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c | d ------------+------------+-------+------ abc | 0123456789 | 42 | abcd @@ -409,6 +417,7 @@ (2 rows) SELECT a::varchar(3) FROM tt1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a ----- abc @@ -433,6 +442,8 @@ select * from temp_view_test.tt1 where exists (select 1 from tt1 where temp_view_test.tt1.y1 = tt1.f1); \d+ aliased_view_1 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree View "testviewschm2.aliased_view_1" Column | Type | Collation | Nullable | Default | Storage | Description --------+---------+-----------+----------+---------+----------+------------- @@ -449,6 +460,8 @@ WHERE tt1.f1 = tx1.x1)); \d+ aliased_view_2 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree View "testviewschm2.aliased_view_2" Column | Type | Collation | Nullable | Default | Storage | Description --------+---------+-----------+----------+---------+----------+------------- @@ -465,6 +478,8 @@ WHERE a1.f1 = tx1.x1)); \d+ aliased_view_3 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree View "testviewschm2.aliased_view_3" Column | Type | Collation | Nullable | Default | Storage | Description --------+---------+-----------+----------+---------+----------+------------- @@ -481,6 +496,8 @@ WHERE tt1.f1 = a2.x1)); \d+ aliased_view_4 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree View "testviewschm2.aliased_view_4" Column | Type | Collation | Nullable | Default | Storage | Description --------+---------+-----------+----------+---------+----------+------------- @@ -498,6 +515,8 @@ ALTER TABLE tx1 RENAME TO a1; \d+ aliased_view_1 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree View "testviewschm2.aliased_view_1" Column | Type | Collation | Nullable | Default | Storage | Description --------+---------+-----------+----------+---------+----------+------------- @@ -514,6 +533,8 @@ WHERE tt1.f1 = a1.x1)); \d+ aliased_view_2 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree View "testviewschm2.aliased_view_2" Column | Type | Collation | Nullable | Default | Storage | Description --------+---------+-----------+----------+---------+----------+------------- @@ -530,6 +551,8 @@ WHERE a1.f1 = a1_1.x1)); \d+ aliased_view_3 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree View "testviewschm2.aliased_view_3" Column | Type | Collation | Nullable | Default | Storage | Description --------+---------+-----------+----------+---------+----------+------------- @@ -546,6 +569,8 @@ WHERE tt1.f1 = a2.x1)); \d+ aliased_view_4 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree View "testviewschm2.aliased_view_4" Column | Type | Collation | Nullable | Default | Storage | Description --------+---------+-----------+----------+---------+----------+------------- @@ -563,6 +588,8 @@ ALTER TABLE tt1 RENAME TO a2; \d+ aliased_view_1 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree View "testviewschm2.aliased_view_1" Column | Type | Collation | Nullable | Default | Storage | Description --------+---------+-----------+----------+---------+----------+------------- @@ -579,6 +606,8 @@ WHERE a2.f1 = a1.x1)); \d+ aliased_view_2 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree View "testviewschm2.aliased_view_2" Column | Type | Collation | Nullable | Default | Storage | Description --------+---------+-----------+----------+---------+----------+------------- @@ -595,6 +624,8 @@ WHERE a1.f1 = a1_1.x1)); \d+ aliased_view_3 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree View "testviewschm2.aliased_view_3" Column | Type | Collation | Nullable | Default | Storage | Description --------+---------+-----------+----------+---------+----------+------------- @@ -611,6 +642,8 @@ WHERE a2.f1 = a2_1.x1)); \d+ aliased_view_4 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree View "testviewschm2.aliased_view_4" Column | Type | Collation | Nullable | Default | Storage | Description --------+---------+-----------+----------+---------+----------+------------- @@ -628,6 +661,8 @@ ALTER TABLE a1 RENAME TO tt1; \d+ aliased_view_1 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree View "testviewschm2.aliased_view_1" Column | Type | Collation | Nullable | Default | Storage | Description --------+---------+-----------+----------+---------+----------+------------- @@ -644,6 +679,8 @@ WHERE a2.f1 = tt1.x1)); \d+ aliased_view_2 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree View "testviewschm2.aliased_view_2" Column | Type | Collation | Nullable | Default | Storage | Description --------+---------+-----------+----------+---------+----------+------------- @@ -660,6 +697,8 @@ WHERE a1.f1 = tt1.x1)); \d+ aliased_view_3 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree View "testviewschm2.aliased_view_3" Column | Type | Collation | Nullable | Default | Storage | Description --------+---------+-----------+----------+---------+----------+------------- @@ -676,6 +715,8 @@ WHERE a2.f1 = a2_1.x1)); \d+ aliased_view_4 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree View "testviewschm2.aliased_view_4" Column | Type | Collation | Nullable | Default | Storage | Description --------+---------+-----------+----------+---------+----------+------------- @@ -694,6 +735,8 @@ ALTER TABLE a2 RENAME TO tx1; ALTER TABLE tx1 SET SCHEMA temp_view_test; \d+ aliased_view_1 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree View "testviewschm2.aliased_view_1" Column | Type | Collation | Nullable | Default | Storage | Description --------+---------+-----------+----------+---------+----------+------------- @@ -710,6 +753,8 @@ WHERE tx1.f1 = tt1.x1)); \d+ aliased_view_2 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree View "testviewschm2.aliased_view_2" Column | Type | Collation | Nullable | Default | Storage | Description --------+---------+-----------+----------+---------+----------+------------- @@ -726,6 +771,8 @@ WHERE a1.f1 = tt1.x1)); \d+ aliased_view_3 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree View "testviewschm2.aliased_view_3" Column | Type | Collation | Nullable | Default | Storage | Description --------+---------+-----------+----------+---------+----------+------------- @@ -742,6 +789,8 @@ WHERE tx1.f1 = a2.x1)); \d+ aliased_view_4 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree View "testviewschm2.aliased_view_4" Column | Type | Collation | Nullable | Default | Storage | Description --------+---------+-----------+----------+---------+----------+------------- @@ -761,6 +810,8 @@ ALTER TABLE temp_view_test.tmp1 SET SCHEMA testviewschm2; ALTER TABLE tmp1 RENAME TO tx1; \d+ aliased_view_1 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree View "testviewschm2.aliased_view_1" Column | Type | Collation | Nullable | Default | Storage | Description --------+---------+-----------+----------+---------+----------+------------- @@ -777,6 +828,8 @@ WHERE tx1.f1 = tt1.x1)); \d+ aliased_view_2 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree View "testviewschm2.aliased_view_2" Column | Type | Collation | Nullable | Default | Storage | Description --------+---------+-----------+----------+---------+----------+------------- @@ -793,6 +846,8 @@ WHERE a1.f1 = tt1.x1)); \d+ aliased_view_3 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree View "testviewschm2.aliased_view_3" Column | Type | Collation | Nullable | Default | Storage | Description --------+---------+-----------+----------+---------+----------+------------- @@ -809,6 +864,8 @@ WHERE tx1.f1 = a2.x1)); \d+ aliased_view_4 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree View "testviewschm2.aliased_view_4" Column | Type | Collation | Nullable | Default | Storage | Description --------+---------+-----------+----------+---------+----------+------------- @@ -830,6 +887,8 @@ (select * from (tbl1 cross join tbl2) same) ss, (tbl3 cross join tbl4) same; \d+ view_of_joins +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree View "testviewschm2.view_of_joins" Column | Type | Collation | Nullable | Default | Storage | Description --------+---------+-----------+----------+---------+---------+------------- @@ -1592,6 +1651,7 @@ (1 row) select * from tt14v; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 | f3 | f4 -----+-----+---- foo | baz | 42 @@ -1642,12 +1702,14 @@ -- but it will fail at execution select f1, f4 from tt14v; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 | f4 -----+---- foo | 42 (1 row) select * from tt14v; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: attribute 3 of type record has been dropped rollback; -- likewise, altering a referenced column's type is prohibited ... @@ -1683,12 +1745,14 @@ -- but will fail at execution select f1, f3 from tt14v; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 | f3 -----+----- foo | baz (1 row) select * from tt14v; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: attribute 4 of type record has wrong type DETAIL: Table has type integer, but query expects text. rollback; @@ -1703,6 +1767,7 @@ (1 row) select * from tt14v; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 | f4 -----+---- foo | 42 @@ -1726,6 +1791,7 @@ (3 rows) select * from tt14v; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 | f4 -----+---- foo | 42 @@ -1735,6 +1801,7 @@ create type nestedcomposite as (x int8_tbl); create view tt15v as select row(i)::nestedcomposite from int8_tbl i; select * from tt15v; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree row ------------------------------------------ ("(123,456)") @@ -1763,6 +1830,7 @@ create view tt16v as select * from int8_tbl i, lateral(values(i)) ss; select * from tt16v; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree q1 | q2 | column1 ------------------+-------------------+-------------------------------------- 123 | 456 | (123,456) @@ -1783,6 +1851,7 @@ (1 row) select * from int8_tbl i, lateral(values(i.*::int8_tbl)) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree q1 | q2 | column1 ------------------+-------------------+-------------------------------------- 123 | 456 | (123,456) @@ -1794,6 +1863,7 @@ create view tt17v as select * from int8_tbl i where i in (values(i)); select * from tt17v; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree q1 | q2 ------------------+------------------- 123 | 456 @@ -1813,6 +1883,7 @@ (1 row) select * from int8_tbl i where i.* in (values(i.*::int8_tbl)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree q1 | q2 ------------------+------------------- 123 | 456 @@ -1826,6 +1897,8 @@ create rule updlog as on update to tt15v do also insert into tt15v_log values(old, new, row(old,old) < row(new,new)); \d+ tt15v +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree View "testviewschm2.tt15v" Column | Type | Collation | Nullable | Default | Storage | Description --------+-----------------+-----------+----------+---------+----------+------------- @@ -2161,6 +2234,7 @@ explain (verbose, costs off) select (r).column2 from (select r from (values(1,2),(3,4)) r limit 1) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------- Subquery Scan on ss diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/index_including.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/index_including.out --- /tmp/cirrus-ci-build/src/test/regress/expected/index_including.out 2024-03-19 15:41:21.018686000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/index_including.out 2024-03-19 15:51:14.925257000 +0000 @@ -7,12 +7,14 @@ -- Regular index with included columns CREATE TABLE tbl_include_reg (c1 int, c2 int, c3 int, c4 box); INSERT INTO tbl_include_reg SELECT x, 2*x, 3*x, box('4,4,4,4') FROM generate_series(1,10) AS x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE INDEX tbl_include_reg_idx ON tbl_include_reg (c1, c2) INCLUDE (c3, c4); -- duplicate column is pretty pointless, but we allow it anyway CREATE INDEX ON tbl_include_reg (c1, c2) INCLUDE (c1, c3); SELECT pg_get_indexdef(i.indexrelid) FROM pg_index i JOIN pg_class c ON i.indexrelid = c.oid WHERE i.indrelid = 'tbl_include_reg'::regclass ORDER BY c.relname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree pg_get_indexdef --------------------------------------------------------------------------------------------------------------- CREATE INDEX tbl_include_reg_c1_c2_c11_c3_idx ON public.tbl_include_reg USING btree (c1, c2) INCLUDE (c1, c3) @@ -20,6 +22,8 @@ (2 rows) \d tbl_include_reg_idx +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Index "public.tbl_include_reg_idx" Column | Type | Key? | Definition --------+---------+------+------------ @@ -32,12 +36,14 @@ -- Unique index and unique constraint CREATE TABLE tbl_include_unique1 (c1 int, c2 int, c3 int, c4 box); INSERT INTO tbl_include_unique1 SELECT x, 2*x, 3*x, box('4,4,4,4') FROM generate_series(1,10) AS x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE UNIQUE INDEX tbl_include_unique1_idx_unique ON tbl_include_unique1 using btree (c1, c2) INCLUDE (c3, c4); ALTER TABLE tbl_include_unique1 add UNIQUE USING INDEX tbl_include_unique1_idx_unique; ALTER TABLE tbl_include_unique1 add UNIQUE (c1, c2) INCLUDE (c3, c4); SELECT pg_get_indexdef(i.indexrelid) FROM pg_index i JOIN pg_class c ON i.indexrelid = c.oid WHERE i.indrelid = 'tbl_include_unique1'::regclass ORDER BY c.relname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree pg_get_indexdef ----------------------------------------------------------------------------------------------------------------------------- CREATE UNIQUE INDEX tbl_include_unique1_c1_c2_c3_c4_key ON public.tbl_include_unique1 USING btree (c1, c2) INCLUDE (c3, c4) @@ -47,6 +53,7 @@ -- Unique index and unique constraint. Both must fail. CREATE TABLE tbl_include_unique2 (c1 int, c2 int, c3 int, c4 box); INSERT INTO tbl_include_unique2 SELECT 1, 2, 3*x, box('4,4,4,4') FROM generate_series(1,10) AS x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE UNIQUE INDEX tbl_include_unique2_idx_unique ON tbl_include_unique2 using btree (c1, c2) INCLUDE (c3, c4); ERROR: could not create unique index "tbl_include_unique2_idx_unique" DETAIL: Key (c1, c2)=(1, 2) is duplicated. @@ -56,10 +63,12 @@ -- PK constraint CREATE TABLE tbl_include_pk (c1 int, c2 int, c3 int, c4 box); INSERT INTO tbl_include_pk SELECT 1, 2*x, 3*x, box('4,4,4,4') FROM generate_series(1,10) AS x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE tbl_include_pk add PRIMARY KEY (c1, c2) INCLUDE (c3, c4); SELECT pg_get_indexdef(i.indexrelid) FROM pg_index i JOIN pg_class c ON i.indexrelid = c.oid WHERE i.indrelid = 'tbl_include_pk'::regclass ORDER BY c.relname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree pg_get_indexdef -------------------------------------------------------------------------------------------------------- CREATE UNIQUE INDEX tbl_include_pk_pkey ON public.tbl_include_pk USING btree (c1, c2) INCLUDE (c3, c4) @@ -67,11 +76,13 @@ CREATE TABLE tbl_include_box (c1 int, c2 int, c3 int, c4 box); INSERT INTO tbl_include_box SELECT 1, 2*x, 3*x, box('4,4,4,4') FROM generate_series(1,10) AS x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE UNIQUE INDEX tbl_include_box_idx_unique ON tbl_include_box using btree (c1, c2) INCLUDE (c3, c4); ALTER TABLE tbl_include_box add PRIMARY KEY USING INDEX tbl_include_box_idx_unique; SELECT pg_get_indexdef(i.indexrelid) FROM pg_index i JOIN pg_class c ON i.indexrelid = c.oid WHERE i.indrelid = 'tbl_include_box'::regclass ORDER BY c.relname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree pg_get_indexdef ---------------------------------------------------------------------------------------------------------------- CREATE UNIQUE INDEX tbl_include_box_idx_unique ON public.tbl_include_box USING btree (c1, c2) INCLUDE (c3, c4) @@ -80,6 +91,7 @@ -- PK constraint. Must fail. CREATE TABLE tbl_include_box_pk (c1 int, c2 int, c3 int, c4 box); INSERT INTO tbl_include_box_pk SELECT 1, 2, 3*x, box('4,4,4,4') FROM generate_series(1,10) AS x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE tbl_include_box_pk add PRIMARY KEY (c1, c2) INCLUDE (c3, c4); ERROR: could not create unique index "tbl_include_box_pk_pkey" DETAIL: Key (c1, c2)=(1, 2) is duplicated. @@ -102,6 +114,7 @@ -- ensure that constraint works INSERT INTO tbl SELECT 1, 2, 3*x, box('4,4,4,4') FROM generate_series(1,10) AS x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: duplicate key value violates unique constraint "covering" DETAIL: Key (c1, c2)=(1, 2) already exists. DROP TABLE tbl; @@ -121,12 +134,15 @@ -- ensure that constraint works INSERT INTO tbl SELECT 1, 2, 3*x, box('4,4,4,4') FROM generate_series(1,10) AS x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: duplicate key value violates unique constraint "covering" DETAIL: Key (c1, c2)=(1, 2) already exists. INSERT INTO tbl SELECT 1, NULL, 3*x, box('4,4,4,4') FROM generate_series(1,10) AS x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: null value in column "c2" of relation "tbl" violates not-null constraint DETAIL: Failing row contains (1, null, 3, (4,4),(4,4)). INSERT INTO tbl SELECT x, 2*x, NULL, NULL FROM generate_series(1,300) AS x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree explain (costs off) select * from tbl where (c1,c2,c3) < (2,5,1); QUERY PLAN @@ -180,6 +196,7 @@ -- ensure that constraint works INSERT INTO tbl SELECT 1, 2, 3*x, box('4,4,4,4') FROM generate_series(1,10) AS x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: duplicate key value violates unique constraint "tbl_c1_c2_c3_c4_key" DETAIL: Key (c1, c2)=(1, 2) already exists. DROP TABLE tbl; @@ -199,12 +216,15 @@ -- ensure that constraint works INSERT INTO tbl SELECT 1, 2, 3*x, box('4,4,4,4') FROM generate_series(1,10) AS x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: duplicate key value violates unique constraint "tbl_pkey" DETAIL: Key (c1, c2)=(1, 2) already exists. INSERT INTO tbl SELECT 1, NULL, 3*x, box('4,4,4,4') FROM generate_series(1,10) AS x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: null value in column "c2" of relation "tbl" violates not-null constraint DETAIL: Failing row contains (1, null, 3, (4,4),(4,4)). INSERT INTO tbl SELECT x, 2*x, NULL, NULL FROM generate_series(1,10) AS x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree DROP TABLE tbl; CREATE TABLE tbl (c1 int,c2 int, c3 int, c4 box, EXCLUDE USING btree (c1 WITH =) INCLUDE(c3,c4)); @@ -222,9 +242,11 @@ -- ensure that constraint works INSERT INTO tbl SELECT 1, 2, 3*x, box('4,4,4,4') FROM generate_series(1,10) AS x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: conflicting key value violates exclusion constraint "tbl_c1_c3_c4_excl" DETAIL: Key (c1)=(1) conflicts with existing key (c1)=(1). INSERT INTO tbl SELECT x, 2*x, NULL, NULL FROM generate_series(1,10) AS x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree DROP TABLE tbl; /* * 3.0 Test ALTER TABLE DROP COLUMN. @@ -233,6 +255,7 @@ CREATE TABLE tbl (c1 int,c2 int, c3 int, c4 int); CREATE UNIQUE INDEX tbl_idx ON tbl using btree(c1, c2, c3, c4); SELECT indexdef FROM pg_indexes WHERE tablename = 'tbl' ORDER BY indexname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree indexdef ------------------------------------------------------------------------ CREATE UNIQUE INDEX tbl_idx ON public.tbl USING btree (c1, c2, c3, c4) @@ -240,6 +263,7 @@ ALTER TABLE tbl DROP COLUMN c3; SELECT indexdef FROM pg_indexes WHERE tablename = 'tbl' ORDER BY indexname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree indexdef ---------- (0 rows) @@ -253,6 +277,7 @@ CREATE TABLE tbl (c1 int,c2 int, c3 int, c4 box); CREATE UNIQUE INDEX tbl_idx ON tbl using btree(c1, c2) INCLUDE(c3,c4); SELECT indexdef FROM pg_indexes WHERE tablename = 'tbl' ORDER BY indexname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree indexdef --------------------------------------------------------------------------------- CREATE UNIQUE INDEX tbl_idx ON public.tbl USING btree (c1, c2) INCLUDE (c3, c4) @@ -260,6 +285,7 @@ ALTER TABLE tbl DROP COLUMN c3; SELECT indexdef FROM pg_indexes WHERE tablename = 'tbl' ORDER BY indexname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree indexdef ---------- (0 rows) @@ -272,6 +298,7 @@ */ CREATE TABLE tbl (c1 int,c2 int, c3 int, c4 box, UNIQUE(c1, c2) INCLUDE(c3,c4)); SELECT indexdef FROM pg_indexes WHERE tablename = 'tbl' ORDER BY indexname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree indexdef --------------------------------------------------------------------------------------------- CREATE UNIQUE INDEX tbl_c1_c2_c3_c4_key ON public.tbl USING btree (c1, c2) INCLUDE (c3, c4) @@ -279,12 +306,14 @@ ALTER TABLE tbl DROP COLUMN c3; SELECT indexdef FROM pg_indexes WHERE tablename = 'tbl' ORDER BY indexname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree indexdef ---------- (0 rows) ALTER TABLE tbl DROP COLUMN c1; SELECT indexdef FROM pg_indexes WHERE tablename = 'tbl' ORDER BY indexname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree indexdef ---------- (0 rows) @@ -309,8 +338,10 @@ */ CREATE TABLE tbl (c1 int,c2 int, c3 int, c4 box, UNIQUE(c1, c2) INCLUDE(c3,c4)); INSERT INTO tbl SELECT x, 2*x, 3*x, box('4,4,4,4') FROM generate_series(1,1000) AS x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE UNIQUE INDEX CONCURRENTLY on tbl (c1, c2) INCLUDE (c3, c4); SELECT indexdef FROM pg_indexes WHERE tablename = 'tbl' ORDER BY indexname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree indexdef --------------------------------------------------------------------------------------------- CREATE UNIQUE INDEX tbl_c1_c2_c3_c4_idx ON public.tbl USING btree (c1, c2) INCLUDE (c3, c4) @@ -323,6 +354,7 @@ */ CREATE TABLE tbl (c1 int,c2 int, c3 int, c4 box, UNIQUE(c1, c2) INCLUDE(c3,c4)); SELECT indexdef FROM pg_indexes WHERE tablename = 'tbl' ORDER BY indexname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree indexdef --------------------------------------------------------------------------------------------- CREATE UNIQUE INDEX tbl_c1_c2_c3_c4_key ON public.tbl USING btree (c1, c2) INCLUDE (c3, c4) @@ -330,6 +362,7 @@ ALTER TABLE tbl DROP COLUMN c3; SELECT indexdef FROM pg_indexes WHERE tablename = 'tbl' ORDER BY indexname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree indexdef ---------- (0 rows) @@ -337,12 +370,14 @@ REINDEX INDEX tbl_c1_c2_c3_c4_key; ERROR: relation "tbl_c1_c2_c3_c4_key" does not exist SELECT indexdef FROM pg_indexes WHERE tablename = 'tbl' ORDER BY indexname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree indexdef ---------- (0 rows) ALTER TABLE tbl DROP COLUMN c1; SELECT indexdef FROM pg_indexes WHERE tablename = 'tbl' ORDER BY indexname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree indexdef ---------- (0 rows) @@ -369,6 +404,7 @@ */ CREATE TABLE tbl (c1 int, c2 int, c3 int, c4 box); INSERT INTO tbl SELECT x, 2*x, 3*x, box('4,4,4,4') FROM generate_series(1,10) AS x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE UNIQUE INDEX tbl_idx_unique ON tbl using btree(c1, c2) INCLUDE (c3,c4); UPDATE tbl SET c1 = 100 WHERE c1 = 2; UPDATE tbl SET c1 = 1 WHERE c1 = 3; @@ -384,9 +420,15 @@ */ CREATE TABLE tbl (c1 int,c2 int, c3 int, c4 box, UNIQUE(c1, c2) INCLUDE(c3,c4)); INSERT INTO tbl SELECT x, 2*x, 3*x, box('4,4,4,4') FROM generate_series(1,10) AS x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE tbl ALTER c1 TYPE bigint; ALTER TABLE tbl ALTER c3 TYPE bigint; \d tbl +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 Table "public.tbl" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/index_including_gist.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/index_including_gist.out --- /tmp/cirrus-ci-build/src/test/regress/expected/index_including_gist.out 2024-03-19 15:41:21.018700000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/index_including_gist.out 2024-03-19 15:51:14.899759000 +0000 @@ -5,10 +5,12 @@ CREATE TABLE tbl_gist (c1 int, c2 int, c3 int, c4 box); -- size is chosen to exceed page size and trigger actual truncation INSERT INTO tbl_gist SELECT x, 2*x, 3*x, box(point(x,x+1),point(2*x,2*x+1)) FROM generate_series(1,8000) AS x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE INDEX tbl_gist_idx ON tbl_gist using gist (c4) INCLUDE (c1,c2,c3); SELECT pg_get_indexdef(i.indexrelid) FROM pg_index i JOIN pg_class c ON i.indexrelid = c.oid WHERE i.indrelid = 'tbl_gist'::regclass ORDER BY c.relname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree pg_get_indexdef ----------------------------------------------------------------------------------- CREATE INDEX tbl_gist_idx ON public.tbl_gist USING gist (c4) INCLUDE (c1, c2, c3) @@ -41,9 +43,11 @@ -- size is chosen to exceed page size and trigger actual truncation CREATE INDEX tbl_gist_idx ON tbl_gist using gist (c4) INCLUDE (c1,c2,c3); INSERT INTO tbl_gist SELECT x, 2*x, 3*x, box(point(x,x+1),point(2*x,2*x+1)) FROM generate_series(1,8000) AS x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT pg_get_indexdef(i.indexrelid) FROM pg_index i JOIN pg_class c ON i.indexrelid = c.oid WHERE i.indrelid = 'tbl_gist'::regclass ORDER BY c.relname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree pg_get_indexdef ----------------------------------------------------------------------------------- CREATE INDEX tbl_gist_idx ON public.tbl_gist USING gist (c4) INCLUDE (c1, c2, c3) @@ -73,8 +77,10 @@ */ CREATE TABLE tbl_gist (c1 int, c2 int, c3 int, c4 box); INSERT INTO tbl_gist SELECT x, 2*x, 3*x, box(point(x,x+1),point(2*x,2*x+1)) FROM generate_series(1,10) AS x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE INDEX CONCURRENTLY tbl_gist_idx ON tbl_gist using gist (c4) INCLUDE (c1,c2,c3); SELECT indexdef FROM pg_indexes WHERE tablename = 'tbl_gist' ORDER BY indexname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree indexdef ----------------------------------------------------------------------------------- CREATE INDEX tbl_gist_idx ON public.tbl_gist USING gist (c4) INCLUDE (c1, c2, c3) @@ -86,8 +92,10 @@ */ CREATE TABLE tbl_gist (c1 int, c2 int, c3 int, c4 box); INSERT INTO tbl_gist SELECT x, 2*x, 3*x, box(point(x,x+1),point(2*x,2*x+1)) FROM generate_series(1,10) AS x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE INDEX tbl_gist_idx ON tbl_gist using gist (c4) INCLUDE (c1,c3); SELECT indexdef FROM pg_indexes WHERE tablename = 'tbl_gist' ORDER BY indexname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree indexdef ------------------------------------------------------------------------------- CREATE INDEX tbl_gist_idx ON public.tbl_gist USING gist (c4) INCLUDE (c1, c3) @@ -95,6 +103,7 @@ REINDEX INDEX tbl_gist_idx; SELECT indexdef FROM pg_indexes WHERE tablename = 'tbl_gist' ORDER BY indexname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree indexdef ------------------------------------------------------------------------------- CREATE INDEX tbl_gist_idx ON public.tbl_gist USING gist (c4) INCLUDE (c1, c3) @@ -102,6 +111,7 @@ ALTER TABLE tbl_gist DROP COLUMN c1; SELECT indexdef FROM pg_indexes WHERE tablename = 'tbl_gist' ORDER BY indexname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree indexdef ---------- (0 rows) @@ -112,6 +122,7 @@ */ CREATE TABLE tbl_gist (c1 int, c2 int, c3 int, c4 box); INSERT INTO tbl_gist SELECT x, 2*x, 3*x, box(point(x,x+1),point(2*x,2*x+1)) FROM generate_series(1,10) AS x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE INDEX tbl_gist_idx ON tbl_gist using gist (c4) INCLUDE (c1,c3); UPDATE tbl_gist SET c1 = 100 WHERE c1 = 2; UPDATE tbl_gist SET c1 = 1 WHERE c1 = 3; @@ -122,10 +133,16 @@ */ CREATE TABLE tbl_gist (c1 int, c2 int, c3 int, c4 box); INSERT INTO tbl_gist SELECT x, 2*x, 3*x, box(point(x,x+1),point(2*x,2*x+1)) FROM generate_series(1,10) AS x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE INDEX tbl_gist_idx ON tbl_gist using gist (c4) INCLUDE (c1,c3); ALTER TABLE tbl_gist ALTER c1 TYPE bigint; ALTER TABLE tbl_gist ALTER c3 TYPE bigint; \d tbl_gist +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 Table "public.tbl_gist" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -142,9 +159,11 @@ */ CREATE TABLE tbl_gist (c1 int, c2 int, c3 int, c4 box, EXCLUDE USING gist (c4 WITH &&) INCLUDE (c1, c2, c3)); INSERT INTO tbl_gist SELECT x, 2*x, 3*x, box(point(x,x+1),point(2*x,2*x+1)) FROM generate_series(1,10) AS x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: conflicting key value violates exclusion constraint "tbl_gist_c4_c1_c2_c3_excl" DETAIL: Key (c4)=((4,5),(2,3)) conflicts with existing key (c4)=((2,3),(1,2)). INSERT INTO tbl_gist SELECT x, 2*x, 3*x, box(point(3*x,2*x),point(3*x+1,2*x+1)) FROM generate_series(1,10) AS x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree EXPLAIN (costs off) SELECT * FROM tbl_gist where c4 <@ box(point(1,1),point(10,10)); QUERY PLAN ------------------------------------------------------------- @@ -153,6 +172,11 @@ (2 rows) \d tbl_gist +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 Table "public.tbl_gist" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/create_aggregate.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/create_aggregate.out --- /tmp/cirrus-ci-build/src/test/regress/expected/create_aggregate.out 2024-03-19 15:41:21.017578000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/create_aggregate.out 2024-03-19 15:51:16.024163000 +0000 @@ -112,6 +112,7 @@ alter aggregate my_rank(VARIADIC "any" ORDER BY VARIADIC "any") rename to test_rank; \da test_* +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of aggregate functions Schema | Name | Result data type | Argument data types | Description --------+----------------------+------------------+----------------------------------------+------------- diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/create_function_sql.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/create_function_sql.out --- /tmp/cirrus-ci-build/src/test/regress/expected/create_function_sql.out 2024-03-19 15:41:21.017659000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/create_function_sql.out 2024-03-19 15:51:16.197065000 +0000 @@ -441,10 +441,13 @@ -- test with views CREATE TABLE functest3 (a int); INSERT INTO functest3 VALUES (1), (2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE VIEW functestv3 AS SELECT * FROM functest3; CREATE FUNCTION functest_S_14() RETURNS bigint RETURN (SELECT count(*) FROM functestv3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT functest_S_14(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree functest_s_14 --------------- 2 @@ -471,6 +474,8 @@ FROM information_schema.parameters JOIN information_schema.routines USING (specific_schema, specific_name) WHERE routine_schema = 'temp_func_test' AND routine_name ~ '^functest_is_' ORDER BY 1, 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree routine_name | ordinal_position | parameter_name | parameter_default ---------------+------------------+----------------+------------------- functest_is_1 | 1 | a | @@ -507,6 +512,7 @@ WHERE r0.routine_schema = 'temp_func_test' AND r1.routine_schema = 'temp_func_test' ORDER BY 1, 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree routine_name | routine_name ----------------+---------------- functest_is_4b | functest_is_4a @@ -515,6 +521,7 @@ SELECT routine_name, sequence_name FROM information_schema.routine_sequence_usage WHERE routine_schema = 'temp_func_test' ORDER BY 1, 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree routine_name | sequence_name ---------------+--------------- functest_is_5 | functest1 @@ -524,6 +531,7 @@ SELECT routine_name, table_name, column_name FROM information_schema.routine_column_usage WHERE routine_schema = 'temp_func_test' ORDER BY 1, 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree routine_name | table_name | column_name ---------------+------------+------------- functest_is_7 | functest2 | a @@ -532,6 +540,7 @@ SELECT routine_name, table_name FROM information_schema.routine_table_usage WHERE routine_schema = 'temp_func_test' ORDER BY 1, 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree routine_name | table_name ---------------+------------ functest_is_7 | functest2 @@ -566,6 +575,7 @@ -- inlining of set-returning functions CREATE TABLE functest3 (a int); INSERT INTO functest3 VALUES (1), (2), (3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE FUNCTION functest_sri1() RETURNS SETOF int LANGUAGE SQL STABLE @@ -573,6 +583,7 @@ SELECT * FROM functest3; '; SELECT * FROM functest_sri1(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree functest_sri1 --------------- 1 @@ -581,6 +592,7 @@ (3 rows) EXPLAIN (verbose, costs off) SELECT * FROM functest_sri1(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------- Seq Scan on temp_func_test.functest3 @@ -594,6 +606,7 @@ SELECT * FROM functest3; END; SELECT * FROM functest_sri2(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree functest_sri2 --------------- 1 @@ -602,6 +615,7 @@ (3 rows) EXPLAIN (verbose, costs off) SELECT * FROM functest_sri2(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------- Seq Scan on temp_func_test.functest3 @@ -662,6 +676,7 @@ CREATE FUNCTION voidtest5(a int) RETURNS SETOF VOID LANGUAGE SQL AS $$ SELECT generate_series(1, a) $$ STABLE; SELECT * FROM voidtest5(3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree voidtest5 ----------- (0 rows) @@ -676,6 +691,7 @@ $$ SELECT array_append($1, $2) || array_append($1, $2) $$; SELECT double_append(array_append(ARRAY[q1], q2), q3) FROM (VALUES(1,2,3), (4,5,6)) v(q1,q2,q3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree double_append --------------- {1,2,3,1,2,3} diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/constraints.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/constraints.out --- /tmp/cirrus-ci-build/src/test/regress/expected/constraints.out 2024-03-19 15:41:21.017487000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/constraints.out 2024-03-19 15:51:16.964647000 +0000 @@ -292,6 +292,11 @@ CREATE TABLE ATACC1 (a int, not null a no inherit); CREATE TABLE ATACC2 () INHERITS (ATACC1); \d+ ATACC2 +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 Table "public.atacc2" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- @@ -303,6 +308,11 @@ ALTER TABLE ATACC1 ADD NOT NULL a NO INHERIT; CREATE TABLE ATACC2 () INHERITS (ATACC1); \d+ ATACC2 +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 Table "public.atacc2" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- @@ -314,6 +324,11 @@ CREATE TABLE ATACC2 () INHERITS (ATACC1); ALTER TABLE ATACC1 ADD NOT NULL a NO INHERIT; \d+ ATACC2 +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 Table "public.atacc2" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- @@ -331,6 +346,7 @@ INSERT INTO tmp VALUES (5, '!check failed', null); INSERT INTO tmp VALUES (null, 'try again', null); INSERT INTO INSERT_TBL(y) select yd from tmp; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM INSERT_TBL; x | y | z ---+---------------+---- @@ -340,8 +356,11 @@ (3 rows) INSERT INTO INSERT_TBL SELECT * FROM tmp WHERE yd = 'try again'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO INSERT_TBL(y,z) SELECT yd, -7 FROM tmp WHERE yd = 'try again'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO INSERT_TBL(y,z) SELECT yd, -8 FROM tmp WHERE yd = 'try again'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: new row for relation "insert_tbl" violates check constraint "insert_tbl_con" DETAIL: Failing row contains (8, try again, -8). SELECT * FROM INSERT_TBL; @@ -464,6 +483,7 @@ INSERT INTO UNIQUE_TBL VALUES (6, 'six-upsert-insert') ON CONFLICT (i) DO UPDATE SET t = 'six-upsert-update'; -- should fail INSERT INTO UNIQUE_TBL VALUES (1, 'a'), (2, 'b'), (2, 'b') ON CONFLICT (i) DO UPDATE SET t = 'fails'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: ON CONFLICT DO UPDATE command cannot affect row a second time HINT: Ensure that no rows proposed for insertion within the same command have duplicate constrained values. SELECT * FROM UNIQUE_TBL; @@ -652,6 +672,7 @@ CONSTRAINT dummy_constr CHECK (true) ); ALTER TABLE parted_fk_naming ATTACH PARTITION parted_fk_naming_1 FOR VALUES IN ('1'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT conname FROM pg_constraint WHERE conrelid = 'parted_fk_naming_1'::regclass AND contype = 'f'; conname -------------------------------- @@ -790,6 +811,11 @@ -- verify constraints created for NOT NULL clauses CREATE TABLE notnull_tbl1 (a INTEGER NOT NULL NOT NULL); \d+ notnull_tbl1 +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 Table "public.notnull_tbl1" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- @@ -806,6 +832,11 @@ -- no-op ALTER TABLE notnull_tbl1 ADD CONSTRAINT nn NOT NULL a; \d+ notnull_tbl1 +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 Table "public.notnull_tbl1" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- @@ -819,6 +850,10 @@ -- DROP NOT NULL gets rid of both the attnotnull flag and the constraint itself ALTER TABLE notnull_tbl1 ALTER a DROP NOT NULL; \d notnull_tbl1 +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 Table "public.notnull_tbl1" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -832,6 +867,10 @@ -- SET NOT NULL puts both back ALTER TABLE notnull_tbl1 ALTER a SET NOT NULL; \d notnull_tbl1 +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 Table "public.notnull_tbl1" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -855,6 +894,10 @@ ALTER TABLE notnull_tbl1 ALTER a DROP NOT NULL; ALTER TABLE notnull_tbl1 ADD CONSTRAINT foobar NOT NULL a; \d notnull_tbl1 +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 Table "public.notnull_tbl1" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -877,6 +920,11 @@ ALTER TABLE notnull_tbl3 ALTER A DROP NOT NULL; ALTER TABLE notnull_tbl3 ADD b int, ADD CONSTRAINT pk PRIMARY KEY (a, b); \d notnull_tbl3 +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 Table "public.notnull_tbl3" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -889,6 +937,11 @@ ALTER TABLE notnull_tbl3 DROP CONSTRAINT pk; \d notnull_tbl3 +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 Table "public.notnull_tbl3" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -908,6 +961,11 @@ NOTICE: merging multiple inherited definitions of column "b" ALTER TABLE cnn_parent ADD PRIMARY KEY (b); \d+ cnn_grandchild +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 Table "public.cnn_grandchild" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- @@ -919,6 +977,11 @@ Child tables: cnn_grandchild2 \d+ cnn_grandchild2 +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 Table "public.cnn_grandchild2" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- @@ -945,6 +1008,11 @@ ALTER TABLE cnn_parent ADD PRIMARY KEY (b); ERROR: multiple primary keys for table "cnn_parent" are not allowed \d+ cnn_grandchild +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 Table "public.cnn_grandchild" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- @@ -956,6 +1024,11 @@ Child tables: cnn_grandchild2 \d+ cnn_grandchild2 +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 Table "public.cnn_grandchild2" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- @@ -982,6 +1055,11 @@ CREATE UNIQUE INDEX b_uq ON cnn_parent (b); ALTER TABLE cnn_parent ADD PRIMARY KEY USING INDEX b_uq; \d+ cnn_grandchild +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 Table "public.cnn_grandchild" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- @@ -993,6 +1071,11 @@ Child tables: cnn_grandchild2 \d+ cnn_grandchild2 +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 Table "public.cnn_grandchild2" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- @@ -1027,6 +1110,14 @@ CREATE TABLE notnull_tbl4_cld2 (PRIMARY KEY (a) DEFERRABLE) INHERITS (notnull_tbl4); CREATE TABLE notnull_tbl4_cld3 (PRIMARY KEY (a) DEFERRABLE, CONSTRAINT a_nn NOT NULL a) INHERITS (notnull_tbl4); \d+ notnull_tbl4 +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Table "public.notnull_tbl4" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- @@ -1038,6 +1129,11 @@ notnull_tbl4_cld3 \d+ notnull_tbl4_lk +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 Table "public.notnull_tbl4_lk" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- @@ -1046,6 +1142,14 @@ "notnull_tbl4_lk_a_not_null" NOT NULL "a" \d+ notnull_tbl4_lk2 +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Table "public.notnull_tbl4_lk2" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- @@ -1054,6 +1158,14 @@ "notnull_tbl4_lk2_pkey" PRIMARY KEY, btree (a) DEFERRABLE INITIALLY DEFERRED \d+ notnull_tbl4_lk3 +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Table "public.notnull_tbl4_lk3" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- @@ -1064,6 +1176,11 @@ "a_nn" NOT NULL "a" \d+ notnull_tbl4_cld +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 Table "public.notnull_tbl4_cld" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- @@ -1073,6 +1190,14 @@ Inherits: notnull_tbl4 \d+ notnull_tbl4_cld2 +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Table "public.notnull_tbl4_cld2" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- @@ -1084,6 +1209,14 @@ Inherits: notnull_tbl4 \d+ notnull_tbl4_cld3 +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Table "public.notnull_tbl4_cld3" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- @@ -1101,6 +1234,14 @@ ALTER TABLE notnull_tbl5 ADD PRIMARY KEY (a) DEFERRABLE; ALTER TABLE notnull_tbl5 DROP CONSTRAINT a_nn; \d+ notnull_tbl5 +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Table "public.notnull_tbl5" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/triggers.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/triggers.out --- /tmp/cirrus-ci-build/src/test/regress/expected/triggers.out 2024-03-19 15:41:21.046376000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/triggers.out 2024-03-19 15:51:18.511911000 +0000 @@ -128,6 +128,7 @@ FROM information_schema.triggers WHERE event_object_table in ('pkeys', 'fkeys', 'fkeys2') ORDER BY trigger_name COLLATE "C", 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree trigger_name | event_manipulation | event_object_schema | event_object_table | action_order | action_condition | action_orientation | action_timing | action_reference_old_table | action_reference_new_table ----------------------------+--------------------+---------------------+--------------------+--------------+------------------+--------------------+---------------+----------------------------+---------------------------- check_fkeys2_fkey_restrict | DELETE | public | fkeys2 | 1 | | ROW | BEFORE | | @@ -515,6 +516,7 @@ FROM information_schema.triggers WHERE event_object_table IN ('main_table') ORDER BY trigger_name COLLATE "C", 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree trigger_name | event_manipulation | event_object_schema | event_object_table | action_order | action_condition | action_orientation | action_timing | action_reference_old_table | action_reference_new_table ----------------------+--------------------+---------------------+--------------------+--------------+--------------------------------+--------------------+---------------+----------------------------+---------------------------- after_ins_stmt_trig | INSERT | public | main_table | 1 | | STATEMENT | AFTER | | @@ -530,6 +532,7 @@ (10 rows) INSERT INTO main_table (a) VALUES (123), (456); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: trigger_func(before_ins_stmt) called: action = INSERT, when = BEFORE, level = STATEMENT NOTICE: trigger_func(insert_when) called: action = INSERT, when = BEFORE, level = STATEMENT NOTICE: trigger_func(insert_a) called: action = INSERT, when = AFTER, level = ROW @@ -982,6 +985,7 @@ FOR EACH ROW EXECUTE PROCEDURE serializable_update_trig(); INSERT INTO serializable_update_tab SELECT a, repeat('xyzxz', 100), 'new' FROM generate_series(1, 50) a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree BEGIN; SET TRANSACTION ISOLATION LEVEL SERIALIZABLE; UPDATE serializable_update_tab SET description = 'no no', id = 1 WHERE id = 1; @@ -999,6 +1003,7 @@ f2 int, f3 int); INSERT INTO min_updates_test VALUES ('a',1,2),('b','2',null); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE TRIGGER z_min_update BEFORE UPDATE ON min_updates_test FOR EACH ROW EXECUTE PROCEDURE suppress_redundant_updates_trigger(); @@ -1168,6 +1173,7 @@ INSERT 0 1 -- Table trigger will prevent updates UPDATE main_view SET b = 31 WHERE a = 20; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: main_view BEFORE UPDATE STATEMENT (before_view_upd_stmt) NOTICE: main_view INSTEAD OF UPDATE ROW (instead_of_upd) NOTICE: OLD: (20,30), NEW: (20,31) @@ -1178,6 +1184,7 @@ NOTICE: main_view AFTER UPDATE STATEMENT (after_view_upd_stmt) UPDATE 0 UPDATE main_view SET b = 32 WHERE a = 21 AND b = 31 RETURNING a, b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: main_view BEFORE UPDATE STATEMENT (before_view_upd_stmt) NOTICE: main_view INSTEAD OF UPDATE ROW (instead_of_upd) NOTICE: OLD: (21,31), NEW: (21,32) @@ -1195,6 +1202,7 @@ DROP TRIGGER before_upd_a_row_trig ON main_table; DROP TRIGGER UPDATE main_view SET b = 31 WHERE a = 20; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: main_view BEFORE UPDATE STATEMENT (before_view_upd_stmt) NOTICE: main_view INSTEAD OF UPDATE ROW (instead_of_upd) NOTICE: OLD: (20,30), NEW: (20,31) @@ -1206,6 +1214,7 @@ NOTICE: main_view AFTER UPDATE STATEMENT (after_view_upd_stmt) UPDATE 1 UPDATE main_view SET b = 32 WHERE a = 21 AND b = 31 RETURNING a, b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: main_view BEFORE UPDATE STATEMENT (before_view_upd_stmt) NOTICE: main_view INSTEAD OF UPDATE ROW (instead_of_upd) NOTICE: OLD: (21,31), NEW: (21,32) @@ -1223,11 +1232,13 @@ UPDATE 1 -- Before and after stmt triggers should fire even when no rows are affected UPDATE main_view SET b = 0 WHERE false; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: main_view BEFORE UPDATE STATEMENT (before_view_upd_stmt) NOTICE: main_view AFTER UPDATE STATEMENT (after_view_upd_stmt) UPDATE 0 -- Delete from view using trigger DELETE FROM main_view WHERE a IN (20,21); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: main_view BEFORE DELETE STATEMENT (before_view_del_stmt) NOTICE: main_view INSTEAD OF DELETE ROW (instead_of_del) NOTICE: OLD: (21,10) @@ -1238,6 +1249,7 @@ NOTICE: main_view AFTER DELETE STATEMENT (after_view_del_stmt) DELETE 3 DELETE FROM main_view WHERE a = 31 RETURNING a, b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: main_view BEFORE DELETE STATEMENT (before_view_del_stmt) NOTICE: main_view INSTEAD OF DELETE ROW (instead_of_del) NOTICE: OLD: (31,10) @@ -1251,6 +1263,9 @@ \set QUIET true -- Describe view should list triggers \d main_view +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 View "public.main_view" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -1271,6 +1286,9 @@ DROP TRIGGER instead_of_insert_trig ON main_view; DROP TRIGGER instead_of_delete_trig ON main_view; \d+ main_view +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 View "public.main_view" Column | Type | Collation | Nullable | Default | Storage | Description --------+---------+-----------+----------+---------+---------+------------- @@ -1303,6 +1321,7 @@ ('UK', 'Europe'), ('USA', 'North America') RETURNING *; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree country_id | country_name | continent ------------+--------------+--------------- 1 | Japan | Asia @@ -1424,11 +1443,14 @@ INSERT 0 1 -- UPDATE .. RETURNING UPDATE city_view SET country_name = 'Japon' WHERE city_name = 'Tokyo'; -- error +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: No such country: "Japon" CONTEXT: PL/pgSQL function city_update() line 9 at RAISE UPDATE city_view SET country_name = 'Japan' WHERE city_name = 'Takyo'; -- no match +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree UPDATE 0 UPDATE city_view SET country_name = 'Japan' WHERE city_name = 'Tokyo' RETURNING *; -- OK +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree city_id | city_name | population | country_name | continent ---------+-----------+------------+--------------+----------- 1 | Tokyo | | Japan | Asia @@ -1436,6 +1458,7 @@ UPDATE 1 UPDATE city_view SET population = 13010279 WHERE city_name = 'Tokyo' RETURNING *; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree city_id | city_name | population | country_name | continent ---------+-----------+------------+--------------+----------- 1 | Tokyo | 13010279 | Japan | Asia @@ -1443,6 +1466,7 @@ UPDATE 1 UPDATE city_view SET country_name = 'UK' WHERE city_name = 'New York' RETURNING *; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree city_id | city_name | population | country_name | continent ---------+-----------+------------+--------------+----------- 123456 | New York | | UK | Europe @@ -1450,6 +1474,7 @@ UPDATE 1 UPDATE city_view SET country_name = 'USA', population = 8391881 WHERE city_name = 'New York' RETURNING *; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree city_id | city_name | population | country_name | continent ---------+-----------+------------+--------------+--------------- 123456 | New York | 8391881 | USA | North America @@ -1457,6 +1482,7 @@ UPDATE 1 UPDATE city_view SET continent = 'EU' WHERE continent = 'Europe' RETURNING *; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree city_id | city_name | population | country_name | continent ---------+------------+------------+--------------+----------- 234567 | Birmingham | 1016800 | UK | Europe @@ -1465,6 +1491,7 @@ UPDATE 1 UPDATE city_view v1 SET country_name = v2.country_name FROM city_view v2 WHERE v2.city_name = 'Birmingham' AND v1.city_name = 'London' RETURNING *; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree city_id | city_name | population | country_name | continent | city_id | city_name | population | country_name | continent ---------+-----------+------------+--------------+-----------+---------+------------+------------+--------------+----------- 2 | London | 7556900 | UK | Europe | 234567 | Birmingham | 1016800 | UK | Europe @@ -1473,6 +1500,7 @@ UPDATE 1 -- DELETE .. RETURNING DELETE FROM city_view WHERE city_name = 'Birmingham' RETURNING *; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree city_id | city_name | population | country_name | continent ---------+------------+------------+--------------+----------- 234567 | Birmingham | 1016800 | UK | Europe @@ -1484,6 +1512,7 @@ CREATE VIEW european_city_view AS SELECT * FROM city_view WHERE continent = 'Europe'; SELECT count(*) FROM european_city_view; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 1 @@ -1497,8 +1526,10 @@ INSERT INTO european_city_view VALUES (0, 'x', 10000, 'y', 'z'); INSERT 0 0 UPDATE european_city_view SET population = 10000; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree UPDATE 0 DELETE FROM european_city_view; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree DELETE 0 \set QUIET true -- rules bypassing no-op triggers @@ -1527,12 +1558,15 @@ INSERT 0 1 UPDATE european_city_view SET country_name = 'UK' WHERE city_name = 'Cambridge'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree UPDATE 0 DELETE FROM european_city_view WHERE city_name = 'Cambridge'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree DELETE 0 -- UPDATE and DELETE via rule and trigger UPDATE city_view SET country_name = 'UK' WHERE city_name = 'Cambridge' RETURNING *; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree city_id | city_name | population | country_name | continent ---------+-----------+------------+--------------+----------- 4 | Cambridge | | UK | Europe @@ -1541,6 +1575,7 @@ UPDATE 1 UPDATE european_city_view SET population = 122800 WHERE city_name = 'Cambridge' RETURNING *; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree city_id | city_name | population | country_name | continent ---------+-----------+------------+--------------+----------- 4 | Cambridge | 122800 | UK | Europe @@ -1548,6 +1583,7 @@ UPDATE 1 DELETE FROM european_city_view WHERE city_name = 'Cambridge' RETURNING *; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree city_id | city_name | population | country_name | continent ---------+-----------+------------+--------------+----------- 4 | Cambridge | 122800 | UK | Europe @@ -1561,6 +1597,7 @@ AND v.city_id = ci.city_id AND v.country_name = co.country_name RETURNING co.country_id, v.country_name, v.city_id, v.city_name, v.population; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree country_id | country_name | city_id | city_name | population ------------+--------------+---------+---------------+------------ 3 | USA | 3 | Washington DC | 599657 @@ -1569,6 +1606,7 @@ UPDATE 1 \set QUIET true SELECT * FROM city_view; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree city_id | city_name | population | country_name | continent ---------+---------------+------------+--------------+--------------- 1 | Tokyo | 13010279 | Japan | Asia @@ -1747,6 +1785,7 @@ HINT: Consider using an AFTER trigger instead of a BEFORE trigger to propagate changes to other rows. merge into parent p using (values (1)) as v(id) on p.aid = v.id when matched then update set val1 = 'b'; -- should fail +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: tuple to be updated or deleted was already modified by an operation triggered by the current command HINT: Consider using an AFTER trigger instead of a BEFORE trigger to propagate changes to other rows. select * from parent; select * from child; @@ -1765,6 +1804,7 @@ HINT: Consider using an AFTER trigger instead of a BEFORE trigger to propagate changes to other rows. merge into parent p using (values (1)) as v(id) on p.aid = v.id when matched then delete; -- should fail +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: tuple to be updated or deleted was already modified by an operation triggered by the current command HINT: Consider using an AFTER trigger instead of a BEFORE trigger to propagate changes to other rows. select * from parent; select * from child; @@ -2114,6 +2154,14 @@ -- check detach behavior create trigger trg1 after insert on trigpart for each row execute procedure trigger_nothing(); \d trigpart3 +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Table "public.trigpart3" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -2145,6 +2193,12 @@ create table trigpart3 (like trigpart); create trigger trg1 after insert on trigpart3 for each row execute procedure trigger_nothing(); \d trigpart3 +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 Table "public.trigpart3" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -2160,6 +2214,14 @@ create trigger samename after delete on trigpart execute function trigger_nothing(); create trigger samename after delete on trigpart1 execute function trigger_nothing(); \d trigpart1 +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Table "public.trigpart1" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -2239,6 +2301,7 @@ with ins (a) as ( insert into parted2_stmt_trig values (1), (2) returning a ) insert into parted_stmt_trig select a from ins returning tableoid::regclass, a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: trigger trig_ins_before on parted_stmt_trig BEFORE INSERT for STATEMENT NOTICE: trigger trig_ins_before_3 on parted2_stmt_trig BEFORE INSERT for STATEMENT NOTICE: trigger trig_ins_before_child on parted_stmt_trig1 BEFORE INSERT for ROW @@ -2309,6 +2372,7 @@ create trigger bbb after insert on parted_trig for each row execute procedure trigger_notice(); create trigger qqq after insert on parted_trig_1_1 for each row execute procedure trigger_notice(); insert into parted_trig values (50), (1500); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: trigger aaa on parted_trig_1_1 AFTER INSERT for ROW NOTICE: trigger bbb on parted_trig_1_1 AFTER INSERT for ROW NOTICE: trigger mmm on parted_trig_1_1 AFTER INSERT for ROW @@ -2354,6 +2418,7 @@ -- update action in merge should behave the same merge into parted_trig using (select 1) as ss on true when matched and a = 2 then update set a = 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: trigger parted_trig_before_stmt on parted_trig BEFORE UPDATE for STATEMENT NOTICE: trigger parted_trig_before_row on parted_trig2 BEFORE UPDATE for ROW NOTICE: trigger parted_trig_before_row on parted_trig2 BEFORE DELETE for ROW @@ -2382,6 +2447,7 @@ create table parted_trig3 (like parted_trig); alter table parted_trig attach partition parted_trig3 for values in (3); insert into parted_trig values (1), (2), (3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: trigger aaa on parted_trig1 AFTER INSERT for ROW args quirky 1 NOTICE: trigger aaa on parted_trig2 AFTER INSERT for ROW args quirky 1 NOTICE: trigger aaa on parted_trig3 AFTER INSERT for ROW args quirky 1 @@ -2421,6 +2487,7 @@ -- we should hear barking for every insert, but parted_trig_odd only emits -- noise for odd values of a. parted_trig does it for all inserts. insert into parted_irreg values (1, 'aardvark'), (2, 'aanimals'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: aardvark <- woof! NOTICE: aanimals <- woof! NOTICE: trigger parted_trig on parted1_irreg AFTER INSERT for ROW: (a,b)=(1,aardvark) @@ -2588,6 +2655,7 @@ insert into parted_constr values (1, 'aardvark'); NOTICE: aardvark <- woof! insert into parted1_constr values (2, 'aardwolf'), (3, 'aasvogel'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: aardwolf <- woof! NOTICE: aasvogel <- woof! commit; @@ -2614,6 +2682,7 @@ (0, 'a'), (1, 'bbb'), (2, 'bcd'), (3, 'c'), (1000, 'c'), (1001, 'ddd'), (1002, 'efg'), (1003, 'f'), (2000, 'e'), (2001, 'fff'), (2002, 'ghi'), (2003, 'h'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree update parted_trigger set a = a + 2; -- notice for odd 'a' values, long 'b' values NOTICE: trigger parted_trigger on parted_trigger_1 AFTER UPDATE for ROW: (a,b)=(3,bbb) NOTICE: trigger parted_trigger on parted_trigger_2 AFTER UPDATE for ROW: (a,b)=(1003,ddd) @@ -2642,6 +2711,7 @@ from pg_trigger t join pg_constraint c on (t.tgconstraint = c.oid) where tgname = 'parted_trigger' order by t.tgrelid::regclass::text; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree tgname | conname | tgrelid | tgconstrrelid | conrelid | confrelid ----------------+----------------+--------------------+-------------------+--------------------+----------- parted_trigger | parted_trigger | parted_trigger | parted_referenced | parted_trigger | - @@ -2667,6 +2737,7 @@ create table parted_trigger_3_2 partition of parted_trigger_3 for values from (4) to (8); alter table parted_trigger attach partition parted_trigger_3 for values from (2000) to (3000); insert into parted_trigger values (0, 'a'), (1000, 'c'), (2000, 'e'), (2001, 'eeee'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree update parted_trigger set a = a + 2; -- no notices here update parted_trigger set b = b || 'b'; -- all triggers should fire NOTICE: trigger parted_trigger on parted_trigger_1 AFTER UPDATE for ROW: (a,b)=(2,ab) @@ -2966,6 +3037,7 @@ FROM information_schema.triggers WHERE event_object_table IN ('parent', 'child1', 'child2', 'child3') ORDER BY trigger_name COLLATE "C", 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree trigger_name | event_manipulation | event_object_schema | event_object_table | action_order | action_condition | action_orientation | action_timing | action_reference_old_table | action_reference_new_table --------------------+--------------------+---------------------+--------------------+--------------+------------------+--------------------+---------------+----------------------------+---------------------------- child1_delete_trig | DELETE | public | child1 | 1 | | STATEMENT | AFTER | old_table | @@ -2984,19 +3056,26 @@ -- insert directly into children sees respective child-format tuples insert into child1 values ('AAA', 42); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: trigger = child1_insert_trig, new table = (AAA,42) insert into child2 values ('BBB', 42); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: trigger = child2_insert_trig, new table = (BBB,42) insert into child3 values (42, 'CCC'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: trigger = child3_insert_trig, new table = (42,CCC) -- update via parent sees parent-format tuples update parent set b = b + 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: trigger = parent_update_trig, old table = (AAA,42), (BBB,42), (CCC,42), new table = (AAA,43), (BBB,43), (CCC,43) -- delete via parent sees parent-format tuples delete from parent; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: trigger = parent_delete_trig, old table = (AAA,43), (BBB,43), (CCC,43) -- insert into parent sees parent-format tuples insert into parent values ('AAA', 42); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: trigger = parent_insert_trig, new table = (AAA,42) insert into parent values ('BBB', 42); NOTICE: trigger = parent_insert_trig, new table = (BBB,42) @@ -3004,10 +3083,13 @@ NOTICE: trigger = parent_insert_trig, new table = (CCC,42) -- delete from children sees respective child-format tuples delete from child1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: trigger = child1_delete_trig, old table = (AAA,42) delete from child2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: trigger = child2_delete_trig, old table = (BBB,42) delete from child3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: trigger = child3_delete_trig, old table = (42,CCC) -- copy into parent sees parent-format tuples copy parent (a, b) from stdin; @@ -3043,6 +3125,7 @@ for each row execute procedure intercept_insert(); -- insert, parent trigger sees post-modification parent-format tuple insert into parent values ('AAA', 42), ('BBB', 42), ('CCC', 66); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: trigger = parent_insert_trig, new table = (AAA,42), (BBB,42), (CCC,1066) -- copy, parent trigger sees post-modification parent-format tuple copy parent (a, b) from stdin; @@ -3126,16 +3209,22 @@ for each statement execute procedure dump_delete(); -- insert directly into children sees respective child-format tuples insert into child1 values ('AAA', 42); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: trigger = child1_insert_trig, new table = (AAA,42) insert into child2 values (42, 'BBB'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: trigger = child2_insert_trig, new table = (42,BBB) insert into child3 values ('CCC', 42, 'foo'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: trigger = child3_insert_trig, new table = (CCC,42,foo) -- update via parent sees parent-format tuples update parent set b = b + 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: trigger = parent_update_trig, old table = (AAA,42), (BBB,42), (CCC,42), new table = (AAA,43), (BBB,43), (CCC,43) -- delete via parent sees parent-format tuples delete from parent; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: trigger = parent_delete_trig, old table = (AAA,43), (BBB,43), (CCC,43) -- reinsert values into children for next test... insert into child1 values ('AAA', 42); @@ -3146,19 +3235,24 @@ NOTICE: trigger = child3_insert_trig, new table = (CCC,42,foo) -- delete from children sees respective child-format tuples delete from child1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: trigger = child1_delete_trig, old table = (AAA,42) delete from child2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: trigger = child2_delete_trig, old table = (42,BBB) delete from child3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: trigger = child3_delete_trig, old table = (CCC,42,foo) -- copy into parent sees parent-format tuples (no rerouting, so these -- are really inserted into the parent) copy parent (a, b) from stdin; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: trigger = parent_insert_trig, new table = (AAA,42), (BBB,42), (CCC,42) -- same behavior for copy if there is an index (interesting because rows are -- captured by a different code path in copyfrom.c if there are indexes) create index on parent(b); copy parent (a, b) from stdin; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: trigger = parent_insert_trig, new table = (DDD,42) -- DML affecting parent sees tuples collected from children even if -- there is no transition table trigger on the children @@ -3172,6 +3266,7 @@ drop trigger child3_update_trig on child3; drop trigger child3_delete_trig on child3; delete from parent; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: trigger = parent_delete_trig, old table = (AAA,42), (BBB,42), (CCC,42), (DDD,42) drop table child1, child2, child3, parent; -- @@ -3214,7 +3309,9 @@ for each statement execute procedure dump_insert(); with wcte as (insert into table1 values (42)) insert into table2 values ('hello world'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: trigger = table2_trig, new table = ("hello world") +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: trigger = table1_trig, new table = (42) with wcte as (insert into table1 values (43)) insert into table1 values (44); @@ -3250,18 +3347,24 @@ insert into my_table values (1, 'AAA'), (2, 'BBB') on conflict (a) do update set b = my_table.b || ':' || excluded.b; +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 NOTICE: trigger = my_table_update_trig, old table = , new table = +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: trigger = my_table_insert_trig, new table = (1,AAA), (2,BBB) -- mixture of inserts and updates insert into my_table values (1, 'AAA'), (2, 'BBB'), (3, 'CCC'), (4, 'DDD') on conflict (a) do update set b = my_table.b || ':' || excluded.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: trigger = my_table_update_trig, old table = (1,AAA), (2,BBB), new table = (1,AAA:AAA), (2,BBB:BBB) NOTICE: trigger = my_table_insert_trig, new table = (3,CCC), (4,DDD) -- updates only insert into my_table values (3, 'CCC'), (4, 'DDD') on conflict (a) do update set b = my_table.b || ':' || excluded.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: trigger = my_table_update_trig, old table = (3,CCC), (4,DDD), new table = (3,CCC:CCC), (4,DDD:DDD) NOTICE: trigger = my_table_insert_trig, new table = -- @@ -3282,18 +3385,24 @@ insert into iocdu_tt_parted values (1, 'AAA'), (2, 'BBB') on conflict (a) do update set b = iocdu_tt_parted.b || ':' || excluded.b; +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 NOTICE: trigger = iocdu_tt_parted_update_trig, old table = , new table = +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: trigger = iocdu_tt_parted_insert_trig, new table = (1,AAA), (2,BBB) -- mixture of inserts and updates insert into iocdu_tt_parted values (1, 'AAA'), (2, 'BBB'), (3, 'CCC'), (4, 'DDD') on conflict (a) do update set b = iocdu_tt_parted.b || ':' || excluded.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: trigger = iocdu_tt_parted_update_trig, old table = (1,AAA), (2,BBB), new table = (1,AAA:AAA), (2,BBB:BBB) NOTICE: trigger = iocdu_tt_parted_insert_trig, new table = (3,CCC), (4,DDD) -- updates only insert into iocdu_tt_parted values (3, 'CCC'), (4, 'DDD') on conflict (a) do update set b = iocdu_tt_parted.b || ':' || excluded.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: trigger = iocdu_tt_parted_update_trig, old table = (3,CCC), (4,DDD), new table = (3,CCC:CCC), (4,DDD:DDD) NOTICE: trigger = iocdu_tt_parted_insert_trig, new table = drop table iocdu_tt_parted; @@ -3337,6 +3446,7 @@ (1, 'one'), (2, 'two'), (3, 'three'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into trig_table values (1, 'one a'), (1, 'one b'), @@ -3344,10 +3454,14 @@ (2, 'two b'), (3, 'three a'), (3, 'three b'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: trigger_func(trig_table) called: action = INSERT, when = BEFORE, level = STATEMENT +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: trigger = trig_table_insert_trig, new table = (1,"one a"), (1,"one b"), (2,"two a"), (2,"two b"), (3,"three a"), (3,"three b") update refd_table set a = 11 where b = 'one'; NOTICE: trigger_func(trig_table) called: action = UPDATE, when = BEFORE, level = STATEMENT +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: trigger = trig_table_update_trig, old table = (1,"one a"), (1,"one b"), new table = (11,"one a"), (11,"one b") select * from trig_table; a | b @@ -3362,6 +3476,7 @@ delete from refd_table where length(b) = 3; NOTICE: trigger_func(trig_table) called: action = DELETE, when = BEFORE, level = STATEMENT +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: trigger = trig_table_delete_trig, old table = (2,"two a"), (2,"two b"), (11,"one a"), (11,"one b") select * from trig_table; a | b @@ -3386,19 +3501,24 @@ after delete on self_ref referencing old table as old_table for each statement execute procedure dump_delete(); insert into self_ref values (1, null), (2, 1), (3, 2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree delete from self_ref where a = 1; NOTICE: trigger_func(self_ref) called: action = DELETE, when = BEFORE, level = STATEMENT +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: trigger = self_ref_r_trig, old table = (1,), (2,1) NOTICE: trigger_func(self_ref) called: action = DELETE, when = BEFORE, level = STATEMENT NOTICE: trigger = self_ref_r_trig, old table = (1,), (2,1) +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: trigger = self_ref_s_trig, old table = (1,), (2,1) NOTICE: trigger = self_ref_r_trig, old table = (3,2) NOTICE: trigger = self_ref_s_trig, old table = (3,2) -- without AR trigger, cascaded deletes all end up in one transition table drop trigger self_ref_r_trig on self_ref; insert into self_ref values (1, null), (2, 1), (3, 2), (4, 3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree delete from self_ref where a = 1; NOTICE: trigger_func(self_ref) called: action = DELETE, when = BEFORE, level = STATEMENT +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: trigger = self_ref_s_trig, old table = (1,), (2,1), (3,2), (4,3) drop table self_ref; -- @@ -3418,11 +3538,13 @@ insert into merge_source_table values (1, 'initial1'), (2, 'initial2'), (3, 'initial3'), (4, 'initial4'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree merge into merge_target_table t using merge_source_table s on t.a = s.a when not matched then insert values (a, b); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: trigger = merge_target_table_insert_trig, new table = (1,initial1), (2,initial2), (3,initial3), (4,initial4) merge into merge_target_table t using merge_source_table s @@ -3433,7 +3555,10 @@ delete when not matched then insert values (a, b); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: trigger = merge_target_table_delete_trig, old table = (3,initial3), (4,initial4) +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: trigger = merge_target_table_update_trig, old table = (1,initial1), (2,initial2), new table = (1,"initial1 updated by merge"), (2,"initial2 updated by merge") NOTICE: trigger = merge_target_table_insert_trig, new table = merge into merge_target_table t @@ -3591,6 +3716,7 @@ referencing new table as new_table for each statement execute function convslot_trig2(); update convslot_test_parent set col1 = col1 || '1'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: trigger = but_trigger, new table = (11,tutu), (31,tutu) create function convslot_trig3() returns trigger @@ -3607,12 +3733,16 @@ referencing old table as old_table new table as new_table for each statement execute function convslot_trig3(); update convslot_test_parent set col1 = col1 || '1'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: trigger = but_trigger, new table = (111,tutu), (311,tutu) +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: trigger = but_trigger2, old_table = (11,tutu), (31,tutu), new table = (111,tutu), (311,tutu) create trigger bdt_trigger after delete on convslot_test_child referencing old table as old_table for each statement execute function convslot_trig1(); delete from convslot_test_parent; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: trigger = bdt_trigger, old_table = (111,tutu), (311,tutu) drop table convslot_test_child, convslot_test_parent; drop function convslot_trig1(); @@ -3657,6 +3787,7 @@ (select tgname from pg_trigger tr where tr.oid = pg_trigger.tgparentid) parent_tgname from pg_trigger where tgrelid in (select relid from pg_partition_tree('grandparent')) order by tgname, tgrelid::regclass::text COLLATE "C"; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree tgrelid | tgname | parent_tgname -------------+--------+--------------- chi | b | b @@ -3684,6 +3815,7 @@ (select tgname from pg_trigger tr where tr.oid = pg_trigger.tgparentid) parent_tgname from pg_trigger where tgrelid in (select relid from pg_partition_tree('grandparent')) order by tgname, tgrelid::regclass::text COLLATE "C"; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree tgrelid | tgname | parent_tgname -------------+--------+--------------- chi | b | b @@ -3707,6 +3839,13 @@ for each row execute procedure f(); alter trigger parenttrig on parent rename to anothertrig; \d+ child +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Table "public.child" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/select.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/select.out --- /tmp/cirrus-ci-build/src/test/regress/expected/select.out 2024-03-19 15:41:21.045065000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/select.out 2024-03-19 15:51:15.991639000 +0000 @@ -436,18 +436,21 @@ -- Test some cases involving whole-row Var referencing a subquery -- select foo from (select 1 offset 0) as foo; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree foo ----- (1) (1 row) select foo from (select null offset 0) as foo; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree foo ----- () (1 row) select foo from (select 'xyzzy',1,null offset 0) as foo; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree foo ------------ (xyzzy,1,) @@ -458,6 +461,7 @@ -- select * from onek, (values(147, 'RFAAAA'), (931, 'VJAAAA')) as v (i, j) WHERE onek.unique1 = v.i and onek.stringu1 = v.j; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4 | i | j ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------+-----+-------- 147 | 0 | 1 | 3 | 7 | 7 | 7 | 47 | 147 | 147 | 147 | 14 | 15 | RFAAAA | AAAAAA | AAAAxx | 147 | RFAAAA @@ -471,6 +475,7 @@ (values(10000), (2), (389), (1000), (2000), ((select 10029))) as foo(i) order by i asc limit 1))) bar (i) where onek.unique1 = bar.i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4 | i ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------+--- 2 | 326 | 0 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 4 | 5 | CAAAAA | OMAAAA | OOOOxx | 2 @@ -480,6 +485,7 @@ select * from onek where (unique1,ten) in (values (1,1), (20,0), (99,9), (17,99)) order by unique1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4 ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+--------- 1 | 214 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 2 | 3 | BAAAAA | GIAAAA | OOOOxx @@ -489,6 +495,7 @@ -- VALUES is also legal as a standalone query or a set-operation member VALUES (1,2), (3,4+4), (7,77.7); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree column1 | column2 ---------+--------- 1 | 2 @@ -501,6 +508,7 @@ SELECT 2+2, 57 UNION ALL TABLE int8_tbl; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree column1 | column2 ------------------+------------------- 1 | 2 @@ -518,6 +526,7 @@ CREATE TEMP TABLE nocols(); INSERT INTO nocols DEFAULT VALUES; SELECT * FROM nocols n, LATERAL (VALUES(n.*)) v; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- (1 row) @@ -526,6 +535,7 @@ -- CREATE TEMP TABLE foo (f1 int); INSERT INTO foo VALUES (42),(3),(10),(7),(null),(null),(1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM foo ORDER BY f1; f1 ---- @@ -920,7 +930,9 @@ -- But ORDER BY on a set-valued expression does create function sillysrf(int) returns setof int as 'values (1),(10),(2),($1)' language sql immutable; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select sillysrf(42); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree sillysrf ---------- 1 @@ -930,6 +942,7 @@ (4 rows) select sillysrf(-1) order by 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree sillysrf ---------- -1 @@ -942,6 +955,7 @@ -- X = X isn't a no-op, it's effectively X IS NOT NULL assuming = is strict -- (see bug #5084) select * from (values (2),(null),(1)) v(k) where k = k order by k; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree k --- 1 @@ -949,6 +963,7 @@ (2 rows) select * from (values (2),(null),(1)) v(k) where k = k; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree k --- 2 diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/inherit.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/inherit.out --- /tmp/cirrus-ci-build/src/test/regress/expected/inherit.out 2024-03-19 15:41:21.018843000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/inherit.out 2024-03-19 15:51:17.855180000 +0000 @@ -543,6 +543,7 @@ create table some_tab (f1 int, f2 int, f3 int, check (f1 < 10) no inherit); create table some_tab_child () inherits(some_tab); insert into some_tab_child select i, i+1, 0 from generate_series(1,1000) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree create index on some_tab_child(f1, f2); -- while at it, also check that statement-level triggers fire create function some_tab_stmt_trig_func() returns trigger as @@ -641,6 +642,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::text as relname, bar.* from bar order by 1,2; relname | f1 | f2 ---------+----+----- @@ -664,10 +666,12 @@ create table parted_tab_part2 partition of parted_tab for values in (2); create table parted_tab_part3 partition of parted_tab for values in (3); insert into parted_tab values (1, 'a'), (2, 'a'), (3, 'a'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree update parted_tab set b = 'b' from (select a from some_tab union all select a+1 from some_tab) ss (a) where parted_tab.a = ss.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select tableoid::regclass::text as relname, parted_tab.* from parted_tab order by 1,2; relname | a | b ------------------+---+--- @@ -678,10 +682,12 @@ truncate parted_tab; insert into parted_tab values (1, 'a'), (2, 'a'), (3, 'a'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree update parted_tab set b = 'b' from (select 0 from parted_tab union all select 1 from parted_tab) ss (a) where parted_tab.a = ss.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select tableoid::regclass::text as relname, parted_tab.* from parted_tab order by 1,2; relname | a | b ------------------+---+--- @@ -708,10 +714,12 @@ create table mlparted_tab_part2a partition of mlparted_tab_part2 for values in ('a'); create table mlparted_tab_part2b partition of mlparted_tab_part2 for values in ('b'); insert into mlparted_tab values (1, 'a'), (2, 'a'), (2, 'b'), (3, 'a'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree update mlparted_tab mlp set c = 'xxx' from (select a from some_tab union all select a+1 from some_tab) ss (a) where (mlp.a = ss.a and mlp.b = 'b') or mlp.a = 3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select tableoid::regclass::text as relname, mlparted_tab.* from mlparted_tab order by 1,2; relname | a | b | c ---------------------+---+---+----- @@ -764,6 +772,7 @@ alter table p1 add constraint p2chk check (ff1 > 10); -- connoinherit should be true for NO INHERIT constraint select pc.relname, pgc.conname, pgc.contype, pgc.conislocal, pgc.coninhcount, pgc.connoinherit from pg_class as pc inner join pg_constraint as pgc on (pgc.conrelid = pc.oid) where pc.relname = 'p1' order by 1,2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | conname | contype | conislocal | coninhcount | connoinherit ---------+---------+---------+------------+-------------+-------------- p1 | p1chk | c | t | 0 | t @@ -773,6 +782,10 @@ -- Test that child does not inherit NO INHERIT constraints create table c1 () inherits (p1); \d p1 +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 Table "public.p1" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -783,6 +796,10 @@ Number of child tables: 1 (Use \d+ to list them.) \d c1 +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 Table "public.c1" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -852,6 +869,7 @@ alter table ac add constraint ac_check check (aa is not null); CREATE TABLE bc (bb TEXT) INHERITS (ac); select pc.relname, pgc.conname, pgc.contype, pgc.conislocal, pgc.coninhcount, pg_get_expr(pgc.conbin, pc.oid) as consrc from pg_class as pc inner join pg_constraint as pgc on (pgc.conrelid = pc.oid) where pc.relname in ('ac', 'bc') order by 1,2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | conname | contype | conislocal | coninhcount | consrc ---------+----------+---------+------------+-------------+------------------ ac | ac_check | c | t | 0 | (aa IS NOT NULL) @@ -868,6 +886,7 @@ ERROR: cannot drop inherited constraint "ac_check" of relation "bc" alter table ac drop constraint ac_check; select pc.relname, pgc.conname, pgc.contype, pgc.conislocal, pgc.coninhcount, pg_get_expr(pgc.conbin, pc.oid) as consrc from pg_class as pc inner join pg_constraint as pgc on (pgc.conrelid = pc.oid) where pc.relname in ('ac', 'bc') order by 1,2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | conname | contype | conislocal | coninhcount | consrc ---------+---------+---------+------------+-------------+-------- (0 rows) @@ -875,6 +894,7 @@ -- try the unnamed-constraint case alter table ac add check (aa is not null); select pc.relname, pgc.conname, pgc.contype, pgc.conislocal, pgc.coninhcount, pg_get_expr(pgc.conbin, pc.oid) as consrc from pg_class as pc inner join pg_constraint as pgc on (pgc.conrelid = pc.oid) where pc.relname in ('ac', 'bc') order by 1,2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | conname | contype | conislocal | coninhcount | consrc ---------+-------------+---------+------------+-------------+------------------ ac | ac_aa_check | c | t | 0 | (aa IS NOT NULL) @@ -891,6 +911,7 @@ ERROR: cannot drop inherited constraint "ac_aa_check" of relation "bc" alter table ac drop constraint ac_aa_check; select pc.relname, pgc.conname, pgc.contype, pgc.conislocal, pgc.coninhcount, pg_get_expr(pgc.conbin, pc.oid) as consrc from pg_class as pc inner join pg_constraint as pgc on (pgc.conrelid = pc.oid) where pc.relname in ('ac', 'bc') order by 1,2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | conname | contype | conislocal | coninhcount | consrc ---------+---------+---------+------------+-------------+-------- (0 rows) @@ -898,6 +919,7 @@ alter table ac add constraint ac_check check (aa is not null); alter table bc no inherit ac; select pc.relname, pgc.conname, pgc.contype, pgc.conislocal, pgc.coninhcount, pg_get_expr(pgc.conbin, pc.oid) as consrc from pg_class as pc inner join pg_constraint as pgc on (pgc.conrelid = pc.oid) where pc.relname in ('ac', 'bc') order by 1,2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | conname | contype | conislocal | coninhcount | consrc ---------+----------+---------+------------+-------------+------------------ ac | ac_check | c | t | 0 | (aa IS NOT NULL) @@ -906,6 +928,7 @@ alter table bc drop constraint ac_check; select pc.relname, pgc.conname, pgc.contype, pgc.conislocal, pgc.coninhcount, pg_get_expr(pgc.conbin, pc.oid) as consrc from pg_class as pc inner join pg_constraint as pgc on (pgc.conrelid = pc.oid) where pc.relname in ('ac', 'bc') order by 1,2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | conname | contype | conislocal | coninhcount | consrc ---------+----------+---------+------------+-------------+------------------ ac | ac_check | c | t | 0 | (aa IS NOT NULL) @@ -913,6 +936,7 @@ alter table ac drop constraint ac_check; select pc.relname, pgc.conname, pgc.contype, pgc.conislocal, pgc.coninhcount, pg_get_expr(pgc.conbin, pc.oid) as consrc from pg_class as pc inner join pg_constraint as pgc on (pgc.conrelid = pc.oid) where pc.relname in ('ac', 'bc') order by 1,2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | conname | contype | conislocal | coninhcount | consrc ---------+---------+---------+------------+-------------+-------- (0 rows) @@ -924,6 +948,7 @@ NOTICE: merging column "a" with inherited definition NOTICE: merging constraint "check_a" with inherited definition select pc.relname, pgc.conname, pgc.contype, pgc.conislocal, pgc.coninhcount, pg_get_expr(pgc.conbin, pc.oid) as consrc from pg_class as pc inner join pg_constraint as pgc on (pgc.conrelid = pc.oid) where pc.relname in ('ac', 'bc') order by 1,2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | conname | contype | conislocal | coninhcount | consrc ---------+---------+---------+------------+-------------+---------- ac | check_a | c | t | 0 | (a <> 0) @@ -937,6 +962,7 @@ create table bc (b int constraint check_b check (b <> 0)); create table cc (c int constraint check_c check (c <> 0)) inherits (ac, bc); select pc.relname, pgc.conname, pgc.contype, pgc.conislocal, pgc.coninhcount, pg_get_expr(pgc.conbin, pc.oid) as consrc from pg_class as pc inner join pg_constraint as pgc on (pgc.conrelid = pc.oid) where pc.relname in ('ac', 'bc', 'cc') order by 1,2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | conname | contype | conislocal | coninhcount | consrc ---------+---------+---------+------------+-------------+---------- ac | check_a | c | t | 0 | (a <> 0) @@ -948,6 +974,7 @@ alter table cc no inherit bc; select pc.relname, pgc.conname, pgc.contype, pgc.conislocal, pgc.coninhcount, pg_get_expr(pgc.conbin, pc.oid) as consrc from pg_class as pc inner join pg_constraint as pgc on (pgc.conrelid = pc.oid) where pc.relname in ('ac', 'bc', 'cc') order by 1,2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | conname | contype | conislocal | coninhcount | consrc ---------+---------+---------+------------+-------------+---------- ac | check_a | c | t | 0 | (a <> 0) @@ -976,6 +1003,10 @@ DETAIL: Failing row contains (1, -1, 2). create table c2(f3 int) inherits(p1,p2); \d c2 +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 Table "public.c2" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -992,6 +1023,10 @@ NOTICE: merging multiple inherited definitions of column "f2" NOTICE: merging multiple inherited definitions of column "f3" \d c3 +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 Table "public.c3" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -1014,6 +1049,10 @@ create table cc1 (f2 text, f3 int) inherits (pp1); alter table pp1 add column a1 int check (a1 > 0); \d cc1 +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 Table "public.cc1" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -1029,6 +1068,10 @@ NOTICE: merging multiple inherited definitions of column "f1" NOTICE: merging multiple inherited definitions of column "a1" \d cc2 +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 Table "public.cc2" Column | Type | Collation | Nullable | Default --------+------------------+-----------+----------+--------- @@ -1046,6 +1089,10 @@ NOTICE: merging definition of column "a2" for child "cc2" NOTICE: merging constraint "pp1_a2_check" with inherited definition \d cc2 +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 Table "public.cc2" Column | Type | Collation | Nullable | Default --------+------------------+-----------+----------+--------- @@ -1077,6 +1124,11 @@ ERROR: cannot rename inherited column "aa" ALTER TABLE inhts RENAME d TO dd; \d+ inhts +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 Table "public.inhts" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- @@ -1097,6 +1149,11 @@ NOTICE: merging definition of column "i" for child "inhtd" NOTICE: merging definition of column "i" for child "inhtd" \d+ inhta +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 Table "public.inhta" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- @@ -1113,6 +1170,11 @@ NOTICE: merging multiple inherited definitions of column "b" ALTER TABLE inht1 RENAME aa TO aaa; \d+ inht4 +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 Table "public.inht4" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- @@ -1130,6 +1192,11 @@ ALTER TABLE inht1 RENAME b TO bb; -- to be failed ERROR: cannot rename inherited column "b" \d+ inhts +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 Table "public.inhts" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- @@ -1151,6 +1218,7 @@ WHERE inhparent IN (SELECT inhrelid FROM r) GROUP BY inhrelid) e JOIN pg_attribute a ON e.inhrelid = a.attrelid WHERE NOT attislocal ORDER BY a.attrelid::regclass::name, a.attnum; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree attrelid | attname | attinhcount | expected ----------+---------+-------------+---------- inht2 | aaaa | 1 | 1 @@ -1177,6 +1245,12 @@ CREATE TABLE test_constraints (id int, val1 varchar, val2 int, UNIQUE(val1, val2)); CREATE TABLE test_constraints_inh () INHERITS (test_constraints); \d+ test_constraints +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 Table "public.test_constraints" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+-------------------+-----------+----------+---------+----------+--------------+------------- @@ -1189,6 +1263,12 @@ ALTER TABLE ONLY test_constraints DROP CONSTRAINT test_constraints_val1_val2_key; \d+ test_constraints +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 Table "public.test_constraints" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+-------------------+-----------+----------+---------+----------+--------------+------------- @@ -1198,6 +1278,11 @@ Child tables: test_constraints_inh \d+ test_constraints_inh +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 Table "public.test_constraints_inh" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+-------------------+-----------+----------+---------+----------+--------------+------------- @@ -1214,6 +1299,12 @@ ); CREATE TABLE test_ex_constraints_inh () INHERITS (test_ex_constraints); \d+ test_ex_constraints +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 Table "public.test_ex_constraints" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+--------+-----------+----------+---------+---------+--------------+------------- @@ -1224,6 +1315,12 @@ ALTER TABLE test_ex_constraints DROP CONSTRAINT test_ex_constraints_c_excl; \d+ test_ex_constraints +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 Table "public.test_ex_constraints" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+--------+-----------+----------+---------+---------+--------------+------------- @@ -1231,6 +1328,11 @@ Child tables: test_ex_constraints_inh \d+ test_ex_constraints_inh +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 Table "public.test_ex_constraints_inh" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+--------+-----------+----------+---------+---------+--------------+------------- @@ -1244,6 +1346,14 @@ CREATE TABLE test_foreign_constraints(id1 int REFERENCES test_primary_constraints(id)); CREATE TABLE test_foreign_constraints_inh () INHERITS (test_foreign_constraints); \d+ test_primary_constraints +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Table "public.test_primary_constraints" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- @@ -1254,6 +1364,13 @@ TABLE "test_foreign_constraints" CONSTRAINT "test_foreign_constraints_id1_fkey" FOREIGN KEY (id1) REFERENCES test_primary_constraints(id) \d+ test_foreign_constraints +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Table "public.test_foreign_constraints" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- @@ -1264,6 +1381,13 @@ ALTER TABLE test_foreign_constraints DROP CONSTRAINT test_foreign_constraints_id1_fkey; \d+ test_foreign_constraints +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Table "public.test_foreign_constraints" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- @@ -1271,6 +1395,11 @@ Child tables: test_foreign_constraints_inh \d+ test_foreign_constraints_inh +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 Table "public.test_foreign_constraints_inh" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- @@ -1283,10 +1412,13 @@ -- Test foreign key behavior create table inh_fk_1 (a int primary key); insert into inh_fk_1 values (1), (2), (3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree create table inh_fk_2 (x int primary key, y int references inh_fk_1 on delete cascade); insert into inh_fk_2 values (11, 1), (22, 2), (33, 3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree create table inh_fk_2_child () inherits (inh_fk_2); insert into inh_fk_2_child values (111, 1), (222, 2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree delete from inh_fk_1 where a = 1; select * from inh_fk_1 order by 1; a @@ -1338,6 +1470,10 @@ ERROR: cannot drop inherited constraint "f1_pos" of relation "p1_c1" alter table p1 drop constraint f1_pos; \d p1_c1 +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 Table "public.p1_c1" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -1360,6 +1496,10 @@ alter table p2 drop constraint f1_pos; alter table p1 drop constraint f1_pos; \d p1p2_c* +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 Table "public.p1p2_c1" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -1367,6 +1507,9 @@ Inherits: p1, p2 +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 Table "public.p1p2_c2" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -1386,6 +1529,10 @@ create table p1_c1c2() inherits (p1_c1, p1_c2); NOTICE: merging multiple inherited definitions of column "f1" \d p1_c1c2 +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 Table "public.p1_c1c2" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -1397,6 +1544,10 @@ alter table p1 drop constraint f1_pos; \d p1_c1c2 +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 Table "public.p1_c1c2" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -1423,6 +1574,10 @@ ERROR: cannot drop inherited constraint "f1_pos" of relation "p1_c1c2" alter table p1_c2 drop constraint f1_pos; \d p1_c1c2 +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 Table "public.p1_c1c2" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -1469,12 +1624,15 @@ -- create temp table patest0 (id, x) as select x, x from generate_series(0,1000) x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree create temp table patest1() inherits (patest0); insert into patest1 select x, x from generate_series(0,1000) x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree create temp table patest2() inherits (patest0); insert into patest2 select x, x from generate_series(0,1000) x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree create index patest0i on patest0(id); create index patest1i on patest1(id); create index patest2i on patest2(id); @@ -1483,6 +1641,7 @@ analyze patest2; explain (costs off) select * from patest0 join (select f1 from int4_tbl limit 1) ss on id = f1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------ Nested Loop @@ -1498,6 +1657,7 @@ (10 rows) select * from patest0 join (select f1 from int4_tbl limit 1) ss on id = f1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id | x | f1 ----+---+---- 0 | 0 | 0 @@ -1508,6 +1668,7 @@ drop index patest2i; explain (costs off) select * from patest0 join (select f1 from int4_tbl limit 1) ss on id = f1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------ Nested Loop @@ -1523,6 +1684,7 @@ (10 rows) select * from patest0 join (select f1 from int4_tbl limit 1) ss on id = f1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id | x | f1 ----+---+---- 0 | 0 | 0 @@ -1720,7 +1882,9 @@ create table matest0(a int primary key); create table matest1() inherits (matest0); insert into matest0 select generate_series(1, 400); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into matest1 select generate_series(1, 200); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree analyze matest0; analyze matest1; explain (costs off) @@ -1751,6 +1915,7 @@ UNION ALL SELECT thousand, thousand FROM tenk1 ORDER BY thousand, tenthous; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------- Merge Append @@ -1766,6 +1931,7 @@ UNION ALL SELECT 42, 42, hundred FROM tenk1 ORDER BY thousand, tenthous; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------ Merge Append @@ -1781,6 +1947,7 @@ UNION ALL SELECT thousand, random()::integer FROM tenk1 ORDER BY thousand, tenthous; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------- Merge Append @@ -1797,6 +1964,7 @@ (SELECT unique1 AS x FROM tenk1 a UNION ALL SELECT unique2 AS x FROM tenk1 b) s; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------- Result @@ -1815,6 +1983,7 @@ (SELECT unique1 AS x, unique1 AS y FROM tenk1 a UNION ALL SELECT unique2 AS x, unique2 AS y FROM tenk1 b) s; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------- Result @@ -1835,6 +2004,7 @@ UNION ALL SELECT unique2 AS x, unique2 AS y FROM tenk1 b) s ORDER BY x, y; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------- Merge Append @@ -1855,6 +2025,7 @@ ) f(i) ORDER BY f.i LIMIT 10) FROM generate_series(1, 3) g(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------- Function Scan on generate_series g @@ -1878,6 +2049,7 @@ ) f(i) ORDER BY f.i LIMIT 10) FROM generate_series(1, 3) g(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree array ------------------------------ {1,5,6,8,11,11,14,16,17,20} @@ -1895,7 +2067,9 @@ create table inhcld(f2 name, f1 int); alter table inhcld inherit inhpar; insert into inhpar select x, x::text from generate_series(1,5) x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into inhcld select x::text, x from generate_series(6,10) x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree explain (verbose, costs off) update inhpar i set (f1, f2) = (select i.f1, i.f2 || '-' from int4_tbl limit 1); QUERY PLAN @@ -1944,6 +2118,7 @@ alter table inhpar attach partition inhcld1 for values from (1) to (5); alter table inhpar attach partition inhcld2 for values from (5) to (100); insert into inhpar select x, x::text from generate_series(1,10) x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree explain (verbose, costs off) update inhpar i set (f1, f2) = (select i.f1, i.f2 || '-' from int4_tbl limit 1); QUERY PLAN @@ -1982,6 +2157,7 @@ -- Also check ON CONFLICT insert into inhpar as i values (3), (7) on conflict (f1) do update set (f1, f2) = (select i.f1, i.f2 || '+'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select * from inhpar order by f1; -- tuple order might be unstable here f1 | f2 ----+----- @@ -2028,6 +2204,10 @@ create table pp1 (f1 int); create table cc1 (f2 text, f3 int) inherits (pp1); \d cc1 +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 Table "public.cc1" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -2039,6 +2219,10 @@ create table cc2(f4 float) inherits(pp1,cc1); NOTICE: merging multiple inherited definitions of column "f1" \d cc2 +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 Table "public.cc2" Column | Type | Collation | Nullable | Default --------+------------------+-----------+----------+--------- @@ -2052,6 +2236,11 @@ -- named NOT NULL constraint alter table cc1 add column a2 int constraint nn not null; \d+ cc1 +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 Table "public.cc1" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+----------+--------------+------------- @@ -2065,6 +2254,11 @@ Child tables: cc2 \d+ cc2 +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 Table "public.cc2" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+------------------+-----------+----------+---------+----------+--------------+------------- @@ -2080,6 +2274,11 @@ alter table pp1 alter column f1 set not null; \d+ pp1 +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 Table "public.pp1" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- @@ -2090,6 +2289,11 @@ cc2 \d+ cc1 +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 Table "public.cc1" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+----------+--------------+------------- @@ -2104,6 +2308,11 @@ Child tables: cc2 \d+ cc2 +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 Table "public.cc2" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+------------------+-----------+----------+---------+----------+--------------+------------- @@ -2133,6 +2342,11 @@ -- remove constraint cc1, should succeed alter table cc1 alter column a2 drop not null; \d+ cc1 +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 Table "public.cc1" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+----------+--------------+------------- @@ -2149,6 +2363,11 @@ alter table cc2 alter column f1 drop not null; ERROR: cannot drop inherited constraint "pp1_f1_not_null" of relation "cc2" \d+ cc2 +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 Table "public.cc2" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+------------------+-----------+----------+---------+----------+--------------+------------- @@ -2168,6 +2387,11 @@ -- remove from pp1, should succeed alter table pp1 alter column f1 drop not null; \d+ pp1 +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 Table "public.pp1" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- @@ -2182,6 +2406,11 @@ create table inh_parent2(b int constraint nn not null); create table inh_child () inherits (inh_parent1, inh_parent2); \d+ inh_child +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 Table "public.inh_child" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- @@ -2214,6 +2443,11 @@ (5 rows) \d+ inh_child +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 Table "public.inh_child" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- @@ -2247,18 +2481,31 @@ (1 row) \d+ inh_nn* +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 Table "public.inh_nn_child" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- a | integer | | | | plain | | Inherits: inh_nn_parent +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 Table "public.inh_nn_child2" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- a | integer | | | | plain | | Inherits: inh_nn_parent +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 Table "public.inh_nn_parent" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- @@ -2285,6 +2532,11 @@ -- add NOT NULL constraint recursively alter table inh_parent alter column f1 set not null; \d+ inh_parent +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 Table "public.inh_parent" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- @@ -2294,6 +2546,11 @@ Child tables: inh_child1 \d+ inh_child1 +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 Table "public.inh_child1" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- @@ -2304,6 +2561,11 @@ Child tables: inh_child2 \d+ inh_child2 +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 Table "public.inh_child2" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- @@ -2330,6 +2592,11 @@ create table inh_child3 () inherits (inh_child1); alter table inh_child1 no inherit inh_parent; \d+ inh_parent +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 Table "public.inh_parent" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- @@ -2338,6 +2605,11 @@ "inh_parent_f1_not_null" NOT NULL "f1" \d+ inh_child1 +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 Table "public.inh_child1" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- @@ -2348,6 +2620,11 @@ inh_child3 \d+ inh_child2 +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 Table "public.inh_child2" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- @@ -2380,6 +2657,7 @@ alter table inh_parent add constraint inh_parent_excl exclude ((1) with =); alter table inh_parent add constraint inh_parent_uq unique (a); alter table inh_parent add constraint inh_parent_fk foreign key (a) references inh_parent (a); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree create table inh_child2 () inherits (inh_parent); create table inh_child3 (like inh_parent); alter table inh_child3 inherit inh_parent; @@ -3232,6 +3510,7 @@ create index on permtest_parent (left(c, 3)); insert into permtest_parent select 1, 'a', left(fipshash(i::text), 5) from generate_series(0, 100) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree analyze permtest_parent; create role regress_no_child_access; revoke all on permtest_grandchild from regress_no_child_access; @@ -3241,6 +3520,7 @@ explain (costs off) select * from permtest_parent p1 inner join permtest_parent p2 on p1.a = p2.a and p1.c ~ 'a1$'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------ Nested Loop @@ -3253,6 +3533,7 @@ explain (costs off) select * from permtest_parent p1 inner join permtest_parent p2 on p1.a = p2.a and left(p1.c, 3) ~ 'a1$'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------- Nested Loop @@ -3269,6 +3550,7 @@ explain (costs off) select p2.a, p1.c from permtest_parent p1 inner join permtest_parent p2 on p1.a = p2.a and p1.c ~ 'a1$'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------ Nested Loop @@ -3282,6 +3564,7 @@ explain (costs off) select p2.a, p1.c from permtest_parent p1 inner join permtest_parent p2 on p1.a = p2.a and left(p1.c, 3) ~ 'a1$'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------- Hash Join diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/typed_table.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/typed_table.out --- /tmp/cirrus-ci-build/src/test/regress/expected/typed_table.out 2024-03-19 15:41:21.046624000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/typed_table.out 2024-03-19 15:51:16.076605000 +0000 @@ -10,6 +10,10 @@ (0 rows) \d persons +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 Table "public.persons" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -23,6 +27,7 @@ SELECT * FROM persons; $$; SELECT * FROM get_all_persons(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id | name ----+------ (0 rows) @@ -46,6 +51,11 @@ UNIQUE (name) ); \d persons2 +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 Table "public.persons2" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -61,6 +71,11 @@ name WITH OPTIONS DEFAULT '' ); \d persons3 +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 Table "public.persons3" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+---------- @@ -107,6 +122,11 @@ UNIQUE (name) ); \d persons2 +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 Table "public.persons2" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -122,6 +142,11 @@ name NOT NULL DEFAULT '' ); \d persons3 +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 Table "public.persons3" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+---------- diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/vacuum.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/vacuum.out --- /tmp/cirrus-ci-build/src/test/regress/expected/vacuum.out 2024-03-19 15:41:21.046882000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/vacuum.out 2024-03-19 15:51:16.553559000 +0000 @@ -4,16 +4,27 @@ CREATE TABLE vactst (i INT); INSERT INTO vactst VALUES (1); INSERT INTO vactst SELECT * FROM vactst; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO vactst SELECT * FROM vactst; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO vactst SELECT * FROM vactst; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO vactst SELECT * FROM vactst; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO vactst SELECT * FROM vactst; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO vactst SELECT * FROM vactst; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO vactst SELECT * FROM vactst; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO vactst SELECT * FROM vactst; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO vactst SELECT * FROM vactst; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO vactst SELECT * FROM vactst; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO vactst SELECT * FROM vactst; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO vactst VALUES (0); SELECT count(*) FROM vactst; count @@ -31,16 +42,27 @@ VACUUM FULL vactst; UPDATE vactst SET i = i + 1; INSERT INTO vactst SELECT * FROM vactst; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO vactst SELECT * FROM vactst; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO vactst SELECT * FROM vactst; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO vactst SELECT * FROM vactst; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO vactst SELECT * FROM vactst; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO vactst SELECT * FROM vactst; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO vactst SELECT * FROM vactst; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO vactst SELECT * FROM vactst; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO vactst SELECT * FROM vactst; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO vactst SELECT * FROM vactst; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO vactst SELECT * FROM vactst; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO vactst VALUES (0); SELECT count(*) FROM vactst; count @@ -65,9 +87,13 @@ AS 'ANALYZE pg_am'; CREATE FUNCTION wrap_do_analyze(c INT) RETURNS INT IMMUTABLE LANGUAGE SQL AS 'SELECT $1 FROM public.do_analyze()'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE INDEX ON vaccluster(wrap_do_analyze(i)); INSERT INTO vaccluster VALUES (1), (2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE vaccluster; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: ANALYZE cannot be executed from VACUUM or ANALYZE CONTEXT: SQL function "do_analyze" statement 1 SQL function "wrap_do_analyze" statement 1 @@ -77,9 +103,11 @@ -- (which hopefully is unlikely to be reintroduced), but also seems -- independently worthwhile to cover. INSERT INTO vactst SELECT generate_series(1, 300); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree DELETE FROM vactst WHERE i % 7 = 0; -- delete a few rows outside BEGIN; INSERT INTO vactst SELECT generate_series(301, 400); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree DELETE FROM vactst WHERE i % 5 <> 0; -- delete a few rows inside ANALYZE vactst; COMMIT; @@ -87,6 +115,7 @@ VACUUM FULL pg_class; VACUUM FULL pg_database; VACUUM FULL vaccluster; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: ANALYZE cannot be executed from VACUUM or ANALYZE CONTEXT: SQL function "do_analyze" statement 1 SQL function "wrap_do_analyze" statement 1 @@ -95,6 +124,7 @@ -- PARALLEL option CREATE TABLE pvactst (i INT, a INT[], p POINT) with (autovacuum_enabled = off); INSERT INTO pvactst SELECT i, array[1,2,3], point(i, i+1) FROM generate_series(1,1000) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE INDEX btree_pvactst ON pvactst USING btree (i); CREATE INDEX hash_pvactst ON pvactst USING hash (i); CREATE INDEX brin_pvactst ON pvactst USING brin (i); @@ -168,6 +198,7 @@ CREATE TEMP TABLE vac_truncate_test(i INT NOT NULL, j text) WITH (vacuum_truncate=true, autovacuum_enabled=false); INSERT INTO vac_truncate_test VALUES (1, NULL), (NULL, NULL); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: null value in column "i" of relation "vac_truncate_test" violates not-null constraint DETAIL: Failing row contains (null, null). VACUUM (TRUNCATE FALSE, DISABLE_PAGE_SKIPPING) vac_truncate_test; @@ -207,6 +238,7 @@ CREATE TABLE vacparted_i2 PARTITION OF vacparted_i FOR VALUES WITH (MODULUS 2, REMAINDER 1); INSERT INTO vacparted_i SELECT i, 'test_'|| i from generate_series(1,10) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree VACUUM (ANALYZE) vacparted_i; VACUUM (FULL) vacparted_i; VACUUM (FREEZE) vacparted_i; @@ -279,6 +311,7 @@ -- PROCESS_TOAST option CREATE TABLE vac_option_tab (a INT, t TEXT); INSERT INTO vac_option_tab SELECT a, 't' || a FROM generate_series(1, 10) AS a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE vac_option_tab ALTER COLUMN t SET STORAGE EXTERNAL; -- Check the number of vacuums done on table vac_option_tab and on its -- toast relation, to check that PROCESS_TOAST and PROCESS_MAIN work on @@ -293,6 +326,7 @@ ORDER BY rel; VACUUM (PROCESS_TOAST TRUE) vac_option_tab; SELECT * FROM vac_option_tab_counts; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree rel | vacuum_count -------+-------------- main | 1 @@ -301,6 +335,7 @@ VACUUM (PROCESS_TOAST FALSE) vac_option_tab; SELECT * FROM vac_option_tab_counts; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree rel | vacuum_count -------+-------------- main | 2 @@ -313,6 +348,7 @@ -- Only the toast table is processed. VACUUM (PROCESS_MAIN FALSE) vac_option_tab; SELECT * FROM vac_option_tab_counts; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree rel | vacuum_count -------+-------------- main | 2 @@ -322,6 +358,7 @@ -- Nothing is processed. VACUUM (PROCESS_MAIN FALSE, PROCESS_TOAST FALSE) vac_option_tab; SELECT * FROM vac_option_tab_counts; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree rel | vacuum_count -------+-------------- main | 2 diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/updatable_views.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/updatable_views.out --- /tmp/cirrus-ci-build/src/test/regress/expected/updatable_views.out 2024-03-19 15:41:21.046832000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/updatable_views.out 2024-03-19 15:51:17.439824000 +0000 @@ -7,6 +7,7 @@ -- messages CREATE TABLE base_tbl (a int PRIMARY KEY, b text DEFAULT 'Unspecified'); INSERT INTO base_tbl SELECT i, 'Row ' || i FROM generate_series(-2, 2) g(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE VIEW ro_view1 AS SELECT DISTINCT a, b FROM base_tbl; -- DISTINCT not supported CREATE VIEW ro_view2 AS SELECT a, b FROM base_tbl GROUP BY a, b; -- GROUP BY not supported CREATE VIEW ro_view3 AS SELECT 1 FROM base_tbl HAVING max(a) > 0; -- HAVING not supported @@ -32,6 +33,7 @@ FROM information_schema.tables WHERE table_name LIKE E'r_\\_view%' ORDER BY table_name; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_name | is_insertable_into ------------+-------------------- ro_view1 | NO @@ -60,6 +62,7 @@ FROM information_schema.views WHERE table_name LIKE E'r_\\_view%' ORDER BY table_name; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_name | is_updatable | is_insertable_into ------------+--------------+-------------------- ro_view1 | NO | NO @@ -88,6 +91,7 @@ FROM information_schema.columns WHERE table_name LIKE E'r_\\_view%' ORDER BY table_name, ordinal_position; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_name | column_name | is_updatable ------------+-------------+-------------- ro_view1 | a | NO @@ -202,6 +206,7 @@ MERGE INTO ro_view13 AS t USING (VALUES (3, 'Row 3')) AS v(a,b) ON t.a = v.a WHEN MATCHED THEN DO NOTHING WHEN NOT MATCHED THEN DO NOTHING; -- should be OK to do nothing +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- Partially updatable view INSERT INTO rw_view14 VALUES (null, 3, 'Row 3'); -- should fail ERROR: cannot insert into column "ctid" of view "rw_view14" @@ -233,6 +238,7 @@ USING (VALUES (2, 'Merged row 2'), (3, 'Merged row 3')) AS v(a,b) ON t.a = v.a WHEN MATCHED THEN UPDATE SET b = v.b -- should be OK WHEN NOT MATCHED THEN INSERT (a,b) VALUES (v.a, v.b); -- should be OK +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM base_tbl ORDER BY a; a | b ----+-------------- @@ -248,6 +254,7 @@ USING (VALUES (2, 'Row 2'), (3, 'Row 3')) AS v(a,b) ON t.a = v.a WHEN MATCHED AND t.a = 2 THEN UPDATE SET b = v.b -- should be OK WHEN MATCHED AND t.a = 3 THEN DELETE; -- should be OK +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM base_tbl ORDER BY a; a | b ----+-------- @@ -265,6 +272,7 @@ INSERT INTO rw_view15 (a) VALUES (3); -- should be OK INSERT INTO rw_view15 (a) VALUES (3) ON CONFLICT DO NOTHING; -- succeeds SELECT * FROM rw_view15; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | upper ----+------------- -2 | ROW -2 @@ -277,6 +285,7 @@ INSERT INTO rw_view15 (a) VALUES (3) ON CONFLICT (a) DO NOTHING; -- succeeds SELECT * FROM rw_view15; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | upper ----+------------- -2 | ROW -2 @@ -289,6 +298,7 @@ INSERT INTO rw_view15 (a) VALUES (3) ON CONFLICT (a) DO UPDATE set a = excluded.a; -- succeeds SELECT * FROM rw_view15; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | upper ----+------------- -2 | ROW -2 @@ -303,6 +313,7 @@ ERROR: cannot insert into column "upper" of view "rw_view15" DETAIL: View columns that are not columns of their base relation are not updatable. SELECT * FROM rw_view15; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | upper ----+------------- -2 | ROW -2 @@ -314,6 +325,7 @@ (6 rows) SELECT * FROM rw_view15; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | upper ----+------------- -2 | ROW -2 @@ -432,10 +444,12 @@ -- simple updatable view CREATE TABLE base_tbl (a int PRIMARY KEY, b text DEFAULT 'Unspecified'); INSERT INTO base_tbl SELECT i, 'Row ' || i FROM generate_series(-2, 2) g(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE VIEW rw_view1 AS SELECT * FROM base_tbl WHERE a>0; SELECT table_name, is_insertable_into FROM information_schema.tables WHERE table_name = 'rw_view1'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_name | is_insertable_into ------------+-------------------- rw_view1 | YES @@ -444,6 +458,7 @@ SELECT table_name, is_updatable, is_insertable_into FROM information_schema.views WHERE table_name = 'rw_view1'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_name | is_updatable | is_insertable_into ------------+--------------+-------------------- rw_view1 | YES | YES @@ -453,6 +468,7 @@ FROM information_schema.columns WHERE table_name = 'rw_view1' ORDER BY ordinal_position; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_name | column_name | is_updatable ------------+-------------+-------------- rw_view1 | a | YES @@ -481,6 +497,7 @@ WHEN MATCHED THEN DELETE WHEN NOT MATCHED AND a > 0 THEN INSERT (a) VALUES (v.a) RETURNING merge_action(), v.*, t.*; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree merge_action | a | b | a | b --------------+---+-------+---+------------- UPDATE | 1 | ROW 1 | 1 | ROW 1 @@ -518,6 +535,7 @@ EXPLAIN (costs off) MERGE INTO rw_view1 t USING (VALUES (5, 'X')) AS v(a,b) ON t.a = v.a WHEN MATCHED THEN DELETE; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------- Merge on base_tbl @@ -529,6 +547,7 @@ MERGE INTO rw_view1 t USING (SELECT * FROM generate_series(1,5)) AS s(a) ON t.a = s.a WHEN MATCHED THEN UPDATE SET b = 'Updated'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------- Merge on base_tbl @@ -546,6 +565,7 @@ MERGE INTO rw_view1 t USING (SELECT * FROM generate_series(1,5)) AS s(a) ON t.a = s.a WHEN NOT MATCHED THEN INSERT (a) VALUES (s.a); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------- Merge on base_tbl @@ -566,6 +586,7 @@ SELECT table_name, is_updatable, is_insertable_into FROM information_schema.views WHERE table_name = 'rw_view1'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_name | is_updatable | is_insertable_into ------------+--------------+-------------------- rw_view1 | YES | YES @@ -573,6 +594,7 @@ -- Check behavior with DEFAULTs (bug #17633) INSERT INTO rw_view1 VALUES (9, DEFAULT), (10, DEFAULT); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT a, b FROM base_tbl_hist; a | b ----+--- @@ -586,11 +608,13 @@ -- view on top of view CREATE TABLE base_tbl (a int PRIMARY KEY, b text DEFAULT 'Unspecified'); INSERT INTO base_tbl SELECT i, 'Row ' || i FROM generate_series(-2, 2) g(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE VIEW rw_view1 AS SELECT b AS bb, a AS aa FROM base_tbl WHERE a>0; CREATE VIEW rw_view2 AS SELECT aa AS aaa, bb AS bbb FROM rw_view1 WHERE aa<10; SELECT table_name, is_insertable_into FROM information_schema.tables WHERE table_name = 'rw_view2'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_name | is_insertable_into ------------+-------------------- rw_view2 | YES @@ -599,6 +623,7 @@ SELECT table_name, is_updatable, is_insertable_into FROM information_schema.views WHERE table_name = 'rw_view2'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_name | is_updatable | is_insertable_into ------------+--------------+-------------------- rw_view2 | YES | YES @@ -608,6 +633,7 @@ FROM information_schema.columns WHERE table_name = 'rw_view2' ORDER BY ordinal_position; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_name | column_name | is_updatable ------------+-------------+-------------- rw_view2 | aaa | YES @@ -617,6 +643,7 @@ INSERT INTO rw_view2 VALUES (3, 'Row 3'); INSERT INTO rw_view2 (aaa) VALUES (4); SELECT * FROM rw_view2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree aaa | bbb -----+------------- 1 | Row 1 @@ -628,6 +655,7 @@ UPDATE rw_view2 SET bbb='Row 4' WHERE aaa=4; DELETE FROM rw_view2 WHERE aaa=2; SELECT * FROM rw_view2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree aaa | bbb -----+------- 1 | Row 1 @@ -641,6 +669,7 @@ WHEN MATCHED THEN UPDATE SET bbb = v.b WHEN NOT MATCHED THEN INSERT (aaa) VALUES (v.a) RETURNING merge_action(), v.*, t.*; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree merge_action | a | b | aaa | bbb --------------+---+----+-----+------------- DELETE | 3 | R3 | 3 | Row 3 @@ -649,6 +678,7 @@ (3 rows) SELECT * FROM rw_view2 ORDER BY aaa; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree aaa | bbb -----+------------- 1 | Row 1 @@ -679,12 +709,14 @@ -- view on top of view with rules CREATE TABLE base_tbl (a int PRIMARY KEY, b text DEFAULT 'Unspecified'); INSERT INTO base_tbl SELECT i, 'Row ' || i FROM generate_series(-2, 2) g(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE VIEW rw_view1 AS SELECT * FROM base_tbl WHERE a>0 OFFSET 0; -- not updatable without rules/triggers CREATE VIEW rw_view2 AS SELECT * FROM rw_view1 WHERE a<10; SELECT table_name, is_insertable_into FROM information_schema.tables WHERE table_name LIKE 'rw_view%' ORDER BY table_name; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_name | is_insertable_into ------------+-------------------- rw_view1 | NO @@ -695,6 +727,7 @@ FROM information_schema.views WHERE table_name LIKE 'rw_view%' ORDER BY table_name; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_name | is_updatable | is_insertable_into ------------+--------------+-------------------- rw_view1 | NO | NO @@ -705,6 +738,7 @@ FROM information_schema.columns WHERE table_name LIKE 'rw_view%' ORDER BY table_name, ordinal_position; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_name | column_name | is_updatable ------------+-------------+-------------- rw_view1 | a | NO @@ -719,6 +753,7 @@ FROM information_schema.tables WHERE table_name LIKE 'rw_view%' ORDER BY table_name; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_name | is_insertable_into ------------+-------------------- rw_view1 | YES @@ -729,6 +764,7 @@ FROM information_schema.views WHERE table_name LIKE 'rw_view%' ORDER BY table_name; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_name | is_updatable | is_insertable_into ------------+--------------+-------------------- rw_view1 | NO | YES @@ -739,6 +775,7 @@ FROM information_schema.columns WHERE table_name LIKE 'rw_view%' ORDER BY table_name, ordinal_position; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_name | column_name | is_updatable ------------+-------------+-------------- rw_view1 | a | NO @@ -753,6 +790,7 @@ FROM information_schema.tables WHERE table_name LIKE 'rw_view%' ORDER BY table_name; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_name | is_insertable_into ------------+-------------------- rw_view1 | YES @@ -763,6 +801,7 @@ FROM information_schema.views WHERE table_name LIKE 'rw_view%' ORDER BY table_name; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_name | is_updatable | is_insertable_into ------------+--------------+-------------------- rw_view1 | NO | YES @@ -773,6 +812,7 @@ FROM information_schema.columns WHERE table_name LIKE 'rw_view%' ORDER BY table_name, ordinal_position; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_name | column_name | is_updatable ------------+-------------+-------------- rw_view1 | a | NO @@ -787,6 +827,7 @@ FROM information_schema.tables WHERE table_name LIKE 'rw_view%' ORDER BY table_name; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_name | is_insertable_into ------------+-------------------- rw_view1 | YES @@ -797,6 +838,7 @@ FROM information_schema.views WHERE table_name LIKE 'rw_view%' ORDER BY table_name; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_name | is_updatable | is_insertable_into ------------+--------------+-------------------- rw_view1 | YES | YES @@ -807,6 +849,7 @@ FROM information_schema.columns WHERE table_name LIKE 'rw_view%' ORDER BY table_name, ordinal_position; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_name | column_name | is_updatable ------------+-------------+-------------- rw_view1 | a | YES @@ -822,12 +865,14 @@ (1 row) UPDATE rw_view2 SET b='Row three' WHERE a=3 RETURNING *; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+----------- 3 | Row three (1 row) SELECT * FROM rw_view2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+----------- 1 | Row 1 @@ -836,12 +881,14 @@ (3 rows) DELETE FROM rw_view2 WHERE a=3 RETURNING *; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+----------- 3 | Row three (1 row) SELECT * FROM rw_view2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+------- 1 | Row 1 @@ -889,12 +936,14 @@ -- view on top of view with triggers CREATE TABLE base_tbl (a int PRIMARY KEY, b text DEFAULT 'Unspecified'); INSERT INTO base_tbl SELECT i, 'Row ' || i FROM generate_series(-2, 2) g(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE VIEW rw_view1 AS SELECT * FROM base_tbl WHERE a>0 OFFSET 0; -- not updatable without rules/triggers CREATE VIEW rw_view2 AS SELECT * FROM rw_view1 WHERE a<10; SELECT table_name, is_insertable_into FROM information_schema.tables WHERE table_name LIKE 'rw_view%' ORDER BY table_name; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_name | is_insertable_into ------------+-------------------- rw_view1 | NO @@ -907,6 +956,7 @@ FROM information_schema.views WHERE table_name LIKE 'rw_view%' ORDER BY table_name; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_name | is_updatable | is_insertable_into | is_trigger_updatable | is_trigger_deletable | is_trigger_insertable_into ------------+--------------+--------------------+----------------------+----------------------+---------------------------- rw_view1 | NO | NO | NO | NO | NO @@ -917,6 +967,7 @@ FROM information_schema.columns WHERE table_name LIKE 'rw_view%' ORDER BY table_name, ordinal_position; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_name | column_name | is_updatable ------------+-------------+-------------- rw_view1 | a | NO @@ -948,6 +999,7 @@ FROM information_schema.tables WHERE table_name LIKE 'rw_view%' ORDER BY table_name; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_name | is_insertable_into ------------+-------------------- rw_view1 | NO @@ -960,6 +1012,7 @@ FROM information_schema.views WHERE table_name LIKE 'rw_view%' ORDER BY table_name; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_name | is_updatable | is_insertable_into | is_trigger_updatable | is_trigger_deletable | is_trigger_insertable_into ------------+--------------+--------------------+----------------------+----------------------+---------------------------- rw_view1 | NO | NO | NO | NO | YES @@ -970,6 +1023,7 @@ FROM information_schema.columns WHERE table_name LIKE 'rw_view%' ORDER BY table_name, ordinal_position; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_name | column_name | is_updatable ------------+-------------+-------------- rw_view1 | a | NO @@ -984,6 +1038,7 @@ FROM information_schema.tables WHERE table_name LIKE 'rw_view%' ORDER BY table_name; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_name | is_insertable_into ------------+-------------------- rw_view1 | NO @@ -996,6 +1051,7 @@ FROM information_schema.views WHERE table_name LIKE 'rw_view%' ORDER BY table_name; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_name | is_updatable | is_insertable_into | is_trigger_updatable | is_trigger_deletable | is_trigger_insertable_into ------------+--------------+--------------------+----------------------+----------------------+---------------------------- rw_view1 | NO | NO | YES | NO | YES @@ -1006,6 +1062,7 @@ FROM information_schema.columns WHERE table_name LIKE 'rw_view%' ORDER BY table_name, ordinal_position; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_name | column_name | is_updatable ------------+-------------+-------------- rw_view1 | a | NO @@ -1020,6 +1077,7 @@ FROM information_schema.tables WHERE table_name LIKE 'rw_view%' ORDER BY table_name; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_name | is_insertable_into ------------+-------------------- rw_view1 | NO @@ -1032,6 +1090,7 @@ FROM information_schema.views WHERE table_name LIKE 'rw_view%' ORDER BY table_name; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_name | is_updatable | is_insertable_into | is_trigger_updatable | is_trigger_deletable | is_trigger_insertable_into ------------+--------------+--------------------+----------------------+----------------------+---------------------------- rw_view1 | NO | NO | YES | YES | YES @@ -1042,6 +1101,7 @@ FROM information_schema.columns WHERE table_name LIKE 'rw_view%' ORDER BY table_name, ordinal_position; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_name | column_name | is_updatable ------------+-------------+-------------- rw_view1 | a | NO @@ -1057,12 +1117,14 @@ (1 row) UPDATE rw_view2 SET b='Row three' WHERE a=3 RETURNING *; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+----------- 3 | Row three (1 row) SELECT * FROM rw_view2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+----------- 1 | Row 1 @@ -1071,12 +1133,14 @@ (3 rows) DELETE FROM rw_view2 WHERE a=3 RETURNING *; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+----------- 3 | Row three (1 row) SELECT * FROM rw_view2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+------- 1 | Row 1 @@ -1089,6 +1153,7 @@ WHEN MATCHED THEN UPDATE SET b = s.b WHEN NOT MATCHED AND s.a > 0 THEN INSERT VALUES (s.a, s.b) RETURNING merge_action(), s.*, t.*; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree merge_action | a | b | a | b --------------+---+----+---+------- DELETE | 1 | R1 | 1 | Row 1 @@ -1136,6 +1201,7 @@ WHEN MATCHED AND t.a <= 1 THEN DELETE WHEN MATCHED THEN UPDATE SET b = s.b WHEN NOT MATCHED AND s.a > 0 THEN INSERT VALUES (s.a, s.b); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------ Merge on rw_view1 rw_view1_1 @@ -1165,6 +1231,7 @@ USING (SELECT x, 'R'||x FROM generate_series(0,3) x) AS s(a,b) ON t.a = s.a WHEN MATCHED THEN UPDATE SET b = s.b WHEN NOT MATCHED AND s.a > 0 THEN INSERT VALUES (s.a, s.b); -- ok +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree DROP TRIGGER rw_view1_ins_trig ON rw_view1; MERGE INTO rw_view2 t USING (SELECT x, 'R'||x FROM generate_series(0,3) x) AS s(a,b) ON t.a = s.a @@ -1176,6 +1243,7 @@ MERGE INTO rw_view2 t USING (SELECT x, 'R'||x FROM generate_series(0,3) x) AS s(a,b) ON t.a = s.a WHEN MATCHED THEN UPDATE SET b = s.b; -- ok +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- MERGE with INSTEAD OF triggers on auto-updatable view CREATE TRIGGER rw_view2_upd_trig INSTEAD OF UPDATE ON rw_view2 FOR EACH ROW EXECUTE PROCEDURE rw_view1_trig_fn(); @@ -1189,6 +1257,7 @@ MERGE INTO rw_view2 t USING (SELECT x, 'R'||x FROM generate_series(0,3) x) AS s(a,b) ON t.a = s.a WHEN MATCHED THEN UPDATE SET b = s.b; -- ok +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM base_tbl ORDER BY a; a | b ----+-------- @@ -1208,6 +1277,7 @@ -- update using whole row from view CREATE TABLE base_tbl (a int PRIMARY KEY, b text DEFAULT 'Unspecified'); INSERT INTO base_tbl SELECT i, 'Row ' || i FROM generate_series(-2, 2) g(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE VIEW rw_view1 AS SELECT b AS bb, a AS aa FROM base_tbl; CREATE FUNCTION rw_view1_aa(x rw_view1) RETURNS int AS $$ SELECT x.aa $$ LANGUAGE sql; @@ -1266,6 +1336,7 @@ (2 rows) SELECT * FROM rw_view1; -- ok +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree bb | cc | aa -------+----+---- Row 1 | 1 | 1 @@ -1273,6 +1344,7 @@ (2 rows) SELECT * FROM rw_view2; -- ok +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree bb | cc | aa -------+----+---- Row 1 | 1 | 1 @@ -1288,10 +1360,12 @@ MERGE INTO rw_view1 t USING (VALUES ('Row 3', 3.0, 3)) AS v(b,c,a) ON t.aa = v.a WHEN NOT MATCHED THEN INSERT VALUES (v.b, v.c, v.a); -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for view rw_view1 MERGE INTO rw_view2 t USING (VALUES ('Row 3', 3.0, 3)) AS v(b,c,a) ON t.aa = v.a WHEN NOT MATCHED THEN INSERT VALUES (v.b, v.c, v.a); -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table base_tbl UPDATE base_tbl SET a=a, c=c; -- ok UPDATE base_tbl SET b=b; -- not allowed @@ -1304,13 +1378,17 @@ ERROR: permission denied for table base_tbl MERGE INTO rw_view1 t USING (VALUES (1)) AS v(a) ON t.aa = v.a WHEN MATCHED THEN UPDATE SET bb = bb, cc = cc; -- ok +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree MERGE INTO rw_view1 t USING (VALUES (1)) AS v(a) ON t.aa = v.a WHEN MATCHED THEN UPDATE SET aa = aa; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for view rw_view1 MERGE INTO rw_view2 t USING (VALUES (1)) AS v(a) ON t.aa = v.a WHEN MATCHED THEN UPDATE SET aa = aa, cc = cc; -- ok +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree MERGE INTO rw_view2 t USING (VALUES (1)) AS v(a) ON t.aa = v.a WHEN MATCHED THEN UPDATE SET bb = bb; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table base_tbl DELETE FROM base_tbl; -- not allowed ERROR: permission denied for table base_tbl @@ -1333,9 +1411,11 @@ DELETE FROM rw_view2 WHERE aa=2; -- ok MERGE INTO rw_view1 t USING (VALUES (1)) AS v(a) ON t.aa = v.a WHEN MATCHED AND bb = 'xxx' THEN DELETE; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for view rw_view1 MERGE INTO rw_view2 t USING (VALUES (1)) AS v(a) ON t.aa = v.a WHEN MATCHED AND bb = 'xxx' THEN DELETE; -- ok +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM base_tbl; a | b | c ---+-------+--- @@ -1361,8 +1441,10 @@ ERROR: permission denied for table base_tbl MERGE INTO rw_view1 t USING (VALUES (1)) AS v(a) ON t.aa = v.a WHEN MATCHED AND bb = 'xxx' THEN DELETE; -- ok +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree MERGE INTO rw_view2 t USING (VALUES (1)) AS v(a) ON t.aa = v.a WHEN MATCHED AND bb = 'xxx' THEN DELETE; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table base_tbl SELECT * FROM base_tbl; a | b | c @@ -1382,77 +1464,94 @@ SET SESSION AUTHORIZATION regress_view_user1; CREATE VIEW rw_view1 AS SELECT * FROM base_tbl; SELECT * FROM rw_view1; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table base_tbl SELECT * FROM rw_view1 FOR UPDATE; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table base_tbl UPDATE rw_view1 SET b = 'foo' WHERE a = 1; -- not allowed ERROR: permission denied for table base_tbl MERGE INTO rw_view1 t USING (VALUES (1)) AS v(a) ON t.a = v.a WHEN MATCHED THEN UPDATE SET b = 'foo'; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table base_tbl SET SESSION AUTHORIZATION regress_view_user2; CREATE VIEW rw_view2 AS SELECT * FROM rw_view1; SELECT * FROM rw_view2; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for view rw_view1 SELECT * FROM rw_view2 FOR UPDATE; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for view rw_view1 UPDATE rw_view2 SET b = 'bar' WHERE a = 1; -- not allowed ERROR: permission denied for view rw_view1 MERGE INTO rw_view2 t USING (VALUES (1)) AS v(a) ON t.a = v.a WHEN MATCHED THEN UPDATE SET b = 'foo'; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for view rw_view1 RESET SESSION AUTHORIZATION; GRANT SELECT ON base_tbl TO regress_view_user1; SET SESSION AUTHORIZATION regress_view_user1; SELECT * FROM rw_view1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c ---+-------+--- 1 | Row 1 | 1 (1 row) SELECT * FROM rw_view1 FOR UPDATE; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table base_tbl UPDATE rw_view1 SET b = 'foo' WHERE a = 1; -- not allowed ERROR: permission denied for table base_tbl MERGE INTO rw_view1 t USING (VALUES (1)) AS v(a) ON t.a = v.a WHEN MATCHED THEN UPDATE SET b = 'foo'; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table base_tbl SET SESSION AUTHORIZATION regress_view_user2; SELECT * FROM rw_view2; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for view rw_view1 SELECT * FROM rw_view2 FOR UPDATE; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for view rw_view1 UPDATE rw_view2 SET b = 'bar' WHERE a = 1; -- not allowed ERROR: permission denied for view rw_view1 MERGE INTO rw_view2 t USING (VALUES (1)) AS v(a) ON t.a = v.a WHEN MATCHED THEN UPDATE SET b = 'foo'; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for view rw_view1 SET SESSION AUTHORIZATION regress_view_user1; GRANT SELECT ON rw_view1 TO regress_view_user2; SET SESSION AUTHORIZATION regress_view_user2; SELECT * FROM rw_view2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c ---+-------+--- 1 | Row 1 | 1 (1 row) SELECT * FROM rw_view2 FOR UPDATE; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for view rw_view1 UPDATE rw_view2 SET b = 'bar' WHERE a = 1; -- not allowed ERROR: permission denied for view rw_view1 MERGE INTO rw_view2 t USING (VALUES (1)) AS v(a) ON t.a = v.a WHEN MATCHED THEN UPDATE SET b = 'foo'; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for view rw_view1 RESET SESSION AUTHORIZATION; GRANT UPDATE ON base_tbl TO regress_view_user1; SET SESSION AUTHORIZATION regress_view_user1; SELECT * FROM rw_view1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c ---+-------+--- 1 | Row 1 | 1 (1 row) SELECT * FROM rw_view1 FOR UPDATE; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c ---+-------+--- 1 | Row 1 | 1 @@ -1461,30 +1560,36 @@ UPDATE rw_view1 SET b = 'foo' WHERE a = 1; MERGE INTO rw_view1 t USING (VALUES (1)) AS v(a) ON t.a = v.a WHEN MATCHED THEN UPDATE SET b = 'foo'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SET SESSION AUTHORIZATION regress_view_user2; SELECT * FROM rw_view2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c ---+-----+--- 1 | foo | 1 (1 row) SELECT * FROM rw_view2 FOR UPDATE; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for view rw_view1 UPDATE rw_view2 SET b = 'bar' WHERE a = 1; -- not allowed ERROR: permission denied for view rw_view1 MERGE INTO rw_view2 t USING (VALUES (1)) AS v(a) ON t.a = v.a WHEN MATCHED THEN UPDATE SET b = 'bar'; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for view rw_view1 SET SESSION AUTHORIZATION regress_view_user1; GRANT UPDATE ON rw_view1 TO regress_view_user2; SET SESSION AUTHORIZATION regress_view_user2; SELECT * FROM rw_view2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c ---+-----+--- 1 | foo | 1 (1 row) SELECT * FROM rw_view2 FOR UPDATE; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c ---+-----+--- 1 | foo | 1 @@ -1493,35 +1598,42 @@ UPDATE rw_view2 SET b = 'bar' WHERE a = 1; MERGE INTO rw_view2 t USING (VALUES (1)) AS v(a) ON t.a = v.a WHEN MATCHED THEN UPDATE SET b = 'fud'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree RESET SESSION AUTHORIZATION; REVOKE UPDATE ON base_tbl FROM regress_view_user1; SET SESSION AUTHORIZATION regress_view_user1; SELECT * FROM rw_view1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c ---+-----+--- 1 | fud | 1 (1 row) SELECT * FROM rw_view1 FOR UPDATE; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table base_tbl UPDATE rw_view1 SET b = 'foo' WHERE a = 1; -- not allowed ERROR: permission denied for table base_tbl MERGE INTO rw_view1 t USING (VALUES (1)) AS v(a) ON t.a = v.a WHEN MATCHED THEN UPDATE SET b = 'foo'; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table base_tbl SET SESSION AUTHORIZATION regress_view_user2; SELECT * FROM rw_view2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c ---+-----+--- 1 | fud | 1 (1 row) SELECT * FROM rw_view2 FOR UPDATE; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table base_tbl UPDATE rw_view2 SET b = 'bar' WHERE a = 1; -- not allowed ERROR: permission denied for table base_tbl MERGE INTO rw_view2 t USING (VALUES (1)) AS v(a) ON t.a = v.a WHEN MATCHED THEN UPDATE SET b = 'foo'; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table base_tbl RESET SESSION AUTHORIZATION; DROP TABLE base_tbl CASCADE; @@ -1541,6 +1653,7 @@ SELECT * FROM base_tbl; -- not allowed ERROR: permission denied for table base_tbl SELECT * FROM rw_view1; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table base_tbl INSERT INTO base_tbl VALUES (3, 'Row 3', 3.0); -- not allowed ERROR: permission denied for table base_tbl @@ -1552,6 +1665,7 @@ ERROR: permission denied for table base_tbl MERGE INTO rw_view1 t USING (VALUES (1)) AS v(a) ON t.aa = v.a WHEN MATCHED THEN UPDATE SET bb = bb; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table base_tbl DELETE FROM base_tbl; -- not allowed ERROR: permission denied for table base_tbl @@ -1559,6 +1673,7 @@ ERROR: permission denied for view rw_view1 MERGE INTO rw_view1 t USING (VALUES (1)) AS v(a) ON t.aa = v.a WHEN MATCHED THEN DELETE; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for view rw_view1 SET SESSION AUTHORIZATION regress_view_user1; GRANT SELECT ON base_tbl TO regress_view_user2; @@ -1572,6 +1687,7 @@ (2 rows) SELECT * FROM rw_view1; -- ok +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree bb | cc | aa -------+----+---- Row 1 | 1 | 1 @@ -1584,15 +1700,18 @@ UPDATE rw_view1 SET cc=cc; -- ok MERGE INTO rw_view1 t USING (VALUES (1)) AS v(a) ON t.aa = v.a WHEN MATCHED THEN UPDATE SET cc = cc; -- ok +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree UPDATE rw_view1 SET aa=aa; -- not allowed ERROR: permission denied for view rw_view1 UPDATE rw_view1 SET bb=bb; -- not allowed ERROR: permission denied for table base_tbl MERGE INTO rw_view1 t USING (VALUES (1)) AS v(a) ON t.aa = v.a WHEN MATCHED THEN UPDATE SET aa = aa; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for view rw_view1 MERGE INTO rw_view1 t USING (VALUES (1)) AS v(a) ON t.aa = v.a WHEN MATCHED THEN UPDATE SET bb = bb; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table base_tbl SET SESSION AUTHORIZATION regress_view_user1; GRANT INSERT, DELETE ON base_tbl TO regress_view_user2; @@ -1605,6 +1724,7 @@ ERROR: permission denied for view rw_view1 MERGE INTO rw_view1 t USING (VALUES (1)) AS v(a) ON t.aa = v.a WHEN MATCHED THEN DELETE; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for view rw_view1 SET SESSION AUTHORIZATION regress_view_user1; REVOKE INSERT, DELETE ON base_tbl FROM regress_view_user2; @@ -1616,6 +1736,7 @@ ERROR: permission denied for table base_tbl MERGE INTO rw_view1 t USING (VALUES (1)) AS v(a) ON t.aa = v.a WHEN MATCHED THEN DELETE; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table base_tbl SET SESSION AUTHORIZATION regress_view_user1; GRANT INSERT, DELETE ON base_tbl TO regress_view_user2; @@ -1624,6 +1745,7 @@ DELETE FROM rw_view1 WHERE aa=2; -- ok MERGE INTO rw_view1 t USING (VALUES (3)) AS v(a) ON t.aa = v.a WHEN MATCHED THEN DELETE; -- ok +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM base_tbl; -- ok a | b | c ---+-------+--- @@ -1640,27 +1762,32 @@ CREATE VIEW rw_view1 AS SELECT b AS bb, c AS cc, a AS aa FROM base_tbl; ALTER VIEW rw_view1 SET (security_invoker = true); SELECT * FROM rw_view1; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table base_tbl UPDATE rw_view1 SET aa=aa; -- not allowed ERROR: permission denied for table base_tbl MERGE INTO rw_view1 t USING (VALUES (2, 'Row 2', 2.0)) AS v(a,b,c) ON t.aa = v.a WHEN NOT MATCHED THEN INSERT VALUES (v.b, v.c, v.a); -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table base_tbl SET SESSION AUTHORIZATION regress_view_user2; CREATE VIEW rw_view2 AS SELECT cc AS ccc, aa AS aaa, bb AS bbb FROM rw_view1; GRANT SELECT, UPDATE ON rw_view2 TO regress_view_user3; SELECT * FROM rw_view2; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for view rw_view1 UPDATE rw_view2 SET aaa=aaa; -- not allowed ERROR: permission denied for view rw_view1 MERGE INTO rw_view2 t USING (VALUES (2, 'Row 2', 2.0)) AS v(a,b,c) ON t.aaa = v.a WHEN NOT MATCHED THEN INSERT VALUES (v.c, v.a, v.b); -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for view rw_view1 RESET SESSION AUTHORIZATION; GRANT SELECT ON base_tbl TO regress_view_user1; GRANT UPDATE (a, b) ON base_tbl TO regress_view_user1; SET SESSION AUTHORIZATION regress_view_user1; SELECT * FROM rw_view1; -- ok +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree bb | cc | aa -------+----+---- Row 1 | 1 | 1 @@ -1671,49 +1798,60 @@ ERROR: permission denied for table base_tbl MERGE INTO rw_view1 t USING (VALUES (1)) AS v(a) ON t.aa = v.a WHEN MATCHED THEN UPDATE SET aa = aa, bb = bb; -- ok +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree MERGE INTO rw_view1 t USING (VALUES (1)) AS v(a) ON t.aa = v.a WHEN MATCHED THEN UPDATE SET cc = cc; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table base_tbl SET SESSION AUTHORIZATION regress_view_user2; SELECT * FROM rw_view2; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for view rw_view1 UPDATE rw_view2 SET aaa=aaa; -- not allowed ERROR: permission denied for view rw_view1 MERGE INTO rw_view2 t USING (VALUES (1)) AS v(a) ON t.aaa = v.a WHEN MATCHED THEN UPDATE SET aaa = aaa; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for view rw_view1 SET SESSION AUTHORIZATION regress_view_user3; SELECT * FROM rw_view2; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for view rw_view1 UPDATE rw_view2 SET aaa=aaa; -- not allowed ERROR: permission denied for view rw_view1 MERGE INTO rw_view2 t USING (VALUES (1)) AS v(a) ON t.aaa = v.a WHEN MATCHED THEN UPDATE SET aaa = aaa; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for view rw_view1 SET SESSION AUTHORIZATION regress_view_user1; GRANT SELECT ON rw_view1 TO regress_view_user2; GRANT UPDATE (bb, cc) ON rw_view1 TO regress_view_user2; SET SESSION AUTHORIZATION regress_view_user2; SELECT * FROM rw_view2; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table base_tbl UPDATE rw_view2 SET bbb=bbb; -- not allowed ERROR: permission denied for table base_tbl MERGE INTO rw_view2 t USING (VALUES (1)) AS v(a) ON t.aaa = v.a WHEN MATCHED THEN UPDATE SET bbb = bbb; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table base_tbl SET SESSION AUTHORIZATION regress_view_user3; SELECT * FROM rw_view2; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table base_tbl UPDATE rw_view2 SET bbb=bbb; -- not allowed ERROR: permission denied for table base_tbl MERGE INTO rw_view2 t USING (VALUES (1)) AS v(a) ON t.aaa = v.a WHEN MATCHED THEN UPDATE SET bbb = bbb; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table base_tbl RESET SESSION AUTHORIZATION; GRANT SELECT ON base_tbl TO regress_view_user2; GRANT UPDATE (a, c) ON base_tbl TO regress_view_user2; SET SESSION AUTHORIZATION regress_view_user2; SELECT * FROM rw_view2; -- ok +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ccc | aaa | bbb -----+-----+------- 1 | 1 | Row 1 @@ -1726,14 +1864,18 @@ UPDATE rw_view2 SET ccc=ccc; -- ok MERGE INTO rw_view2 t USING (VALUES (1)) AS v(a) ON t.aaa = v.a WHEN MATCHED THEN UPDATE SET aaa = aaa; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for view rw_view1 MERGE INTO rw_view2 t USING (VALUES (1)) AS v(a) ON t.aaa = v.a WHEN MATCHED THEN UPDATE SET bbb = bbb; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table base_tbl MERGE INTO rw_view2 t USING (VALUES (1)) AS v(a) ON t.aaa = v.a WHEN MATCHED THEN UPDATE SET ccc = ccc; -- ok +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SET SESSION AUTHORIZATION regress_view_user3; SELECT * FROM rw_view2; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table base_tbl UPDATE rw_view2 SET aaa=aaa; -- not allowed ERROR: permission denied for view rw_view1 @@ -1743,18 +1885,22 @@ ERROR: permission denied for table base_tbl MERGE INTO rw_view2 t USING (VALUES (1)) AS v(a) ON t.aaa = v.a WHEN MATCHED THEN UPDATE SET aaa = aaa; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for view rw_view1 MERGE INTO rw_view2 t USING (VALUES (1)) AS v(a) ON t.aaa = v.a WHEN MATCHED THEN UPDATE SET bbb = bbb; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table base_tbl MERGE INTO rw_view2 t USING (VALUES (1)) AS v(a) ON t.aaa = v.a WHEN MATCHED THEN UPDATE SET ccc = ccc; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table base_tbl RESET SESSION AUTHORIZATION; GRANT SELECT ON base_tbl TO regress_view_user3; GRANT UPDATE (a, c) ON base_tbl TO regress_view_user3; SET SESSION AUTHORIZATION regress_view_user3; SELECT * FROM rw_view2; -- ok +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ccc | aaa | bbb -----+-----+------- 1 | 1 | Row 1 @@ -1767,24 +1913,30 @@ UPDATE rw_view2 SET ccc=ccc; -- ok MERGE INTO rw_view2 t USING (VALUES (1)) AS v(a) ON t.aaa = v.a WHEN MATCHED THEN UPDATE SET aaa = aaa; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for view rw_view1 MERGE INTO rw_view2 t USING (VALUES (1)) AS v(a) ON t.aaa = v.a WHEN MATCHED THEN UPDATE SET bbb = bbb; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table base_tbl MERGE INTO rw_view2 t USING (VALUES (1)) AS v(a) ON t.aaa = v.a WHEN MATCHED THEN UPDATE SET ccc = ccc; -- ok +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree RESET SESSION AUTHORIZATION; REVOKE SELECT, UPDATE ON base_tbl FROM regress_view_user1; SET SESSION AUTHORIZATION regress_view_user1; SELECT * FROM rw_view1; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table base_tbl UPDATE rw_view1 SET aa=aa; -- not allowed ERROR: permission denied for table base_tbl MERGE INTO rw_view1 t USING (VALUES (1)) AS v(a) ON t.aa = v.a WHEN MATCHED THEN UPDATE SET aa = aa; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table base_tbl SET SESSION AUTHORIZATION regress_view_user2; SELECT * FROM rw_view2; -- ok +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ccc | aaa | bbb -----+-----+------- 1 | 1 | Row 1 @@ -1797,14 +1949,18 @@ UPDATE rw_view2 SET ccc=ccc; -- ok MERGE INTO rw_view2 t USING (VALUES (1)) AS v(a) ON t.aaa = v.a WHEN MATCHED THEN UPDATE SET aaa = aaa; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for view rw_view1 MERGE INTO rw_view2 t USING (VALUES (1)) AS v(a) ON t.aaa = v.a WHEN MATCHED THEN UPDATE SET bbb = bbb; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table base_tbl MERGE INTO rw_view2 t USING (VALUES (1)) AS v(a) ON t.aaa = v.a WHEN MATCHED THEN UPDATE SET ccc = ccc; -- ok +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SET SESSION AUTHORIZATION regress_view_user3; SELECT * FROM rw_view2; -- ok +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ccc | aaa | bbb -----+-----+------- 1 | 1 | Row 1 @@ -1817,16 +1973,20 @@ UPDATE rw_view2 SET ccc=ccc; -- ok MERGE INTO rw_view2 t USING (VALUES (1)) AS v(a) ON t.aaa = v.a WHEN MATCHED THEN UPDATE SET aaa = aaa; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for view rw_view1 MERGE INTO rw_view2 t USING (VALUES (1)) AS v(a) ON t.aaa = v.a WHEN MATCHED THEN UPDATE SET bbb = bbb; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table base_tbl MERGE INTO rw_view2 t USING (VALUES (1)) AS v(a) ON t.aaa = v.a WHEN MATCHED THEN UPDATE SET ccc = ccc; -- ok +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree RESET SESSION AUTHORIZATION; REVOKE SELECT, UPDATE ON base_tbl FROM regress_view_user2; SET SESSION AUTHORIZATION regress_view_user2; SELECT * FROM rw_view2; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table base_tbl UPDATE rw_view2 SET aaa=aaa; -- not allowed ERROR: permission denied for view rw_view1 @@ -1836,15 +1996,19 @@ ERROR: permission denied for table base_tbl MERGE INTO rw_view2 t USING (VALUES (1)) AS v(a) ON t.aaa = v.a WHEN MATCHED THEN UPDATE SET aaa = aaa; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for view rw_view1 MERGE INTO rw_view2 t USING (VALUES (1)) AS v(a) ON t.aaa = v.a WHEN MATCHED THEN UPDATE SET bbb = bbb; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table base_tbl MERGE INTO rw_view2 t USING (VALUES (1)) AS v(a) ON t.aaa = v.a WHEN MATCHED THEN UPDATE SET ccc = ccc; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table base_tbl SET SESSION AUTHORIZATION regress_view_user3; SELECT * FROM rw_view2; -- ok +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ccc | aaa | bbb -----+-----+------- 1 | 1 | Row 1 @@ -1857,12 +2021,15 @@ UPDATE rw_view2 SET ccc=ccc; -- ok MERGE INTO rw_view2 t USING (VALUES (1)) AS v(a) ON t.aaa = v.a WHEN MATCHED THEN UPDATE SET aaa = aaa; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for view rw_view1 MERGE INTO rw_view2 t USING (VALUES (1)) AS v(a) ON t.aaa = v.a WHEN MATCHED THEN UPDATE SET bbb = bbb; -- not allowed +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table base_tbl MERGE INTO rw_view2 t USING (VALUES (1)) AS v(a) ON t.aaa = v.a WHEN MATCHED THEN UPDATE SET ccc = ccc; -- ok +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree RESET SESSION AUTHORIZATION; DROP TABLE base_tbl CASCADE; NOTICE: drop cascades to 2 other objects @@ -1882,6 +2049,7 @@ INSERT INTO rw_view1 (aa) VALUES (5); MERGE INTO rw_view1 t USING (VALUES (6)) AS v(a) ON t.aa = v.a WHEN NOT MATCHED THEN INSERT (aa) VALUES (v.a); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM base_tbl; a | b | c ---+--------------+--- @@ -1930,8 +2098,10 @@ -- view with ORDER BY CREATE TABLE base_tbl (a int, b int); INSERT INTO base_tbl VALUES (1,2), (4,5), (3,-3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE VIEW rw_view1 AS SELECT * FROM base_tbl ORDER BY a+b; SELECT * FROM rw_view1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+---- 3 | -3 @@ -1941,6 +2111,7 @@ INSERT INTO rw_view1 VALUES (7,-8); SELECT * FROM rw_view1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+---- 7 | -8 @@ -1968,6 +2139,7 @@ (4 rows) SELECT * FROM rw_view1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+---- 7 | -7 @@ -1981,9 +2153,11 @@ -- multiple array-column updates CREATE TABLE base_tbl (a int, arr int[]); INSERT INTO base_tbl VALUES (1,ARRAY[2]), (3,ARRAY[4]); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE VIEW rw_view1 AS SELECT * FROM base_tbl; UPDATE rw_view1 SET arr[1] = 42, arr[2] = 77 WHERE a = 3; SELECT * FROM rw_view1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | arr ---+--------- 1 | {2} @@ -1995,6 +2169,7 @@ -- views with updatable and non-updatable columns CREATE TABLE base_tbl(a float); INSERT INTO base_tbl SELECT i/10.0 FROM generate_series(1,10) g(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE VIEW rw_view1 AS SELECT ctid, sin(a) s, a, cos(a) c FROM base_tbl @@ -2081,6 +2256,7 @@ FROM information_schema.tables WHERE table_name LIKE E'r_\\_view%' ORDER BY table_name; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_name | is_insertable_into ------------+-------------------- rw_view1 | YES @@ -2092,6 +2268,7 @@ FROM information_schema.views WHERE table_name LIKE E'r_\\_view%' ORDER BY table_name; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_name | is_updatable | is_insertable_into ------------+--------------+-------------------- rw_view1 | YES | YES @@ -2103,6 +2280,7 @@ FROM information_schema.columns WHERE table_name LIKE E'r_\\_view%' ORDER BY table_name, ordinal_position; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_name | column_name | is_updatable ------------+-------------+-------------- rw_view1 | ctid | NO @@ -2124,6 +2302,7 @@ events & 8 != 0 AS ins, events & 16 != 0 AS del FROM pg_catalog.pg_relation_is_updatable('rw_view3'::regclass, false) t(events); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree upd | ins | del -----+-----+----- f | f | t @@ -2173,10 +2352,13 @@ CREATE TABLE base_tbl_parent (a int); CREATE TABLE base_tbl_child (CHECK (a > 0)) INHERITS (base_tbl_parent); INSERT INTO base_tbl_parent SELECT * FROM generate_series(-8, -1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO base_tbl_child SELECT * FROM generate_series(1, 8); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE VIEW rw_view1 AS SELECT * FROM base_tbl_parent; CREATE VIEW rw_view2 AS SELECT * FROM ONLY base_tbl_parent; SELECT * FROM rw_view1 ORDER BY a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a ---- -8 @@ -2198,6 +2380,7 @@ (16 rows) SELECT * FROM ONLY rw_view1 ORDER BY a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a ---- -8 @@ -2219,6 +2402,7 @@ (16 rows) SELECT * FROM rw_view2 ORDER BY a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a ---- -8 @@ -2232,7 +2416,9 @@ (8 rows) INSERT INTO rw_view1 VALUES (-100), (100); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO rw_view2 VALUES (-200), (200); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree UPDATE rw_view1 SET a = a*10 WHERE a IN (-1, 1); -- Should produce -10 and 10 UPDATE ONLY rw_view1 SET a = a*10 WHERE a IN (-2, 2); -- Should produce -20 and 20 UPDATE rw_view2 SET a = a*10 WHERE a IN (-3, 3); -- Should produce -30 only @@ -2267,12 +2453,16 @@ MERGE INTO rw_view1 t USING (VALUES (-200), (10)) AS v(a) ON t.a = v.a WHEN MATCHED THEN UPDATE SET a = t.a+1; -- Should produce -199 and 11 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree MERGE INTO ONLY rw_view1 t USING (VALUES (-100), (20)) AS v(a) ON t.a = v.a WHEN MATCHED THEN UPDATE SET a = t.a+1; -- Should produce -99 and 21 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree MERGE INTO rw_view2 t USING (VALUES (-40), (3)) AS v(a) ON t.a = v.a WHEN MATCHED THEN UPDATE SET a = t.a+1; -- Should produce -39 only +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree MERGE INTO ONLY rw_view2 t USING (VALUES (-30), (4)) AS v(a) ON t.a = v.a WHEN MATCHED THEN UPDATE SET a = t.a+1; -- Should produce -29 only +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM ONLY base_tbl_parent ORDER BY a; a ------ @@ -2300,7 +2490,9 @@ CREATE TABLE other_tbl_parent (id int); CREATE TABLE other_tbl_child () INHERITS (other_tbl_parent); INSERT INTO other_tbl_parent VALUES (7),(200); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO other_tbl_child VALUES (8),(100); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree EXPLAIN (costs off) UPDATE rw_view1 SET a = a + 1000 FROM other_tbl_parent WHERE a = id; QUERY PLAN @@ -2356,9 +2548,12 @@ -- simple WITH CHECK OPTION CREATE TABLE base_tbl (a int, b int DEFAULT 10); INSERT INTO base_tbl VALUES (1,2), (2,3), (1,-1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE VIEW rw_view1 AS SELECT * FROM base_tbl WHERE a < b WITH LOCAL CHECK OPTION; \d+ rw_view1 +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_view1" Column | Type | Collation | Nullable | Default | Storage | Description --------+---------+-----------+----------+---------+---------+------------- @@ -2372,6 +2567,7 @@ Options: check_option=local SELECT * FROM information_schema.views WHERE table_name = 'rw_view1'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_catalog | table_schema | table_name | view_definition | check_option | is_updatable | is_insertable_into | is_trigger_updatable | is_trigger_deletable | is_trigger_insertable_into ---------------+--------------+------------+------------------+--------------+--------------+--------------------+----------------------+----------------------+---------------------------- regression | public | rw_view1 | SELECT a, +| LOCAL | YES | YES | NO | NO | NO @@ -2407,14 +2603,18 @@ MERGE INTO rw_view1 t USING (VALUES (10)) AS v(a) ON t.a = v.a WHEN NOT MATCHED THEN INSERT VALUES (v.a, v.a + 1); -- ok +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree MERGE INTO rw_view1 t USING (VALUES (11)) AS v(a) ON t.a = v.a WHEN NOT MATCHED THEN INSERT VALUES (v.a, v.a - 1); -- should fail +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: new row violates check option for view "rw_view1" DETAIL: Failing row contains (11, 10). MERGE INTO rw_view1 t USING (VALUES (1)) AS v(a) ON t.a = v.a WHEN MATCHED THEN UPDATE SET a = t.a - 1; -- ok +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree MERGE INTO rw_view1 t USING (VALUES (2)) AS v(a) ON t.a = v.a WHEN MATCHED THEN UPDATE SET a = t.a + 1; -- should fail +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: new row violates check option for view "rw_view1" DETAIL: Failing row contains (3, 3). SELECT * FROM base_tbl ORDER BY a, b; @@ -2436,6 +2636,8 @@ CREATE VIEW rw_view2 AS SELECT * FROM rw_view1 WHERE a < 10 WITH CHECK OPTION; -- implicitly cascaded \d+ rw_view2 +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_view2" Column | Type | Collation | Nullable | Default | Storage | Description --------+---------+-----------+----------+---------+---------+------------- @@ -2447,6 +2649,7 @@ Options: check_option=cascaded SELECT * FROM information_schema.views WHERE table_name = 'rw_view2'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_catalog | table_schema | table_name | view_definition | check_option | is_updatable | is_insertable_into | is_trigger_updatable | is_trigger_deletable | is_trigger_insertable_into ---------------+--------------+------------+-------------------+--------------+--------------+--------------------+----------------------+----------------------+---------------------------- regression | public | rw_view2 | SELECT a +| CASCADED | YES | YES | NO | NO | NO @@ -2476,6 +2679,8 @@ CREATE OR REPLACE VIEW rw_view2 AS SELECT * FROM rw_view1 WHERE a < 10 WITH LOCAL CHECK OPTION; \d+ rw_view2 +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_view2" Column | Type | Collation | Nullable | Default | Storage | Description --------+---------+-----------+----------+---------+---------+------------- @@ -2487,6 +2692,7 @@ Options: check_option=local SELECT * FROM information_schema.views WHERE table_name = 'rw_view2'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_catalog | table_schema | table_name | view_definition | check_option | is_updatable | is_insertable_into | is_trigger_updatable | is_trigger_deletable | is_trigger_insertable_into ---------------+--------------+------------+-------------------+--------------+--------------+--------------------+----------------------+----------------------+---------------------------- regression | public | rw_view2 | SELECT a +| LOCAL | YES | YES | NO | NO | NO @@ -2517,6 +2723,8 @@ DETAIL: Failing row contains (30). ALTER VIEW rw_view2 RESET (check_option); \d+ rw_view2 +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_view2" Column | Type | Collation | Nullable | Default | Storage | Description --------+---------+-----------+----------+---------+---------+------------- @@ -2527,6 +2735,7 @@ WHERE a < 10; SELECT * FROM information_schema.views WHERE table_name = 'rw_view2'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_catalog | table_schema | table_name | view_definition | check_option | is_updatable | is_insertable_into | is_trigger_updatable | is_trigger_deletable | is_trigger_insertable_into ---------------+--------------+------------+-------------------+--------------+--------------+--------------------+----------------------+----------------------+---------------------------- regression | public | rw_view2 | SELECT a +| NONE | YES | YES | NO | NO | NO @@ -2553,6 +2762,7 @@ CREATE VIEW rw_view2 AS SELECT * FROM rw_view1 WHERE a > 0; CREATE VIEW rw_view3 AS SELECT * FROM rw_view2 WITH CHECK OPTION; SELECT * FROM information_schema.views WHERE table_name LIKE E'rw\\_view_' ORDER BY table_name; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_catalog | table_schema | table_name | view_definition | check_option | is_updatable | is_insertable_into | is_trigger_updatable | is_trigger_deletable | is_trigger_insertable_into ---------------+--------------+------------+-------------------+--------------+--------------+--------------------+----------------------+----------------------+---------------------------- regression | public | rw_view1 | SELECT a +| CASCADED | YES | YES | NO | NO | NO @@ -2601,6 +2811,7 @@ CREATE TABLE base_tbl (a int); CREATE TABLE ref_tbl (a int PRIMARY KEY); INSERT INTO ref_tbl SELECT * FROM generate_series(1,10); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE VIEW rw_view1 AS SELECT * FROM base_tbl b WHERE EXISTS(SELECT 1 FROM ref_tbl r WHERE r.a = b.a) @@ -2693,19 +2904,24 @@ DETAIL: Failing row contains (-5). MERGE INTO rw_view2 t USING (VALUES (-5)) AS v(a) ON t.a = v.a WHEN NOT MATCHED THEN INSERT VALUES (v.a); -- should fail +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: new row violates check option for view "rw_view2" DETAIL: Failing row contains (-5). INSERT INTO rw_view2 VALUES (5); -- ok MERGE INTO rw_view2 t USING (VALUES (6)) AS v(a) ON t.a = v.a WHEN NOT MATCHED THEN INSERT VALUES (v.a); -- ok +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO rw_view2 VALUES (50); -- ok, but not in view MERGE INTO rw_view2 t USING (VALUES (60)) AS v(a) ON t.a = v.a WHEN NOT MATCHED THEN INSERT VALUES (v.a); -- ok, but not in view +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree UPDATE rw_view2 SET a = a - 10; -- should fail +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: new row violates check option for view "rw_view2" DETAIL: Failing row contains (-5). MERGE INTO rw_view2 t USING (VALUES (6)) AS v(a) ON t.a = v.a WHEN MATCHED THEN UPDATE SET a = t.a - 10; -- should fail +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: new row violates check option for view "rw_view2" DETAIL: Failing row contains (-4). SELECT * FROM base_tbl; @@ -2721,6 +2937,7 @@ ALTER VIEW rw_view2 SET (check_option=cascaded); INSERT INTO rw_view2 VALUES (100); -- ok, but not in view (doesn't fail rw_view1's check) UPDATE rw_view2 SET a = 200 WHERE a = 5; -- ok, but not in view (doesn't fail rw_view1's check) +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM base_tbl; a | b -----+---- @@ -2741,8 +2958,10 @@ INSERT INTO rw_view2 VALUES (5); -- ok INSERT INTO rw_view2 VALUES (20); -- ok, but not in view (doesn't fail rw_view1's check) UPDATE rw_view2 SET a = 30 WHERE a = 5; -- ok, but not in view (doesn't fail rw_view1's check) +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO rw_view2 VALUES (5); -- ok UPDATE rw_view2 SET a = -5 WHERE a = 5; -- ok, but not in view (doesn't fail rw_view2's check) +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM base_tbl; a | b -----+---- @@ -2778,6 +2997,7 @@ INSERT INTO base_tbl VALUES ('Tom', 'public'), ('Dick', 'private'), ('Harry', 'public'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE VIEW rw_view1 AS SELECT person FROM base_tbl WHERE visibility = 'public'; CREATE FUNCTION snoop(anyelement) @@ -2798,6 +3018,7 @@ $$ LANGUAGE plpgsql STRICT IMMUTABLE LEAKPROOF; SELECT * FROM rw_view1 WHERE snoop(person); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: snooped value: Tom NOTICE: snooped value: Dick NOTICE: snooped value: Harry @@ -2819,6 +3040,7 @@ SELECT table_name, is_insertable_into FROM information_schema.tables WHERE table_name = 'rw_view1'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_name | is_insertable_into ------------+-------------------- rw_view1 | YES @@ -2827,6 +3049,7 @@ SELECT table_name, is_updatable, is_insertable_into FROM information_schema.views WHERE table_name = 'rw_view1'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_name | is_updatable | is_insertable_into ------------+--------------+-------------------- rw_view1 | YES | YES @@ -2836,12 +3059,14 @@ FROM information_schema.columns WHERE table_name = 'rw_view1' ORDER BY ordinal_position; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_name | column_name | is_updatable ------------+-------------+-------------- rw_view1 | person | YES (1 row) SELECT * FROM rw_view1 WHERE snoop(person); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: snooped value: Tom NOTICE: snooped value: Harry person @@ -2859,6 +3084,7 @@ MERGE INTO rw_view1 t USING (VALUES ('Tom'), ('Dick'), ('Harry')) AS v(person) ON t.person = v.person WHEN MATCHED AND snoop(t.person) THEN UPDATE SET person = v.person; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: snooped value: Tom NOTICE: snooped value: Harry EXPLAIN (costs off) SELECT * FROM rw_view1 WHERE snoop(person); @@ -2890,6 +3116,7 @@ MERGE INTO rw_view1 t USING (VALUES ('Tom'), ('Dick'), ('Harry')) AS v(person) ON t.person = v.person WHEN MATCHED AND snoop(t.person) THEN UPDATE SET person = v.person; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------- Merge on base_tbl @@ -2907,6 +3134,7 @@ SELECT table_name, is_insertable_into FROM information_schema.tables WHERE table_name = 'rw_view2'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_name | is_insertable_into ------------+-------------------- rw_view2 | YES @@ -2915,6 +3143,7 @@ SELECT table_name, is_updatable, is_insertable_into FROM information_schema.views WHERE table_name = 'rw_view2'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_name | is_updatable | is_insertable_into ------------+--------------+-------------------- rw_view2 | YES | YES @@ -2924,12 +3153,14 @@ FROM information_schema.columns WHERE table_name = 'rw_view2' ORDER BY ordinal_position; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_name | column_name | is_updatable ------------+-------------+-------------- rw_view2 | person | YES (1 row) SELECT * FROM rw_view2 WHERE snoop(person); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: snooped value: Tom NOTICE: snooped value: Tom NOTICE: snooped value: Harry @@ -2953,6 +3184,7 @@ MERGE INTO rw_view2 t USING (VALUES ('Tom'), ('Dick'), ('Harry')) AS v(person) ON t.person = v.person WHEN MATCHED AND snoop(t.person) THEN UPDATE SET person = v.person; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: snooped value: Tom NOTICE: snooped value: Tom NOTICE: snooped value: Harry @@ -2988,6 +3220,7 @@ MERGE INTO rw_view2 t USING (VALUES ('Tom'), ('Dick'), ('Harry')) AS v(person) ON t.person = v.person WHEN MATCHED AND snoop(t.person) THEN UPDATE SET person = v.person; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------- Merge on base_tbl @@ -3005,6 +3238,7 @@ -- security barrier view on top of table with rules CREATE TABLE base_tbl(id int PRIMARY KEY, data text, deleted boolean); INSERT INTO base_tbl VALUES (1, 'Row 1', false), (2, 'Row 2', true); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE RULE base_tbl_ins_rule AS ON INSERT TO base_tbl WHERE EXISTS (SELECT 1 FROM base_tbl t WHERE t.id = new.id) DO INSTEAD @@ -3015,6 +3249,7 @@ CREATE VIEW rw_view1 WITH (security_barrier=true) AS SELECT id, data FROM base_tbl WHERE NOT deleted; SELECT * FROM rw_view1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id | data ----+------- 1 | Row 1 @@ -3069,16 +3304,19 @@ CREATE INDEX t1_a_idx ON t1(a); INSERT INTO t1 SELECT i,i,'t1' FROM generate_series(1,10) g(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE t1; CREATE TABLE t11 (d text) INHERITS (t1); CREATE INDEX t11_a_idx ON t11(a); INSERT INTO t11 SELECT i,i,'t11','t11d' FROM generate_series(1,10) g(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE t11; CREATE TABLE t12 (e int[]) INHERITS (t1); CREATE INDEX t12_a_idx ON t12(a); INSERT INTO t12 SELECT i,i,'t12','{1,2}'::int[] FROM generate_series(1,10) g(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE t12; CREATE TABLE t111 () INHERITS (t11, t12); NOTICE: merging multiple inherited definitions of column "a" @@ -3087,17 +3325,20 @@ CREATE INDEX t111_a_idx ON t111(a); INSERT INTO t111 SELECT i,i,'t111','t111d','{1,1,1}'::int[] FROM generate_series(1,10) g(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE t111; CREATE VIEW v1 WITH (security_barrier=true) AS SELECT *, (SELECT d FROM t11 WHERE t11.a = t1.a LIMIT 1) AS d FROM t1 WHERE a > 5 AND EXISTS(SELECT 1 FROM t12 WHERE t12.a = t1.a); SELECT * FROM v1 WHERE a=3; -- should not see anything +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c | d ---+---+---+--- (0 rows) SELECT * FROM v1 WHERE a=8; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c | d ---+---+------+------ 8 | 8 | t1 | t11d @@ -3144,6 +3385,7 @@ UPDATE v1 SET a=100 WHERE snoop(a) AND leakproof(a) AND a < 7 AND a != 6; SELECT * FROM v1 WHERE a=100; -- Nothing should have been changed to 100 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c | d ---+---+---+--- (0 rows) @@ -3195,6 +3437,7 @@ NOTICE: snooped value: 8 NOTICE: snooped value: 8 SELECT * FROM v1 WHERE b=8; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c | d ---+---+------+------ 9 | 8 | t1 | t11d @@ -3265,6 +3508,7 @@ (1 row) SELECT * FROM vx1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a --- (0 rows) @@ -3287,6 +3531,7 @@ (2 rows) SELECT * FROM vx1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a --- (0 rows) @@ -3312,6 +3557,7 @@ (2 rows) SELECT * FROM vx1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a --- (0 rows) @@ -3328,6 +3574,7 @@ INSERT INTO t1 VALUES (1, 'one', 10); CREATE TABLE t2 (cc int); INSERT INTO t2 VALUES (10), (20); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE VIEW v1 WITH (security_barrier = true) AS SELECT * FROM t1 WHERE (a > 0) WITH CHECK OPTION; @@ -3350,6 +3597,7 @@ DETAIL: Failing row contains (1, ONE, 30). DELETE FROM v2 WHERE a = 2; -- ok SELECT * FROM v2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c ---+-----+---- 1 | ONE | 10 @@ -3419,6 +3667,7 @@ events & 8 != 0 AS ins, events & 16 != 0 AS del from pg_catalog.pg_relation_is_updatable('uv_pt'::regclass, false) t(events); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree upd | ins | del -----+-----+----- t | t | t @@ -3438,6 +3687,7 @@ select table_name, is_updatable, is_insertable_into from information_schema.views where table_name = 'uv_ptv'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_name | is_updatable | is_insertable_into ------------+--------------+-------------------- uv_ptv | YES | YES @@ -3445,6 +3695,7 @@ select table_name, column_name, is_updatable from information_schema.columns where table_name = 'uv_ptv' order by column_name; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_name | column_name | is_updatable ------------+-------------+-------------- uv_ptv | a | YES @@ -3467,18 +3718,21 @@ using (values (1,2), (1,4)) as v(a,b) on t.a = v.a -- fail: matches 2 src rows when matched then update set b = t.b + 1 when not matched then insert values (v.a, v.b + 1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: MERGE command cannot affect row a second time HINT: Ensure that not more than one source row matches any one target row. merge into uv_ptv t using (values (1,2), (1,4)) as v(a,b) on t.a = v.a and t.b = v.b when matched then update set b = t.b + 1 when not matched then insert values (v.a, v.b + 1); -- fail: no partition for b=5 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: no partition of relation "uv_pt1" found for row DETAIL: Partition key of the failing row contains (b) = (5). merge into uv_ptv t using (values (1,2), (1,3)) as v(a,b) on t.a = v.a and t.b = v.b when matched then update set b = t.b + 1 when not matched then insert values (v.a, v.b + 1); -- ok +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select tableoid::regclass, * from uv_pt order by a, b; tableoid | a | b | v ----------+---+---+--- @@ -3502,6 +3756,7 @@ alter table wcowrtest attach partition wcowrtest2 for values in (2); create table sometable (a int, b text); insert into sometable values (1, 'a'), (2, 'b'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree create view wcowrtest_v2 as select * from wcowrtest r @@ -3594,6 +3849,7 @@ and excluded.bb != '' and excluded.cc is not null; select * from uv_iocu_view; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree bb | aa | cc -------------------------+----+--------------------------------- Rejected: (y,1,"(1,y)") | 1 | (1,"Rejected: (y,1,""(1,y)"")") @@ -3605,6 +3861,7 @@ insert into uv_iocu_view (aa) values (1) on conflict (aa) do update set bb = 'Rejected: '||excluded.*; select * from uv_iocu_view; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree bb | aa | cc -----------------------+----+------------------------------- Rejected: (,1,"(1,)") | 1 | (1,"Rejected: (,1,""(1,)"")") @@ -3614,6 +3871,7 @@ insert into uv_iocu_view (aa) values (1) on conflict (aa) do update set bb = 'Rejected: '||excluded.*; select * from uv_iocu_view; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree bb | aa | cc -------------------------------------------------------+----+--------------------------------------------------------------------- Rejected: ("table default",1,"(1,""table default"")") | 1 | (1,"Rejected: (""table default"",1,""(1,""""table default"""")"")") @@ -3623,6 +3881,7 @@ insert into uv_iocu_view (aa) values (1) on conflict (aa) do update set bb = 'Rejected: '||excluded.*; select * from uv_iocu_view; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree bb | aa | cc -----------------------------------------------------+----+------------------------------------------------------------------- Rejected: ("view default",1,"(1,""view default"")") | 1 | (1,"Rejected: (""view default"",1,""(1,""""view default"""")"")") @@ -3717,15 +3976,20 @@ alter view base_tab_def_view alter d set default 'View default'; insert into base_tab_def values (1); insert into base_tab_def values (2), (3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into base_tab_def values (4, default, default, default, default); insert into base_tab_def values (5, default, default, default, default), (6, default, default, default, default); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into base_tab_def_view values (11); insert into base_tab_def_view values (12), (13); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into base_tab_def_view values (14, default, default, default, default); insert into base_tab_def_view values (15, default, default, default, default), (16, default, default, default, default); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into base_tab_def_view values (17), (default); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select * from base_tab_def order by a; a | b | c | d | e ----+---------------+---------------+--------------+--- @@ -3761,15 +4025,20 @@ truncate base_tab_def; insert into base_tab_def values (1); insert into base_tab_def values (2), (3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into base_tab_def values (4, default, default, default, default); insert into base_tab_def values (5, default, default, default, default), (6, default, default, default, default); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into base_tab_def_view values (11); insert into base_tab_def_view values (12), (13); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into base_tab_def_view values (14, default, default, default, default); insert into base_tab_def_view values (15, default, default, default, default), (16, default, default, default, default); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into base_tab_def_view values (17), (default); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select * from base_tab_def order by a; a | b | c | d | e ----+---------------+---------------+--------------+--- @@ -3798,15 +4067,20 @@ truncate base_tab_def; insert into base_tab_def values (1); insert into base_tab_def values (2), (3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into base_tab_def values (4, default, default, default, default); insert into base_tab_def values (5, default, default, default, default), (6, default, default, default, default); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into base_tab_def_view values (11); insert into base_tab_def_view values (12), (13); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into base_tab_def_view values (14, default, default, default, default); insert into base_tab_def_view values (15, default, default, default, default), (16, default, default, default, default); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into base_tab_def_view values (17), (default); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select * from base_tab_def order by a; a | b | c | d | e ----+---------------+---------------+--------------+--- @@ -3837,15 +4111,20 @@ truncate base_tab_def; insert into base_tab_def values (1); insert into base_tab_def values (2), (3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into base_tab_def values (4, default, default, default, default); insert into base_tab_def values (5, default, default, default, default), (6, default, default, default, default); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into base_tab_def_view values (11); insert into base_tab_def_view values (12), (13); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into base_tab_def_view values (14, default, default, default, default); insert into base_tab_def_view values (15, default, default, default, default), (16, default, default, default, default); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into base_tab_def_view values (17), (default); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select * from base_tab_def order by a, c NULLS LAST; a | b | c | d | e ----+---------------+---------------+--------------+--- @@ -3881,6 +4160,7 @@ insert into base_tab_def_view values (1, default, default, default, default); insert into base_tab_def_view values (2, default, default, default, default), (3, default, default, default, default); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select * from base_tab_def order by a, e nulls first; a | b | c | d | e ---+--------------+---------------+--------------+----- @@ -3900,6 +4180,7 @@ alter view base_tab_view alter column c set default 'View default'; insert into base_tab_view (b[1], b[2], c, b[5], b[4], a, b[3]) values (1, 2, default, 5, 4, default, 3), (10, 11, 'C value', 14, 13, 100, 12); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select * from base_tab order by a; a | b | c | d -----+------------------+--------------+--------------- diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/create_am.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/create_am.out --- /tmp/cirrus-ci-build/src/test/regress/expected/create_am.out 2024-03-19 15:41:21.017621000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/create_am.out 2024-03-19 15:51:16.168373000 +0000 @@ -233,6 +233,7 @@ -- ALTER TABLE SET ACCESS METHOD CREATE TABLE heaptable USING heap AS SELECT a, repeat(a::text, 100) FROM generate_series(1,9) AS a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT amname FROM pg_class c, pg_am am WHERE c.relam = am.oid AND c.oid = 'heaptable'::regclass; amname @@ -373,6 +374,7 @@ LEFT JOIN pg_am AS pa ON (pa.oid = pc.relam) WHERE pc.relname LIKE 'tableam_%_heapx' ORDER BY 3, 1, 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relkind | amname | relname ---------+--------+----------------------------- f | | tableam_fdw_heapx diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/hash_func.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/hash_func.out --- /tmp/cirrus-ci-build/src/test/regress/expected/hash_func.out 2024-03-19 15:41:21.018548000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/hash_func.out 2024-03-19 15:51:16.066219000 +0000 @@ -11,6 +11,7 @@ FROM (VALUES (0::int2), (1::int2), (17::int2), (42::int2)) x(v) WHERE hashint2(v)::bit(32) != hashint2extended(v, 0)::bit(32) OR hashint2(v)::bit(32) = hashint2extended(v, 1)::bit(32); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree value | standard | extended0 | extended1 -------+----------+-----------+----------- (0 rows) @@ -21,6 +22,7 @@ FROM (VALUES (0), (1), (17), (42), (550273), (207112489)) x(v) WHERE hashint4(v)::bit(32) != hashint4extended(v, 0)::bit(32) OR hashint4(v)::bit(32) = hashint4extended(v, 1)::bit(32); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree value | standard | extended0 | extended1 -------+----------+-----------+----------- (0 rows) @@ -31,6 +33,7 @@ FROM (VALUES (0), (1), (17), (42), (550273), (207112489)) x(v) WHERE hashint8(v)::bit(32) != hashint8extended(v, 0)::bit(32) OR hashint8(v)::bit(32) = hashint8extended(v, 1)::bit(32); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree value | standard | extended0 | extended1 -------+----------+-----------+----------- (0 rows) @@ -41,6 +44,7 @@ FROM (VALUES (0), (1), (17), (42), (550273), (207112489)) x(v) WHERE hashfloat4(v)::bit(32) != hashfloat4extended(v, 0)::bit(32) OR hashfloat4(v)::bit(32) = hashfloat4extended(v, 1)::bit(32); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree value | standard | extended0 | extended1 -------+----------+-----------+----------- (0 rows) @@ -51,6 +55,7 @@ FROM (VALUES (0), (1), (17), (42), (550273), (207112489)) x(v) WHERE hashfloat8(v)::bit(32) != hashfloat8extended(v, 0)::bit(32) OR hashfloat8(v)::bit(32) = hashfloat8extended(v, 1)::bit(32); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree value | standard | extended0 | extended1 -------+----------+-----------+----------- (0 rows) @@ -61,6 +66,7 @@ FROM (VALUES (0), (1), (17), (42), (550273), (207112489)) x(v) WHERE hashoid(v)::bit(32) != hashoidextended(v, 0)::bit(32) OR hashoid(v)::bit(32) = hashoidextended(v, 1)::bit(32); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree value | standard | extended0 | extended1 -------+----------+-----------+----------- (0 rows) @@ -71,6 +77,7 @@ FROM (VALUES (NULL::"char"), ('1'), ('x'), ('X'), ('p'), ('N')) x(v) WHERE hashchar(v)::bit(32) != hashcharextended(v, 0)::bit(32) OR hashchar(v)::bit(32) = hashcharextended(v, 1)::bit(32); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree value | standard | extended0 | extended1 -------+----------+-----------+----------- (0 rows) @@ -82,6 +89,7 @@ ('muop28x03'), ('yi3nm0d73')) x(v) WHERE hashname(v)::bit(32) != hashnameextended(v, 0)::bit(32) OR hashname(v)::bit(32) = hashnameextended(v, 1)::bit(32); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree value | standard | extended0 | extended1 -------+----------+-----------+----------- (0 rows) @@ -93,6 +101,7 @@ ('muop28x03'), ('yi3nm0d73')) x(v) WHERE hashtext(v)::bit(32) != hashtextextended(v, 0)::bit(32) OR hashtext(v)::bit(32) = hashtextextended(v, 1)::bit(32); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree value | standard | extended0 | extended1 -------+----------+-----------+----------- (0 rows) @@ -105,6 +114,7 @@ ('207112489 207112499 21512 2155 372325 1363252')) x(v) WHERE hashoidvector(v)::bit(32) != hashoidvectorextended(v, 0)::bit(32) OR hashoidvector(v)::bit(32) = hashoidvectorextended(v, 1)::bit(32); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree value | standard | extended0 | extended1 -------+----------+-----------+----------- (0 rows) @@ -115,6 +125,7 @@ FROM (SELECT DISTINCT(relacl[1]) FROM pg_class LIMIT 10) x(v) WHERE hash_aclitem(v)::bit(32) != hash_aclitem_extended(v, 0)::bit(32) OR hash_aclitem(v)::bit(32) = hash_aclitem_extended(v, 1)::bit(32); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree value | standard | extended0 | extended1 -------+----------+-----------+----------- (0 rows) @@ -127,6 +138,7 @@ ('ea:29:b1:5e:1f:a5')) x(v) WHERE hashmacaddr(v)::bit(32) != hashmacaddrextended(v, 0)::bit(32) OR hashmacaddr(v)::bit(32) = hashmacaddrextended(v, 1)::bit(32); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree value | standard | extended0 | extended1 -------+----------+-----------+----------- (0 rows) @@ -138,6 +150,7 @@ ('172.168.10.126/16'), ('172.18.103.126/24'), ('192.188.13.16/32')) x(v) WHERE hashinet(v)::bit(32) != hashinetextended(v, 0)::bit(32) OR hashinet(v)::bit(32) = hashinetextended(v, 1)::bit(32); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree value | standard | extended0 | extended1 -------+----------+-----------+----------- (0 rows) @@ -149,6 +162,7 @@ (149484958.550273), (2071124898672)) x(v) WHERE hash_numeric(v)::bit(32) != hash_numeric_extended(v, 0)::bit(32) OR hash_numeric(v)::bit(32) = hash_numeric_extended(v, 1)::bit(32); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree value | standard | extended0 | extended1 -------+----------+-----------+----------- (0 rows) @@ -161,6 +175,7 @@ ('d6:a9:4a:78:1c:d5:47:32'), ('ea:29:b1:5e:1f:a5')) x(v) WHERE hashmacaddr8(v)::bit(32) != hashmacaddr8extended(v, 0)::bit(32) OR hashmacaddr8(v)::bit(32) = hashmacaddr8extended(v, 1)::bit(32); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree value | standard | extended0 | extended1 -------+----------+-----------+----------- (0 rows) @@ -173,6 +188,7 @@ ('{207112489, 807112489}')) x(v) WHERE hash_array(v)::bit(32) != hash_array_extended(v, 0)::bit(32) OR hash_array(v)::bit(32) = hash_array_extended(v, 1)::bit(32); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree value | standard | extended0 | extended1 -------+----------+-----------+----------- (0 rows) @@ -180,9 +196,11 @@ -- array hashing with non-hashable element type SELECT v as value, hash_array(v)::bit(32) as standard FROM (VALUES ('{101}'::varbit[])) x(v); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: could not identify a hash function for type bit varying SELECT v as value, hash_array_extended(v, 0)::bit(32) as extended0 FROM (VALUES ('{101}'::varbit[])) x(v); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: could not identify an extended hash function for type bit varying SELECT v as value, hashbpchar(v)::bit(32) as standard, hashbpcharextended(v, 0)::bit(32) as extended0, @@ -191,6 +209,7 @@ ('muop28x03'), ('yi3nm0d73')) x(v) WHERE hashbpchar(v)::bit(32) != hashbpcharextended(v, 0)::bit(32) OR hashbpchar(v)::bit(32) = hashbpcharextended(v, 1)::bit(32); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree value | standard | extended0 | extended1 -------+----------+-----------+----------- (0 rows) @@ -202,6 +221,7 @@ ('7:9:59'), ('5:15:59')) x(v) WHERE time_hash(v)::bit(32) != time_hash_extended(v, 0)::bit(32) OR time_hash(v)::bit(32) = time_hash_extended(v, 1)::bit(32); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree value | standard | extended0 | extended1 -------+----------+-----------+----------- (0 rows) @@ -213,6 +233,7 @@ ('00:11:52.62-01'), ('00:11:52.62+01'), ('11:59:59+04')) x(v) WHERE timetz_hash(v)::bit(32) != timetz_hash_extended(v, 0)::bit(32) OR timetz_hash(v)::bit(32) = timetz_hash_extended(v, 1)::bit(32); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree value | standard | extended0 | extended1 -------+----------+-----------+----------- (0 rows) @@ -226,6 +247,7 @@ ('17 year 11 month 7 day 9 hours 46 minutes 5 seconds')) x(v) WHERE interval_hash(v)::bit(32) != interval_hash_extended(v, 0)::bit(32) OR interval_hash(v)::bit(32) = interval_hash_extended(v, 1)::bit(32); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree value | standard | extended0 | extended1 -------+----------+-----------+----------- (0 rows) @@ -239,6 +261,7 @@ ('2013-08-22 00:11:52.62+01'), ('2013-08-22 11:59:59+04')) x(v) WHERE timestamp_hash(v)::bit(32) != timestamp_hash_extended(v, 0)::bit(32) OR timestamp_hash(v)::bit(32) = timestamp_hash_extended(v, 1)::bit(32); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree value | standard | extended0 | extended1 -------+----------+-----------+----------- (0 rows) @@ -253,6 +276,7 @@ ('9ad46d4f-6f2a-4edd-aadb-745993928e1e')) x(v) WHERE uuid_hash(v)::bit(32) != uuid_hash_extended(v, 0)::bit(32) OR uuid_hash(v)::bit(32) = uuid_hash_extended(v, 1)::bit(32); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree value | standard | extended0 | extended1 -------+----------+-----------+----------- (0 rows) @@ -264,6 +288,7 @@ ('255/B374D84'), ('25/B379D90'), ('900/F37FD90')) x(v) WHERE pg_lsn_hash(v)::bit(32) != pg_lsn_hash_extended(v, 0)::bit(32) OR pg_lsn_hash(v)::bit(32) = pg_lsn_hash_extended(v, 1)::bit(32); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree value | standard | extended0 | extended1 -------+----------+-----------+----------- (0 rows) @@ -275,6 +300,7 @@ FROM (VALUES ('sad'::mood), ('ok'), ('happy')) x(v) WHERE hashenum(v)::bit(32) != hashenumextended(v, 0)::bit(32) OR hashenum(v)::bit(32) = hashenumextended(v, 1)::bit(32); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree value | standard | extended0 | extended1 -------+----------+-----------+----------- (0 rows) @@ -289,6 +315,7 @@ ('{"g": {"h": "value"}}')) x(v) WHERE jsonb_hash(v)::bit(32) != jsonb_hash_extended(v, 0)::bit(32) OR jsonb_hash(v)::bit(32) = jsonb_hash_extended(v, 1)::bit(32); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree value | standard | extended0 | extended1 -------+----------+-----------+----------- (0 rows) @@ -301,6 +328,7 @@ (int4range(550274, 1550274)), (int4range(1550275, 208112489))) x(v) WHERE hash_range(v)::bit(32) != hash_range_extended(v, 0)::bit(32) OR hash_range(v)::bit(32) = hash_range_extended(v, 1)::bit(32); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree value | standard | extended0 | extended1 -------+----------+-----------+----------- (0 rows) @@ -314,6 +342,7 @@ ('{[1550275, 208112489)}'::int4multirange)) x(v) WHERE hash_multirange(v)::bit(32) != hash_multirange_extended(v, 0)::bit(32) OR hash_multirange(v)::bit(32) = hash_multirange_extended(v, 1)::bit(32); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree value | standard | extended0 | extended1 -------+----------+-----------+----------- (0 rows) @@ -325,6 +354,7 @@ FROM (VALUES (row(1, 'aaa')::hash_test_t1, row(2, 'bbb'), row(-1, 'ccc'))) x(v) WHERE hash_record(v)::bit(32) != hash_record_extended(v, 0)::bit(32) OR hash_record(v)::bit(32) = hash_record_extended(v, 1)::bit(32); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree value | standard | extended0 | extended1 -------+----------+-----------+----------- (0 rows) @@ -334,9 +364,11 @@ CREATE TYPE hash_test_t2 AS (a varbit, b text); SELECT v as value, hash_record(v)::bit(32) as standard FROM (VALUES (row('10'::varbit, 'aaa')::hash_test_t2)) x(v); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: could not identify a hash function for type bit varying SELECT v as value, hash_record_extended(v, 0)::bit(32) as extended0 FROM (VALUES (row('11'::varbit, 'aaa')::hash_test_t2)) x(v); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: could not identify an extended hash function for type bit varying DROP TYPE hash_test_t2; -- diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/sanity_check.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/sanity_check.out --- /tmp/cirrus-ci-build/src/test/regress/expected/sanity_check.out 2024-03-19 15:41:21.045023000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/sanity_check.out 2024-03-19 15:51:18.698410000 +0000 @@ -12,6 +12,7 @@ AND NOT EXISTS (SELECT 1 FROM pg_index i WHERE indrelid = c.oid AND indkey[0] = a.attnum AND indnatts = 1 AND indisunique AND indimmediate); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | nspname ---------+--------- (0 rows) diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/select_into.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/select_into.out --- /tmp/cirrus-ci-build/src/test/regress/expected/select_into.out 2024-03-19 15:41:21.045255000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/select_into.out 2024-03-19 15:51:19.110980000 +0000 @@ -167,6 +167,7 @@ LINE 1: DECLARE foo CURSOR FOR SELECT 1 INTO int4_tbl; ^ COPY (SELECT 1 INTO frak UNION SELECT 2) TO 'blob'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: COPY (SELECT INTO) is not supported SELECT * FROM (SELECT 1 INTO f) bar; ERROR: SELECT ... INTO is not allowed here diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/select_distinct.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/select_distinct.out --- /tmp/cirrus-ci-build/src/test/regress/expected/select_distinct.out 2024-03-19 15:41:21.045091000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/select_distinct.out 2024-03-19 15:51:19.092009000 +0000 @@ -130,6 +130,7 @@ EXPLAIN (VERBOSE, COSTS OFF) SELECT count(*) FROM (SELECT DISTINCT two, four, two FROM tenk1) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------- Aggregate @@ -143,6 +144,7 @@ SELECT count(*) FROM (SELECT DISTINCT two, four, two FROM tenk1) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 4 @@ -158,6 +160,7 @@ SET jit_above_cost=0; EXPLAIN (costs off) SELECT DISTINCT g%1000 FROM generate_series(0,9999) g; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------ Unique @@ -168,9 +171,11 @@ CREATE TABLE distinct_group_1 AS SELECT DISTINCT g%1000 FROM generate_series(0,9999) g; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SET jit_above_cost TO DEFAULT; CREATE TABLE distinct_group_2 AS SELECT DISTINCT (g%1000)::text FROM generate_series(0,9999) g; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SET enable_seqscan = 0; -- Check to see we get an incremental sort plan EXPLAIN (costs off) @@ -191,6 +196,7 @@ SET jit_above_cost=0; EXPLAIN (costs off) SELECT DISTINCT g%1000 FROM generate_series(0,9999) g; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------ HashAggregate @@ -200,15 +206,18 @@ CREATE TABLE distinct_hash_1 AS SELECT DISTINCT g%1000 FROM generate_series(0,9999) g; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SET jit_above_cost TO DEFAULT; CREATE TABLE distinct_hash_2 AS SELECT DISTINCT (g%1000)::text FROM generate_series(0,9999) g; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SET enable_sort=TRUE; SET work_mem TO DEFAULT; -- Compare results (SELECT * FROM distinct_hash_1 EXCEPT SELECT * FROM distinct_group_1) UNION ALL (SELECT * FROM distinct_group_1 EXCEPT SELECT * FROM distinct_hash_1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ?column? ---------- (0 rows) @@ -216,6 +225,7 @@ (SELECT * FROM distinct_hash_1 EXCEPT SELECT * FROM distinct_group_1) UNION ALL (SELECT * FROM distinct_group_1 EXCEPT SELECT * FROM distinct_hash_1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ?column? ---------- (0 rows) diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/subselect.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/subselect.out --- /tmp/cirrus-ci-build/src/test/regress/expected/subselect.out 2024-03-19 15:41:21.045932000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/subselect.out 2024-03-19 15:51:19.608433000 +0000 @@ -19,42 +19,49 @@ -- Check grammar's handling of extra parens in assorted contexts SELECT * FROM (SELECT 1 AS x) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x --- 1 (1 row) SELECT * FROM ((SELECT 1 AS x)) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x --- 1 (1 row) SELECT * FROM ((SELECT 1 AS x)), ((SELECT * FROM ((SELECT 2 AS y)))); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | y ---+--- 1 | 2 (1 row) (SELECT 2) UNION SELECT 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ?column? ---------- 2 (1 row) ((SELECT 2)) UNION SELECT 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ?column? ---------- 2 (1 row) SELECT ((SELECT 2) UNION SELECT 2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ?column? ---------- 2 (1 row) SELECT (((SELECT 2)) UNION SELECT 2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ?column? ---------- 2 @@ -204,18 +211,21 @@ -- Subselects without aliases SELECT count FROM (SELECT COUNT(DISTINCT name) FROM road); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 2911 (1 row) SELECT COUNT(*) FROM (SELECT DISTINCT name FROM road); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 2911 (1 row) SELECT * FROM (SELECT * FROM int4_tbl), (VALUES (123456)) WHERE f1 = column1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 | column1 --------+--------- 123456 | 123456 @@ -226,6 +236,7 @@ (SELECT * FROM int8_tbl) WHERE a1 < 10 AND q1 > a1 ORDER BY q1, q2; SELECT * FROM view_unnamed_ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a1 | q1 | q2 ----+------------------+------------------- 0 | 123 | 456 @@ -236,6 +247,7 @@ (5 rows) \sv view_unnamed_ss +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE OR REPLACE VIEW public.view_unnamed_ss AS SELECT unnamed_subquery.a1, unnamed_subquery_1.q1, @@ -255,6 +267,7 @@ WHERE f1 = q1 FOR UPDATE OF unnamed_subquery; \sv view_unnamed_ss_locking +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE OR REPLACE VIEW public.view_unnamed_ss_locking AS SELECT unnamed_subquery.f1, unnamed_subquery_1.q1, @@ -293,6 +306,7 @@ -- Unspecified-type literals in output columns should resolve as text SELECT *, pg_typeof(f1) FROM (SELECT 'foo' AS f1 FROM generate_series(1,3)) ss ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 | pg_typeof -----+----------- foo | text @@ -302,6 +316,7 @@ -- ... unless there's context to suggest differently explain (verbose, costs off) select '42' union all select '43'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------- Append @@ -312,6 +327,7 @@ (5 rows) explain (verbose, costs off) select '42' union all select 43; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------- Append @@ -391,6 +407,7 @@ select count(*) from (select 1 from tenk1 a where unique1 IN (select hundred from tenk1 b)) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 100 @@ -399,6 +416,7 @@ select count(distinct ss.ten) from (select ten from tenk1 a where unique1 IN (select hundred from tenk1 b)) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 10 @@ -407,6 +425,7 @@ select count(*) from (select 1 from tenk1 a where unique1 IN (select distinct hundred from tenk1 b)) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 100 @@ -415,6 +434,7 @@ select count(distinct ss.ten) from (select ten from tenk1 a where unique1 IN (select distinct hundred from tenk1 b)) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 10 @@ -434,6 +454,7 @@ -- These cases require an extra level of distinct-ing above subquery s SELECT * FROM foo WHERE id IN (SELECT id2 FROM (SELECT DISTINCT id1, id2 FROM bar) AS s); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id ---- 1 @@ -441,6 +462,7 @@ SELECT * FROM foo WHERE id IN (SELECT id2 FROM (SELECT id1,id2 FROM bar GROUP BY id1,id2) AS s); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id ---- 1 @@ -449,6 +471,7 @@ SELECT * FROM foo WHERE id IN (SELECT id2 FROM (SELECT id1, id2 FROM bar UNION SELECT id1, id2 FROM bar) AS s); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id ---- 1 @@ -457,6 +480,7 @@ -- These cases do not SELECT * FROM foo WHERE id IN (SELECT id2 FROM (SELECT DISTINCT ON (id2) id1, id2 FROM bar) AS s); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id ---- 1 @@ -464,6 +488,7 @@ SELECT * FROM foo WHERE id IN (SELECT id2 FROM (SELECT id2 FROM bar GROUP BY id2) AS s); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id ---- 1 @@ -472,6 +497,7 @@ SELECT * FROM foo WHERE id IN (SELECT id2 FROM (SELECT id2 FROM bar UNION SELECT id2 FROM bar) AS s); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id ---- 1 @@ -534,6 +560,7 @@ END) AS "Status_OK" FROM orderstest ord; SELECT * FROM orders_view; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree approver_ref | po_ref | ordercanceled | Approved | Status | Status_OK --------------+--------+---------------+----------+----------+----------- 1 | 1 | f | --- | --- | --- @@ -573,6 +600,7 @@ insert into shipped_view (ordnum, partnum, value) values (0, 1, (select cost from parts where partnum = '1')); select * from shipped_view; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ttype | ordnum | partnum | value -------+--------+---------+--------- wt | 0 | 1 | 1234.56 @@ -585,7 +613,9 @@ from int4_tbl a join int4_tbl b on (a.f1 = (select f1 from int4_tbl c where c.f1=b.f1)) where ordnum = a.f1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select * from shipped_view; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ttype | ordnum | partnum | value -------+--------+---------+------- wt | 0 | 1 | 11 @@ -594,6 +624,7 @@ select f1, ss1 as relabel from (select *, (select sum(f1) from int4_tbl b where f1 >= a.f1) as ss1 from int4_tbl a) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 | relabel -------------+------------ 0 | 2147607103 @@ -611,6 +642,7 @@ select max(unique1) from tenk1 as a where exists (select 1 from tenk1 as b where b.thousand = a.unique2) ) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree max ------ 9997 @@ -620,6 +652,7 @@ select min(unique1) from tenk1 as a where not exists (select 1 from tenk1 as b where b.unique2 = 10000) ) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree min ----- 0 @@ -635,8 +668,10 @@ -- create temp table numeric_table (num_col numeric); insert into numeric_table values (1), (1.000000000000000000001), (2), (3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree create temp table float_table (float_col float8); insert into float_table values (1), (2), (3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select * from float_table where float_col in (select num_col from numeric_table); float_col @@ -688,6 +723,7 @@ (select distinct f1, f2, (select f2 from t1 x where x.f1 = up.f1) as fs from t1 up) ss group by f1,f2,fs; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 | f2 | fs ----+----+---- (0 rows) @@ -699,24 +735,28 @@ insert into table_a values (42); create temp view view_a as select * from table_a; select view_a from view_a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree view_a -------- (42) (1 row) select (select view_a) from view_a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree view_a -------- (42) (1 row) select (select (select view_a)) from view_a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree view_a -------- (42) (1 row) select (select (a.*)::text) from view_a a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a ------ (42) @@ -727,6 +767,7 @@ -- any junk columns therein -- select q from (select max(f1) from int4_tbl group by f1 order by f1) q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree q --------------- (-2147483647) @@ -738,6 +779,7 @@ with q as (select max(f1) from int4_tbl group by f1 order by f1) select q from q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree q --------------- (-2147483647) @@ -760,6 +802,7 @@ ( select f1, array(select q1 from int8_tbl) as arr from text_tbl ) ss where road.name = ss.f1 ); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree rollback; -- -- Test case for sublinks pushed down into subselects via join alias expansion @@ -771,6 +814,7 @@ from int8_tbl) sq0 join int4_tbl i4 on dummy = i4.f1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree qq1 ----- (0 rows) @@ -791,6 +835,7 @@ insert into upsert values (1, 'x'), (999, 'y') on conflict (key) do update set val = (select u from aa) returning *; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree key | val -----+---------- 1 | int4_tbl @@ -840,6 +885,7 @@ -- explain (verbose, costs off) select 'foo'::text in (select 'bar'::name union all select 'bar'::name); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------- Result @@ -853,6 +899,7 @@ (8 rows) select 'foo'::text in (select 'bar'::name union all select 'bar'::name); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ?column? ---------- f @@ -885,6 +932,7 @@ -- Test case for premature memory release during hashing of subplan output -- select '1'::text in (select '1'::name union all select '1'::name); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ?column? ---------- t @@ -1018,6 +1066,7 @@ create temp table exists_tbl_null partition of exists_tbl for values in (null); create temp table exists_tbl_def partition of exists_tbl default; insert into exists_tbl select x, x/2, x+1 from generate_series(0,10) x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree analyze exists_tbl; explain (costs off) select * from exists_tbl t1 @@ -1071,6 +1120,7 @@ explain (verbose, costs off) select x, x from (select (select now()) as x from (values(1),(2)) v(y)) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------- Values Scan on "*VALUES*" @@ -1086,6 +1136,7 @@ explain (verbose, costs off) select x, x from (select (select random()) as x from (values(1),(2)) v(y)) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------- Subquery Scan on ss @@ -1100,6 +1151,7 @@ explain (verbose, costs off) select x, x from (select (select now() where y=y) as x from (values(1),(2)) v(y)) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------------- Values Scan on "*VALUES*" @@ -1117,6 +1169,7 @@ explain (verbose, costs off) select x, x from (select (select random() where y=y) as x from (values(1),(2)) v(y)) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------------------- Subquery Scan on ss @@ -1140,6 +1193,7 @@ random() as r from onek i where i.unique1 = o.unique1 ) ss where o.ten = 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Aggregate @@ -1164,6 +1218,7 @@ random() as r from onek i where i.unique1 = o.unique1 ) ss where o.ten = 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree sum ----- 100 @@ -1180,6 +1235,7 @@ select * from onek i2 where i2.unique1 = o.unique2 ) ss where o.ten = 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------ Aggregate @@ -1204,6 +1260,7 @@ select * from onek i2 where i2.unique1 = o.unique2 ) ss where o.ten = 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 100 @@ -1223,6 +1280,7 @@ select * from x ) ss where o.ten = 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------------------- Aggregate @@ -1250,6 +1308,7 @@ select * from x ) ss where o.ten = 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree sum | sum ------+------ 1700 | 5350 @@ -1261,6 +1320,7 @@ create temp table notinouter (a int); create temp table notininner (b int not null); insert into notinouter values (null), (1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select * from notinouter where a not in (select b from notininner); a --- @@ -1287,6 +1347,7 @@ values ((select s.i + 1)), (s.i + 101) ) as val(x) where s.i < 10 and (select val.x) < 110; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x ----- 2 @@ -1315,6 +1376,7 @@ (3 not in (select * from (values (1), (2)) ss1)), (false) ) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------- Values Scan on "*VALUES*" @@ -1329,6 +1391,7 @@ (3 not in (select * from (values (1), (2)) ss1)), (false) ) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree column1 --------- t @@ -1409,6 +1472,7 @@ select 4,5,6.0 where f1 <= 0 ) q ) from int4_tbl; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree q ----------- (4,5,6.0) @@ -1433,6 +1497,7 @@ select true as b, 2 as id ) as t2 where b and f1 >= 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------- Nested Loop @@ -1462,6 +1527,7 @@ select true as b, 2 as id ) as t2 where b and f1 >= 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 | b | id ------------+---+---- 0 | t | 2 @@ -1480,6 +1546,7 @@ (select distinct ten from tenk1) ss where ten < 10 + nextval('ts1') order by 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ten ----- 0 @@ -1514,6 +1581,7 @@ select * from (select 9 as x, unnest(array[1,2,3,11,12,13]) as u) ss where tattle(x, 8); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------- Subquery Scan on ss @@ -1527,6 +1595,7 @@ select * from (select 9 as x, unnest(array[1,2,3,11,12,13]) as u) ss where tattle(x, 8); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: x = 9, y = 8 NOTICE: x = 9, y = 8 NOTICE: x = 9, y = 8 @@ -1549,6 +1618,7 @@ select * from (select 9 as x, unnest(array[1,2,3,11,12,13]) as u) ss where tattle(x, 8); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------- ProjectSet @@ -1560,6 +1630,7 @@ select * from (select 9 as x, unnest(array[1,2,3,11,12,13]) as u) ss where tattle(x, 8); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: x = 9, y = 8 x | u ---+---- @@ -1576,6 +1647,7 @@ select * from (select 9 as x, unnest(array[1,2,3,11,12,13]) as u) ss where tattle(x, u); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------- Subquery Scan on ss @@ -1589,6 +1661,7 @@ select * from (select 9 as x, unnest(array[1,2,3,11,12,13]) as u) ss where tattle(x, u); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: x = 9, y = 1 NOTICE: x = 9, y = 2 NOTICE: x = 9, y = 3 @@ -1619,6 +1692,7 @@ (6, 2, 2), (7, 3, 3), (8, 4, 4); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree create function explain_sq_limit() returns setof text language plpgsql as $$ declare ln text; @@ -1633,6 +1707,8 @@ end; $$; select * from explain_sq_limit(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree explain_sq_limit ---------------------------------------------------------------- Limit (actual rows=3 loops=1) @@ -1644,6 +1720,7 @@ (6 rows) select * from (select pk,c2 from sq_limit order by c1,pk) as x limit 3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree pk | c2 ----+---- 1 | 1 @@ -1661,6 +1738,7 @@ declare c1 scroll cursor for select * from generate_series(1,4) i where i <> all (values (2),(3)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree move forward all in c1; fetch backward all in c1; i @@ -1677,6 +1755,7 @@ explain (verbose, costs off) with x as (select * from (select f1 from subselect_tbl) ss) select * from x where f1 = 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------- Seq Scan on public.subselect_tbl @@ -1688,6 +1767,7 @@ explain (verbose, costs off) with x as materialized (select * from (select f1 from subselect_tbl) ss) select * from x where f1 = 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------ CTE Scan on x @@ -1702,6 +1782,7 @@ explain (verbose, costs off) with x as (select * from (select f1, now() from subselect_tbl) ss) select * from x where f1 = 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------- Seq Scan on public.subselect_tbl @@ -1713,6 +1794,7 @@ explain (verbose, costs off) with x as (select * from (select f1, random() from subselect_tbl) ss) select * from x where f1 = 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------- CTE Scan on x @@ -1727,6 +1809,7 @@ explain (verbose, costs off) with x as (select * from (select f1 from subselect_tbl for update) ss) select * from x where f1 = 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------- CTE Scan on x @@ -1745,6 +1828,7 @@ explain (verbose, costs off) with x as (select * from (select f1, now() as n from subselect_tbl) ss) select * from x, x x2 where x.n = x2.n; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------- Merge Join @@ -1768,6 +1852,7 @@ explain (verbose, costs off) with x as not materialized (select * from (select f1, now() as n from subselect_tbl) ss) select * from x, x x2 where x.n = x2.n; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------------------- Result @@ -1792,6 +1877,7 @@ select z.a || z1.a as a from z cross join z as z1 where length(z.a || z1.a) < 5)) select * from x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------- CTE Scan on x @@ -1819,6 +1905,7 @@ select z.a || z1.a as a from z cross join z as z1 where length(z.a || z1.a) < 5)) select * from x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a ------ a @@ -1853,6 +1940,7 @@ select z.a || z.a as a from z where length(z.a || z.a) < 5)) select * from x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------- CTE Scan on x @@ -1873,6 +1961,7 @@ select z.a || z.a as a from z where length(z.a || z.a) < 5)) select * from x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a ------ a @@ -1887,6 +1976,7 @@ explain (verbose, costs off) with x as (select * from int4_tbl) select * from (with y as (select * from x) select * from y) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------- Seq Scan on public.int4_tbl @@ -1896,6 +1986,7 @@ explain (verbose, costs off) with x as materialized (select * from int4_tbl) select * from (with y as (select * from x) select * from y) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------- CTE Scan on x @@ -1910,6 +2001,7 @@ explain (verbose, costs off) with x as (select 1 as y) select * from (with x as (select 2 as y) select * from x) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------- Result @@ -1920,6 +2012,7 @@ explain (verbose, costs off) with x as (select * from subselect_tbl) select * from x for update; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------- Seq Scan on public.subselect_tbl @@ -1962,6 +2055,7 @@ explain (costs off) SELECT * FROM tenk1 A LEFT JOIN tenk2 B ON A.hundred in (SELECT c.hundred FROM tenk2 C WHERE c.odd = b.odd); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------- Nested Loop Left Join @@ -1979,6 +2073,7 @@ explain (costs off) SELECT * FROM tenk1 A LEFT JOIN tenk2 B ON B.hundred in (SELECT c.hundred FROM tenk2 C WHERE c.odd = a.odd); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------- Nested Loop Left Join @@ -1995,6 +2090,7 @@ explain (costs off) SELECT * FROM tenk1 A LEFT JOIN tenk2 B ON B.hundred in (SELECT c.hundred FROM tenk2 C WHERE c.odd = b.odd); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------ Nested Loop Left Join @@ -2013,6 +2109,7 @@ explain (costs off) SELECT * FROM tenk1 A INNER JOIN tenk2 B ON A.hundred in (SELECT c.hundred FROM tenk2 C WHERE c.odd = b.odd); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------- Hash Join @@ -2032,6 +2129,7 @@ explain (costs off) SELECT * FROM tenk1 A LEFT JOIN tenk2 B ON B.hundred in (SELECT min(c.hundred) FROM tenk2 C WHERE c.odd = b.odd); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------------------------------------------------- Nested Loop Left Join diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/union.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/union.out --- /tmp/cirrus-ci-build/src/test/regress/expected/union.out 2024-03-19 15:41:21.046681000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/union.out 2024-03-19 15:51:19.399290000 +0000 @@ -3,6 +3,7 @@ -- -- Simple UNION constructs SELECT 1 AS two UNION SELECT 2 ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree two ----- 1 @@ -10,12 +11,14 @@ (2 rows) SELECT 1 AS one UNION SELECT 1 ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree one ----- 1 (1 row) SELECT 1 AS two UNION ALL SELECT 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree two ----- 1 @@ -23,6 +26,7 @@ (2 rows) SELECT 1 AS two UNION ALL SELECT 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree two ----- 1 @@ -30,6 +34,7 @@ (2 rows) SELECT 1 AS three UNION SELECT 2 UNION SELECT 3 ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree three ------- 1 @@ -38,6 +43,7 @@ (3 rows) SELECT 1 AS two UNION SELECT 2 UNION SELECT 2 ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree two ----- 1 @@ -45,6 +51,7 @@ (2 rows) SELECT 1 AS three UNION SELECT 2 UNION ALL SELECT 2 ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree three ------- 1 @@ -53,6 +60,7 @@ (3 rows) SELECT 1.1 AS two UNION SELECT 2.2 ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree two ----- 1.1 @@ -61,6 +69,7 @@ -- Mixed types SELECT 1.1 AS two UNION SELECT 2 ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree two ----- 1.1 @@ -68,6 +77,7 @@ (2 rows) SELECT 1 AS two UNION SELECT 2.2 ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree two ----- 1 @@ -75,12 +85,14 @@ (2 rows) SELECT 1 AS one UNION SELECT 1.0::float8 ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree one ----- 1 (1 row) SELECT 1.1 AS two UNION ALL SELECT 2 ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree two ----- 1.1 @@ -88,6 +100,7 @@ (2 rows) SELECT 1.0::float8 AS two UNION ALL SELECT 1 ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree two ----- 1 @@ -95,6 +108,7 @@ (2 rows) SELECT 1.1 AS three UNION SELECT 2 UNION SELECT 3 ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree three ------- 1.1 @@ -103,6 +117,7 @@ (3 rows) SELECT 1.1::float8 AS two UNION SELECT 2 UNION SELECT 2.0::float8 ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree two ----- 1.1 @@ -110,6 +125,7 @@ (2 rows) SELECT 1.1 AS three UNION SELECT 2 UNION ALL SELECT 2 ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree three ------- 1.1 @@ -118,6 +134,7 @@ (3 rows) SELECT 1.1 AS two UNION (SELECT 2 UNION ALL SELECT 2) ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree two ----- 1.1 @@ -131,6 +148,7 @@ UNION SELECT f1 FROM FLOAT8_TBL ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree five ----------------------- -1.2345678901234e+200 @@ -143,6 +161,7 @@ SELECT f1 AS ten FROM FLOAT8_TBL UNION ALL SELECT f1 FROM FLOAT8_TBL; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ten ----------------------- 0 @@ -161,6 +180,7 @@ UNION SELECT f1 FROM INT4_TBL ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree nine ----------------------- -1.2345678901234e+200 @@ -177,6 +197,7 @@ SELECT f1 AS ten FROM FLOAT8_TBL UNION ALL SELECT f1 FROM INT4_TBL; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ten ----------------------- 0 @@ -197,6 +218,7 @@ SELECT f1 FROM INT4_TBL WHERE f1 BETWEEN 0 AND 1000000 ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree five ----------------------- -1004.3 @@ -210,6 +232,7 @@ UNION SELECT f1 FROM CHAR_TBL ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree three ------- a @@ -221,6 +244,7 @@ UNION SELECT CAST(f1 AS varchar) FROM CHAR_TBL ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree three ------- a @@ -231,6 +255,7 @@ SELECT f1 AS eight FROM VARCHAR_TBL UNION ALL SELECT f1 FROM CHAR_TBL; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree eight ------- a @@ -249,6 +274,7 @@ UNION SELECT TRIM(TRAILING FROM f1) FROM CHAR_TBL ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree five ------------------- a @@ -262,6 +288,7 @@ -- INTERSECT and EXCEPT -- SELECT q2 FROM int8_tbl INTERSECT SELECT q1 FROM int8_tbl ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree q2 ------------------ 123 @@ -269,6 +296,7 @@ (2 rows) SELECT q2 FROM int8_tbl INTERSECT ALL SELECT q1 FROM int8_tbl ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree q2 ------------------ 123 @@ -277,6 +305,7 @@ (3 rows) SELECT q2 FROM int8_tbl EXCEPT SELECT q1 FROM int8_tbl ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree q2 ------------------- -4567890123456789 @@ -284,6 +313,7 @@ (2 rows) SELECT q2 FROM int8_tbl EXCEPT ALL SELECT q1 FROM int8_tbl ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree q2 ------------------- -4567890123456789 @@ -291,6 +321,7 @@ (2 rows) SELECT q2 FROM int8_tbl EXCEPT ALL SELECT DISTINCT q1 FROM int8_tbl ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree q2 ------------------- -4567890123456789 @@ -299,11 +330,13 @@ (3 rows) SELECT q1 FROM int8_tbl EXCEPT SELECT q2 FROM int8_tbl ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree q1 ---- (0 rows) SELECT q1 FROM int8_tbl EXCEPT ALL SELECT q2 FROM int8_tbl ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree q1 ------------------ 123 @@ -311,6 +344,7 @@ (2 rows) SELECT q1 FROM int8_tbl EXCEPT ALL SELECT DISTINCT q2 FROM int8_tbl ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree q1 ------------------ 123 @@ -322,24 +356,28 @@ ERROR: FOR NO KEY UPDATE is not allowed with UNION/INTERSECT/EXCEPT -- nested cases (SELECT 1,2,3 UNION SELECT 4,5,6) INTERSECT SELECT 4,5,6; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ?column? | ?column? | ?column? ----------+----------+---------- 4 | 5 | 6 (1 row) (SELECT 1,2,3 UNION SELECT 4,5,6 ORDER BY 1,2) INTERSECT SELECT 4,5,6; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ?column? | ?column? | ?column? ----------+----------+---------- 4 | 5 | 6 (1 row) (SELECT 1,2,3 UNION SELECT 4,5,6) EXCEPT SELECT 4,5,6; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ?column? | ?column? | ?column? ----------+----------+---------- 1 | 2 | 3 (1 row) (SELECT 1,2,3 UNION SELECT 4,5,6 ORDER BY 1,2) EXCEPT SELECT 4,5,6; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ?column? | ?column? | ?column? ----------+----------+---------- 1 | 2 | 3 @@ -350,6 +388,7 @@ explain (costs off) select count(*) from ( select unique1 from tenk1 union select fivethous from tenk1 ) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------- Aggregate @@ -362,6 +401,7 @@ select count(*) from ( select unique1 from tenk1 union select fivethous from tenk1 ) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 10000 @@ -370,6 +410,7 @@ explain (costs off) select count(*) from ( select unique1 from tenk1 intersect select fivethous from tenk1 ) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------------ Aggregate @@ -384,6 +425,7 @@ select count(*) from ( select unique1 from tenk1 intersect select fivethous from tenk1 ) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 5000 @@ -391,6 +433,7 @@ explain (costs off) select unique1 from tenk1 except select unique2 from tenk1 where unique2 != 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------ HashSetOp Except @@ -403,6 +446,7 @@ (7 rows) select unique1 from tenk1 except select unique2 from tenk1 where unique2 != 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree unique1 --------- 10 @@ -412,6 +456,7 @@ explain (costs off) select count(*) from ( select unique1 from tenk1 union select fivethous from tenk1 ) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------------- Aggregate @@ -425,6 +470,7 @@ select count(*) from ( select unique1 from tenk1 union select fivethous from tenk1 ) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 10000 @@ -433,6 +479,7 @@ explain (costs off) select count(*) from ( select unique1 from tenk1 intersect select fivethous from tenk1 ) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------------------ Aggregate @@ -449,6 +496,7 @@ select count(*) from ( select unique1 from tenk1 intersect select fivethous from tenk1 ) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 5000 @@ -456,6 +504,7 @@ explain (costs off) select unique1 from tenk1 except select unique2 from tenk1 where unique2 != 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------ SetOp Except @@ -470,6 +519,7 @@ (9 rows) select unique1 from tenk1 except select unique2 from tenk1 where unique2 != 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree unique1 --------- 10 @@ -480,6 +530,7 @@ set enable_hashagg to on; explain (costs off) select x from (values ('11'::varbit), ('10'::varbit)) _(x) union select x from (values ('11'::varbit), ('10'::varbit)) _(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------- Unique @@ -493,6 +544,7 @@ set enable_hashagg to off; explain (costs off) select x from (values ('11'::varbit), ('10'::varbit)) _(x) union select x from (values ('11'::varbit), ('10'::varbit)) _(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------- Unique @@ -508,6 +560,7 @@ set enable_hashagg to on; explain (costs off) select x from (values (array[1, 2]), (array[1, 3])) _(x) union select x from (values (array[1, 2]), (array[1, 4])) _(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------- HashAggregate @@ -518,6 +571,7 @@ (5 rows) select x from (values (array[1, 2]), (array[1, 3])) _(x) union select x from (values (array[1, 2]), (array[1, 4])) _(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x ------- {1,4} @@ -527,6 +581,7 @@ explain (costs off) select x from (values (array[1, 2]), (array[1, 3])) _(x) intersect select x from (values (array[1, 2]), (array[1, 4])) _(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------- HashSetOp Intersect @@ -538,6 +593,7 @@ (6 rows) select x from (values (array[1, 2]), (array[1, 3])) _(x) intersect select x from (values (array[1, 2]), (array[1, 4])) _(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x ------- {1,2} @@ -545,6 +601,7 @@ explain (costs off) select x from (values (array[1, 2]), (array[1, 3])) _(x) except select x from (values (array[1, 2]), (array[1, 4])) _(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------- HashSetOp Except @@ -556,6 +613,7 @@ (6 rows) select x from (values (array[1, 2]), (array[1, 3])) _(x) except select x from (values (array[1, 2]), (array[1, 4])) _(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x ------- {1,3} @@ -564,6 +622,7 @@ -- non-hashable type explain (costs off) select x from (values (array['10'::varbit]), (array['11'::varbit])) _(x) union select x from (values (array['10'::varbit]), (array['01'::varbit])) _(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------- Unique @@ -575,6 +634,7 @@ (6 rows) select x from (values (array['10'::varbit]), (array['11'::varbit])) _(x) union select x from (values (array['10'::varbit]), (array['01'::varbit])) _(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x ------ {01} @@ -585,6 +645,7 @@ set enable_hashagg to off; explain (costs off) select x from (values (array[1, 2]), (array[1, 3])) _(x) union select x from (values (array[1, 2]), (array[1, 4])) _(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------- Unique @@ -596,6 +657,7 @@ (6 rows) select x from (values (array[1, 2]), (array[1, 3])) _(x) union select x from (values (array[1, 2]), (array[1, 4])) _(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x ------- {1,2} @@ -605,6 +667,7 @@ explain (costs off) select x from (values (array[1, 2]), (array[1, 3])) _(x) intersect select x from (values (array[1, 2]), (array[1, 4])) _(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------- SetOp Intersect @@ -618,6 +681,7 @@ (8 rows) select x from (values (array[1, 2]), (array[1, 3])) _(x) intersect select x from (values (array[1, 2]), (array[1, 4])) _(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x ------- {1,2} @@ -625,6 +689,7 @@ explain (costs off) select x from (values (array[1, 2]), (array[1, 3])) _(x) except select x from (values (array[1, 2]), (array[1, 4])) _(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------- SetOp Except @@ -638,6 +703,7 @@ (8 rows) select x from (values (array[1, 2]), (array[1, 3])) _(x) except select x from (values (array[1, 2]), (array[1, 4])) _(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x ------- {1,3} @@ -648,6 +714,7 @@ set enable_hashagg to on; explain (costs off) select x from (values (row(1, 2)), (row(1, 3))) _(x) union select x from (values (row(1, 2)), (row(1, 4))) _(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------- Unique @@ -659,6 +726,7 @@ (6 rows) select x from (values (row(1, 2)), (row(1, 3))) _(x) union select x from (values (row(1, 2)), (row(1, 4))) _(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x ------- (1,2) @@ -668,6 +736,7 @@ explain (costs off) select x from (values (row(1, 2)), (row(1, 3))) _(x) intersect select x from (values (row(1, 2)), (row(1, 4))) _(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------- SetOp Intersect @@ -681,6 +750,7 @@ (8 rows) select x from (values (row(1, 2)), (row(1, 3))) _(x) intersect select x from (values (row(1, 2)), (row(1, 4))) _(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x ------- (1,2) @@ -688,6 +758,7 @@ explain (costs off) select x from (values (row(1, 2)), (row(1, 3))) _(x) except select x from (values (row(1, 2)), (row(1, 4))) _(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------- SetOp Except @@ -701,6 +772,7 @@ (8 rows) select x from (values (row(1, 2)), (row(1, 3))) _(x) except select x from (values (row(1, 2)), (row(1, 4))) _(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x ------- (1,3) @@ -711,6 +783,7 @@ -- type is hashable. (Otherwise, this would fail at execution time.) explain (costs off) select x from (values (row('10'::varbit)), (row('11'::varbit))) _(x) union select x from (values (row('10'::varbit)), (row('01'::varbit))) _(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------- Unique @@ -722,6 +795,7 @@ (6 rows) select x from (values (row('10'::varbit)), (row('11'::varbit))) _(x) union select x from (values (row('10'::varbit)), (row('01'::varbit))) _(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x ------ (01) @@ -734,6 +808,7 @@ create type ct1 as (f1 varbit); explain (costs off) select x from (values (row('10'::varbit)::ct1), (row('11'::varbit)::ct1)) _(x) union select x from (values (row('10'::varbit)::ct1), (row('01'::varbit)::ct1)) _(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------- Unique @@ -745,6 +820,7 @@ (6 rows) select x from (values (row('10'::varbit)::ct1), (row('11'::varbit)::ct1)) _(x) union select x from (values (row('10'::varbit)::ct1), (row('01'::varbit)::ct1)) _(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x ------ (01) @@ -756,6 +832,7 @@ set enable_hashagg to off; explain (costs off) select x from (values (row(1, 2)), (row(1, 3))) _(x) union select x from (values (row(1, 2)), (row(1, 4))) _(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------- Unique @@ -767,6 +844,7 @@ (6 rows) select x from (values (row(1, 2)), (row(1, 3))) _(x) union select x from (values (row(1, 2)), (row(1, 4))) _(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x ------- (1,2) @@ -776,6 +854,7 @@ explain (costs off) select x from (values (row(1, 2)), (row(1, 3))) _(x) intersect select x from (values (row(1, 2)), (row(1, 4))) _(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------- SetOp Intersect @@ -789,6 +868,7 @@ (8 rows) select x from (values (row(1, 2)), (row(1, 3))) _(x) intersect select x from (values (row(1, 2)), (row(1, 4))) _(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x ------- (1,2) @@ -796,6 +876,7 @@ explain (costs off) select x from (values (row(1, 2)), (row(1, 3))) _(x) except select x from (values (row(1, 2)), (row(1, 4))) _(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------- SetOp Except @@ -809,6 +890,7 @@ (8 rows) select x from (values (row(1, 2)), (row(1, 3))) _(x) except select x from (values (row(1, 2)), (row(1, 4))) _(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x ------- (1,3) @@ -819,12 +901,14 @@ -- Mixed types -- SELECT f1 FROM float8_tbl INTERSECT SELECT f1 FROM int4_tbl ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 ---- 0 (1 row) SELECT f1 FROM float8_tbl EXCEPT SELECT f1 FROM int4_tbl ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 ----------------------- -1.2345678901234e+200 @@ -837,6 +921,7 @@ -- Operator precedence and (((((extra))))) parentheses -- SELECT q1 FROM int8_tbl INTERSECT SELECT q2 FROM int8_tbl UNION ALL SELECT q2 FROM int8_tbl ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree q1 ------------------- -4567890123456789 @@ -849,6 +934,7 @@ (7 rows) SELECT q1 FROM int8_tbl INTERSECT (((SELECT q2 FROM int8_tbl UNION ALL SELECT q2 FROM int8_tbl))) ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree q1 ------------------ 123 @@ -856,6 +942,7 @@ (2 rows) (((SELECT q1 FROM int8_tbl INTERSECT SELECT q2 FROM int8_tbl ORDER BY 1))) UNION ALL SELECT q2 FROM int8_tbl; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree q1 ------------------- 123 @@ -868,6 +955,7 @@ (7 rows) SELECT q1 FROM int8_tbl UNION ALL SELECT q2 FROM int8_tbl EXCEPT SELECT q1 FROM int8_tbl ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree q1 ------------------- -4567890123456789 @@ -875,6 +963,7 @@ (2 rows) SELECT q1 FROM int8_tbl UNION ALL (((SELECT q2 FROM int8_tbl EXCEPT SELECT q1 FROM int8_tbl ORDER BY 1))); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree q1 ------------------- 123 @@ -887,6 +976,7 @@ (7 rows) (((SELECT q1 FROM int8_tbl UNION ALL SELECT q2 FROM int8_tbl))) EXCEPT SELECT q1 FROM int8_tbl ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree q1 ------------------- -4567890123456789 @@ -899,6 +989,7 @@ -- In this syntax, ORDER BY/LIMIT apply to the result of the EXCEPT SELECT q1,q2 FROM int8_tbl EXCEPT SELECT q2,q1 FROM int8_tbl ORDER BY q2,q1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree q1 | q2 ------------------+------------------- 4567890123456789 | -4567890123456789 @@ -913,6 +1004,7 @@ DETAIL: There is a column named "q2" in table "*SELECT* 2", but it cannot be referenced from this part of the query. -- But this should work: SELECT q1 FROM int8_tbl EXCEPT (((SELECT q2 FROM int8_tbl ORDER BY q2 LIMIT 1))) ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree q1 ------------------ 123 @@ -936,14 +1028,17 @@ -- Check behavior with empty select list (allowed since 9.4) -- select union select; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- (1 row) select intersect select; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- (1 row) select except select; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- (0 rows) @@ -952,6 +1047,7 @@ set enable_sort = false; explain (costs off) select from generate_series(1,5) union select from generate_series(1,3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------- HashAggregate @@ -962,6 +1058,7 @@ explain (costs off) select from generate_series(1,5) intersect select from generate_series(1,3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------------- HashSetOp Intersect @@ -973,26 +1070,32 @@ (6 rows) select from generate_series(1,5) union select from generate_series(1,3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- (1 row) select from generate_series(1,5) union all select from generate_series(1,3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- (8 rows) select from generate_series(1,5) intersect select from generate_series(1,3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- (1 row) select from generate_series(1,5) intersect all select from generate_series(1,3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- (3 rows) select from generate_series(1,5) except select from generate_series(1,3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- (0 rows) select from generate_series(1,5) except all select from generate_series(1,3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- (2 rows) @@ -1001,6 +1104,7 @@ set enable_sort = true; explain (costs off) select from generate_series(1,5) union select from generate_series(1,3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------- Unique @@ -1011,6 +1115,7 @@ explain (costs off) select from generate_series(1,5) intersect select from generate_series(1,3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------------- SetOp Intersect @@ -1022,26 +1127,32 @@ (6 rows) select from generate_series(1,5) union select from generate_series(1,3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- (1 row) select from generate_series(1,5) union all select from generate_series(1,3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- (8 rows) select from generate_series(1,5) intersect select from generate_series(1,3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- (1 row) select from generate_series(1,5) intersect all select from generate_series(1,3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- (3 rows) select from generate_series(1,5) except select from generate_series(1,3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- (0 rows) select from generate_series(1,5) except all select from generate_series(1,3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- (2 rows) @@ -1056,6 +1167,7 @@ UNION SELECT b.f1 FROM (SELECT f1 FROM varchar_tbl) b ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 ------ a @@ -1077,7 +1189,9 @@ CREATE INDEX t1_ab_idx on t1 ((a || b)); CREATE TEMP TABLE t2 (ab text primary key); INSERT INTO t1 VALUES ('a', 'b'), ('x', 'y'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO t2 VALUES ('ab'), ('xy'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree set enable_seqscan = off; set enable_indexscan = on; set enable_bitmapscan = off; @@ -1087,6 +1201,7 @@ UNION ALL SELECT * FROM t2) t WHERE ab = 'ab'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------- Append @@ -1102,6 +1217,7 @@ UNION SELECT * FROM t2) t WHERE ab = 'ab'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------------- HashAggregate @@ -1121,7 +1237,9 @@ ALTER TABLE t1c INHERIT t1; CREATE TEMP TABLE t2c (primary key (ab)) INHERITS (t2); INSERT INTO t1c VALUES ('v', 'w'), ('c', 'd'), ('m', 'n'), ('e', 'f'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO t2c VALUES ('vw'), ('cd'), ('mn'), ('ef'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE INDEX t1c_ab_idx on t1c ((a || b)); set enable_seqscan = on; set enable_indexonlyscan = off; @@ -1131,6 +1249,7 @@ UNION ALL SELECT ab FROM t2) t ORDER BY 1 LIMIT 8; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------- Limit @@ -1147,6 +1266,7 @@ UNION ALL SELECT ab FROM t2) t ORDER BY 1 LIMIT 8; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ab ---- ab @@ -1172,6 +1292,7 @@ union all select event_id from other_events) ss order by event_id; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------- Merge Append @@ -1192,6 +1313,7 @@ UNION ALL SELECT 2 AS t, * FROM tenk1 b) c WHERE t = 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------- Seq Scan on tenk1 b @@ -1205,6 +1327,7 @@ SELECT 2 AS t, 4 AS x) ss WHERE x < 4 ORDER BY x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------- Sort @@ -1224,6 +1347,7 @@ SELECT 2 AS t, 4 AS x) ss WHERE x < 4 ORDER BY x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree t | x ---+--- 1 | 2 @@ -1236,6 +1360,7 @@ SELECT 2 AS t, 4 AS x) ss WHERE x < 4 ORDER BY x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------- Sort @@ -1256,6 +1381,7 @@ SELECT 2 AS t, 4 AS x) ss WHERE x < 4 ORDER BY x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree t | x ---+--- 1 | 1 @@ -1270,6 +1396,7 @@ SELECT 2 AS t, 4 AS x) ss WHERE x > 3 ORDER BY x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------------ Sort @@ -1290,6 +1417,7 @@ SELECT 2 AS t, 4 AS x) ss WHERE x > 3 ORDER BY x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree t | x ---+--- 2 | 4 @@ -1303,6 +1431,7 @@ union all select distinct * from int8_tbl i82) ss where q2 = q2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------- Unique @@ -1327,6 +1456,7 @@ union all select distinct * from int8_tbl i82) ss where q2 = q2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree q1 ------------------ 123 @@ -1339,6 +1469,7 @@ union all select distinct * from int8_tbl i82) ss where -q1 = q2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------- Unique @@ -1363,6 +1494,7 @@ union all select distinct * from int8_tbl i82) ss where -q1 = q2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree q1 ------------------ 4567890123456789 @@ -1380,6 +1512,7 @@ select * from (select * from t3 a union all select * from t3 b) ss join int4_tbl on f1 = expensivefunc(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------ Nested Loop @@ -1394,6 +1527,7 @@ select * from (select * from t3 a union all select * from t3 b) ss join int4_tbl on f1 = expensivefunc(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | f1 ---+---- 0 | 0 @@ -1409,6 +1543,7 @@ union all select *, 1 as x from int8_tbl b) ss where (x = 0) or (q1 >= q2 and q1 <= q2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------- Append @@ -1422,6 +1557,7 @@ union all select *, 1 as x from int8_tbl b) ss where (x = 0) or (q1 >= q2 and q1 <= q2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree q1 | q2 | x ------------------+-------------------+--- 123 | 456 | 0 @@ -1441,6 +1577,7 @@ inner join tenk2 t2 on t1.tenthous = t2.tenthous and t2.thousand = 0 union all (values(1)) limit 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------- Limit @@ -1460,6 +1597,7 @@ left join lateral (select t1.tenthous from tenk2 t2 union all (values(1))) on true limit 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------- Limit diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/join.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/join.out --- /tmp/cirrus-ci-build/src/test/regress/expected/join.out 2024-03-19 15:41:21.019231000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/join.out 2024-03-19 15:51:20.572731000 +0000 @@ -234,6 +234,7 @@ -- SELECT * FROM J1_TBL CROSS JOIN J2_TBL; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | j | t | i | k ---+---+-------+---+---- 1 | 4 | one | 1 | -1 @@ -346,6 +347,7 @@ -- resolve previous ambiguity by specifying the table name SELECT t1.i, k, t FROM J1_TBL t1 CROSS JOIN J2_TBL t2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | k | t ---+----+------- 1 | -1 | one @@ -452,6 +454,7 @@ SELECT ii, tt, kk FROM (J1_TBL CROSS JOIN J2_TBL) AS tx (ii, jj, tt, ii2, kk); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ii | tt | kk ----+-------+---- 1 | one | -1 @@ -558,6 +561,7 @@ SELECT tx.ii, tx.jj, tx.kk FROM (J1_TBL t1 (a, b, c) CROSS JOIN J2_TBL t2 (d, e)) AS tx (ii, jj, tt, ii2, kk); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ii | jj | kk ----+----+---- 1 | 4 | -1 @@ -663,6 +667,7 @@ SELECT * FROM J1_TBL CROSS JOIN J2_TBL a CROSS JOIN J2_TBL b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | j | t | i | k | i | k ---+---+-------+---+----+---+---- 1 | 4 | one | 1 | -1 | 1 | -1 @@ -1571,6 +1576,7 @@ -- Inner equi-join on specified column SELECT * FROM J1_TBL INNER JOIN J2_TBL USING (i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | j | t | k ---+---+-------+---- 0 | | zero | @@ -1585,6 +1591,7 @@ -- Same as above, slightly different syntax SELECT * FROM J1_TBL JOIN J2_TBL USING (i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | j | t | k ---+---+-------+---- 0 | | zero | @@ -1599,6 +1606,7 @@ SELECT * FROM J1_TBL t1 (a, b, c) JOIN J2_TBL t2 (a, d) USING (a) ORDER BY a, d; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c | d ---+---+-------+---- 0 | | zero | @@ -1613,6 +1621,7 @@ SELECT * FROM J1_TBL t1 (a, b, c) JOIN J2_TBL t2 (a, b) USING (b) ORDER BY b, t1.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree b | a | c | a ---+---+-------+--- 0 | 5 | five | @@ -1623,12 +1632,14 @@ -- test join using aliases SELECT * FROM J1_TBL JOIN J2_TBL USING (i) WHERE J1_TBL.t = 'one'; -- ok +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | j | t | k ---+---+-----+---- 1 | 4 | one | -1 (1 row) SELECT * FROM J1_TBL JOIN J2_TBL USING (i) AS x WHERE J1_TBL.t = 'one'; -- ok +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | j | t | k ---+---+-----+---- 1 | 4 | one | -1 @@ -1640,6 +1651,7 @@ ^ DETAIL: There is an entry for table "j1_tbl", but it cannot be referenced from this part of the query. SELECT * FROM J1_TBL JOIN J2_TBL USING (i) AS x WHERE x.i = 1; -- ok +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | j | t | k ---+---+-----+---- 1 | 4 | one | -1 @@ -1656,18 +1668,21 @@ SELECT * FROM J1_TBL a1 JOIN J2_TBL a2 USING (i) AS a1; -- error ERROR: table name "a1" specified more than once SELECT x.* FROM J1_TBL JOIN J2_TBL USING (i) AS x WHERE J1_TBL.t = 'one'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i --- 1 (1 row) SELECT ROW(x.*) FROM J1_TBL JOIN J2_TBL USING (i) AS x WHERE J1_TBL.t = 'one'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree row ----- (1) (1 row) SELECT row_to_json(x.*) FROM J1_TBL JOIN J2_TBL USING (i) AS x WHERE J1_TBL.t = 'one'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree row_to_json ------------- {"i":1} @@ -1679,6 +1694,7 @@ -- SELECT * FROM J1_TBL NATURAL JOIN J2_TBL; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | j | t | k ---+---+-------+---- 0 | | zero | @@ -1692,6 +1708,7 @@ SELECT * FROM J1_TBL t1 (a, b, c) NATURAL JOIN J2_TBL t2 (a, d); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c | d ---+---+-------+---- 0 | | zero | @@ -1705,6 +1722,7 @@ SELECT * FROM J1_TBL t1 (a, b, c) NATURAL JOIN J2_TBL t2 (d, a); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c | d ---+---+------+--- 0 | | zero | @@ -1716,6 +1734,7 @@ -- currently, Postgres will fill in with underlying names SELECT * FROM J1_TBL t1 (a, b) NATURAL JOIN J2_TBL t2 (a); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | t | k ---+---+-------+---- 0 | | zero | @@ -1732,6 +1751,7 @@ -- SELECT * FROM J1_TBL JOIN J2_TBL ON (J1_TBL.i = J2_TBL.i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | j | t | i | k ---+---+-------+---+---- 0 | | zero | 0 | @@ -1745,6 +1765,7 @@ SELECT * FROM J1_TBL JOIN J2_TBL ON (J1_TBL.i = J2_TBL.k); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | j | t | i | k ---+---+------+---+--- 0 | | zero | | 0 @@ -1757,6 +1778,7 @@ -- SELECT * FROM J1_TBL JOIN J2_TBL ON (J1_TBL.i <= J2_TBL.k); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | j | t | i | k ---+---+-------+---+--- 1 | 4 | one | 2 | 2 @@ -1777,6 +1799,7 @@ SELECT * FROM J1_TBL LEFT OUTER JOIN J2_TBL USING (i) ORDER BY i, k, t; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | j | t | k ---+---+-------+---- 0 | | zero | @@ -1797,6 +1820,7 @@ SELECT * FROM J1_TBL LEFT JOIN J2_TBL USING (i) ORDER BY i, k, t; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | j | t | k ---+---+-------+---- 0 | | zero | @@ -1816,6 +1840,7 @@ SELECT * FROM J1_TBL RIGHT OUTER JOIN J2_TBL USING (i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | j | t | k ---+---+-------+---- 0 | | zero | @@ -1831,6 +1856,7 @@ SELECT * FROM J1_TBL RIGHT JOIN J2_TBL USING (i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | j | t | k ---+---+-------+---- 0 | | zero | @@ -1847,6 +1873,7 @@ SELECT * FROM J1_TBL FULL OUTER JOIN J2_TBL USING (i) ORDER BY i, k, t; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | j | t | k ---+---+-------+---- 0 | | zero | @@ -1869,6 +1896,7 @@ SELECT * FROM J1_TBL FULL JOIN J2_TBL USING (i) ORDER BY i, k, t; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | j | t | k ---+---+-------+---- 0 | | zero | @@ -1890,12 +1918,14 @@ SELECT * FROM J1_TBL LEFT JOIN J2_TBL USING (i) WHERE (k = 1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | j | t | k ---+---+---+--- (0 rows) SELECT * FROM J1_TBL LEFT JOIN J2_TBL USING (i) WHERE (i = 1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | j | t | k ---+---+-----+---- 1 | 4 | one | -1 @@ -1940,6 +1970,7 @@ INSERT INTO t3 VALUES ( 'cc', 23 ); INSERT INTO t3 VALUES ( 'dd', 33 ); SELECT * FROM t1 FULL JOIN t2 USING (name) FULL JOIN t3 USING (name); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree name | n | n | n ------+----+----+---- bb | 11 | 12 | 13 @@ -1957,6 +1988,7 @@ INNER JOIN (SELECT * FROM t3) s3 USING (name); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree name | n | n ------+----+---- bb | 12 | 13 @@ -1968,6 +2000,7 @@ LEFT JOIN (SELECT * FROM t3) s3 USING (name); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree name | n | n ------+----+---- bb | 12 | 13 @@ -1980,6 +2013,7 @@ FULL JOIN (SELECT * FROM t3) s3 USING (name); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree name | n | n ------+----+---- bb | 12 | 13 @@ -1994,6 +2028,7 @@ (SELECT name, n as s2_n, 2 as s2_2 FROM t2) as s2 NATURAL INNER JOIN (SELECT name, n as s3_n, 3 as s3_2 FROM t3) s3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree name | s2_n | s2_2 | s3_n | s3_2 ------+------+------+------+------ bb | 12 | 2 | 13 | 3 @@ -2004,6 +2039,7 @@ (SELECT name, n as s2_n, 2 as s2_2 FROM t2) as s2 NATURAL LEFT JOIN (SELECT name, n as s3_n, 3 as s3_2 FROM t3) s3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree name | s2_n | s2_2 | s3_n | s3_2 ------+------+------+------+------ bb | 12 | 2 | 13 | 3 @@ -2015,6 +2051,7 @@ (SELECT name, n as s2_n, 2 as s2_2 FROM t2) as s2 NATURAL FULL JOIN (SELECT name, n as s3_n, 3 as s3_2 FROM t3) s3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree name | s2_n | s2_2 | s3_n | s3_2 ------+------+------+------+------ bb | 12 | 2 | 13 | 3 @@ -2029,6 +2066,7 @@ (SELECT name, n as s2_n, 2 as s2_2 FROM t2) as s2 NATURAL INNER JOIN (SELECT name, n as s3_n, 3 as s3_2 FROM t3) s3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree name | s1_n | s1_1 | s2_n | s2_2 | s3_n | s3_2 ------+------+------+------+------+------+------ bb | 11 | 1 | 12 | 2 | 13 | 3 @@ -2040,6 +2078,7 @@ (SELECT name, n as s2_n, 2 as s2_2 FROM t2) as s2 NATURAL FULL JOIN (SELECT name, n as s3_n, 3 as s3_2 FROM t3) s3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree name | s1_n | s1_1 | s2_n | s2_2 | s3_n | s3_2 ------+------+------+------+------+------+------ bb | 11 | 1 | 12 | 2 | 13 | 3 @@ -2056,6 +2095,7 @@ NATURAL FULL JOIN (SELECT name, n as s3_n FROM t3) as s3 ) ss2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree name | s1_n | s2_n | s3_n ------+------+------+------ bb | 11 | 12 | 13 @@ -2072,6 +2112,7 @@ NATURAL FULL JOIN (SELECT name, n as s3_n FROM t3) as s3 ) ss2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree name | s1_n | s2_n | s2_2 | s3_n ------+------+------+------+------ bb | 11 | 12 | 2 | 13 @@ -2086,6 +2127,7 @@ FULL JOIN (SELECT name, 2 as s2_n FROM t2) as s2 ON (s1_n = s2_n); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree name | s1_n | name | s2_n ------+------+------+------ | | bb | 2 @@ -2126,6 +2168,7 @@ (4 rows) select * from x left join y on (x1 = y1 and x2 is not null); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x1 | x2 | y1 | y2 ----+----+----+----- 1 | 11 | 1 | 111 @@ -2136,6 +2179,7 @@ (5 rows) select * from x left join y on (x1 = y1 and y2 is not null); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x1 | x2 | y1 | y2 ----+----+----+----- 1 | 11 | 1 | 111 @@ -2147,6 +2191,7 @@ select * from (x left join y on (x1 = y1)) left join x xx(xx1,xx2) on (x1 = xx1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x1 | x2 | y1 | y2 | xx1 | xx2 ----+----+----+-----+-----+----- 1 | 11 | 1 | 111 | 1 | 11 @@ -2158,6 +2203,7 @@ select * from (x left join y on (x1 = y1)) left join x xx(xx1,xx2) on (x1 = xx1 and x2 is not null); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x1 | x2 | y1 | y2 | xx1 | xx2 ----+----+----+-----+-----+----- 1 | 11 | 1 | 111 | 1 | 11 @@ -2169,6 +2215,7 @@ select * from (x left join y on (x1 = y1)) left join x xx(xx1,xx2) on (x1 = xx1 and y2 is not null); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x1 | x2 | y1 | y2 | xx1 | xx2 ----+----+----+-----+-----+----- 1 | 11 | 1 | 111 | 1 | 11 @@ -2180,6 +2227,7 @@ select * from (x left join y on (x1 = y1)) left join x xx(xx1,xx2) on (x1 = xx1 and xx2 is not null); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x1 | x2 | y1 | y2 | xx1 | xx2 ----+----+----+-----+-----+----- 1 | 11 | 1 | 111 | 1 | 11 @@ -2192,6 +2240,7 @@ -- these should NOT give the same answers as above select * from (x left join y on (x1 = y1)) left join x xx(xx1,xx2) on (x1 = xx1) where (x2 is not null); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x1 | x2 | y1 | y2 | xx1 | xx2 ----+----+----+-----+-----+----- 1 | 11 | 1 | 111 | 1 | 11 @@ -2201,6 +2250,7 @@ select * from (x left join y on (x1 = y1)) left join x xx(xx1,xx2) on (x1 = xx1) where (y2 is not null); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x1 | x2 | y1 | y2 | xx1 | xx2 ----+----+----+-----+-----+----- 1 | 11 | 1 | 111 | 1 | 11 @@ -2210,6 +2260,7 @@ select * from (x left join y on (x1 = y1)) left join x xx(xx1,xx2) on (x1 = xx1) where (xx2 is not null); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x1 | x2 | y1 | y2 | xx1 | xx2 ----+----+----+-----+-----+----- 1 | 11 | 1 | 111 | 1 | 11 @@ -2224,6 +2275,7 @@ select count(*) from tenk1 a where unique1 in (select unique1 from tenk1 b join tenk1 c using (unique1) where b.unique2 = 42); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 1 @@ -2263,6 +2315,7 @@ select aa, bb, unique1, unique1 from tenk1 right join b_star on aa = unique1 where bb < bb and bb is null; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------- Result @@ -2272,6 +2325,7 @@ select aa, bb, unique1, unique1 from tenk1 right join b_star on aa = unique1 where bb < bb and bb is null; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree aa | bb | unique1 | unique1 ----+----+---------+--------- (0 rows) @@ -2283,6 +2337,7 @@ select * from int8_tbl i1 left join (int8_tbl i2 join (select 123 as x) ss on i2.q1 = x) on i1.q2 = i2.q2 order by 1, 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------- Sort @@ -2298,6 +2353,7 @@ select * from int8_tbl i1 left join (int8_tbl i2 join (select 123 as x) ss on i2.q1 = x) on i1.q2 = i2.q2 order by 1, 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree q1 | q2 | q1 | q2 | x ------------------+-------------------+-----+------------------+----- 123 | 456 | 123 | 456 | 123 @@ -2320,6 +2376,7 @@ tenk1 t4, tenk1 t5 where t4.thousand = t5.unique1 and ss.x1 = t4.tenthous and ss.x2 = t5.stringu1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 1000 @@ -2335,6 +2392,7 @@ (select sum(f1)+1 as f1 from int4_tbl i4a) a, (select sum(f1) as f1 from int4_tbl i4b) b where b.f1 = t.thousand and a.f1 = b.f1 and (a.f1+b.f1+999) = t.tenthous; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------------------------------------------------------- Nested Loop @@ -2353,6 +2411,7 @@ (select sum(f1)+1 as f1 from int4_tbl i4a) a, (select sum(f1) as f1 from int4_tbl i4b) b where b.f1 = t.thousand and a.f1 = b.f1 and (a.f1+b.f1+999) = t.tenthous; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 | f1 | thousand | tenthous ----+----+----------+---------- (0 rows) @@ -2366,6 +2425,7 @@ left join int4_tbl t3 on t3.f1 > 0 left join int4_tbl t4 on t3.f1 > 1 where t4.f1 is null; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------- Nested Loop @@ -2387,6 +2447,7 @@ left join int4_tbl t3 on t3.f1 > 0 left join int4_tbl t4 on t3.f1 > 1 where t4.f1 is null; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 ---- (0 rows) @@ -2396,6 +2457,7 @@ from int4_tbl t1 left join int4_tbl t2 on true left join int4_tbl t3 on t2.f1 > 0 left join int4_tbl t4 on t3.f1 > 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------- Nested Loop Left Join @@ -2417,6 +2479,7 @@ left join onek t2 on t1.unique1 = t2.unique1 left join onek t3 on t2.unique1 != t3.unique1 left join onek t4 on t3.unique1 = t4.unique1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------- Nested Loop Left Join @@ -2440,6 +2503,7 @@ left join int4_tbl t3 on t2.f1 = t3.f1 left join int4_tbl t4 on t3.f1 = t4.f1) s on true inner join int4_tbl t5 on true; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------- Nested Loop @@ -2464,6 +2528,7 @@ left join int4_tbl t2 on true left join int4_tbl t3 on true left join int4_tbl t4 on t2.f1 = t3.f1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------- Nested Loop Left Join @@ -2484,6 +2549,7 @@ left join int4_tbl t2 on true left join int4_tbl t3 on t2.f1 = t3.f1 left join int4_tbl t4 on t3.f1 != t4.f1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------- Nested Loop Left Join @@ -2505,6 +2571,7 @@ left join (int4_tbl t2 left join int4_tbl t3 on t2.f1 > 0) on t2.f1 > 1 left join int4_tbl t4 on t2.f1 > 2 and t3.f1 > 3 where t1.f1 = coalesce(t2.f1, 1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------- Nested Loop Left Join @@ -2529,6 +2596,7 @@ where t3.f1 is null) s left join tenk1 t4 on s.f1 > 1) on s.f1 = t1.f1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------- Hash Right Join @@ -2553,6 +2621,7 @@ where t2.f1 <> coalesce(t3.f1, -1)) s left join tenk1 t4 on s.f1 > 1) on s.f1 = t1.f1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------- Nested Loop Left Join @@ -2576,6 +2645,7 @@ left join onek t2 on t1.unique1 = t2.unique1 left join onek t3 on t2.unique1 = t3.unique1 left join onek t4 on t3.unique1 = t4.unique1 and t2.unique2 = t4.unique2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------ Hash Left Join @@ -2598,6 +2668,7 @@ (int8_tbl t2 left join int8_tbl t3 full join int8_tbl t4 on false on false) left join int8_tbl t5 on t2.q1 = t5.q1 on t2.q2 = 123; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------- Nested Loop Left Join @@ -2620,6 +2691,7 @@ left join lateral (select * from int8_tbl t3 where t3.q1 = t2.q1 offset 0) s on t2.q1 = 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------- Nested Loop Left Join @@ -2638,6 +2710,7 @@ left join lateral (select * from generate_series(t2.q1, 100)) s on t2.q1 = 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------- Nested Loop Left Join @@ -2655,6 +2728,7 @@ left join lateral (select t2.q1 from int8_tbl t3) s on t2.q1 = 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------- Nested Loop Left Join @@ -2672,6 +2746,7 @@ left join lateral (select * from onek t3 where t3.two = t2.two offset 0) s on t2.unique1 = 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------- Nested Loop Left Join @@ -2696,6 +2771,7 @@ j1_tbl full join (select * from j2_tbl order by j2_tbl.i desc, j2_tbl.k asc) j2_tbl on j1_tbl.i = j2_tbl.i and j1_tbl.i = j2_tbl.k; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------- Merge Full Join @@ -2712,6 +2788,7 @@ j1_tbl full join (select * from j2_tbl order by j2_tbl.i desc, j2_tbl.k asc) j2_tbl on j1_tbl.i = j2_tbl.i and j1_tbl.i = j2_tbl.k; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | j | t | i | k ---+---+-------+---+---- | | | | 0 @@ -2744,6 +2821,7 @@ left join (select * from tenk1 y order by y.unique2) y on x.thousand = y.unique2 and x.twothousand = y.hundred and x.fivethous = y.unique2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------------------------- Aggregate @@ -2762,6 +2840,7 @@ left join (select * from tenk1 y order by y.unique2) y on x.thousand = y.unique2 and x.twothousand = y.hundred and x.fivethous = y.unique2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 10000 @@ -2780,6 +2859,7 @@ from tenk1 x inner join tenk1 y on x.thousand = y.thousand group by x.thousand, x.twothousand order by x.thousand desc, x.twothousand; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------------------------- GroupAggregate @@ -2830,6 +2910,7 @@ (3 rows) DELETE FROM t3 USING t1 JOIN t2 USING (a) WHERE t3.x > t1.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM t3; x | y ---+--- @@ -2847,6 +2928,7 @@ create temp table t2a () inherits (t2); insert into t2a values (200, 2001); select * from t1 left join t2 on (t1.a = t2.a); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | a | b -----+------+-----+------ 5 | 10 | | @@ -2866,6 +2948,7 @@ select t1.*, t2.*, unnamed_join.* from t1 join t2 on (t1.a = t2.a), t3 as unnamed_join for update of unnamed_join; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | a | b | x | y ---+---+---+---+---+--- (0 rows) @@ -2873,6 +2956,7 @@ select foo.*, unnamed_join.* from t1 join t2 using (a) as foo, t3 as unnamed_join for update of unnamed_join; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | x | y ---+---+--- (0 rows) @@ -2908,6 +2992,7 @@ set enable_nestloop to off; -- these should give the same results select tt1.*, tt2.* from tt1 left join tt2 on tt1.joincol = tt2.joincol; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree tt1_id | joincol | tt2_id | joincol --------+---------+--------+--------- 1 | 11 | 21 | 11 @@ -2916,6 +3001,7 @@ (3 rows) select tt1.*, tt2.* from tt2 right join tt1 on tt1.joincol = tt2.joincol; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree tt1_id | joincol | tt2_id | joincol --------+---------+--------+--------- 1 | 11 | 21 | 11 @@ -2960,9 +3046,11 @@ -- create temp table tt3(f1 int, f2 text); insert into tt3 select x, repeat('xyzzy', 100) from generate_series(1,10000) x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree analyze tt3; create temp table tt4(f1 int); insert into tt4 values (0),(1),(9999); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree analyze tt4; set enable_nestloop to off; EXPLAIN (COSTS OFF) @@ -2975,6 +3063,7 @@ ) AS d ON (a.f1 = d.f1) WHERE COALESCE(d.f1, 0) = 0 ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------- Sort @@ -3001,6 +3090,7 @@ ) AS d ON (a.f1 = d.f1) WHERE COALESCE(d.f1, 0) = 0 ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 ------ 0 @@ -3063,6 +3153,7 @@ explain (costs off) select a.* from tenk1 a left join tenk1 b on a.unique1 = b.unique2 where b.unique2 is null; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------ Hash Anti Join @@ -3086,6 +3177,7 @@ ) a1 on t3.c2 = a1.c1 where t1.c1 = t2.c2 ); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------------------- Hash Anti Join @@ -3147,6 +3239,7 @@ left join (SELECT * FROM yy where pkyy = 101) as yya ON yy.pkyy = yya.pkyy left join xx xxa on yya.pkxx = xxa.pkxx left join xx xxb on coalesce (xxa.pkxx, 1) = xxb.pkxx; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree yy_pkyy | yy_pkxx | yya_pkyy | xxa_pkxx | xxb_pkxx ---------+---------+----------+----------+---------- 101 | 1 | 101 | 1 | 1 @@ -3167,6 +3260,7 @@ zt2 left join zt3 on (f2 = f3) left join zt1 on (f3 = f1) where f2 = 53; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f2 | f3 | f1 ----+----+---- 53 | | @@ -3177,6 +3271,7 @@ zt2 left join zt3 on (f2 = f3) left join zv1 on (f3 = f1) where f2 = 53; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f2 | f3 | f1 | junk ----+----+----+------ 53 | | | @@ -3190,6 +3285,7 @@ from tenk1 a left join tenk1 b on a.unique2 = b.tenthous where a.unique1 = 42 and ((b.unique2 is null and a.ten = 2) or b.hundred = 3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree unique2 | ten | tenthous | unique2 | hundred ---------+-----+----------+---------+--------- (0 rows) @@ -3201,6 +3297,7 @@ select count(*) from tenk1 a left join tenk1 b on (a.unique2 = b.unique1 and exists (select 1 from tenk1 c where c.thousand = b.unique2 and $1)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree execute foo(true); count ------- @@ -3223,6 +3320,7 @@ create temp table a (i integer); create temp table b (x integer, y integer); select * from a left join b on i = x and i = y and x = i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | x | y ---+---+--- (0 rows) @@ -3265,6 +3363,7 @@ select t1.q2, count(t2.*) from int8_tbl t1 left join int8_tbl t2 on (t1.q2 = t2.q1) group by t1.q2 order by 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree q2 | count -------------------+------- -4567890123456789 | 0 @@ -3276,6 +3375,7 @@ select t1.q2, count(t2.*) from int8_tbl t1 left join (select * from int8_tbl) t2 on (t1.q2 = t2.q1) group by t1.q2 order by 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree q2 | count -------------------+------- -4567890123456789 | 0 @@ -3287,6 +3387,7 @@ select t1.q2, count(t2.*) from int8_tbl t1 left join (select * from int8_tbl offset 0) t2 on (t1.q2 = t2.q1) group by t1.q2 order by 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree q2 | count -------------------+------- -4567890123456789 | 0 @@ -3300,6 +3401,7 @@ (select q1, case when q2=1 then 1 else q2 end as q2 from int8_tbl) t2 on (t1.q2 = t2.q1) group by t1.q2 order by 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree q2 | count -------------------+------- -4567890123456789 | 0 @@ -3342,6 +3444,7 @@ ) as ss on (c.a = ss.code) order by c.name; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree name | code | b_cnt | const ------+------+-------+------- A | p | 2 | -1 @@ -3369,6 +3472,7 @@ ON sub4.key5 = sub3.key3 ) sub2 ON sub1.key1 = sub2.key3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree key1 | key3 | value2 | value3 ------+------+--------+-------- 1 | 1 | 1 | 1 @@ -3390,6 +3494,7 @@ ON sub4.key5 = sub3.key3 ) sub2 ON sub1.key1 = sub2.key3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree key1 | key3 | value2 | value3 ------+------+--------+-------- 1 | 1 | 1 | 1 @@ -3406,6 +3511,7 @@ ( SELECT COALESCE(q2, -1) AS qq FROM int8_tbl b ) AS ss2 USING (qq) INNER JOIN tenk1 c ON qq = unique2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------------------------------------------------------------------- Nested Loop @@ -3425,6 +3531,7 @@ ( SELECT COALESCE(q2, -1) AS qq FROM int8_tbl b ) AS ss2 USING (qq) INNER JOIN tenk1 c ON qq = unique2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree qq | unique1 -----+--------- 123 | 4596 @@ -3474,6 +3581,7 @@ ) as ss2 on ss2.id = nt3.nt2_id where nt3.id = 1 and ss2.b3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------- Nested Loop @@ -3498,6 +3606,7 @@ ) as ss2 on ss2.id = nt3.nt2_id where nt3.id = 1 and ss2.b3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id ---- 1 @@ -3514,6 +3623,7 @@ where 1 = (select 1 from int8_tbl t3 where ss.y is not null limit 1) order by 1,2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------- Sort @@ -3538,6 +3648,7 @@ where 1 = (select 1 from int8_tbl t3 where ss.y is not null limit 1) order by 1,2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree q1 | q2 | x | y ------------------+------------------+------------------+---- 123 | 4567890123456789 | 4567890123456789 | 42 @@ -3564,6 +3675,7 @@ right join int4_tbl as i43 on (i43.f1 > 1) where ss1.loc = ss1.lat) as ss2 where i41.f1 > 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------- Nested Loop @@ -3590,6 +3702,7 @@ right join int4_tbl as i43 on (i43.f1 > 1) where ss1.loc = ss1.lat) as ss2 where i41.f1 > 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 | x ------------+--- 123456 | 1 @@ -3618,6 +3731,7 @@ -- test the corner cases FULL JOIN ON TRUE and FULL JOIN ON FALSE -- select * from int4_tbl a full join int4_tbl b on true; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 | f1 -------------+------------- 0 | 0 @@ -3648,6 +3762,7 @@ (25 rows) select * from int4_tbl a full join int4_tbl b on false; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 | f1 -------------+------------- | 0 @@ -3674,6 +3789,7 @@ tenk1 join int4_tbl on f1 = twothousand, q1, q2 where q1 = thousand or q2 = thousand; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------ Hash Join @@ -3698,6 +3814,7 @@ tenk1 join int4_tbl on f1 = twothousand, q1, q2 where thousand = (q1 + q2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------- Hash Join @@ -3749,6 +3866,7 @@ left join tenk1 t2 on (subq1.y1 = t2.unique1) where t1.unique2 < 42 and t1.stringu1 > t2.stringu2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------------- Nested Loop @@ -3778,6 +3896,7 @@ left join tenk1 t2 on (subq1.y1 = t2.unique1) where t1.unique2 < 42 and t1.stringu1 > t2.stringu2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree unique2 | stringu1 | unique1 | stringu2 ---------+----------+---------+---------- 11 | WFAAAA | 3 | LKIAAA @@ -3799,6 +3918,7 @@ on i8.q1 = i4.f1 on t1.tenthous = ss1.d1 where t1.unique1 < i4.f1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree d1 ---- (0 rows) @@ -3817,6 +3937,7 @@ left join tenk1 t2 on (subq1.y1 = t2.unique1) where t1.unique2 < 42 and t1.stringu1 > t2.stringu2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------- Nested Loop @@ -3842,6 +3963,7 @@ left join tenk1 t2 on (subq1.y1 = t2.unique1) where t1.unique2 < 42 and t1.stringu1 > t2.stringu2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree unique2 | stringu1 | unique1 | stringu2 ---------+----------+---------+---------- 11 | WFAAAA | 3 | LKIAAA @@ -3853,6 +3975,7 @@ select * from (select 1 as x) ss1 left join (select 2 as y) ss2 on (true), lateral (select ss2.y as z limit 1) ss3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------- Nested Loop @@ -3868,6 +3991,7 @@ select * from (select 1 as x) ss1 left join (select 2 as y) ss2 on (true), lateral (select ss2.y as z limit 1) ss3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | y | z ---+---+--- 1 | 2 | 2 @@ -3884,6 +4008,7 @@ union all select a as b) as t3 where b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------- Nested Loop @@ -3903,6 +4028,7 @@ union all select a as b) as t3 where b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree z | a | b ---+---+--- 0 | t | t @@ -3914,6 +4040,7 @@ with ctetable as not materialized ( select 1 as f1 ) select * from ctetable c1 where f1 in ( select c3.f1 from ctetable c2 full join ctetable c3 on true ); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------- Result @@ -3924,6 +4051,7 @@ with ctetable as not materialized ( select 1 as f1 ) select * from ctetable c1 where f1 in ( select c3.f1 from ctetable c2 full join ctetable c3 on true ); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 ---- 1 @@ -3936,6 +4064,7 @@ inner join (int8_tbl t2 left join information_schema.column_udt_usage on null) on null; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------------------------------------------- Result @@ -3949,6 +4078,7 @@ select text 'foo' union all select text 'bar' ) ss(x) on true where ss.x is null; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------- Nested Loop Left Join @@ -3974,6 +4104,7 @@ explain (costs off) select unique1 from tenk1, (select * from f_immutable_int4(1) x) x where x = unique1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------- Index Only Scan using tenk1_unique1 on tenk1 @@ -3984,6 +4115,7 @@ select unique1, x.* from tenk1, (select *, random() from f_immutable_int4(1) x) x where x = unique1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------- Nested Loop @@ -3997,6 +4129,7 @@ explain (costs off) select unique1 from tenk1, f_immutable_int4(1) x where x = unique1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------- Index Only Scan using tenk1_unique1 on tenk1 @@ -4005,6 +4138,7 @@ explain (costs off) select unique1 from tenk1, lateral f_immutable_int4(1) x where x = unique1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------- Index Only Scan using tenk1_unique1 on tenk1 @@ -4013,6 +4147,7 @@ explain (costs off) select unique1 from tenk1, lateral f_immutable_int4(1) x where x in (select 17); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------- Result @@ -4021,6 +4156,7 @@ explain (costs off) select unique1, x from tenk1 join f_immutable_int4(1) x on unique1 = x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------- Index Only Scan using tenk1_unique1 on tenk1 @@ -4029,6 +4165,7 @@ explain (costs off) select unique1, x from tenk1 left join f_immutable_int4(1) x on unique1 = x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------- Nested Loop Left Join @@ -4040,6 +4177,7 @@ explain (costs off) select unique1, x from tenk1 right join f_immutable_int4(1) x on unique1 = x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------- Nested Loop Left Join @@ -4050,6 +4188,7 @@ explain (costs off) select unique1, x from tenk1 full join f_immutable_int4(1) x on unique1 = x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------- Merge Full Join @@ -4063,6 +4202,7 @@ -- check that pullup of a const function allows further const-folding explain (costs off) select unique1 from tenk1, f_immutable_int4(1) x where x = 42; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------- Result @@ -4082,6 +4222,7 @@ ) as ss2 on ss2.id = nt3.nt2_id where nt3.id = 1 and ss2.b3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------- Nested Loop Left Join @@ -4103,6 +4244,7 @@ $$select row($1)::int4_tbl$$ language sql; explain (verbose, costs off) select * from mki8(1,2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------ Function Scan on mki8 @@ -4111,6 +4253,7 @@ (3 rows) select * from mki8(1,2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree q1 | q2 ----+---- 1 | 2 @@ -4118,6 +4261,7 @@ explain (verbose, costs off) select * from mki4(42); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------- Function Scan on mki4 @@ -4126,6 +4270,7 @@ (3 rows) select * from mki4(42); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 ---- 42 @@ -4141,6 +4286,7 @@ select (t2.*).unique1, f_field_select(t2) from tenk1 t1 left join onek t2 on t1.unique1 = t2.unique1 left join int8_tbl t3 on true; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------- Nested Loop Left Join @@ -4166,6 +4312,7 @@ explain (costs off) select * from tenk1 a join tenk1 b on (a.unique1 = 1 and b.unique1 = 2) or (a.unique2 = 3 and b.hundred = 4); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------------------------- Nested Loop @@ -4190,6 +4337,7 @@ explain (costs off) select * from tenk1 a join tenk1 b on (a.unique1 = 1 and b.unique1 = 2) or (a.unique2 = 3 and b.ten = 4); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------------------------------------------------------- Nested Loop @@ -4210,6 +4358,7 @@ select * from tenk1 a join tenk1 b on (a.unique1 = 1 and b.unique1 = 2) or ((a.unique2 = 3 or a.unique2 = 7) and b.hundred = 4); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------------------------------------------------------------- Nested Loop @@ -4241,6 +4390,7 @@ (tenk1 t2 join tenk1 t3 on t2.thousand = t3.unique2) on t1.hundred = t2.hundred and t1.ten = t3.ten where t1.unique1 = 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------- Nested Loop Left Join @@ -4261,6 +4411,7 @@ (tenk1 t2 join tenk1 t3 on t2.thousand = t3.unique2) on t1.hundred = t2.hundred and t1.ten + t2.ten = t3.ten where t1.unique1 = 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------- Nested Loop Left Join @@ -4281,6 +4432,7 @@ tenk1 a join tenk1 b on a.unique1 = b.unique2 left join tenk1 c on a.unique2 = b.unique1 and c.thousand = a.thousand join int4_tbl on b.thousand = f1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------- Aggregate @@ -4303,6 +4455,7 @@ tenk1 a join tenk1 b on a.unique1 = b.unique2 left join tenk1 c on a.unique2 = b.unique1 and c.thousand = a.thousand join int4_tbl on b.thousand = f1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 10 @@ -4315,6 +4468,7 @@ join int4_tbl i1 on b.thousand = f1 right join int4_tbl i2 on i2.f1 = b.tenthous order by 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------------------------------- Sort @@ -4340,6 +4494,7 @@ join int4_tbl i1 on b.thousand = f1 right join int4_tbl i2 on i2.f1 = b.tenthous order by 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree unique1 --------- 0 @@ -4357,6 +4512,7 @@ ) ss where fault = 122 order by fault; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------------- Nested Loop Left Join @@ -4373,6 +4529,7 @@ ) ss where fault = 122 order by fault; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree unique1 | q1 | fault ---------+-----+------- | 123 | 122 @@ -4383,6 +4540,7 @@ (values (1, array[10,20]), (2, array[20,30])) as v1(v1x,v1ys) left join (values (1, 10), (2, 20)) as v2(v2x,v2y) on v2x = v1x left join unnest(v1ys) as u1(u1y) on u1y = v2y; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------- Nested Loop Left Join @@ -4399,6 +4557,7 @@ (values (1, array[10,20]), (2, array[20,30])) as v1(v1x,v1ys) left join (values (1, 10), (2, 20)) as v2(v2x,v2y) on v2x = v1x left join unnest(v1ys) as u1(u1y) on u1y = v2y; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree v1x | v1ys | v2x | v2y | u1y -----+---------+-----+-----+----- 1 | {10,20} | 1 | 10 | 10 @@ -4412,6 +4571,7 @@ select q1, unique2, thousand, hundred from int8_tbl a left join tenk1 b on q1 = unique2 where coalesce(thousand,123) = q1 and q1 = coalesce(hundred,123); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------------------------------------------------- Nested Loop Left Join @@ -4424,6 +4584,7 @@ select q1, unique2, thousand, hundred from int8_tbl a left join tenk1 b on q1 = unique2 where coalesce(thousand,123) = q1 and q1 = coalesce(hundred,123); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree q1 | unique2 | thousand | hundred ----+---------+----------+--------- (0 rows) @@ -4432,6 +4593,7 @@ select f1, unique2, case when unique2 is null then f1 else 0 end from int4_tbl a left join tenk1 b on f1 = unique2 where (case when unique2 is null then f1 else 0 end) = 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------- Nested Loop Left Join @@ -4444,6 +4606,7 @@ select f1, unique2, case when unique2 is null then f1 else 0 end from int4_tbl a left join tenk1 b on f1 = unique2 where (case when unique2 is null then f1 else 0 end) = 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 | unique2 | case ----+---------+------ 0 | 0 | 0 @@ -4456,6 +4619,7 @@ select a.unique1, b.unique1, c.unique1, coalesce(b.twothousand, a.twothousand) from tenk1 a left join tenk1 b on b.thousand = a.unique1 left join tenk1 c on c.unique2 = coalesce(b.twothousand, a.twothousand) where a.unique2 < 10 and coalesce(b.twothousand, a.twothousand) = 44; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------------------------- Nested Loop Left Join @@ -4474,6 +4638,7 @@ select a.unique1, b.unique1, c.unique1, coalesce(b.twothousand, a.twothousand) from tenk1 a left join tenk1 b on b.thousand = a.unique1 left join tenk1 c on c.unique2 = coalesce(b.twothousand, a.twothousand) where a.unique2 < 10 and coalesce(b.twothousand, a.twothousand) = 44; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree unique1 | unique1 | unique1 | coalesce ---------+---------+---------+---------- (0 rows) @@ -4482,6 +4647,7 @@ explain (costs off) select * from int8_tbl t1 left join int8_tbl t2 on t1.q2 = t2.q1, lateral (select * from int8_tbl t3 where t2.q1 = t2.q2) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------- Nested Loop @@ -4496,6 +4662,7 @@ select * from int8_tbl t1 left join int8_tbl t2 on t1.q2 = t2.q1, lateral (select * from int8_tbl t3 where t2.q1 = t2.q2) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree q1 | q2 | q1 | q2 | q1 | q2 ------------------+------------------+------------------+------------------+------------------+------------------- 123 | 4567890123456789 | 4567890123456789 | 4567890123456789 | 123 | 456 @@ -4526,6 +4693,7 @@ using (join_key) ) foo3 using (join_key); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------------- Nested Loop Left Join @@ -4556,6 +4724,7 @@ using (join_key) ) foo3 using (join_key); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree foo1_id | foo3_id | bug_field ---------+---------+----------- 0 | 0 | 666 @@ -4575,6 +4744,7 @@ ) ss0 on (i0.f1 = ss0.f1) order by i0.f1, x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------- Sort @@ -4607,6 +4777,7 @@ ) ss0 on (i0.f1 = ss0.f1) order by i0.f1, x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 | x | f1 | q1 | q2 -------------+-----+-------------+------------------+----- -2147483647 | 123 | -2147483647 | 4567890123456789 | 123 @@ -4630,6 +4801,7 @@ on (t1.f1 = b1.d1) left join int4_tbl i4 on (i8.q2 = i4.f1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------------- Hash Left Join @@ -4674,6 +4846,7 @@ on (t1.f1 = b1.d1) left join int4_tbl i4 on (i8.q2 = i4.f1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 ------------------- doh! @@ -4691,6 +4864,7 @@ on (t1.f1 = b1.d1) left join int4_tbl i4 on (i8.q2 = i4.f1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------------------- Hash Left Join @@ -4739,6 +4913,7 @@ on (t1.f1 = b1.d1) left join int4_tbl i4 on (i8.q2 = i4.f1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 ------------------- doh! @@ -4757,6 +4932,7 @@ on (t1.f1 = b1.d1) left join int4_tbl i4 on (i8.q2 = i4.f1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------------------- Hash Left Join @@ -4809,6 +4985,7 @@ on (t1.f1 = b1.d1) left join int4_tbl i4 on (i8.q2 = i4.f1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 ------------------- doh! @@ -4824,6 +5001,7 @@ on t1.f1 = 'doh!' left join int4_tbl i4 on i8.q1 = i4.f1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------- Nested Loop Left Join @@ -4855,6 +5033,7 @@ on t1.f1 = 'doh!' left join int4_tbl i4 on i8.q1 = i4.f1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 | q1 | q2 | f1 | f1 ------+-----+-----+-------------------+---- doh! | 123 | 456 | doh! | @@ -4870,6 +5049,7 @@ from pg_class c left join pg_namespace n on n.oid = c.relnamespace where c.relkind = 'r' ) ss2 on false; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------- Nested Loop Left Join @@ -4889,6 +5069,7 @@ join int4_tbl i42 on ss1.a is null or i8.q1 <> i8.q2 right join (select 2 as b) ss2 on ss2.b < i4.f1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------- Nested Loop Left Join @@ -4919,6 +5100,7 @@ on i8.q2 = 123, lateral (select i8.q1, t2.f1 from text_tbl t2 limit 1) as ss where t1.f1 = ss.f1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------- Nested Loop @@ -4949,6 +5131,7 @@ on i8.q2 = 123, lateral (select i8.q1, t2.f1 from text_tbl t2 limit 1) as ss where t1.f1 = ss.f1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 | q1 | q2 | q1 | f1 ------+------------------+-----+------------------+------ doh! | 4567890123456789 | 123 | 4567890123456789 | doh! @@ -4962,6 +5145,7 @@ lateral (select i8.q1, t2.f1 from text_tbl t2 limit 1) as ss1, lateral (select ss1.* from text_tbl t3 limit 1) as ss2 where t1.f1 = ss2.f1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------- Nested Loop @@ -5003,6 +5187,7 @@ lateral (select i8.q1, t2.f1 from text_tbl t2 limit 1) as ss1, lateral (select ss1.* from text_tbl t3 limit 1) as ss2 where t1.f1 = ss2.f1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 | q1 | q2 | q1 | f1 | q1 | f1 ------+------------------+-----+------------------+------+------------------+------ doh! | 4567890123456789 | 123 | 4567890123456789 | doh! | 4567890123456789 | doh! @@ -5016,6 +5201,7 @@ left join text_tbl as tt4 on (tt3.f1 = tt4.f1), lateral (select tt4.f1 as c0 from text_tbl as tt5 limit 1) as ss1 where tt1.f1 = ss1.c0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------- Nested Loop @@ -5059,6 +5245,7 @@ left join text_tbl as tt4 on (tt3.f1 = tt4.f1), lateral (select tt4.f1 as c0 from text_tbl as tt5 limit 1) as ss1 where tt1.f1 = ss1.c0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ?column? ---------- (0 rows) @@ -5071,6 +5258,7 @@ right join (select 1 as z) as ss2 on true) on false, lateral (select i4.f1, ss1.n from int8_tbl as i8 limit 1) as ss3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------- Result @@ -5085,6 +5273,7 @@ right join (select 1 as z) as ss2 on true) on false, lateral (select i4.f1, ss1.n from int8_tbl as i8 limit 1) as ss3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ?column? ---------- (0 rows) @@ -5105,6 +5294,7 @@ on false where t3.a = coalesce(t5.a,1)) as s2 on true; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------- Result @@ -5125,6 +5315,7 @@ on i41.f1 = ss1.c1, lateral (select i41.*, i8.*, ss1.* from text_tbl limit 1) ss2 where ss1.c2 = 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------ Nested Loop @@ -5163,6 +5354,7 @@ on i41.f1 = ss1.c1, lateral (select i41.*, i8.*, ss1.* from text_tbl limit 1) ss2 where ss1.c2 = 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 | q1 | q2 | c1 | c2 | c3 ----+----+----+----+----+---- (0 rows) @@ -5176,6 +5368,7 @@ left join (tenk1 as a1 full join (select 1 as id) as yy on (a1.unique1 = yy.id)) on (xx.id = coalesce(yy.id)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------- Nested Loop Left Join @@ -5193,6 +5386,7 @@ left join (tenk1 as a1 full join (select 1 as id) as yy on (a1.unique1 = yy.id)) on (xx.id = coalesce(yy.id)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id | unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4 | id ----+---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------+---- 1 | 1 | 2838 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 2 | 3 | BAAAAA | EFEAAA | OOOOxx | 1 @@ -5203,6 +5397,7 @@ -- explain (costs off) select * from int4_tbl a left join tenk1 b on f1 = unique2 where f1 = 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------- Nested Loop Left Join @@ -5214,6 +5409,7 @@ explain (costs off) select * from tenk1 a full join tenk1 b using(unique2) where unique2 = 42; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------- Merge Full Join @@ -5234,6 +5430,7 @@ select a.q2, b.q1 from int8_tbl a left join int8_tbl b on a.q2 = coalesce(b.q1, 1) where coalesce(b.q1, 1) > 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------------------- Merge Left Join @@ -5255,6 +5452,7 @@ select a.q2, b.q1 from int8_tbl a left join int8_tbl b on a.q2 = coalesce(b.q1, 1) where coalesce(b.q1, 1) > 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree q2 | q1 -------------------+------------------ -4567890123456789 | @@ -5278,6 +5476,7 @@ select a.unique1, b.unique2 from onek a left join onek b on a.unique1 = b.unique2 where (b.unique2, random() > 0) = any (select q1, random() > 0 from int8_tbl c where c.q1 < b.unique1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------- Hash Join @@ -5294,6 +5493,7 @@ select a.unique1, b.unique2 from onek a left join onek b on a.unique1 = b.unique2 where (b.unique2, random() > 0) = any (select q1, random() > 0 from int8_tbl c where c.q1 < b.unique1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree unique1 | unique2 ---------+--------- 123 | 123 @@ -5306,6 +5506,7 @@ select a.unique1, b.unique2 from onek a full join onek b on a.unique1 = b.unique2 where a.unique1 = 42; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------- Nested Loop Left Join @@ -5318,6 +5519,7 @@ select a.unique1, b.unique2 from onek a full join onek b on a.unique1 = b.unique2 where a.unique1 = 42; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree unique1 | unique2 ---------+--------- 42 | 42 @@ -5327,6 +5529,7 @@ select a.unique1, b.unique2 from onek a full join onek b on a.unique1 = b.unique2 where b.unique2 = 43; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------- Nested Loop Left Join @@ -5339,6 +5542,7 @@ select a.unique1, b.unique2 from onek a full join onek b on a.unique1 = b.unique2 where b.unique2 = 43; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree unique1 | unique2 ---------+--------- 43 | 43 @@ -5348,6 +5552,7 @@ select a.unique1, b.unique2 from onek a full join onek b on a.unique1 = b.unique2 where a.unique1 = 42 and b.unique2 = 42; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------- Nested Loop @@ -5360,6 +5565,7 @@ select a.unique1, b.unique2 from onek a full join onek b on a.unique1 = b.unique2 where a.unique1 = 42 and b.unique2 = 42; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree unique1 | unique2 ---------+--------- 42 | 42 @@ -5374,6 +5580,7 @@ full join (select * from (values(456,2)) w(v1,v2) join int8_tbl i82 on q2=v1) ss2 on true; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------- Merge Full Join @@ -5389,6 +5596,7 @@ full join (select * from (values(456,2)) w(v1,v2) join int8_tbl i82 on q2=v1) ss2 on true; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree q1 | q2 | v1 | v2 | v1 | v2 | q1 | q2 ------------------+-----+-----+----+-----+----+-----+----- 4567890123456789 | 123 | 123 | 2 | 456 | 2 | 123 | 456 @@ -5403,17 +5611,23 @@ CREATE TEMP TABLE c (id int PRIMARY KEY); CREATE TEMP TABLE d (a int, b int); INSERT INTO a VALUES (0, 0), (1, NULL); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO b VALUES (0, 0), (1, NULL); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO c VALUES (0), (1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO d VALUES (1,3), (2,2), (3,1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- all three cases should be optimizable into a simple seqscan explain (costs off) SELECT a.* FROM a LEFT JOIN b ON a.b_id = b.id; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------- Seq Scan on a (1 row) explain (costs off) SELECT b.* FROM b LEFT JOIN c ON b.c_id = c.id; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------- Seq Scan on b @@ -5422,6 +5636,7 @@ explain (costs off) SELECT a.* FROM a LEFT JOIN (b left join c on b.c_id = c.id) ON (a.b_id = b.id); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------- Seq Scan on a @@ -5432,6 +5647,7 @@ select id from a where id in ( select b.id from b left join c on b.id = c.id ); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------- Hash Join @@ -5448,6 +5664,7 @@ left join (a a3 left join a a4 on a3.id = a4.id) on a2.id = a3.id; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------ Nested Loop Left Join @@ -5462,6 +5679,7 @@ left join (a a3 left join a a4 on a3.id = a4.id) on a2.id = a3.id; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------ Seq Scan on a a1 @@ -5472,6 +5690,7 @@ left join a t2 on true inner join a t3 on true left join a t4 on t2.id = t4.id and t2.id = t3.id; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------ Nested Loop @@ -5496,6 +5715,7 @@ inner join int8_tbl as t7 on null) on t5.q1 = t7.q2) on false; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------- Nested Loop Left Join @@ -5518,6 +5738,7 @@ inner join int8_tbl as t7 on null) on t5.q1 = t7.q2) on false; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------- Nested Loop Left Join @@ -5533,6 +5754,7 @@ from (select f1/2 as x from int4_tbl i4 left join a on a.id = i4.f1) ss1 right join int8_tbl i8 on true where current_user is not null; -- this is to add a Result node +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------- Result @@ -5551,6 +5773,7 @@ on t1.q2 = t2.q2 left join onek t4 on t2.q2 < t3.unique2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------- Nested Loop Left Join @@ -5575,6 +5798,7 @@ (int8_tbl t2 inner join int8_tbl t3 on false left join int8_tbl t4 on t2.q2 = t4.q2) on t1.q1 = t2.q1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------- Hash Left Join @@ -5591,6 +5815,7 @@ (int8_tbl t2 inner join int8_tbl t3 on (t2.q1-t3.q2) = 0 and (t2.q1-t3.q2) = 1 left join int8_tbl t4 on t2.q2 = t4.q2) on t1.q1 = t2.q1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------- Hash Left Join @@ -5609,6 +5834,7 @@ left join int8_tbl t4 on t2.q2 = t4.q2) on t1.q1 = t2.q1 ) from int4_tbl x0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------------------------------- Seq Scan on int4_tbl x0 @@ -5634,6 +5860,7 @@ explain (costs off) select d.* from d left join (select * from b group by b.id, b.c_id) s on d.a = s.id and d.b = s.c_id; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------- Seq Scan on d @@ -5643,6 +5870,7 @@ explain (costs off) select d.* from d left join (select distinct * from b) s on d.a = s.id and d.b = s.c_id; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------- Seq Scan on d @@ -5655,6 +5883,7 @@ explain (costs off) select d.* from d left join (select * from b group by b.id, b.c_id) s on d.a = s.id; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------ Merge Right Join @@ -5671,6 +5900,7 @@ explain (costs off) select d.* from d left join (select distinct * from b) s on d.a = s.id; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------- Merge Right Join @@ -5688,6 +5918,7 @@ explain (costs off) select 1 from a t1 left join (a t2 left join a t3 on t2.id = 1) on t2.id = 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------- Nested Loop Left Join @@ -5705,6 +5936,7 @@ explain (costs off) select d.* from d left join (select id from a union select id from b) s on d.a = s.id; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------- Seq Scan on d @@ -5714,6 +5946,7 @@ explain (costs off) select i8.* from int8_tbl i8 left join (select f1 from int4_tbl group by f1) i4 on i8.q1 = i4.f1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------- Seq Scan on int8_tbl i8 @@ -5723,6 +5956,7 @@ explain (costs off) select 1 from (select a.id FROM a left join b on a.b_id = b.id) q, lateral generate_series(1, q.id) gs(i) where q.id = gs.i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------- Nested Loop @@ -5736,6 +5970,7 @@ select c.id, ss.a from c left join (select d.a from onerow, d left join b on d.a = b.id) ss on c.id = ss.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------- Hash Right Join @@ -5752,6 +5987,7 @@ -- test join removals on a partitioned table explain (costs off) select a.* from a left join parted_b pb on a.b_id = pb.id; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------- Seq Scan on a @@ -5761,9 +5997,12 @@ create temp table parent (k int primary key, pd int); create temp table child (k int unique, cd int); insert into parent values (1, 10), (2, 20), (3, 30); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into child values (1, 100), (4, 400); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- this case is optimizable select p.* from parent p left join child c on (p.k = c.k); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree k | pd ---+---- 1 | 10 @@ -5773,6 +6012,7 @@ explain (costs off) select p.* from parent p left join child c on (p.k = c.k); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------- Seq Scan on parent p @@ -5782,6 +6022,7 @@ select p.*, linked from parent p left join (select c.*, true as linked from child c) as ss on (p.k = ss.k); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree k | pd | linked ---+----+-------- 1 | 10 | t @@ -5793,6 +6034,7 @@ select p.*, linked from parent p left join (select c.*, true as linked from child c) as ss on (p.k = ss.k); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------- Hash Left Join @@ -5806,6 +6048,7 @@ select p.* from parent p left join child c on (p.k = c.k) where p.k = 1 and p.k = 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree k | pd ---+---- (0 rows) @@ -5814,6 +6057,7 @@ select p.* from parent p left join child c on (p.k = c.k) where p.k = 1 and p.k = 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------- Result @@ -5823,6 +6067,7 @@ select p.* from (parent p left join child c on (p.k = c.k)) join parent x on p.k = x.k where p.k = 1 and p.k = 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree k | pd ---+---- (0 rows) @@ -5831,6 +6076,7 @@ select p.* from (parent p left join child c on (p.k = c.k)) join parent x on p.k = x.k where p.k = 1 and p.k = 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------- Result @@ -5842,14 +6088,18 @@ CREATE TEMP TABLE a (id int PRIMARY KEY); CREATE TEMP TABLE b (id int PRIMARY KEY, a_id int); INSERT INTO a VALUES (0), (1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO b VALUES (0, 0), (1, NULL); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM b LEFT JOIN a ON (b.a_id = a.id) WHERE (a.id IS NULL OR a.id > 0); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id | a_id | id ----+------+---- 1 | | (1 row) SELECT b.* FROM b LEFT JOIN a ON (b.a_id = a.id) WHERE (a.id IS NULL OR a.id > 0); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id | a_id ----+------ 1 | @@ -5866,6 +6116,7 @@ (SELECT q1, q2, COALESCE(dat1, q1) AS y FROM int8_tbl LEFT JOIN innertab ON q2 = id) ss2 ON true; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | q1 | q2 | y ---+------------------+-------------------+------------------ 1 | 123 | 456 | 123 @@ -5881,6 +6132,7 @@ (SELECT * FROM int8_tbl LEFT JOIN innertab ON q2 = id) ss WHERE COALESCE(dat1, 0) = q1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------- Nested Loop Left Join @@ -5897,6 +6149,7 @@ FROM int8_tbl LEFT JOIN innertab ON q2 = id) ss RIGHT JOIN int4_tbl ON NULL WHERE x >= x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------ Nested Loop Left Join @@ -5917,6 +6170,7 @@ JOIN ((SELECT 42 AS x FROM int8_tbl LEFT JOIN innertab ON q1 = id) AS ss1 RIGHT JOIN tenk1 ON NULL) ON tenk1.unique1 = ss1.x OR tenk1.unique2 = ss1.x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------------- Nested Loop @@ -5941,6 +6195,7 @@ on t1.f1 = t2.f1 left join uniquetbl t3 on t2.d1 = t3.f1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------- Seq Scan on uniquetbl t1 @@ -5958,6 +6213,7 @@ left join uniquetbl u1 ON u1.f1 = t1.string4) ss on t0.f1 = ss.case1 where ss.stringu2 !~* ss.case1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------------------------------- Nested Loop @@ -5982,6 +6238,7 @@ left join uniquetbl u1 ON u1.f1 = t1.string4) ss on t0.f1 = ss.case1 where ss.stringu2 !~* ss.case1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 ------ doh! @@ -5999,6 +6256,7 @@ from t t2 left join t t3 on t2.a = t3.a) s on true where t1.a = s.c; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------ Nested Loop Left Join @@ -6014,6 +6272,7 @@ from t t2 left join t t3 on t2.a = t3.a) s on true where t1.a = s.c; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ?column? ---------- (0 rows) @@ -6023,6 +6282,7 @@ begin; create temp table t (a int unique, b int); insert into t values (1,1), (2,2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree explain (costs off) select 1 from t t1 @@ -6031,6 +6291,7 @@ on true left join t t4 on true where s.a < s.c; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------- Nested Loop Left Join @@ -6051,6 +6312,7 @@ on true left join t t4 on true where s.a < s.c; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------- Nested Loop Left Join @@ -6069,6 +6331,7 @@ on true left join t t4 on true where s.a < s.c; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | a | c ---+---+--- 2 | 1 | 2 @@ -6084,6 +6347,7 @@ left join lateral (select i4.f1 + 1 as v) as ss on true left join tenk1 t on t.unique2 = ss.v where q2 = 456; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------- Nested Loop Left Join @@ -6107,6 +6371,7 @@ left join lateral (select i4.f1 + 1 as v) as ss on true left join tenk1 t on t.unique2 = ss.v where q2 = 456; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree q1 | q2 | v | unique2 -----+-----+---+--------- 123 | 456 | | @@ -6117,11 +6382,13 @@ create temp table parttbl (a integer primary key) partition by range (a); create temp table parttbl1 partition of parttbl for values from (1) to (100); insert into parttbl values (11), (12); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree explain (costs off) select * from (select *, 12 as phv from parttbl) as ss right join int4_tbl on true where ss.a = ss.phv and f1 = 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------ Nested Loop @@ -6135,6 +6402,7 @@ (select *, 12 as phv from parttbl) as ss right join int4_tbl on true where ss.a = ss.phv and f1 = 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | phv | f1 ----+-----+---- 12 | 12 | 0 @@ -6154,6 +6422,7 @@ DETAIL: There is an entry for table "y", but it cannot be referenced from this part of the query. select * from int8_tbl x join (int4_tbl x cross join int4_tbl y(ff)) j on q1 = f1; -- ok +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree q1 | q2 | f1 | ff ----+----+----+---- (0 rows) @@ -6166,6 +6435,7 @@ set enable_mergejoin to off; create table sj (a int unique, b int, c int unique); insert into sj values (1, null, 2), (null, 2, null), (2, 1, 1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree analyze sj; -- Trivial self-join case. explain (costs off) @@ -6221,6 +6491,7 @@ (select a as x from sj where false) as q1, (select a as y from sj where false) as q2 where q1.x = q2.y; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------- Result @@ -6268,6 +6539,7 @@ from sj t1 join sj t2 on t1.a = t2.a and t1.b = t2.b join sj t3 on t2.a = t3.a and t2.b + 1 = t3.b + 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------------------------------------- Seq Scan on sj t3 @@ -6294,6 +6566,7 @@ explain (costs off) select * from sj x join sj y on x.a = y.a left join int8_tbl z on x.a = z.q1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------ Nested Loop Left Join @@ -6307,6 +6580,7 @@ explain (costs off) select * from sj x join sj y on x.a = y.a left join int8_tbl z on y.a = z.q1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------ Nested Loop Left Join @@ -6325,6 +6599,7 @@ left join (select t3.* from sj t3, sj t4 where t3.c = t4.c) as q2 on q1.ax = q2.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------------------------------------- Nested Loop Left Join @@ -6342,6 +6617,7 @@ right join sj j1 inner join sj j2 on j1.a = j2.a on true) z on true; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------ Nested Loop Left Join @@ -6359,6 +6635,7 @@ select t3.a from sj t1 join sj t2 on t1.a = t2.a join lateral (select t1.a offset 0) t3 on true; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------ Nested Loop @@ -6374,6 +6651,7 @@ select t3.a from sj t1 join sj t2 on t1.a = t2.a join lateral (select * from (select t1.a offset 0) offset 0) t3 on true; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------ Nested Loop @@ -6389,6 +6667,7 @@ select t4.a from sj t1 join sj t2 on t1.a = t2.a join lateral (select t3.a from sj t3, (select t1.a) offset 0) t4 on true; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------ Nested Loop @@ -6408,6 +6687,7 @@ JOIN pg_class c2 ON c1.oid=c2.oid AND c1.oid < 10 ); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------- Nested Loop Semi Join @@ -6518,6 +6798,7 @@ SELECT t4.* FROM (SELECT t1.*, t2.a AS a1 FROM sj t1, sj t2 WHERE t1.b = t2.b) AS t3 JOIN sj t4 ON (t4.a = t3.a) WHERE t3.a1 = 42; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------- Nested Loop @@ -6531,6 +6812,7 @@ SELECT t4.* FROM (SELECT t1.*, t2.a AS a1 FROM sj t1, sj t2 WHERE t1.b = t2.b) AS t3 JOIN sj t4 ON (t4.a = t3.a) WHERE t3.a1 = 42; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c ---+---+--- (0 rows) @@ -6694,6 +6976,7 @@ -- HAVING clause explain (costs off) select p.b from sj p join sj q on p.a = q.a group by p.b having sum(p.a) = 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------- HashAggregate @@ -6707,6 +6990,7 @@ explain (verbose, costs off) select 1 from (select x.* from sj x, sj y where x.a = y.a) q, lateral generate_series(1, q.a) gs(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------ Nested Loop @@ -6722,6 +7006,7 @@ explain (verbose, costs off) select 1 from (select y.* from sj x, sj y where x.a = y.a) q, lateral generate_series(1, q.a) gs(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------ Nested Loop @@ -6738,6 +7023,7 @@ -- outer join so that we can't form an EC. explain (costs off) select * from sj p join sj q on p.a = q.a left join sj r on p.a + q.a = r.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------ Nested Loop Left Join @@ -6771,6 +7057,7 @@ explain (costs off) select 1 from (sk k1 join sk k2 on k1.a = k2.a) join (sj j1 join sj j2 on j1.a = j2.a) on j1.b = k1.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------- Nested Loop @@ -6787,6 +7074,7 @@ explain (costs off) select 1 from (sk k1 join sk k2 on k1.a = k2.a) join (sj j1 join sj j2 on j1.a = j2.a) on j2.b = k1.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------- Nested Loop @@ -6852,6 +7140,7 @@ WHERE c2.id IS NOT NULL EXCEPT ALL SELECT c3.code FROM emp1 c3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------- HashSetOp Except All @@ -6869,6 +7158,7 @@ left join (emp1 t3 join emp1 t4 on t3.id = t4.id) on true) on true; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------- Nested Loop Left Join @@ -6887,6 +7177,7 @@ (select * from emp1 t3) s2 on s1.id = s2.id) on true where s1.x = 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------- Nested Loop @@ -6904,6 +7195,7 @@ explain (verbose, costs off) select * from emp1 t1 join emp1 t2 on t1.id = t2.id left join lateral (select t1.id as t1id, * from generate_series(1,1) t3) s on true; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------- Nested Loop Left Join @@ -6919,6 +7211,7 @@ select * from generate_series(1,10) t1(id) left join lateral (select t1.id as t1id, t2.id from emp1 t2 join emp1 t3 on t2.id = t3.id) on true; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------ Nested Loop Left Join @@ -6935,6 +7228,7 @@ select * from emp1 t1 inner join emp1 t2 on t1.id = t2.id left join emp1 t3 on t1.id > 1 and t1.id < 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------- Nested Loop Left Join @@ -6949,6 +7243,7 @@ WITH t1 AS (SELECT * FROM emp1) UPDATE emp1 SET code = t1.code + 1 FROM t1 WHERE t1.id = emp1.id RETURNING emp1.id, emp1.code, t1.code; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------- Update on emp1 @@ -6959,9 +7254,11 @@ (5 rows) INSERT INTO emp1 VALUES (1, 1), (2, 1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WITH t1 AS (SELECT * FROM emp1) UPDATE emp1 SET code = t1.code + 1 FROM t1 WHERE t1.id = emp1.id RETURNING emp1.id, emp1.code, t1.code; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id | code | code ----+------+------ 1 | 2 | 1 @@ -7005,6 +7302,7 @@ on true where false) s on true where false; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------- Result @@ -7017,6 +7315,7 @@ on true where false) s on true where false; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ?column? ---------- (0 rows) @@ -7109,6 +7408,7 @@ SELECT * FROM (SELECT n2.a FROM sj n1, sj n2 WHERE n1.a <> n2.a) q0, sl WHERE q0.a = 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------- Nested Loop @@ -7147,6 +7447,7 @@ ) ) _t2t3t4 ON sj_t1.id = _t2t3t4.id; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------------- Nested Loop @@ -7234,6 +7535,7 @@ select 1 from (select * from int8_tbl where q1 <> (select 42) offset 0) ss where false; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------- Result @@ -7246,6 +7548,7 @@ -- select unique2, x.* from tenk1 a, lateral (select * from int4_tbl b where f1 = a.unique1) x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree unique2 | f1 ---------+---- 9998 | 0 @@ -7254,6 +7557,7 @@ explain (costs off) select unique2, x.* from tenk1 a, lateral (select * from int4_tbl b where f1 = a.unique1) x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------- Nested Loop @@ -7264,6 +7568,7 @@ select unique2, x.* from int4_tbl x, lateral (select unique2 from tenk1 where f1 = unique1) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree unique2 | f1 ---------+---- 9998 | 0 @@ -7272,6 +7577,7 @@ explain (costs off) select unique2, x.* from int4_tbl x, lateral (select unique2 from tenk1 where f1 = unique1) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------- Nested Loop @@ -7283,6 +7589,7 @@ explain (costs off) select unique2, x.* from int4_tbl x cross join lateral (select unique2 from tenk1 where f1 = unique1) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------- Nested Loop @@ -7293,6 +7600,7 @@ select unique2, x.* from int4_tbl x left join lateral (select unique1, unique2 from tenk1 where f1 = unique1) ss on true; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree unique2 | f1 ---------+------------- 9998 | 0 @@ -7305,6 +7613,7 @@ explain (costs off) select unique2, x.* from int4_tbl x left join lateral (select unique1, unique2 from tenk1 where f1 = unique1) ss on true; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------- Nested Loop Left Join @@ -7316,6 +7625,7 @@ -- check scoping of lateral versus parent references -- the first of these should return int8_tbl.q2, the second int8_tbl.q1 select *, (select r from (select q1 as q2) x, (select q2 as r) y) from int8_tbl; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree q1 | q2 | r ------------------+-------------------+------------------- 123 | 456 | 456 @@ -7326,6 +7636,7 @@ (5 rows) select *, (select r from (select q1 as q2) x, lateral (select q2 as r) y) from int8_tbl; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree q1 | q2 | r ------------------+-------------------+------------------ 123 | 456 | 123 @@ -7337,6 +7648,7 @@ -- lateral with function in FROM select count(*) from tenk1 a, lateral generate_series(1,two) g; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 5000 @@ -7344,6 +7656,7 @@ explain (costs off) select count(*) from tenk1 a, lateral generate_series(1,two) g; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------ Aggregate @@ -7357,6 +7670,7 @@ explain (costs off) select count(*) from tenk1 a cross join lateral generate_series(1,two) g; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------ Aggregate @@ -7371,6 +7685,7 @@ -- don't need the explicit LATERAL keyword for functions explain (costs off) select count(*) from tenk1 a, generate_series(1,two) g; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------ Aggregate @@ -7387,6 +7702,7 @@ select * from generate_series(100,200) g, lateral (select * from int8_tbl a where g = q1 union all select * from int8_tbl b where g = q2) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------ Nested Loop @@ -7401,6 +7717,7 @@ select * from generate_series(100,200) g, lateral (select * from int8_tbl a where g = q1 union all select * from int8_tbl b where g = q2) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree g | q1 | q2 -----+------------------+------------------ 123 | 123 | 456 @@ -7412,6 +7729,7 @@ explain (costs off) select count(*) from tenk1 a, tenk1 b join lateral (values(a.unique1)) ss(x) on b.unique2 = ss.x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------ Aggregate @@ -7423,6 +7741,7 @@ select count(*) from tenk1 a, tenk1 b join lateral (values(a.unique1)) ss(x) on b.unique2 = ss.x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 10000 @@ -7432,6 +7751,7 @@ explain (costs off) select count(*) from tenk1 a, tenk1 b join lateral (values(a.unique1),(-1)) ss(x) on b.unique2 = ss.x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------ Aggregate @@ -7448,6 +7768,7 @@ select count(*) from tenk1 a, tenk1 b join lateral (values(a.unique1),(-1)) ss(x) on b.unique2 = ss.x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 10000 @@ -7459,6 +7780,7 @@ int8_tbl x left join lateral (select a.q1 from int4_tbl y) ss(z) on x.q2 = ss.z order by a.q1, a.q2, x.q1, x.q2, ss.z; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------ Sort @@ -7476,6 +7798,7 @@ int8_tbl x left join lateral (select a.q1 from int4_tbl y) ss(z) on x.q2 = ss.z order by a.q1, a.q2, x.q1, x.q2, ss.z; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree q1 | q2 | q1 | q2 | z ------------------+-------------------+------------------+-------------------+------------------ 123 | 456 | 123 | 456 | @@ -7540,6 +7863,7 @@ -- lateral reference to a join alias variable select * from (select f1/2 as x from int4_tbl) ss1 join int4_tbl i4 on x = f1, lateral (select x) ss2(y); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | f1 | y ---+----+--- 0 | 0 | 0 @@ -7547,6 +7871,7 @@ select * from (select f1 as x from int4_tbl) ss1 join int4_tbl i4 on x = f1, lateral (values(x)) ss2(y); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | f1 | y -------------+-------------+------------- 0 | 0 | 0 @@ -7558,6 +7883,7 @@ select * from ((select f1/2 as x from int4_tbl) ss1 join int4_tbl i4 on x = f1) j, lateral (select x) ss2(y); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | f1 | y ---+----+--- 0 | 0 | 0 @@ -7566,6 +7892,7 @@ -- lateral references requiring pullup select * from (values(1)) x(lb), lateral generate_series(lb,4) x4; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree lb | x4 ----+---- 1 | 1 @@ -7576,6 +7903,7 @@ select * from (select f1/1000000000 from int4_tbl) x(lb), lateral generate_series(lb,4) x4; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree lb | x4 ----+---- 0 | 0 @@ -7607,6 +7935,7 @@ select * from (values(1)) x(lb), lateral (values(lb)) y(lbcopy); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree lb | lbcopy ----+-------- 1 | 1 @@ -7614,6 +7943,7 @@ select * from (values(1)) x(lb), lateral (select lb from int4_tbl) y(lbcopy); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree lb | lbcopy ----+-------- 1 | 1 @@ -7626,6 +7956,7 @@ select * from int8_tbl x left join (select q1,coalesce(q2,0) q2 from int8_tbl) y on x.q2 = y.q1, lateral (values(x.q1,y.q1,y.q2)) v(xq1,yq1,yq2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree q1 | q2 | q1 | q2 | xq1 | yq1 | yq2 ------------------+-------------------+------------------+-------------------+------------------+------------------+------------------- 123 | 456 | | | 123 | | @@ -7643,6 +7974,7 @@ select * from int8_tbl x left join (select q1,coalesce(q2,0) q2 from int8_tbl) y on x.q2 = y.q1, lateral (select x.q1,y.q1,y.q2) v(xq1,yq1,yq2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree q1 | q2 | q1 | q2 | xq1 | yq1 | yq2 ------------------+-------------------+------------------+-------------------+------------------+------------------+------------------- 123 | 456 | | | 123 | | @@ -7660,6 +7992,7 @@ select x.* from int8_tbl x left join (select q1,coalesce(q2,0) q2 from int8_tbl) y on x.q2 = y.q1, lateral (select x.q1,y.q1,y.q2) v(xq1,yq1,yq2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree q1 | q2 ------------------+------------------- 123 | 456 @@ -7678,6 +8011,7 @@ (int8_tbl x left join (select q1,coalesce(q2,0) q2 from int8_tbl) y on x.q2 = y.q1) left join int4_tbl z on z.f1 = x.q2, lateral (select x.q1,y.q1 union all select x.q2,y.q2) v(vx,vy); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree vx | vy -------------------+------------------- 123 | @@ -7706,6 +8040,7 @@ (int8_tbl x left join (select q1,(select coalesce(q2,0)) q2 from int8_tbl) y on x.q2 = y.q1) left join int4_tbl z on z.f1 = x.q2, lateral (select x.q1,y.q1 union all select x.q2,y.q2) v(vx,vy); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree vx | vy -------------------+------------------- 4567890123456789 | 123 @@ -7734,6 +8069,7 @@ (int8_tbl x left join (select q1,(select coalesce(q2,0)) q2 from int8_tbl) y on x.q2 = y.q1) left join int4_tbl z on z.f1 = x.q2, lateral (select x.q1,y.q1 from onerow union all select x.q2,y.q2 from onerow) v(vx,vy); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree vx | vy -------------------+------------------- 4567890123456789 | 123 @@ -7762,6 +8098,7 @@ select * from int8_tbl a left join lateral (select *, a.q2 as x from int8_tbl b) ss on a.q2 = ss.q1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------ Nested Loop Left Join @@ -7776,6 +8113,7 @@ select * from int8_tbl a left join lateral (select *, a.q2 as x from int8_tbl b) ss on a.q2 = ss.q1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree q1 | q2 | q1 | q2 | x ------------------+-------------------+------------------+-------------------+------------------ 123 | 456 | | | @@ -7794,6 +8132,7 @@ select * from int8_tbl a left join lateral (select *, coalesce(a.q2, 42) as x from int8_tbl b) ss on a.q2 = ss.q1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------ Nested Loop Left Join @@ -7808,6 +8147,7 @@ select * from int8_tbl a left join lateral (select *, coalesce(a.q2, 42) as x from int8_tbl b) ss on a.q2 = ss.q1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree q1 | q2 | q1 | q2 | x ------------------+-------------------+------------------+-------------------+------------------ 123 | 456 | | | @@ -7827,6 +8167,7 @@ explain (verbose, costs off) select * from int4_tbl i left join lateral (select * from int2_tbl j where i.f1 = j.f1) k on true; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------- Hash Left Join @@ -7842,6 +8183,7 @@ select * from int4_tbl i left join lateral (select * from int2_tbl j where i.f1 = j.f1) k on true; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 | f1 -------------+---- 0 | 0 @@ -7854,6 +8196,7 @@ explain (verbose, costs off) select * from int4_tbl i left join lateral (select coalesce(i) from int2_tbl j where i.f1 = j.f1) k on true; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------- Nested Loop Left Join @@ -7867,6 +8210,7 @@ select * from int4_tbl i left join lateral (select coalesce(i) from int2_tbl j where i.f1 = j.f1) k on true; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 | coalesce -------------+---------- 0 | (0) @@ -7881,6 +8225,7 @@ lateral ( select * from int4_tbl b left join int8_tbl c on (b.f1 = q1 and a.f1 = q2) ) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------- Nested Loop @@ -7903,6 +8248,7 @@ lateral ( select * from int4_tbl b left join int8_tbl c on (b.f1 = q1 and a.f1 = q2) ) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 | f1 | q1 | q2 -------------+-------------+----+---- 0 | 0 | | @@ -7939,6 +8285,7 @@ (select b.q1 as bq1, c.q1 as cq1, least(a.q1,b.q1,c.q1) from int8_tbl b cross join int8_tbl c) ss on a.q2 = ss.bq1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------- Nested Loop Left Join @@ -7959,6 +8306,7 @@ (select b.q1 as bq1, c.q1 as cq1, least(a.q1,b.q1,c.q1) from int8_tbl b cross join int8_tbl c) ss on a.q2 = ss.bq1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree q1 | q2 | bq1 | cq1 | least ------------------+-------------------+------------------+------------------+------------------ 123 | 456 | | | @@ -8015,6 +8363,7 @@ lateral (select q1, coalesce(ss1.x,q2) as y from int8_tbl d) ss2 ) on c.q2 = ss2.q1, lateral (select ss2.y offset 0) ss3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Nested Loop @@ -8049,6 +8398,7 @@ (select 0 as val0) as ss0 left join (select 1 as val) as ss1 on true left join lateral (select ss1.val as val_filtered where false) as ss2 on true; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------- Nested Loop Left Join @@ -8065,6 +8415,7 @@ (select 0 as val0) as ss0 left join (select 1 as val) as ss1 on true left join lateral (select ss1.val as val_filtered where false) as ss2 on true; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree val0 | val | val_filtered ------+-----+-------------- 0 | 1 | @@ -8082,6 +8433,7 @@ lateral (select q1, coalesce(ss1.x,q2) as y from int8_tbl d) ss2 ) on c.q2 = ss2.q1, lateral (select * from int4_tbl i where ss2.y > f1) ss3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------------------------------------------------------------------- Nested Loop @@ -8127,6 +8479,7 @@ left join lateral ( select * from (select 3 as z offset 0) z where z.z = x.x ) zz on zz.z = y.y; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------- Nested Loop Left Join @@ -8147,6 +8500,7 @@ select * from int4_tbl t1, lateral (select * from int4_tbl t2 inner join int4_tbl t3 on t1.f1 = 1 inner join (int4_tbl t4 left join int4_tbl t5 on true) on true) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------- Nested Loop Left Join @@ -8168,6 +8522,7 @@ explain (verbose, costs off) select * from int8_tbl i8 left join lateral (select *, i8.q2 from int4_tbl where false) ss on true; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------- Nested Loop Left Join @@ -8183,6 +8538,7 @@ explain (verbose, costs off) select * from int8_tbl i8 left join lateral (select *, i8.q2 from int4_tbl i1, int4_tbl i2 where false) ss on true; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------- Nested Loop Left Join @@ -8203,6 +8559,7 @@ union all (select q1.v) ) as q2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree v | v ---+--- 2 | 4 @@ -8223,6 +8580,7 @@ lateral (select f1 from int4_tbl where f1 = any (select unique1 from tenk1 where unique2 = v.x offset 0)) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------------- Nested Loop @@ -8246,6 +8604,7 @@ lateral (select f1 from int4_tbl where f1 = any (select unique1 from tenk1 where unique2 = v.x offset 0)) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id | x | f1 ----+------+---- 0 | 9998 | 0 @@ -8262,6 +8621,7 @@ where q2 = (select greatest(t1.q1,t2.q2)) and (select v.id=0)) offset 0) ss2) ss where t1.q1 = ss.q2) ss0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------- Nested Loop @@ -8301,6 +8661,7 @@ where q2 = (select greatest(t1.q1,t2.q2)) and (select v.id=0)) offset 0) ss2) ss where t1.q1 = ss.q2) ss0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id | q1 | q2 | q1 | q2 ----+------------------+-------------------+------------------+------------------ 0 | 4567890123456789 | 123 | 4567890123456789 | 4567890123456789 @@ -8402,13 +8763,16 @@ create table join_pt1p2 partition of join_pt1 for values from (100) to (200); create table join_pt1p1p1 partition of join_pt1p1 for values from (0) to (100); insert into join_pt1 values (1, 1, 'x'), (101, 101, 'y'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree create table join_ut1 (a int, b int, c varchar); insert into join_ut1 values (101, 101, 'y'), (2, 2, 'z'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree explain (verbose, costs off) select t1.b, ss.phv from join_ut1 t1 left join lateral (select t2.a as t2a, t3.a t3a, least(t1.a, t2.a, t3.a) phv from join_pt1 t2 join join_ut1 t3 on t2.a = t3.b) ss on t1.a = ss.t2a order by t1.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------- Sort @@ -8438,6 +8802,7 @@ (select t2.a as t2a, t3.a t3a, least(t1.a, t2.a, t3.a) phv from join_pt1 t2 join join_ut1 t3 on t2.a = t3.b) ss on t1.a = ss.t2a order by t1.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree b | phv -----+----- 2 | @@ -8452,6 +8817,7 @@ begin; create table fkest (x integer, x10 integer, x10b integer, x100 integer); insert into fkest select x, x/10, x/10, x/100 from generate_series(1,1000) x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree create unique index on fkest(x, x10, x100); analyze fkest; explain (costs off) @@ -8459,6 +8825,7 @@ join fkest f2 on (f1.x = f2.x and f1.x10 = f2.x10b and f1.x100 = f2.x100) join fkest f3 on f1.x = f3.x where f1.x100 = 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------- Nested Loop @@ -8475,11 +8842,13 @@ alter table fkest add constraint fk foreign key (x, x10b, x100) references fkest (x, x10, x100); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree explain (costs off) select * from fkest f1 join fkest f2 on (f1.x = f2.x and f1.x10 = f2.x10b and f1.x100 = f2.x100) join fkest f3 on f1.x = f3.x where f1.x100 = 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------- Hash Join @@ -8503,9 +8872,12 @@ create table fkest (a int, b int, c int unique, primary key(a,b)); create table fkest1 (a int, b int, primary key(a,b)); insert into fkest select x/10, x%10, x from generate_series(1,1000) x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into fkest1 select x/10, x%10 from generate_series(1,1000) x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree alter table fkest1 add constraint fkest1_a_b_fkey foreign key (a,b) references fkest; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree analyze fkest; analyze fkest1; explain (costs off) @@ -8515,6 +8887,7 @@ left join fkest1 f2 on f.a = f2.a and f.b = f2.b left join fkest1 f3 on f.a = f3.a and f.b = f3.b where f.c = 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------ Nested Loop Left Join @@ -8538,14 +8911,18 @@ create table j2 (id int primary key); create table j3 (id int); insert into j1 values(1),(2),(3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into j2 values(1),(2),(3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into j3 values(1),(1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree analyze j1; analyze j2; analyze j3; -- ensure join is properly marked as unique explain (verbose, costs off) select * from j1 inner join j2 on j1.id = j2.id; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------- Hash Join @@ -8563,6 +8940,7 @@ -- ensure join is not unique when not an equi-join explain (verbose, costs off) select * from j1 inner join j2 on j1.id > j2.id; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------- Nested Loop @@ -8579,6 +8957,7 @@ -- ensure non-unique rel is not chosen as inner explain (verbose, costs off) select * from j1 inner join j3 on j1.id = j3.id; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------- Hash Join @@ -8596,6 +8975,7 @@ -- ensure left join is marked as unique explain (verbose, costs off) select * from j1 left join j2 on j1.id = j2.id; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------- Hash Left Join @@ -8613,6 +8993,7 @@ -- ensure right join is marked as unique explain (verbose, costs off) select * from j1 right join j2 on j1.id = j2.id; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------- Hash Left Join @@ -8630,6 +9011,7 @@ -- ensure full join is marked as unique explain (verbose, costs off) select * from j1 full join j2 on j1.id = j2.id; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------- Hash Full Join @@ -8647,6 +9029,7 @@ -- a clauseless (cross) join can't be unique explain (verbose, costs off) select * from j1 cross join j2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------- Nested Loop @@ -8662,6 +9045,7 @@ -- ensure a natural join is marked as unique explain (verbose, costs off) select * from j1 natural join j2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------- Hash Join @@ -8680,6 +9064,7 @@ explain (verbose, costs off) select * from j1 inner join (select distinct id from j3) j3 on j1.id = j3.id; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------- Nested Loop @@ -8701,6 +9086,7 @@ explain (verbose, costs off) select * from j1 inner join (select id from j3 group by id) j3 on j1.id = j3.id; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------- Nested Loop @@ -8727,6 +9113,7 @@ create table j2 (id1 int, id2 int, primary key(id1,id2)); create table j3 (id1 int, id2 int, primary key(id1,id2)); insert into j1 values(1,1),(1,2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into j2 values(1,1); insert into j3 values(1,1); analyze j1; @@ -8737,6 +9124,7 @@ explain (verbose, costs off) select * from j1 inner join j2 on j1.id1 = j2.id1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------ Nested Loop @@ -8752,6 +9140,7 @@ explain (verbose, costs off) select * from j1 inner join j2 on j1.id1 = j2.id1 and j1.id2 = j2.id2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------- Nested Loop @@ -8769,6 +9158,7 @@ explain (verbose, costs off) select * from j1 inner join j2 on j1.id1 = j2.id1 where j1.id2 = 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------ Nested Loop @@ -8785,6 +9175,7 @@ explain (verbose, costs off) select * from j1 left join j2 on j1.id1 = j2.id1 where j1.id2 = 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------ Nested Loop Left Join @@ -8802,6 +9193,7 @@ explain (verbose, costs off) select * from j1 inner join j2 on j1.id2 = j2.id2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------ Nested Loop @@ -8829,6 +9221,7 @@ explain (costs off) select * from j1 inner join j2 on j1.id1 = j2.id1 and j1.id2 = j2.id2 where j1.id1 % 1000 = 1 and j2.id1 % 1000 = 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------- Merge Join @@ -8841,6 +9234,7 @@ select * from j1 inner join j2 on j1.id1 = j2.id1 and j1.id2 = j2.id2 where j1.id1 % 1000 = 1 and j2.id1 % 1000 = 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id1 | id2 | id1 | id2 -----+-----+-----+----- 1 | 1 | 1 | 1 @@ -8851,6 +9245,7 @@ explain (costs off) select * from j1 inner join j2 on j1.id1 = j2.id1 and j1.id2 = j2.id2 where j1.id1 % 1000 = 1 and j2.id1 % 1000 = 1 and j2.id1 = any (array[1]); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------- Merge Join @@ -8864,6 +9259,7 @@ select * from j1 inner join j2 on j1.id1 = j2.id1 and j1.id2 = j2.id2 where j1.id1 % 1000 = 1 and j2.id1 % 1000 = 1 and j2.id1 = any (array[1]); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id1 | id2 | id1 | id2 -----+-----+-----+----- 1 | 1 | 1 | 1 @@ -8874,6 +9270,7 @@ explain (costs off) select * from j1 inner join j2 on j1.id1 = j2.id1 and j1.id2 = j2.id2 where j1.id1 % 1000 = 1 and j2.id1 % 1000 = 1 and j2.id1 >= any (array[1,5]); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------- Merge Join @@ -8888,6 +9285,7 @@ select * from j1 inner join j2 on j1.id1 = j2.id1 and j1.id2 = j2.id2 where j1.id1 % 1000 = 1 and j2.id1 % 1000 = 1 and j2.id1 >= any (array[1,5]); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id1 | id2 | id1 | id2 -----+-----+-----+----- 1 | 1 | 1 | 1 diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/aggregates.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/aggregates.out --- /tmp/cirrus-ci-build/src/test/regress/expected/aggregates.out 2024-03-19 15:41:21.016759000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/aggregates.out 2024-03-19 15:51:20.367730000 +0000 @@ -26,24 +26,28 @@ (1 row) SELECT any_value(v) FROM (VALUES (1), (2), (3)) AS v (v); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree any_value ----------- 1 (1 row) SELECT any_value(v) FROM (VALUES (NULL)) AS v (v); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree any_value ----------- (1 row) SELECT any_value(v) FROM (VALUES (NULL), (1), (2)) AS v (v); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree any_value ----------- 1 (1 row) SELECT any_value(v) FROM (VALUES (array['hello', 'world'])) AS v (v); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree any_value --------------- {hello,world} @@ -271,60 +275,70 @@ -- verify correct results for null and NaN inputs select sum(null::int4) from generate_series(1,3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree sum ----- (1 row) select sum(null::int8) from generate_series(1,3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree sum ----- (1 row) select sum(null::numeric) from generate_series(1,3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree sum ----- (1 row) select sum(null::float8) from generate_series(1,3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree sum ----- (1 row) select avg(null::int4) from generate_series(1,3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree avg ----- (1 row) select avg(null::int8) from generate_series(1,3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree avg ----- (1 row) select avg(null::numeric) from generate_series(1,3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree avg ----- (1 row) select avg(null::float8) from generate_series(1,3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree avg ----- (1 row) select sum('NaN'::numeric) from generate_series(1,3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree sum ----- NaN (1 row) select avg('NaN'::numeric) from generate_series(1,3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree avg ----- NaN @@ -333,6 +347,7 @@ -- verify correct results for infinite inputs SELECT sum(x::float8), avg(x::float8), var_pop(x::float8) FROM (VALUES ('1'), ('infinity')) v(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree sum | avg | var_pop ----------+----------+--------- Infinity | Infinity | NaN @@ -340,6 +355,7 @@ SELECT sum(x::float8), avg(x::float8), var_pop(x::float8) FROM (VALUES ('infinity'), ('1')) v(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree sum | avg | var_pop ----------+----------+--------- Infinity | Infinity | NaN @@ -347,6 +363,7 @@ SELECT sum(x::float8), avg(x::float8), var_pop(x::float8) FROM (VALUES ('infinity'), ('infinity')) v(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree sum | avg | var_pop ----------+----------+--------- Infinity | Infinity | NaN @@ -354,6 +371,7 @@ SELECT sum(x::float8), avg(x::float8), var_pop(x::float8) FROM (VALUES ('-infinity'), ('infinity')) v(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree sum | avg | var_pop -----+-----+--------- NaN | NaN | NaN @@ -361,6 +379,7 @@ SELECT sum(x::float8), avg(x::float8), var_pop(x::float8) FROM (VALUES ('-infinity'), ('-infinity')) v(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree sum | avg | var_pop -----------+-----------+--------- -Infinity | -Infinity | NaN @@ -368,6 +387,7 @@ SELECT sum(x::numeric), avg(x::numeric), var_pop(x::numeric) FROM (VALUES ('1'), ('infinity')) v(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree sum | avg | var_pop ----------+----------+--------- Infinity | Infinity | NaN @@ -375,6 +395,7 @@ SELECT sum(x::numeric), avg(x::numeric), var_pop(x::numeric) FROM (VALUES ('infinity'), ('1')) v(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree sum | avg | var_pop ----------+----------+--------- Infinity | Infinity | NaN @@ -382,6 +403,7 @@ SELECT sum(x::numeric), avg(x::numeric), var_pop(x::numeric) FROM (VALUES ('infinity'), ('infinity')) v(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree sum | avg | var_pop ----------+----------+--------- Infinity | Infinity | NaN @@ -389,6 +411,7 @@ SELECT sum(x::numeric), avg(x::numeric), var_pop(x::numeric) FROM (VALUES ('-infinity'), ('infinity')) v(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree sum | avg | var_pop -----+-----+--------- NaN | NaN | NaN @@ -396,6 +419,7 @@ SELECT sum(x::numeric), avg(x::numeric), var_pop(x::numeric) FROM (VALUES ('-infinity'), ('-infinity')) v(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree sum | avg | var_pop -----------+-----------+--------- -Infinity | -Infinity | NaN @@ -404,6 +428,7 @@ -- test accuracy with a large input offset SELECT avg(x::float8), var_pop(x::float8) FROM (VALUES (100000003), (100000004), (100000006), (100000007)) v(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree avg | var_pop -----------+--------- 100000005 | 2.5 @@ -411,6 +436,7 @@ SELECT avg(x::float8), var_pop(x::float8) FROM (VALUES (7000000000005), (7000000000007)) v(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree avg | var_pop ---------------+--------- 7000000000006 | 1 @@ -493,6 +519,7 @@ -- test accum and combine functions directly CREATE TABLE regr_test (x float8, y float8); INSERT INTO regr_test VALUES (10,150),(20,250),(30,350),(80,540),(100,200); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT count(*), sum(x), regr_sxx(y,x), sum(y),regr_syy(y,x), regr_sxy(y,x) FROM regr_test WHERE x IN (10,20,30,80); count | sum | regr_sxx | sum | regr_syy | regr_sxy @@ -695,6 +722,7 @@ lateral (select s2, sum(s1 + s2) sm from generate_series(1, 3) s2 group by s2) ss order by 1, 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------ Sort @@ -718,6 +746,7 @@ lateral (select s2, sum(s1 + s2) sm from generate_series(1, 3) s2 group by s2) ss order by 1, 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree s1 | s2 | sm ----+----+---- 1 | 1 | 2 @@ -735,6 +764,7 @@ select array(select sum(x+y) s from generate_series(1,3) y group by y order by s) from generate_series(1,3) x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------- Function Scan on pg_catalog.generate_series x @@ -755,6 +785,7 @@ select array(select sum(x+y) s from generate_series(1,3) y group by y order by s) from generate_series(1,3) x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree array --------- {2,3,4} @@ -1191,9 +1222,13 @@ create index minmaxtest2i on minmaxtest2(f1 desc); create index minmaxtest3i on minmaxtest3(f1) where f1 is not null; insert into minmaxtest values(11), (12); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into minmaxtest1 values(13), (14); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into minmaxtest2 values(15), (16); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into minmaxtest3 values(17), (18); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree explain (costs off) select min(f1), max(f1) from minmaxtest; QUERY PLAN @@ -1316,6 +1351,7 @@ explain (costs off) select * from t1 inner join t2 on t1.a = t2.x and t1.b = t2.y group by t1.a,t1.b,t1.c,t1.d,t2.x,t2.y,t2.z; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------ HashAggregate @@ -1331,6 +1367,7 @@ explain (costs off) select t1.*,t2.x,t2.z from t1 inner join t2 on t1.a = t2.x and t1.b = t2.y group by t1.a,t1.b,t1.c,t1.d,t2.x,t2.z; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------ HashAggregate @@ -1403,16 +1440,19 @@ create temp table t1(f1 int, f2 int); create temp table t2(f1 bigint, f2 oid); select f1 from t1 left join t2 using (f1) group by f1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 ---- (0 rows) select f1 from t1 left join t2 using (f1) group by t1.f1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 ---- (0 rows) select t1.f1 from t1 left join t2 using (f1) group by t1.f1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 ---- (0 rows) @@ -1426,6 +1466,7 @@ select f1, count(*) from t1 x(x0,x1) left join (t1 left join t2 using(f1)) on (x0 = 0) group by f1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 | count ----+------- (0 rows) @@ -1434,6 +1475,7 @@ select f2, count(*) from t1 x(x0,x1) left join (t1 left join t2 using(f2)) on (x0 = 0) group by f2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f2 | count ----+------- (0 rows) @@ -1539,6 +1581,7 @@ -- Ensure consecutive NULLs are properly treated as distinct from each other select array_agg(distinct val) from (select null as val from generate_series(1, 2)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree array_agg ----------- {NULL} @@ -1560,6 +1603,7 @@ -- select array_agg(a order by b) from (values (1,4),(2,3),(3,1),(4,2)) v(a,b); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree array_agg ----------- {3,4,2,1} @@ -1567,6 +1611,7 @@ select array_agg(a order by a) from (values (1,4),(2,3),(3,1),(4,2)) v(a,b); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree array_agg ----------- {1,2,3,4} @@ -1574,6 +1619,7 @@ select array_agg(a order by a desc) from (values (1,4),(2,3),(3,1),(4,2)) v(a,b); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree array_agg ----------- {4,3,2,1} @@ -1581,6 +1627,7 @@ select array_agg(b order by a desc) from (values (1,4),(2,3),(3,1),(4,2)) v(a,b); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree array_agg ----------- {2,1,3,4} @@ -1588,6 +1635,7 @@ select array_agg(distinct a) from (values (1),(2),(1),(3),(null),(2)) v(a); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree array_agg -------------- {1,2,3,NULL} @@ -1595,6 +1643,7 @@ select array_agg(distinct a order by a) from (values (1),(2),(1),(3),(null),(2)) v(a); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree array_agg -------------- {1,2,3,NULL} @@ -1602,6 +1651,7 @@ select array_agg(distinct a order by a desc) from (values (1),(2),(1),(3),(null),(2)) v(a); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree array_agg -------------- {NULL,3,2,1} @@ -1609,6 +1659,7 @@ select array_agg(distinct a order by a desc nulls last) from (values (1),(2),(1),(3),(null),(2)) v(a); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree array_agg -------------- {3,2,1,NULL} @@ -1617,6 +1668,7 @@ -- multi-arg aggs, strict/nonstrict, distinct/order by select aggfstr(a,b,c) from (values (1,3,'foo'),(0,null,null),(2,2,'bar'),(3,1,'baz')) v(a,b,c); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree aggfstr --------------------------------------- {"(1,3,foo)","(2,2,bar)","(3,1,baz)"} @@ -1624,6 +1676,7 @@ select aggfns(a,b,c) from (values (1,3,'foo'),(0,null,null),(2,2,'bar'),(3,1,'baz')) v(a,b,c); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree aggfns ----------------------------------------------- {"(1,3,foo)","(0,,)","(2,2,bar)","(3,1,baz)"} @@ -1632,6 +1685,7 @@ select aggfstr(distinct a,b,c) from (values (1,3,'foo'),(0,null,null),(2,2,'bar'),(3,1,'baz')) v(a,b,c), generate_series(1,3) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree aggfstr --------------------------------------- {"(1,3,foo)","(2,2,bar)","(3,1,baz)"} @@ -1640,6 +1694,7 @@ select aggfns(distinct a,b,c) from (values (1,3,'foo'),(0,null,null),(2,2,'bar'),(3,1,'baz')) v(a,b,c), generate_series(1,3) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree aggfns ----------------------------------------------- {"(0,,)","(1,3,foo)","(2,2,bar)","(3,1,baz)"} @@ -1648,6 +1703,7 @@ select aggfstr(distinct a,b,c order by b) from (values (1,3,'foo'),(0,null,null),(2,2,'bar'),(3,1,'baz')) v(a,b,c), generate_series(1,3) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree aggfstr --------------------------------------- {"(3,1,baz)","(2,2,bar)","(1,3,foo)"} @@ -1656,6 +1712,7 @@ select aggfns(distinct a,b,c order by b) from (values (1,3,'foo'),(0,null,null),(2,2,'bar'),(3,1,'baz')) v(a,b,c), generate_series(1,3) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree aggfns ----------------------------------------------- {"(3,1,baz)","(2,2,bar)","(1,3,foo)","(0,,)"} @@ -1665,6 +1722,7 @@ select aggfns(distinct a,a,c order by c using ~<~,a) from (values (1,3,'foo'),(0,null,null),(2,2,'bar'),(3,1,'baz')) v(a,b,c), generate_series(1,2) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree aggfns ------------------------------------------------ {"(2,2,bar)","(3,3,baz)","(1,1,foo)","(0,0,)"} @@ -1673,6 +1731,7 @@ select aggfns(distinct a,a,c order by c using ~<~) from (values (1,3,'foo'),(0,null,null),(2,2,'bar'),(3,1,'baz')) v(a,b,c), generate_series(1,2) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree aggfns ------------------------------------------------ {"(2,2,bar)","(3,3,baz)","(1,1,foo)","(0,0,)"} @@ -1681,6 +1740,7 @@ select aggfns(distinct a,a,c order by a) from (values (1,3,'foo'),(0,null,null),(2,2,'bar'),(3,1,'baz')) v(a,b,c), generate_series(1,2) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree aggfns ------------------------------------------------ {"(0,0,)","(1,1,foo)","(2,2,bar)","(3,3,baz)"} @@ -1689,6 +1749,7 @@ select aggfns(distinct a,b,c order by a,c using ~<~,b) from (values (1,3,'foo'),(0,null,null),(2,2,'bar'),(3,1,'baz')) v(a,b,c), generate_series(1,2) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree aggfns ----------------------------------------------- {"(0,,)","(1,3,foo)","(2,2,bar)","(3,1,baz)"} @@ -1702,6 +1763,7 @@ from (values(1)) b(id) where a.id = b.id )) from unnest(array[1]) a(id); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree string_agg | sum ------------+----- a | 1 @@ -1712,6 +1774,7 @@ select aggfns(a,b,c) from (values (1,3,'foo'),(0,null,null),(2,2,'bar'),(3,1,'baz')) v(a,b,c); select * from agg_view1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree aggfns ----------------------------------------------- {"(1,3,foo)","(0,,)","(2,2,bar)","(3,1,baz)"} @@ -1729,6 +1792,7 @@ from (values (1,3,'foo'),(0,null,null),(2,2,'bar'),(3,1,'baz')) v(a,b,c), generate_series(1,3) i; select * from agg_view1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree aggfns ----------------------------------------------- {"(0,,)","(1,3,foo)","(2,2,bar)","(3,1,baz)"} @@ -1747,6 +1811,7 @@ from (values (1,3,'foo'),(0,null,null),(2,2,'bar'),(3,1,'baz')) v(a,b,c), generate_series(1,3) i; select * from agg_view1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree aggfns ----------------------------------------------- {"(3,1,baz)","(2,2,bar)","(1,3,foo)","(0,,)"} @@ -1764,6 +1829,7 @@ select aggfns(a,b,c order by b+1) from (values (1,3,'foo'),(0,null,null),(2,2,'bar'),(3,1,'baz')) v(a,b,c); select * from agg_view1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree aggfns ----------------------------------------------- {"(3,1,baz)","(2,2,bar)","(1,3,foo)","(0,,)"} @@ -1780,6 +1846,7 @@ select aggfns(a,a,c order by b) from (values (1,3,'foo'),(0,null,null),(2,2,'bar'),(3,1,'baz')) v(a,b,c); select * from agg_view1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree aggfns ------------------------------------------------ {"(3,3,baz)","(2,2,bar)","(1,1,foo)","(0,0,)"} @@ -1796,6 +1863,7 @@ select aggfns(a,b,c order by c using ~<~) from (values (1,3,'foo'),(0,null,null),(2,2,'bar'),(3,1,'baz')) v(a,b,c); select * from agg_view1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree aggfns ----------------------------------------------- {"(2,2,bar)","(3,1,baz)","(1,3,foo)","(0,,)"} @@ -1813,6 +1881,7 @@ from (values (1,3,'foo'),(0,null,null),(2,2,'bar'),(3,1,'baz')) v(a,b,c), generate_series(1,2) i; select * from agg_view1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree aggfns ----------------------------------------------- {"(0,,)","(1,3,foo)","(2,2,bar)","(3,1,baz)"} @@ -1850,24 +1919,28 @@ ^ -- string_agg tests select string_agg(a,',') from (values('aaaa'),('bbbb'),('cccc')) g(a); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree string_agg ---------------- aaaa,bbbb,cccc (1 row) select string_agg(a,',') from (values('aaaa'),(null),('bbbb'),('cccc')) g(a); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree string_agg ---------------- aaaa,bbbb,cccc (1 row) select string_agg(a,'AB') from (values(null),(null),('bbbb'),('cccc')) g(a); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree string_agg ------------ bbbbABcccc (1 row) select string_agg(a,',') from (values(null),(null)) g(a); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree string_agg ------------ @@ -1934,6 +2007,7 @@ insert into pagg_test select (case x % 4 when 1 then null else x end), x % 10 from generate_series(1,5000) x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree set parallel_setup_cost TO 0; set parallel_tuple_cost TO 0; set parallel_leader_participation TO 0; @@ -1969,6 +2043,7 @@ group by y; -- Ensure results are correct. select * from v_pagg_test order by y; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree y | tmin | tmax | tndistinct | bmin | bmax | bndistinct | amin | amax | andistinct | aamin | aamax | aandistinct ---+------+------+------------+------+------+------------+------+------+------------+-------+-------+------------- 0 | 10 | 5000 | 500 | 10 | 990 | 500 | 10 | 5000 | 500 | 10 | 5000 | 500 @@ -2005,6 +2080,7 @@ set max_parallel_workers_per_gather = 0; -- Ensure results are the same without parallel aggregation. select * from v_pagg_test order by y; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree y | tmin | tmax | tndistinct | bmin | bmax | bndistinct | amin | amax | andistinct | aamin | aamax | aandistinct ---+------+------+------------+------+------+------------+------+------+------------+-------+-------+------------- 0 | 10 | 5000 | 500 | 10 | 990 | 500 | 10 | 5000 | 500 | 10 | 5000 | 500 @@ -2071,12 +2147,14 @@ select max(foo COLLATE "C") filter (where (bar collate "POSIX") > '0') from (values ('a', 'b')) AS v(foo,bar); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree max ----- a (1 row) select any_value(v) filter (where v > 2) from (values (1), (2), (3)) as v (v); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree any_value ----------- 3 @@ -2086,6 +2164,7 @@ select (select count(*) from (values (1)) t0(inner_c)) from (values (2),(3)) t1(outer_c); -- inner query is aggregation query +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 1 @@ -2095,6 +2174,7 @@ select (select count(*) filter (where outer_c <> 0) from (values (1)) t0(inner_c)) from (values (2),(3)) t1(outer_c); -- outer query is aggregation query +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 2 @@ -2103,6 +2183,7 @@ select (select count(inner_c) filter (where outer_c <> 0) from (values (1)) t0(inner_c)) from (values (2),(3)) t1(outer_c); -- inner query is aggregation query +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 1 @@ -2130,6 +2211,7 @@ select aggfns(distinct a,b,c order by a,c using ~<~,b) filter (where a > 1) from (values (1,3,'foo'),(0,null,null),(2,2,'bar'),(3,1,'baz')) v(a,b,c), generate_series(1,2) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree aggfns --------------------------- {"(2,2,bar)","(3,1,baz)"} @@ -2170,6 +2252,7 @@ from generate_series(1,5) x, (values (0::float8),(0.1),(0.25),(0.4),(0.5),(0.6),(0.75),(0.9),(1)) v(p) group by p order by p; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree p | percentile_cont ------+----------------- 0 | 1 @@ -2230,6 +2313,7 @@ select rank(3) within group (order by x) from (values (1),(1),(2),(2),(3),(3),(4)) v(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree rank ------ 5 @@ -2237,6 +2321,7 @@ select cume_dist(3) within group (order by x) from (values (1),(1),(2),(2),(3),(3),(4)) v(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree cume_dist ----------- 0.875 @@ -2244,6 +2329,7 @@ select percent_rank(3) within group (order by x) from (values (1),(1),(2),(2),(3),(3),(4),(5)) v(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree percent_rank -------------- 0.5 @@ -2251,6 +2337,7 @@ select dense_rank(3) within group (order by x) from (values (1),(1),(2),(2),(3),(3),(4)) v(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree dense_rank ------------ 3 @@ -2279,6 +2366,7 @@ select percentile_cont(array[0,1,0.25,0.75,0.5,1,0.3,0.32,0.35,0.38,0.4]) within group (order by x) from generate_series(1,6) x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree percentile_cont ------------------------------------------ {1,6,2.25,4.75,3.5,6,2.5,2.6,2.75,2.9,3} @@ -2301,6 +2389,7 @@ select percentile_disc(array[0.25,0.5,0.75]) within group (order by x) from unnest('{fred,jim,fred,jack,jill,fred,jill,jim,jim,sheila,jim,sheila}'::text[]) u(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree percentile_disc ----------------- {fred,jill,jim} @@ -2309,6 +2398,7 @@ -- check collation propagates up in suitable cases: select pg_collation_for(percentile_disc(1) within group (order by x collate "POSIX")) from (values ('fred'),('jim')) v(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree pg_collation_for ------------------ "POSIX" @@ -2317,6 +2407,7 @@ -- ordered-set aggs created with CREATE AGGREGATE select test_rank(3) within group (order by x) from (values (1),(1),(2),(2),(3),(3),(4)) v(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree test_rank ----------- 5 @@ -2367,12 +2458,14 @@ ^ -- hypothetical-set type unification successes: select rank('adam'::varchar) within group (order by x) from (values ('fred'),('jim')) v(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree rank ------ 1 (1 row) select rank('3') within group (order by x) from generate_series(1,5) x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree rank ------ 3 @@ -2380,6 +2473,7 @@ -- divide by zero check select percent_rank(0) within group (order by x) from generate_series(1,0) x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree percent_rank -------------- 0 @@ -2406,6 +2500,7 @@ (1 row) select * from aggordview1 order by ten; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ten | p50 | px | rank -----+-----+-----+------ 0 | 490 | | 101 @@ -2423,36 +2518,42 @@ drop view aggordview1; -- variadic aggregates select least_agg(q1,q2) from int8_tbl; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree least_agg ------------------- -4567890123456789 (1 row) select least_agg(variadic array[q1,q2]) from int8_tbl; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree least_agg ------------------- -4567890123456789 (1 row) select cleast_agg(q1,q2) from int8_tbl; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree cleast_agg ------------------- -4567890123456789 (1 row) select cleast_agg(4.5,f1) from int4_tbl; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree cleast_agg ------------- -2147483647 (1 row) select cleast_agg(variadic array[4.5,f1]) from int4_tbl; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree cleast_agg ------------- -2147483647 (1 row) select pg_typeof(cleast_agg(variadic array[4.5,f1])) from int4_tbl; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree pg_typeof ----------- numeric @@ -2516,6 +2617,7 @@ ); -- aggregate state should be shared as aggs are the same. select my_avg(one),my_avg(one) from (values(1),(3)) t(one); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: avg_transfn called with 1 NOTICE: avg_transfn called with 3 my_avg | my_avg @@ -2525,6 +2627,7 @@ -- aggregate state should be shared as transfn is the same for both aggs. select my_avg(one),my_sum(one) from (values(1),(3)) t(one); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: avg_transfn called with 1 NOTICE: avg_transfn called with 3 my_avg | my_sum @@ -2534,6 +2637,7 @@ -- same as previous one, but with DISTINCT, which requires sorting the input. select my_avg(distinct one),my_sum(distinct one) from (values(1),(3),(1)) t(one); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: avg_transfn called with 1 NOTICE: avg_transfn called with 3 my_avg | my_sum @@ -2543,6 +2647,7 @@ -- shouldn't share states due to the distinctness not matching. select my_avg(distinct one),my_sum(one) from (values(1),(3)) t(one); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: avg_transfn called with 1 NOTICE: avg_transfn called with 1 NOTICE: avg_transfn called with 3 @@ -2554,6 +2659,7 @@ -- shouldn't share states due to the filter clause not matching. select my_avg(one) filter (where one > 1),my_sum(one) from (values(1),(3)) t(one); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: avg_transfn called with 1 NOTICE: avg_transfn called with 3 NOTICE: avg_transfn called with 3 @@ -2564,6 +2670,7 @@ -- this should not share the state due to different input columns. select my_avg(one),my_sum(two) from (values(1,2),(3,4)) t(one,two); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: avg_transfn called with 1 NOTICE: avg_transfn called with 2 NOTICE: avg_transfn called with 3 @@ -2578,6 +2685,7 @@ percentile_cont(0.5) within group (order by a), percentile_disc(0.5) within group (order by a) from (values(1::float8),(3),(5),(7)) t(a); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree percentile_cont | percentile_disc -----------------+----------------- 4 | 3 @@ -2587,6 +2695,7 @@ percentile_cont(0.25) within group (order by a), percentile_disc(0.5) within group (order by a) from (values(1::float8),(3),(5),(7)) t(a); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree percentile_cont | percentile_disc -----------------+----------------- 2.5 | 3 @@ -2597,6 +2706,7 @@ rank(4) within group (order by a), dense_rank(4) within group (order by a) from (values(1),(3),(5),(7)) t(a); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree rank | dense_rank ------+------------ 3 | 3 @@ -2626,6 +2736,7 @@ ); -- state should be shared if INITCONDs are matching select my_sum_init(one),my_avg_init(one) from (values(1),(3)) t(one); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: avg_transfn called with 1 NOTICE: avg_transfn called with 3 my_sum_init | my_avg_init @@ -2635,6 +2746,7 @@ -- Varying INITCONDs should cause the states not to be shared. select my_sum_init(one),my_avg_init2(one) from (values(1),(3)) t(one); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: avg_transfn called with 1 NOTICE: avg_transfn called with 1 NOTICE: avg_transfn called with 3 @@ -2690,6 +2802,7 @@ ); -- Agg state should be shared even though my_sum has no finalfn select my_sum(one),my_half_sum(one) from (values(1),(2),(3),(4)) t(one); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: sum_transfn called with 1 NOTICE: sum_transfn called with 2 NOTICE: sum_transfn called with 3 @@ -2735,6 +2848,7 @@ 'abc' || i % 10 AS z, i AS w FROM generate_series(1, 100) AS i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE INDEX btg_x_y_idx ON btg(x, y); ANALYZE btg; SET enable_hashagg = off; @@ -2766,6 +2880,7 @@ EXPLAIN (COSTS OFF) SELECT count(*) FROM (SELECT * FROM btg ORDER BY x, y, w, z) AS q1 GROUP BY w, x, z, y; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------- GroupAggregate @@ -2783,6 +2898,7 @@ SELECT count(*) FROM btg t1 JOIN btg t2 ON t1.z = t2.z AND t1.w = t2.w AND t1.x = t2.x GROUP BY t1.x, t1.y, t1.z, t1.w; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------- GroupAggregate @@ -2854,6 +2970,7 @@ 2 AS w, i % 10 AS f FROM generate_series(1,100) AS i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE group_agg_pk; SET enable_nestloop = off; SET enable_hashjoin = off; @@ -2861,6 +2978,7 @@ SELECT avg(c1.f ORDER BY c1.x, c1.y) FROM group_agg_pk c1 JOIN group_agg_pk c2 ON c1.x = c2.x GROUP BY c1.w, c1.z; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------- GroupAggregate @@ -2880,6 +2998,7 @@ SELECT avg(c1.f ORDER BY c1.x, c1.y) FROM group_agg_pk c1 JOIN group_agg_pk c2 ON c1.x = c2.x GROUP BY c1.w, c1.z; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree avg -------------------- 4.0000000000000000 @@ -2894,6 +3013,7 @@ CREATE TABLE agg_sort_order (c1 int PRIMARY KEY, c2 int); CREATE UNIQUE INDEX agg_sort_order_c2_idx ON agg_sort_order(c2); INSERT INTO agg_sort_order SELECT i, i FROM generate_series(1,100)i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE agg_sort_order; EXPLAIN (COSTS OFF) SELECT array_agg(c1 ORDER BY c2),c2 @@ -3012,6 +3132,7 @@ UNION ALL SELECT * FROM tenk1 UNION ALL SELECT * FROM tenk1 UNION ALL SELECT * FROM tenk1) u; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Finalize Aggregate @@ -3037,6 +3158,7 @@ UNION ALL SELECT * FROM tenk1 UNION ALL SELECT * FROM tenk1 UNION ALL SELECT * FROM tenk1) u; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree variance | sum | regr_count ----------------------+-----------+------------ 8333541.588539713493 | 199980000 | 40000 @@ -3050,6 +3172,7 @@ UNION ALL SELECT * FROM tenk1 UNION ALL SELECT * FROM tenk1 UNION ALL SELECT * FROM tenk1) u; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------------------------------------------- Finalize Aggregate @@ -3075,6 +3198,7 @@ UNION ALL SELECT * FROM tenk1 UNION ALL SELECT * FROM tenk1 UNION ALL SELECT * FROM tenk1) u; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree variance | avg ----------------------+----------------------- 8333541.588539713493 | 4999.5000000000000000 @@ -3083,6 +3207,7 @@ ROLLBACK; -- test coverage for dense_rank SELECT dense_rank(x) WITHIN GROUP (ORDER BY x) FROM (VALUES (1),(1),(2),(2),(3),(3)) v(x) GROUP BY (x) ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree dense_rank ------------ 1 @@ -3094,12 +3219,14 @@ -- of ORDER BY columns into account. See bug report around -- 2a505161-2727-2473-7c46-591ed108ac52@email.cz SELECT min(x ORDER BY y) FROM (VALUES(1, NULL)) AS d(x,y); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree min ----- 1 (1 row) SELECT min(x ORDER BY y) FROM (VALUES(1, 2)) AS d(x,y); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree min ----- 1 @@ -3109,6 +3236,7 @@ select v||'a', case v||'a' when 'aa' then 1 else 0 end, count(*) from unnest(array['a','b']) u(v) group by v||'a' order by 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ?column? | case | count ----------+------+------- aa | 1 | 1 @@ -3118,6 +3246,7 @@ select v||'a', case when v||'a' = 'aa' then 1 else 0 end, count(*) from unnest(array['a','b']) u(v) group by v||'a' order by 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ?column? | case | count ----------+------+------- aa | 1 | 1 @@ -3214,9 +3343,11 @@ set work_mem='64kB'; create table agg_data_2k as select g from generate_series(0, 1999) g; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree analyze agg_data_2k; create table agg_data_20k as select g from generate_series(0, 19999) g; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree analyze agg_data_20k; -- Produce results with sorting. set enable_hashagg = false; @@ -3246,6 +3377,7 @@ from agg_data_2k where g < r.a group by g/2) as s; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree set jit_above_cost to default; create table agg_group_3 as select (g/2)::numeric as c1, sum(7::int4) as c2, count(*) as c3 @@ -3280,6 +3412,7 @@ from agg_data_2k where g < r.a group by g/2) as s; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree set jit_above_cost to default; create table agg_hash_3 as select (g/2)::numeric as c1, sum(7::int4) as c2, count(*) as c3 @@ -3293,6 +3426,7 @@ (select * from agg_hash_1 except select * from agg_group_1) union all (select * from agg_group_1 except select * from agg_hash_1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c1 | c2 | c3 ----+----+---- (0 rows) @@ -3300,6 +3434,7 @@ (select * from agg_hash_2 except select * from agg_group_2) union all (select * from agg_group_2 except select * from agg_hash_2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | c1 | c2 | c3 ---+----+----+---- (0 rows) @@ -3307,6 +3442,7 @@ (select * from agg_hash_3 except select * from agg_group_3) union all (select * from agg_group_3 except select * from agg_hash_3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c1 | c2 | c3 ----+----+---- (0 rows) @@ -3314,6 +3450,7 @@ (select * from agg_hash_4 except select * from agg_group_4) union all (select * from agg_group_4 except select * from agg_hash_4); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c1 | c2 | c3 ----+----+---- (0 rows) diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/transactions.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/transactions.out --- /tmp/cirrus-ci-build/src/test/regress/expected/transactions.out 2024-03-19 15:41:21.046285000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/transactions.out 2024-03-19 15:51:19.519013000 +0000 @@ -8,6 +8,7 @@ (100, 99.097), (0, 0.09561), (42, 324.78); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO xacttest (a, b) VALUES (777, 777.777); END; -- should retrieve one value-- @@ -681,6 +682,7 @@ (1 row) FETCH ctt; -- error occurs here +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: division by zero CONTEXT: PL/pgSQL function invert(double precision) line 1 at RETURN SQL statement "INSERT INTO new_table SELECT invert(0.0)" diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/random.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/random.out --- /tmp/cirrus-ci-build/src/test/regress/expected/random.out 2024-03-19 15:41:21.044454000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/random.out 2024-03-19 15:51:18.839702000 +0000 @@ -13,6 +13,7 @@ SELECT r, count(*) FROM (SELECT random() r FROM generate_series(1, 1000)) ss GROUP BY r HAVING count(*) > 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree r | count ---+------- (0 rows) @@ -24,6 +25,7 @@ (count(*) FILTER (WHERE r < 0.01)) > 0 AS has_small, (count(*) FILTER (WHERE r > 0.99)) > 0 AS has_large FROM (SELECT random() r FROM generate_series(1, 2000)) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree out_of_range | has_small | has_large --------------+-----------+----------- 0 | t | t @@ -56,6 +58,7 @@ SELECT ks_test_uniform_random() OR ks_test_uniform_random() OR ks_test_uniform_random() AS uniform; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree uniform --------- t @@ -66,6 +69,7 @@ SELECT r, count(*) FROM (SELECT random_normal() r FROM generate_series(1, 1000)) ss GROUP BY r HAVING count(*) > 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree r | count ---+------- (0 rows) @@ -75,6 +79,7 @@ SELECT r, count(*) FROM (SELECT random_normal(10, 0) r FROM generate_series(1, 100)) ss GROUP BY r; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree r | count ----+------- 10 | 100 @@ -83,6 +88,7 @@ SELECT r, count(*) FROM (SELECT random_normal(-10, 0) r FROM generate_series(1, 100)) ss GROUP BY r; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree r | count -----+------- -10 | 100 @@ -115,6 +121,7 @@ SELECT ks_test_normal_random() OR ks_test_normal_random() OR ks_test_normal_random() AS standard_normal; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree standard_normal ----------------- t @@ -128,6 +135,7 @@ (1 row) SELECT random() FROM generate_series(1, 10); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree random --------------------- 0.9851677175347999 @@ -147,6 +155,7 @@ -- machines, we have to round off the results a bit to get consistent output. SET extra_float_digits = -1; SELECT random_normal() FROM generate_series(1, 10); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree random_normal ------------------- 0.20853464493838 @@ -162,6 +171,7 @@ (10 rows) SELECT random_normal(mean => 1, stddev => 0.1) r FROM generate_series(1, 10); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree r ------------------ 1.0060597281173 diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/portals.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/portals.out --- /tmp/cirrus-ci-build/src/test/regress/expected/portals.out 2024-03-19 15:41:21.044010000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/portals.out 2024-03-19 15:51:19.562920000 +0000 @@ -679,6 +679,7 @@ -- record this in the system view as well (don't query the time field there -- however) SELECT name, statement, is_holdable, is_binary, is_scrollable FROM pg_cursors ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree name | statement | is_holdable | is_binary | is_scrollable -------+-----------------------------------------------------------------------+-------------+-----------+--------------- foo13 | DECLARE foo13 SCROLL CURSOR FOR SELECT * FROM tenk1 ORDER BY unique2; | f | f | t @@ -696,6 +697,7 @@ END; SELECT name, statement, is_holdable, is_binary, is_scrollable FROM pg_cursors; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree name | statement | is_holdable | is_binary | is_scrollable ------+-----------+-------------+-----------+--------------- (0 rows) @@ -737,6 +739,7 @@ -- Cursors outside transaction blocks -- SELECT name, statement, is_holdable, is_binary, is_scrollable FROM pg_cursors; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree name | statement | is_holdable | is_binary | is_scrollable ------+-----------+-------------+-----------+--------------- (0 rows) @@ -775,6 +778,7 @@ (1 row) SELECT name, statement, is_holdable, is_binary, is_scrollable FROM pg_cursors; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree name | statement | is_holdable | is_binary | is_scrollable -------+----------------------------------------------------------------+-------------+-----------+--------------- foo25 | DECLARE foo25 SCROLL CURSOR WITH HOLD FOR SELECT * FROM tenk2; | t | f | t @@ -812,6 +816,7 @@ ERROR: cursor can only scan forward HINT: Declare it with SCROLL option to enable backward scan. SELECT name, statement, is_holdable, is_binary, is_scrollable FROM pg_cursors; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree name | statement | is_holdable | is_binary | is_scrollable ---------+---------------------------------------------------------------------+-------------+-----------+--------------- foo25ns | DECLARE foo25ns NO SCROLL CURSOR WITH HOLD FOR SELECT * FROM tenk2; | t | f | f @@ -900,6 +905,7 @@ -- Create a cursor with the BINARY option and check the pg_cursors view BEGIN; SELECT name, statement, is_holdable, is_binary, is_scrollable FROM pg_cursors; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree name | statement | is_holdable | is_binary | is_scrollable ------+----------------------------------------------------------------------+-------------+-----------+--------------- c2 | declare c2 cursor with hold for select count_tt1_v(), count_tt1_s(); | t | f | f @@ -907,6 +913,7 @@ DECLARE bc BINARY CURSOR FOR SELECT * FROM tenk1; SELECT name, statement, is_holdable, is_binary, is_scrollable FROM pg_cursors ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree name | statement | is_holdable | is_binary | is_scrollable ------+----------------------------------------------------------------------+-------------+-----------+--------------- bc | DECLARE bc BINARY CURSOR FOR SELECT * FROM tenk1; | f | t | t @@ -918,6 +925,7 @@ -- implement EXECUTE in pg_cursors PREPARE cprep AS SELECT name, statement, is_holdable, is_binary, is_scrollable FROM pg_cursors; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree EXECUTE cprep; name | statement | is_holdable | is_binary | is_scrollable ------+----------------------------------------------------------------------+-------------+-----------+--------------- @@ -926,6 +934,7 @@ -- test CLOSE ALL; SELECT name FROM pg_cursors ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree name ------ c2 @@ -933,6 +942,7 @@ CLOSE ALL; SELECT name FROM pg_cursors ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree name ------ (0 rows) @@ -941,6 +951,7 @@ DECLARE foo1 CURSOR WITH HOLD FOR SELECT 1; DECLARE foo2 CURSOR WITHOUT HOLD FOR SELECT 1; SELECT name FROM pg_cursors ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree name ------ foo1 @@ -949,6 +960,7 @@ CLOSE ALL; SELECT name FROM pg_cursors ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree name ------ (0 rows) @@ -959,6 +971,7 @@ -- CREATE TEMP TABLE uctest(f1 int, f2 text); INSERT INTO uctest VALUES (1, 'one'), (2, 'two'), (3, 'three'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM uctest; f1 | f2 ----+------- @@ -1303,6 +1316,7 @@ ROLLBACK; BEGIN; DECLARE c CURSOR FOR SELECT * FROM tenk1 JOIN tenk2 USING (unique1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree DELETE FROM tenk1 WHERE CURRENT OF c; -- fail, cursor is on a join ERROR: cursor "c" is not a simply updatable scan of table "tenk1" ROLLBACK; @@ -1334,6 +1348,7 @@ (1 row) DELETE FROM ucview WHERE CURRENT OF c1; -- fail, views not supported +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: WHERE CURRENT OF on a view is not implemented ROLLBACK; -- Check WHERE CURRENT OF with an index-only scan @@ -1367,7 +1382,9 @@ CREATE TABLE current_check_1 () INHERITS (current_check); CREATE TABLE current_check_2 () INHERITS (current_check); INSERT INTO current_check_1 SELECT i, 'p' || i FROM generate_series(1,9) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO current_check_2 SELECT i, 'P' || i FROM generate_series(10,19) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree DECLARE c1 SCROLL CURSOR FOR SELECT * FROM current_check; -- This tests the fetch-backwards code path FETCH ABSOLUTE 12 FROM c1; @@ -1544,6 +1561,7 @@ create table toasted_data (f1 int[]); insert into toasted_data select array_agg(i) from generate_series(12345678, 12345678 + 1000) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree declare local_portal cursor for select * from toasted_data; fetch all in local_portal; f1 diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/arrays.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/arrays.out --- /tmp/cirrus-ci-build/src/test/regress/expected/arrays.out 2024-03-19 15:41:21.016925000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/arrays.out 2024-03-19 15:51:19.680806000 +0000 @@ -202,6 +202,7 @@ (1 row) SELECT * FROM pg_input_error_info('{1,zed}', 'integer[]'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code ----------------------------------------------+--------+------+---------------- invalid input syntax for type integer: "zed" | | | 22P02 @@ -531,6 +532,7 @@ SELECT t.f[1][3][1] AS "131", t.f[2][2][1] AS "221" FROM ( SELECT ARRAY[[[111,112],[121,122],[131,132]],[[211,212],[221,122],[231,232]]] AS f ) AS t; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree 131 | 221 -----+----- 131 | 221 @@ -677,6 +679,7 @@ SELECT array_length(array_positions(ARRAY(SELECT 'AAAAAAAAAAAAAAAAAAAAAAAAA'::text || i % 10 FROM generate_series(1,100) g(i)), 'AAAAAAAAAAAAAAAAAAAAAAAAA5'), 1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree array_length -------------- 10 @@ -718,6 +721,7 @@ (ARRAY[(0, 0), (1, 1)]), (ARRAY[(1, 1)]) ) AS f (ids); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree array_position | array_positions ----------------+----------------- 2 | {2} @@ -786,12 +790,14 @@ (1 row) SELECT array_agg(x) || array_agg(x) FROM (VALUES (ROW(1,2)), (ROW(3,4))) v(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ?column? ----------------------------------- {"(1,2)","(3,4)","(1,2)","(3,4)"} (1 row) SELECT ROW(1,2) || array_agg(x) FROM (VALUES (ROW(3,4)), (ROW(5,6))) v(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ?column? --------------------------- {"(1,2)","(3,4)","(5,6)"} @@ -1361,6 +1367,7 @@ -- nulls later in the bitmap SELECT -1 != ALL(ARRAY(SELECT NULLIF(g.i, 900) FROM generate_series(1,1000) g(i))); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ?column? ---------- @@ -1810,6 +1817,8 @@ generate_subscripts($1,2) g2(s2); $$ language sql immutable; select * from unnest1(array[1,2,3]); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree unnest1 --------- 1 @@ -1818,6 +1827,8 @@ (3 rows) select * from unnest2(array[[1,2,3],[4,5,6]]); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree unnest2 --------- 1 @@ -1880,6 +1891,7 @@ select a, a = '{}' as is_eq, array_dims(a) from (select array_fill(42, array[0]) as a) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | is_eq | array_dims ----+-------+------------ {} | t | @@ -1887,6 +1899,7 @@ select a, a = '{}' as is_eq, array_dims(a) from (select array_fill(42, '{}') as a) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | is_eq | array_dims ----+-------+------------ {} | t | @@ -1894,6 +1907,7 @@ select a, a = '{}' as is_eq, array_dims(a) from (select array_fill(42, '{}', '{}') as a) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | is_eq | array_dims ----+-------+------------ {} | t | @@ -2000,6 +2014,7 @@ (1 row) select v, v is null as "is null" from string_to_table('1|2|3', '|') g(v); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree v | is null ---+--------- 1 | f @@ -2008,6 +2023,7 @@ (3 rows) select v, v is null as "is null" from string_to_table('1|2|3|', '|') g(v); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree v | is null ---+--------- 1 | f @@ -2017,6 +2033,7 @@ (4 rows) select v, v is null as "is null" from string_to_table('1||2|3||', '||') g(v); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree v | is null -----+--------- 1 | f @@ -2025,17 +2042,20 @@ (3 rows) select v, v is null as "is null" from string_to_table('1|2|3', '') g(v); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree v | is null -------+--------- 1|2|3 | f (1 row) select v, v is null as "is null" from string_to_table('', '|') g(v); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree v | is null ---+--------- (0 rows) select v, v is null as "is null" from string_to_table('1|2|3', NULL) g(v); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree v | is null ---+--------- 1 | f @@ -2046,35 +2066,41 @@ (5 rows) select v, v is null as "is null" from string_to_table(NULL, '|') g(v); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree v | is null ---+--------- (0 rows) select v, v is null as "is null" from string_to_table('abc', '') g(v); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree v | is null -----+--------- abc | f (1 row) select v, v is null as "is null" from string_to_table('abc', '', 'abc') g(v); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree v | is null ---+--------- | t (1 row) select v, v is null as "is null" from string_to_table('abc', ',') g(v); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree v | is null -----+--------- abc | f (1 row) select v, v is null as "is null" from string_to_table('abc', ',', 'abc') g(v); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree v | is null ---+--------- | t (1 row) select v, v is null as "is null" from string_to_table('1,2,3,4,,6', ',') g(v); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree v | is null ---+--------- 1 | f @@ -2086,6 +2112,7 @@ (6 rows) select v, v is null as "is null" from string_to_table('1,2,3,4,,6', ',', '') g(v); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree v | is null ---+--------- 1 | f @@ -2097,6 +2124,7 @@ (6 rows) select v, v is null as "is null" from string_to_table('1,2,3,4,*,6', ',', '*') g(v); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree v | is null ---+--------- 1 | f @@ -2223,18 +2251,21 @@ -- array_agg(anynonarray) select array_agg(unique1) from (select unique1 from tenk1 where unique1 < 15 order by unique1) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree array_agg -------------------------------------- {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14} (1 row) select array_agg(ten) from (select ten from tenk1 where unique1 < 15 order by unique1) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree array_agg --------------------------------- {0,1,2,3,4,5,6,7,8,9,0,1,2,3,4} (1 row) select array_agg(nullif(ten, 4)) from (select ten from tenk1 where unique1 < 15 order by unique1) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree array_agg --------------------------------------- {0,1,2,3,NULL,5,6,7,8,9,0,1,2,3,NULL} @@ -2249,6 +2280,7 @@ -- array_agg(anyarray) select array_agg(ar) from (values ('{1,2}'::int[]), ('{3,4}'::int[])) v(ar); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree array_agg --------------- {{1,2},{3,4}} @@ -2256,6 +2288,7 @@ select array_agg(distinct ar order by ar desc) from (select array[i / 2] from generate_series(1,10) a(i)) b(ar); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree array_agg --------------------------- {{5},{4},{3},{2},{1},{0}} @@ -2264,24 +2297,28 @@ select array_agg(ar) from (select array_agg(array[i, i+1, i-1]) from generate_series(1,2) a(i)) b(ar); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree array_agg --------------------- {{{1,2,0},{2,3,1}}} (1 row) select array_agg(array[i+1.2, i+1.3, i+1.4]) from generate_series(1,3) g(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree array_agg --------------------------------------------- {{2.2,2.3,2.4},{3.2,3.3,3.4},{4.2,4.3,4.4}} (1 row) select array_agg(array['Hello', i::text]) from generate_series(9,11) g(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree array_agg ----------------------------------- {{Hello,9},{Hello,10},{Hello,11}} (1 row) select array_agg(array[i, nullif(i, 3), i+1]) from generate_series(1,4) g(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree array_agg -------------------------------------- {{1,1,2},{2,2,3},{3,NULL,4},{4,4,5}} @@ -2289,11 +2326,14 @@ -- errors select array_agg('{}'::int[]) from generate_series(1,2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: cannot accumulate empty arrays select array_agg(null::int[]) from generate_series(1,2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: cannot accumulate null arrays select array_agg(ar) from (values ('{1,2}'::int[]), ('{3}'::int[])) v(ar); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: cannot accumulate arrays of different dimensionality select unnest(array[1,2,3]); unnest @@ -2304,6 +2344,7 @@ (3 rows) select * from unnest(array[1,2,3]); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree unnest -------- 1 @@ -2442,12 +2483,14 @@ -- array(select array-value ...) select array(select array[i,i/2] from generate_series(1,5) i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree array --------------------------------- {{1,0},{2,1},{3,1},{4,2},{5,2}} (1 row) select array(select array['Hello', i::text] from generate_series(9,11) i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree array ----------------------------------- {{Hello,9},{Hello,10},{Hello,11}} @@ -2473,9 +2516,11 @@ create temp table src (f1 text); insert into src select string_agg(random()::text,'') from generate_series(1,10000); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree create type textandtext as (c1 text, c2 text); create temp table dest (f1 textandtext[]); insert into dest select array[row(f1,f1)::textandtext] from src; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select length(fipshash((f1[1]).c2)) from dest; length -------- @@ -2530,6 +2575,7 @@ (10), (10.0000000000001) ) v(op); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree op | wb_n1 | wb_n2 | wb_n3 | wb_f1 | wb_f2 | wb_f3 ------------------+-------+-------+-------+-------+-------+------- -5.2 | 0 | 0 | 1 | 0 | 0 | 1 @@ -2563,6 +2609,7 @@ (77::float8), ('NaN'::float8) ) v(op); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree op | wb ------+---- -5.2 | 0 @@ -2576,6 +2623,7 @@ op, width_bucket(op, ARRAY[1, 3, 5, 10]) AS wb_1 FROM generate_series(0,11) as op; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree op | wb_1 ----+------ 0 | 0 @@ -2630,6 +2678,7 @@ ('[10:16]={1,2,3,4,5,6,7}'), ('[-15:-10]={1,2,3,4,5,6}'), ('{{1,10},{2,20},{3,30},{4,40}}')) v(arr); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree arr | trim_array -------------------------------+----------------- {1,2,3,4,5,6} | {1,2,3,4} diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/btree_index.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/btree_index.out --- /tmp/cirrus-ci-build/src/test/regress/expected/btree_index.out 2024-03-19 15:41:21.017249000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/btree_index.out 2024-03-19 15:51:20.525429000 +0000 @@ -293,6 +293,7 @@ create temp table btree_bpchar (f1 text collate "C"); create index on btree_bpchar(f1 bpchar_ops) WITH (deduplicate_items=on); insert into btree_bpchar values ('foo'), ('fool'), ('bar'), ('quux'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- doesn't match index: explain (costs off) select * from btree_bpchar where f1 like 'foo'; @@ -359,6 +360,7 @@ -- get test coverage for "single value" deduplication strategy: insert into btree_bpchar select 'foo' from generate_series(1,1500); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- -- Perform unique checking, with and without the use of deduplication -- @@ -375,6 +377,10 @@ INSERT INTO dedup_unique_test_table SELECT 1; END LOOP; END$$; +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 -- Exercise the LP_DEAD-bit-set tuple deletion code with a posting list tuple. -- The implementation prefers deleting existing items to merging any duplicate -- tuples into a posting list, so we need an explicit test to make sure we get @@ -382,6 +388,7 @@ DROP INDEX plain_unique; DELETE FROM dedup_unique_test_table WHERE a = 1; INSERT INTO dedup_unique_test_table SELECT i FROM generate_series(0,450) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- -- Test B-tree fast path (cache rightmost leaf page) optimization. -- @@ -399,11 +406,13 @@ create index btree_tall_idx on btree_tall_tbl (t, id) with (fillfactor = 10); insert into btree_tall_tbl select g, repeat('x', 250) from generate_series(1, 130) g; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- -- Test for multilevel page deletion -- CREATE TABLE delete_test_table (a bigint, b bigint, c bigint, d bigint); INSERT INTO delete_test_table SELECT i, 1, 2, 3 FROM generate_series(1,80000) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE delete_test_table ADD PRIMARY KEY (a,b,c,d); -- Delete most entries, and vacuum, deleting internal pages and creating "fast -- root" @@ -417,6 +426,7 @@ -- The vacuum above should've turned the leaf page into a fast root. We just -- need to insert some rows to cause the fast root page to split. INSERT INTO delete_test_table SELECT i, 1, 2, 3 FROM generate_series(1,1000) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- Test unsupported btree opclass parameters create index on btree_tall_tbl (id int4_ops(foo=1)); ERROR: operator class int4_ops has no options diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/hash_index.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/hash_index.out --- /tmp/cirrus-ci-build/src/test/regress/expected/hash_index.out 2024-03-19 15:41:21.018561000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/hash_index.out 2024-03-19 15:51:20.080610000 +0000 @@ -250,8 +250,10 @@ -- CREATE TABLE hash_split_heap (keycol INT); INSERT INTO hash_split_heap SELECT 1 FROM generate_series(1, 500) a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE INDEX hash_split_index on hash_split_heap USING HASH (keycol); INSERT INTO hash_split_heap SELECT 1 FROM generate_series(1, 5000) a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- Let's do a backward scan. BEGIN; SET enable_seqscan = OFF; @@ -265,6 +267,7 @@ -- DELETE, INSERT, VACUUM. DELETE FROM hash_split_heap WHERE keycol = 1; INSERT INTO hash_split_heap SELECT a/2 FROM generate_series(1, 25000) a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree VACUUM hash_split_heap; -- Rebuild the index using a different fillfactor ALTER INDEX hash_split_index SET (fillfactor = 10); @@ -276,9 +279,11 @@ CREATE INDEX hash_cleanup_index on hash_cleanup_heap USING HASH (keycol); -- Insert tuples to both the primary bucket page and overflow pages. INSERT INTO hash_cleanup_heap SELECT 1 FROM generate_series(1, 500) as i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- Fill overflow pages by "dead" tuples. BEGIN; INSERT INTO hash_cleanup_heap SELECT 1 FROM generate_series(1, 1000) as i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ROLLBACK; -- Checkpoint will ensure that all hash buffers are cleaned before we try -- to remove overflow pages. @@ -289,27 +294,33 @@ -- Insert a few tuples so that the primary bucket page doesn't get full and -- tuples can be moved to it. INSERT INTO hash_cleanup_heap SELECT 1 FROM generate_series(1, 50) as i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- Fill overflow pages by "dead" tuples. BEGIN; INSERT INTO hash_cleanup_heap SELECT 1 FROM generate_series(1, 1500) as i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ROLLBACK; -- And insert some tuples again. During squeeze operation, these will be moved -- to the primary bucket allowing to test freeing intermediate overflow pages. INSERT INTO hash_cleanup_heap SELECT 1 FROM generate_series(1, 500) as i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CHECKPOINT; VACUUM hash_cleanup_heap; TRUNCATE hash_cleanup_heap; -- Insert tuples to both the primary bucket page and overflow pages. INSERT INTO hash_cleanup_heap SELECT 1 FROM generate_series(1, 500) as i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- Fill overflow pages by "dead" tuples. BEGIN; INSERT INTO hash_cleanup_heap SELECT 1 FROM generate_series(1, 1500) as i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ROLLBACK; -- And insert some tuples again. During squeeze operation, these will be moved -- to other overflow pages and also allow overflow pages filled by dead tuples -- to be freed. Note the main purpose of this test is to test the case where -- we don't need to move any tuple from the overflow page being freed. INSERT INTO hash_cleanup_heap SELECT 1 FROM generate_series(1, 50) as i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CHECKPOINT; VACUUM hash_cleanup_heap; -- Clean up. diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/update.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/update.out --- /tmp/cirrus-ci-build/src/test/regress/expected/update.out 2024-03-19 15:41:21.046722000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/update.out 2024-03-19 15:51:20.154751000 +0000 @@ -55,6 +55,7 @@ -- UPDATE update_test SET a=v.i FROM (VALUES(100, 20)) AS v(i, j) WHERE update_test.b = v.j; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM update_test; a | b | c -----+----+----- @@ -73,6 +74,7 @@ -- Test multiple-set-clause syntax -- INSERT INTO update_test SELECT a,b+1,c FROM update_test; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM update_test; a | b | c -----+----+----- @@ -149,6 +151,7 @@ -- *-expansion should work in this context: UPDATE update_test SET (a,b) = ROW(v.*) FROM (VALUES(21, 100)) AS v(i, j) WHERE update_test.a = v.i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- you might expect this to work, but syntactically it's not a RowExpr: UPDATE update_test SET (a,b) = (v.*) FROM (VALUES(21, 101)) AS v(i, j) WHERE update_test.a = v.i; @@ -206,10 +209,12 @@ -- Test ON CONFLICT DO UPDATE INSERT INTO upsert_test VALUES(1, 'Boo'), (3, 'Zoo'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- uncorrelated sub-select: WITH aaa AS (SELECT 1 AS a, 'Foo' AS b) INSERT INTO upsert_test VALUES (1, 'Bar') ON CONFLICT(a) DO UPDATE SET (b, a) = (SELECT b, a FROM aaa) RETURNING *; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+----- 1 | Foo @@ -219,6 +224,7 @@ INSERT INTO upsert_test VALUES (1, 'Baz'), (3, 'Zaz') ON CONFLICT(a) DO UPDATE SET (b, a) = (SELECT b || ', Correlated', a from upsert_test i WHERE i.a = upsert_test.a) RETURNING *; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+----------------- 1 | Foo, Correlated @@ -229,6 +235,7 @@ INSERT INTO upsert_test VALUES (1, 'Bat'), (3, 'Zot') ON CONFLICT(a) DO UPDATE SET (b, a) = (SELECT b || ', Excluded', a from upsert_test i WHERE i.a = excluded.a) RETURNING *; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+--------------------------- 1 | Foo, Correlated, Excluded @@ -267,10 +274,12 @@ CREATE TABLE upsert_test_2 (b TEXT, a INT PRIMARY KEY); ALTER TABLE upsert_test ATTACH PARTITION upsert_test_2 FOR VALUES IN (2); INSERT INTO upsert_test VALUES(1, 'Boo'), (2, 'Zoo'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- uncorrelated sub-select: WITH aaa AS (SELECT 1 AS a, 'Foo' AS b) INSERT INTO upsert_test VALUES (1, 'Bar') ON CONFLICT(a) DO UPDATE SET (b, a) = (SELECT b, a FROM aaa) RETURNING *; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+----- 1 | Foo @@ -280,6 +289,7 @@ WITH aaa AS (SELECT 1 AS ctea, ' Foo' AS cteb) INSERT INTO upsert_test VALUES (1, 'Bar'), (2, 'Baz') ON CONFLICT(a) DO UPDATE SET (b, a) = (SELECT upsert_test.b||cteb, upsert_test.a FROM aaa) RETURNING *; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+--------- 1 | Foo Foo @@ -332,6 +342,7 @@ \set init_range_parted 'truncate range_parted; insert into range_parted VALUES (''a'', 1, 1, 1), (''a'', 10, 200, 1), (''b'', 12, 96, 1), (''b'', 13, 97, 2), (''b'', 15, 105, 16), (''b'', 17, 105, 19)' \set show_data 'select tableoid::regclass::text COLLATE "C" partname, * from range_parted ORDER BY 1, 2, 3, 4, 5, 6' :init_range_parted; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree :show_data; partname | a | b | c | d | e ----------------+---+----+-----+----+--- @@ -465,6 +476,7 @@ DROP VIEW upview; -- RETURNING having whole-row vars. :init_range_parted; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree UPDATE range_parted set c = 95 WHERE a = 'b' and b > 10 and c > 100 returning (range_parted), *; range_parted | a | b | c | d | e ---------------+---+----+----+----+--- @@ -485,6 +497,7 @@ -- Transition tables with update row movement :init_range_parted; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE FUNCTION trans_updatetrigfunc() RETURNS trigger LANGUAGE plpgsql AS $$ begin @@ -499,6 +512,8 @@ AFTER UPDATE ON range_parted REFERENCING OLD TABLE AS old_table NEW TABLE AS new_table FOR EACH STATEMENT EXECUTE PROCEDURE trans_updatetrigfunc(); UPDATE range_parted set c = (case when c = 96 then 110 else c + 1 end ) WHERE a = 'b' and b > 10 and c >= 96; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: trigger = trans_updatetrig, old table = (b,12,96,1,), (b,13,97,2,), (b,15,105,16,), (b,17,105,19,), new table = (b,12,110,1,), (b,13,98,2,), (b,15,106,16,), (b,17,106,19,) :show_data; partname | a | b | c | d | e @@ -512,6 +527,7 @@ (6 rows) :init_range_parted; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- Enabling OLD TABLE capture for both DELETE as well as UPDATE stmt triggers -- should not cause DELETEd rows to be captured twice. Similar thing for -- INSERT triggers and inserted rows. @@ -522,6 +538,8 @@ AFTER INSERT ON range_parted REFERENCING NEW TABLE AS new_table FOR EACH STATEMENT EXECUTE PROCEDURE trans_updatetrigfunc(); UPDATE range_parted set c = c + 50 WHERE a = 'b' and b > 10 and c >= 96; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: trigger = trans_updatetrig, old table = (b,12,96,1,), (b,13,97,2,), (b,15,105,16,), (b,17,105,19,), new table = (b,12,146,1,), (b,13,147,2,), (b,15,155,16,), (b,17,155,19,) :show_data; partname | a | b | c | d | e @@ -556,7 +574,10 @@ CREATE TRIGGER trig_d15_20 BEFORE UPDATE OR INSERT ON part_d_15_20 FOR EACH ROW EXECUTE PROCEDURE func_parted_mod_b(); :init_range_parted; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree UPDATE range_parted set c = (case when c = 96 then 110 else c + 1 end) WHERE a = 'b' and b > 10 and c >= 96; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: trigger = trans_updatetrig, old table = (b,13,96,1,), (b,14,97,2,), (b,16,105,16,), (b,18,105,19,), new table = (b,15,110,1,), (b,15,98,2,), (b,17,106,16,), (b,19,106,19,) :show_data; partname | a | b | c | d | e @@ -570,6 +591,7 @@ (6 rows) :init_range_parted; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree UPDATE range_parted set c = c + 50 WHERE a = 'b' and b > 10 and c >= 96; NOTICE: trigger = trans_updatetrig, old table = (b,13,96,1,), (b,14,97,2,), (b,16,105,16,), (b,18,105,19,), new table = (b,15,146,1,), (b,16,147,2,), (b,17,155,16,), (b,19,155,19,) :show_data; @@ -587,6 +609,7 @@ -- map is not required for the particular tuple that is routed, thanks to -- matching table attributes of the partition and the target table. :init_range_parted; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree UPDATE range_parted set b = 15 WHERE b = 1; NOTICE: trigger = trans_updatetrig, old table = (a,1,1,1,), new table = (a,15,1,1,) :show_data; @@ -613,6 +636,7 @@ CREATE POLICY seeall ON range_parted AS PERMISSIVE FOR SELECT USING (true); CREATE POLICY policy_range_parted ON range_parted for UPDATE USING (true) WITH CHECK (c % 2 = 0); :init_range_parted; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SET SESSION AUTHORIZATION regress_range_parted_user; -- This should fail with RLS violation error while moving row from -- part_a_10_a_20 to part_d_1_15, because we are setting 'c' to an odd number. @@ -628,6 +652,7 @@ CREATE TRIGGER trig_d_1_15 BEFORE INSERT ON part_d_1_15 FOR EACH ROW EXECUTE PROCEDURE func_d_1_15(); :init_range_parted; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SET SESSION AUTHORIZATION regress_range_parted_user; -- Here, RLS checks should succeed while moving row from part_a_10_a_20 to -- part_d_1_15. Even though the UPDATE is setting 'c' to an odd number, the @@ -635,6 +660,7 @@ UPDATE range_parted set a = 'b', c = 151 WHERE a = 'a' and c = 200; RESET SESSION AUTHORIZATION; :init_range_parted; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SET SESSION AUTHORIZATION regress_range_parted_user; -- This should fail with RLS violation error. Even though the UPDATE is setting -- 'c' to an even number, the trigger at the destination partition again makes @@ -648,6 +674,7 @@ -- Policy expression contains SubPlan RESET SESSION AUTHORIZATION; :init_range_parted; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE POLICY policy_range_parted_subplan on range_parted AS RESTRICTIVE for UPDATE USING (true) WITH CHECK ((SELECT range_parted.c <= c1 FROM mintab)); @@ -660,6 +687,7 @@ -- RLS policy expression contains whole row. RESET SESSION AUTHORIZATION; :init_range_parted; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE POLICY policy_range_parted_wholerow on range_parted AS RESTRICTIVE for UPDATE USING (true) WITH CHECK (range_parted = row('b', 10, 112, 1, NULL)::range_parted); SET SESSION AUTHORIZATION regress_range_parted_user; @@ -667,6 +695,7 @@ UPDATE range_parted set a = 'b', c = 112 WHERE a = 'a' and c = 200; RESET SESSION AUTHORIZATION; :init_range_parted; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SET SESSION AUTHORIZATION regress_range_parted_user; -- fail, the whole row RLS check should fail UPDATE range_parted set a = 'b', c = 116 WHERE a = 'a' and c = 200; @@ -682,6 +711,7 @@ -- statement triggers with update row movement --------------------------------------------------- :init_range_parted; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE FUNCTION trigfunc() returns trigger language plpgsql as $$ begin @@ -747,8 +777,15 @@ DROP TRIGGER d15_insert_trig ON part_d_15_20; -- Creating default partition for range :init_range_parted; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree create table part_def partition of range_parted default; \d+ part_def +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 Table "public.part_def" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+-------------------+-----------+----------+---------+----------+--------------+------------- @@ -859,6 +896,7 @@ update utrtest set b = b || b from (values (1), (2)) s(x) where a = s.x returning *, tableoid::regclass, xmin = pg_current_xact_id()::xid as xmin_ok; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | x | tableoid | xmin_ok ---+--------+---+----------+--------- 1 | foofoo | 1 | utr1 | t @@ -867,9 +905,11 @@ update utrtest set a = 3 - a from (values (1), (2)) s(x) where a = s.x returning *, tableoid::regclass, xmin = pg_current_xact_id()::xid as xmin_ok; -- fails +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: cannot retrieve a system column in this context update utrtest set a = 3 - a from (values (1), (2)) s(x) where a = s.x returning *, tableoid::regclass; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | x | tableoid ---+--------+---+---------- 2 | foofoo | 1 | utr2 @@ -990,6 +1030,7 @@ -- once. There should not be any rows inserted. CREATE TABLE non_parted (id int); INSERT into non_parted VALUES (1), (1), (1), (2), (2), (2), (3), (3), (3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree UPDATE list_parted t1 set a = 2 FROM non_parted t2 WHERE t1.a = t2.id and a = 1; SELECT tableoid::regclass::text, * FROM list_parted ORDER BY 1, 2, 3, 4; tableoid | a | b | c diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/namespace.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/namespace.out --- /tmp/cirrus-ci-build/src/test/regress/expected/namespace.out 2024-03-19 15:41:21.019820000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/namespace.out 2024-03-19 15:51:19.071250000 +0000 @@ -74,6 +74,7 @@ (3 rows) SELECT * FROM test_ns_schema_1.abc_view; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+--- 2 | @@ -128,6 +129,7 @@ $$; CREATE TABLE test_maint(i INT); INSERT INTO test_maint VALUES (1), (2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE MATERIALIZED VIEW test_maint_mv AS SELECT fn(i) FROM test_maint; NOTICE: current search_path: test_maint_search_path NOTICE: current search_path: test_maint_search_path diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/prepared_xacts.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/prepared_xacts.out --- /tmp/cirrus-ci-build/src/test/regress/expected/prepared_xacts.out 2024-03-19 15:41:21.044093000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/prepared_xacts.out 2024-03-19 15:51:19.068323000 +0000 @@ -26,6 +26,7 @@ -- Test pg_prepared_xacts system view SELECT gid FROM pg_prepared_xacts; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree gid ------ foo1 @@ -40,6 +41,7 @@ (1 row) SELECT gid FROM pg_prepared_xacts; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree gid ----- (0 rows) @@ -81,6 +83,7 @@ PREPARE TRANSACTION 'foo3'; SELECT gid FROM pg_prepared_xacts; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree gid ------ foo3 @@ -118,6 +121,7 @@ PREPARE TRANSACTION 'foo4'; SELECT gid FROM pg_prepared_xacts; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree gid ------ foo4 @@ -138,6 +142,7 @@ HINT: The transaction might succeed if retried. PREPARE TRANSACTION 'foo5'; SELECT gid FROM pg_prepared_xacts; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree gid ------ foo4 @@ -145,6 +150,7 @@ ROLLBACK PREPARED 'foo4'; SELECT gid FROM pg_prepared_xacts; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree gid ----- (0 rows) @@ -203,6 +209,7 @@ ^ -- There should be two prepared transactions SELECT gid FROM pg_prepared_xacts; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree gid ------------- regress-one @@ -218,6 +225,7 @@ \c - -- There should still be two prepared transactions SELECT gid FROM pg_prepared_xacts; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree gid ------------- regress-one @@ -232,6 +240,10 @@ -- Commit table creation COMMIT PREPARED 'regress-one'; \d pxtest2 +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 Table "public.pxtest2" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -246,6 +258,7 @@ -- There should be one prepared transaction SELECT gid FROM pg_prepared_xacts; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree gid ------------- regress-two @@ -259,6 +272,7 @@ ^ -- There should be no prepared transactions SELECT gid FROM pg_prepared_xacts; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree gid ----- (0 rows) diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/brin.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/brin.out --- /tmp/cirrus-ci-build/src/test/regress/expected/brin.out 2024-03-19 15:41:21.017202000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/brin.out 2024-03-19 15:51:23.324191000 +0000 @@ -56,12 +56,14 @@ format('%s/%s%s', odd, even, tenthous)::pg_lsn, box(point(odd, even), point(thousand, twothousand)) FROM tenk1 ORDER BY unique2 LIMIT 100; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- throw in some NULL's and different values INSERT INTO brintest (inetcol, cidrcol, int4rangecol) SELECT inet 'fe80::6e40:8ff:fea9:8c46' + tenthous, cidr 'fe80::6e40:8ff:fea9:8c46' + tenthous, 'empty'::int4range FROM tenk1 ORDER BY thousand, tenthous LIMIT 25; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE INDEX brinidx ON brintest USING brin ( byteacol, charcol, @@ -283,6 +285,7 @@ '{<<, &<, &&, &>, >>, <<|, &<|, |&>, |>>, @>, <@, ~=}', '{"((1000,2000),(3000,4000))","((1,2),(3000,4000))","((1,2),(3000,4000))","((1,2),(3000,4000))","((1,2),(3,4))","((1000,2000),(3000,4000))","((1,2000),(3,4000))","((1000,2),(3000,4))","((1,2),(3,4))","((1,2),(300,400))","((1,2),(3000,4000))","((222,1222),(44,45))"}', '{100, 100, 100, 99, 96, 100, 100, 99, 96, 1, 99, 1}'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree DO $x$ DECLARE r record; @@ -363,6 +366,7 @@ END LOOP; END; $x$; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree RESET enable_seqscan; RESET enable_bitmapscan; INSERT INTO brintest SELECT @@ -394,6 +398,7 @@ format('%s/%s%s', odd, even, tenthous)::pg_lsn, box(point(odd, even), point(thousand, twothousand)) FROM tenk1 ORDER BY unique2 LIMIT 5 OFFSET 5; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT brin_desummarize_range('brinidx', 0); brin_desummarize_range ------------------------ @@ -505,6 +510,7 @@ -- test brin cost estimates behave sanely based on correlation of values CREATE TABLE brin_test (a INT, b INT); INSERT INTO brin_test SELECT x/100,x%100 FROM generate_series(1,10000) x(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE INDEX brin_test_a_idx ON brin_test USING brin (a) WITH (pages_per_range = 2); CREATE INDEX brin_test_b_idx ON brin_test USING brin (b) WITH (pages_per_range = 2); VACUUM ANALYZE brin_test; @@ -533,6 +539,7 @@ WITH rand_value AS (SELECT string_agg(fipshash(i::text),'') AS val FROM generate_series(1,60) s(i)) INSERT INTO brintest_3 SELECT val, val, val, val FROM rand_value; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE INDEX brin_test_toast_idx ON brintest_3 USING brin (b, c); DELETE FROM brintest_3; -- We need to wait a bit for all transactions to complete, so that the @@ -548,6 +555,7 @@ WITH rand_value AS (SELECT string_agg(fipshash((-i)::text),'') AS val FROM generate_series(1,60) s(i)) INSERT INTO brintest_3 SELECT val, val, val, val FROM rand_value; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- now try some queries, accessing the brin index SET enable_seqscan = off; EXPLAIN (COSTS OFF) diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/gin.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/gin.out --- /tmp/cirrus-ci-build/src/test/regress/expected/gin.out 2024-03-19 15:41:21.018464000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/gin.out 2024-03-19 15:51:22.345916000 +0000 @@ -8,7 +8,9 @@ create index gin_test_idx on gin_test_tbl using gin (i) with (fastupdate = on, gin_pending_list_limit = 4096); insert into gin_test_tbl select array[1, 2, g] from generate_series(1, 20000) g; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into gin_test_tbl select array[1, 3, g] from generate_series(1, 1000) g; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select gin_clean_pending_list('gin_test_idx')>10 as many; -- flush the fastupdate buffers many ------ @@ -16,6 +18,7 @@ (1 row) insert into gin_test_tbl select array[3, 1, g] from generate_series(1, 1000) g; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree vacuum gin_test_tbl; -- flush the fastupdate buffers select gin_clean_pending_list('gin_test_idx'); -- nothing to flush gin_clean_pending_list @@ -32,7 +35,9 @@ -- recompression codepaths. alter index gin_test_idx set (fastupdate = off); insert into gin_test_tbl select array[1, 2, g] from generate_series(1, 1000) g; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into gin_test_tbl select array[1, 3, g] from generate_series(1, 1000) g; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree delete from gin_test_tbl where i @> array[2]; vacuum gin_test_tbl; -- Test for "rare && frequent" searches @@ -88,6 +93,7 @@ ('{2}', '{10}'), ('{1,3}', '{}'), ('{1,1}', '{10}'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree set enable_seqscan = off; explain (costs off) select * from t_gin_test_tbl where array[0] <@ i; @@ -185,6 +191,7 @@ lateral explain_query_json($$select * from t_gin_test_tbl where $$ || query) js, lateral execute_text_query_index($$select string_agg((i, j)::text, ' ') from t_gin_test_tbl where $$ || query) res_index, lateral execute_text_query_heap($$select string_agg((i, j)::text, ' ') from t_gin_test_tbl where $$ || query) res_heap; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree query | return by index | removed by recheck | match -------------------------------------------+-----------------+--------------------+------- i @> '{}' | 7 | 0 | t @@ -204,6 +211,7 @@ -- re-purpose t_gin_test_tbl to test scans involving posting trees insert into t_gin_test_tbl select array[1, g, g/10], array[2, g, g/10] from generate_series(1, 20000) g; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select gin_clean_pending_list('t_gin_test_tbl_i_j_idx') is not null; ?column? ---------- @@ -296,4 +304,5 @@ (null, null), ('{}', null), ('{1}', '{2,3}'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree drop table t_gin_test_tbl; diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/gist.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/gist.out --- /tmp/cirrus-ci-build/src/test/regress/expected/gist.out 2024-03-19 15:41:21.018479000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/gist.out 2024-03-19 15:51:22.396798000 +0000 @@ -23,8 +23,10 @@ -- Insert enough data to create a tree that's a couple of levels deep. insert into gist_point_tbl (id, p) select g, point(g*10, g*10) from generate_series(1, 10000) g; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into gist_point_tbl (id, p) select g+100000, point(g*10+1, g*10+1) from generate_series(1, 10000) g; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- To test vacuum, delete some entries from all over the index. delete from gist_point_tbl where id % 2 = 1; -- And also delete some concentration of values. @@ -42,6 +44,7 @@ point(0.05*i, 0.05*i), circle(point(0.05*i, 0.05*i), 1.0) from generate_series(0,10000) as i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree vacuum analyze gist_tbl; set enable_seqscan=off; set enable_bitmapscan=off; @@ -138,6 +141,7 @@ (box(point(0.8,0.8), point(1.0,1.0)))) as v(bb) cross join lateral (select p from gist_tbl where p <@ bb order by p <-> bb[0] limit 2) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------- Nested Loop @@ -154,6 +158,7 @@ (box(point(0.8,0.8), point(1.0,1.0)))) as v(bb) cross join lateral (select p from gist_tbl where p <@ bb order by p <-> bb[0] limit 2) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree p ------------- (0.5,0.5) @@ -400,4 +405,5 @@ create index gist_tbl_box_index on gist_tbl using gist (b); insert into gist_tbl select box(point(0.05*i, 0.05*i)) from generate_series(0,10) as i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree drop table gist_tbl; diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/spgist.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/spgist.out --- /tmp/cirrus-ci-build/src/test/regress/expected/spgist.out 2024-03-19 15:41:21.045429000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/spgist.out 2024-03-19 15:51:22.242276000 +0000 @@ -9,13 +9,16 @@ -- i.e. the index is very small. insert into spgist_point_tbl (id, p) select g, point(g*10, g*10) from generate_series(1, 10) g; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree delete from spgist_point_tbl where id < 5; vacuum spgist_point_tbl; -- Insert more data, to make the index a few levels deep. insert into spgist_point_tbl (id, p) select g, point(g*10, g*10) from generate_series(1, 10000) g; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into spgist_point_tbl (id, p) select g+100000, point(g*10+1, g*10+1) from generate_series(1, 10000) g; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- To test vacuum, delete some entries from all over the index. delete from spgist_point_tbl where id % 2 = 1; -- And also delete some concentration of values. (SP-GiST doesn't currently @@ -32,10 +35,12 @@ from generate_series(1,100,5) i, generate_series(1,100,5) j, generate_series(1,10) s; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree create index spgist_box_idx on spgist_box_tbl using spgist (b); select count(*) from (values (point(5,5)),(point(8,8)),(point(12,12))) v(p) where exists(select * from spgist_box_tbl b where b.b && box(v.p,v.p)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 3 @@ -50,11 +55,13 @@ select g, 'f' || repeat('o', 100) || g from generate_series(1, 10000) g union all select g, 'baaaaaaaaaaaaaar' || g from generate_series(1, 1000) g; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- Do a lot of insertions that have to split an existing node. Hopefully -- one of these will cause the page to run out of space, causing the inner -- tuple to be moved to another page. insert into spgist_text_tbl (id, t) select -g, 'f' || repeat('o', 100-g) || 'surprise' from generate_series(1, 100) g; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- Test out-of-range fillfactor values create index spgist_point_idx2 on spgist_point_tbl using spgist(p) with (fillfactor = 9); ERROR: value 9 out of bounds for option "fillfactor" @@ -70,6 +77,7 @@ create table spgist_domain_tbl (f1 spgist_text); create index spgist_domain_idx on spgist_domain_tbl using spgist(f1); insert into spgist_domain_tbl values('fee'), ('fi'), ('fo'), ('fum'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree explain (costs off) select * from spgist_domain_tbl where f1 = 'fo'; QUERY PLAN @@ -93,4 +101,5 @@ select box(point(i,j)) from generate_series(1,100,5) i, generate_series(1,10,5) j; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- leave this table around, to help in testing dump/restore diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/privileges.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/privileges.out --- /tmp/cirrus-ci-build/src/test/regress/expected/privileges.out 2024-03-19 15:41:21.044207000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/privileges.out 2024-03-19 15:51:23.678637000 +0000 @@ -241,6 +241,7 @@ INSERT INTO atest2 VALUES ('foo', true); -- fail ERROR: permission denied for table atest2 INSERT INTO atest1 SELECT 1, b FROM atest1; -- ok +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree UPDATE atest1 SET a = 1 WHERE a = 2; -- ok UPDATE atest2 SET col2 = NOT col2; -- fail ERROR: permission denied for table atest2 @@ -327,6 +328,7 @@ INSERT INTO atest2 VALUES ('foo', true); -- fail ERROR: permission denied for table atest2 INSERT INTO atest1 SELECT 1, b FROM atest1; -- fail +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table atest1 UPDATE atest1 SET a = 1 WHERE a = 2; -- fail ERROR: permission denied for table atest1 @@ -366,6 +368,7 @@ SET SESSION AUTHORIZATION regress_priv_user1; CREATE TABLE atest12 as SELECT x AS a, 10001 - x AS b FROM generate_series(1,10000) x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE INDEX ON atest12 (a); CREATE INDEX ON atest12 (abs(a)); -- results below depend on having quite accurate stats for atest12, so... @@ -552,6 +555,7 @@ /* Empty view is a corner case that failed in 9.2. */ CREATE VIEW atestv0 AS SELECT 0 as x WHERE false; -- ok SELECT * FROM atestv1; -- ok +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+----- 1 | two @@ -559,11 +563,13 @@ (2 rows) SELECT * FROM atestv2; -- fail +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table atest2 GRANT SELECT ON atestv1, atestv3 TO regress_priv_user4; GRANT SELECT ON atestv2 TO regress_priv_user2; SET SESSION AUTHORIZATION regress_priv_user4; SELECT * FROM atestv1; -- ok +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+----- 1 | two @@ -571,13 +577,16 @@ (2 rows) SELECT * FROM atestv2; -- fail +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for view atestv2 SELECT * FROM atestv3; -- ok +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree one | two | three -----+-----+------- (0 rows) SELECT * FROM atestv0; -- fail +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for view atestv0 -- Appendrels excluded by constraints failed to check permissions in 8.4-9.2. select * from @@ -585,6 +594,7 @@ union all (select b.q2 as x from int8_tbl b offset 0)) ss where false; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table int8_tbl set constraint_exclusion = on; select * from @@ -592,10 +602,12 @@ union all (select b.q2 as x, random() from int8_tbl b where q2 > 0)) ss where x < 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table int8_tbl reset constraint_exclusion; CREATE VIEW atestv4 AS SELECT * FROM atestv3; -- nested view SELECT * FROM atestv4; -- ok +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree one | two | three -----+-----+------- (0 rows) @@ -604,8 +616,10 @@ SET SESSION AUTHORIZATION regress_priv_user2; -- Two complex cases: SELECT * FROM atestv3; -- fail +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for view atestv3 SELECT * FROM atestv4; -- ok (even though regress_priv_user2 cannot access underlying atestv3) +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree one | two | three -----+-----+------- (0 rows) @@ -617,6 +631,7 @@ (1 row) SELECT * FROM atestv2; -- fail (even though regress_priv_user2 can access underlying atest2) +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table atest2 -- Test column level permissions SET SESSION AUTHORIZATION regress_priv_user1; @@ -651,62 +666,85 @@ (1 row) SELECT 1 FROM atest5 a JOIN atest5 b USING (one); -- ok +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ?column? ---------- 1 (1 row) SELECT 1 FROM atest5 a JOIN atest5 b USING (two); -- fail +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table atest5 SELECT 1 FROM atest5 a NATURAL JOIN atest5 b; -- fail +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table atest5 SELECT * FROM (atest5 a JOIN atest5 b USING (one)) j; -- fail +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table atest5 SELECT j.* FROM (atest5 a JOIN atest5 b USING (one)) j; -- fail +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table atest5 SELECT (j.*) IS NULL FROM (atest5 a JOIN atest5 b USING (one)) j; -- fail +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table atest5 SELECT one FROM (atest5 a JOIN atest5 b(one,x,y,z) USING (one)) j; -- ok +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree one ----- 1 (1 row) SELECT j.one FROM (atest5 a JOIN atest5 b(one,x,y,z) USING (one)) j; -- ok +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree one ----- 1 (1 row) SELECT two FROM (atest5 a JOIN atest5 b(one,x,y,z) USING (one)) j; -- fail +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table atest5 SELECT j.two FROM (atest5 a JOIN atest5 b(one,x,y,z) USING (one)) j; -- fail +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table atest5 SELECT y FROM (atest5 a JOIN atest5 b(one,x,y,z) USING (one)) j; -- fail +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table atest5 SELECT j.y FROM (atest5 a JOIN atest5 b(one,x,y,z) USING (one)) j; -- fail +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table atest5 SELECT * FROM (atest5 a JOIN atest5 b USING (one)); -- fail +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table atest5 SELECT a.* FROM (atest5 a JOIN atest5 b USING (one)); -- fail +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table atest5 SELECT (a.*) IS NULL FROM (atest5 a JOIN atest5 b USING (one)); -- fail +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table atest5 SELECT two FROM (atest5 a JOIN atest5 b(one,x,y,z) USING (one)); -- fail +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table atest5 SELECT a.two FROM (atest5 a JOIN atest5 b(one,x,y,z) USING (one)); -- fail +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table atest5 SELECT y FROM (atest5 a JOIN atest5 b(one,x,y,z) USING (one)); -- fail +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table atest5 SELECT b.y FROM (atest5 a JOIN atest5 b(one,x,y,z) USING (one)); -- fail +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table atest5 SELECT y FROM (atest5 a LEFT JOIN atest5 b(one,x,y,z) USING (one)); -- fail +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table atest5 SELECT b.y FROM (atest5 a LEFT JOIN atest5 b(one,x,y,z) USING (one)); -- fail +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table atest5 SELECT y FROM (atest5 a FULL JOIN atest5 b(one,x,y,z) USING (one)); -- fail +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table atest5 SELECT b.y FROM (atest5 a FULL JOIN atest5 b(one,x,y,z) USING (one)); -- fail +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table atest5 SELECT 1 FROM atest5 WHERE two = 2; -- fail ERROR: permission denied for table atest5 @@ -727,8 +765,10 @@ (2 rows) SELECT atest1.*,atest5.one FROM atest1 JOIN atest5 ON (atest1.a = atest5.two); -- fail +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table atest5 SELECT atest1.*,atest5.one FROM atest1 JOIN atest5 ON (atest1.a = atest5.one); -- ok +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | one ---+-----+----- 1 | two | 1 @@ -741,11 +781,13 @@ GRANT SELECT (one,two) ON atest6 TO regress_priv_user4; SET SESSION AUTHORIZATION regress_priv_user4; SELECT one, two FROM atest5 NATURAL JOIN atest6; -- fail still +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table atest5 SET SESSION AUTHORIZATION regress_priv_user1; GRANT SELECT (two) ON atest5 TO regress_priv_user4; SET SESSION AUTHORIZATION regress_priv_user4; SELECT one, two FROM atest5 NATURAL JOIN atest6; -- ok now +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree one | two -----+----- (0 rows) @@ -822,7 +864,9 @@ CREATE TABLE mtarget (a int, b text); CREATE TABLE msource (a int, b text); INSERT INTO mtarget VALUES (1, 'init1'), (2, 'init2'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO msource VALUES (1, 'source1'), (2, 'source2'), (3, 'source3'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree GRANT SELECT (a) ON msource TO regress_priv_user4; GRANT SELECT (a) ON mtarget TO regress_priv_user4; GRANT INSERT (a,b) ON mtarget TO regress_priv_user4; @@ -996,6 +1040,7 @@ SELECT atest6 FROM atest6; -- fail ERROR: permission denied for table atest6 SELECT one FROM atest5 NATURAL JOIN atest6; -- fail +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table atest5 SET SESSION AUTHORIZATION regress_priv_user1; ALTER TABLE atest6 DROP COLUMN three; @@ -1006,6 +1051,7 @@ (0 rows) SELECT one FROM atest5 NATURAL JOIN atest6; -- ok +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree one ----- (0 rows) @@ -1149,6 +1195,7 @@ CREATE FUNCTION priv_testfunc3(int) RETURNS int AS 'select 2 * $1;' LANGUAGE sql; -- fail ERROR: permission denied for language sql SELECT priv_testagg1(x) FROM (VALUES (1), (2), (3)) _(x); -- ok +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree priv_testagg1 --------------- 6 @@ -1159,6 +1206,7 @@ SELECT priv_testfunc1(5); -- fail ERROR: permission denied for function priv_testfunc1 SELECT priv_testagg1(x) FROM (VALUES (1), (2), (3)) _(x); -- fail +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for aggregate priv_testagg1 CALL priv_testproc1(6); -- fail ERROR: permission denied for procedure priv_testproc1 @@ -1178,6 +1226,7 @@ (1 row) SELECT priv_testagg1(x) FROM (VALUES (1), (2), (3)) _(x); -- ok +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree priv_testagg1 --------------- 6 @@ -1357,6 +1406,7 @@ select has_table_privilege(t2.oid,'pg_authid','update') from (select oid from pg_roles where rolname = current_user) as t2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree has_table_privilege --------------------- t @@ -1364,6 +1414,7 @@ select has_table_privilege(t2.oid,'pg_authid','delete') from (select oid from pg_roles where rolname = current_user) as t2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree has_table_privilege --------------------- t @@ -1373,6 +1424,7 @@ -- has_table_privilege still recognizes the keyword and says FALSE select has_table_privilege(current_user,t1.oid,'rule') from (select oid from pg_class where relname = 'pg_authid') as t1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree has_table_privilege --------------------- f @@ -1380,6 +1432,7 @@ select has_table_privilege(current_user,t1.oid,'references') from (select oid from pg_class where relname = 'pg_authid') as t1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree has_table_privilege --------------------- t @@ -1388,6 +1441,7 @@ select has_table_privilege(t2.oid,t1.oid,'select') from (select oid from pg_class where relname = 'pg_authid') as t1, (select oid from pg_roles where rolname = current_user) as t2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree has_table_privilege --------------------- t @@ -1396,6 +1450,7 @@ select has_table_privilege(t2.oid,t1.oid,'insert') from (select oid from pg_class where relname = 'pg_authid') as t1, (select oid from pg_roles where rolname = current_user) as t2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree has_table_privilege --------------------- t @@ -1421,6 +1476,7 @@ select has_table_privilege(t1.oid,'select') from (select oid from pg_class where relname = 'pg_authid') as t1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree has_table_privilege --------------------- t @@ -1428,6 +1484,7 @@ select has_table_privilege(t1.oid,'trigger') from (select oid from pg_class where relname = 'pg_authid') as t1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree has_table_privilege --------------------- t @@ -1449,6 +1506,7 @@ select has_table_privilege(t2.oid,'pg_class','update') from (select oid from pg_roles where rolname = current_user) as t2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree has_table_privilege --------------------- f @@ -1456,6 +1514,7 @@ select has_table_privilege(t2.oid,'pg_class','delete') from (select oid from pg_roles where rolname = current_user) as t2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree has_table_privilege --------------------- f @@ -1463,6 +1522,7 @@ select has_table_privilege(current_user,t1.oid,'references') from (select oid from pg_class where relname = 'pg_class') as t1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree has_table_privilege --------------------- f @@ -1471,6 +1531,7 @@ select has_table_privilege(t2.oid,t1.oid,'select') from (select oid from pg_class where relname = 'pg_class') as t1, (select oid from pg_roles where rolname = current_user) as t2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree has_table_privilege --------------------- t @@ -1479,6 +1540,7 @@ select has_table_privilege(t2.oid,t1.oid,'insert') from (select oid from pg_class where relname = 'pg_class') as t1, (select oid from pg_roles where rolname = current_user) as t2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree has_table_privilege --------------------- f @@ -1504,6 +1566,7 @@ select has_table_privilege(t1.oid,'select') from (select oid from pg_class where relname = 'pg_class') as t1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree has_table_privilege --------------------- t @@ -1511,6 +1574,7 @@ select has_table_privilege(t1.oid,'trigger') from (select oid from pg_class where relname = 'pg_class') as t1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree has_table_privilege --------------------- f @@ -1530,6 +1594,7 @@ select has_table_privilege(t2.oid,'atest1','update') from (select oid from pg_roles where rolname = current_user) as t2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree has_table_privilege --------------------- f @@ -1537,6 +1602,7 @@ select has_table_privilege(t2.oid,'atest1','delete') from (select oid from pg_roles where rolname = current_user) as t2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree has_table_privilege --------------------- f @@ -1544,6 +1610,7 @@ select has_table_privilege(current_user,t1.oid,'references') from (select oid from pg_class where relname = 'atest1') as t1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree has_table_privilege --------------------- f @@ -1552,6 +1619,7 @@ select has_table_privilege(t2.oid,t1.oid,'select') from (select oid from pg_class where relname = 'atest1') as t1, (select oid from pg_roles where rolname = current_user) as t2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree has_table_privilege --------------------- t @@ -1560,6 +1628,7 @@ select has_table_privilege(t2.oid,t1.oid,'insert') from (select oid from pg_class where relname = 'atest1') as t1, (select oid from pg_roles where rolname = current_user) as t2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree has_table_privilege --------------------- f @@ -1585,6 +1654,7 @@ select has_table_privilege(t1.oid,'select') from (select oid from pg_class where relname = 'atest1') as t1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree has_table_privilege --------------------- t @@ -1592,6 +1662,7 @@ select has_table_privilege(t1.oid,'trigger') from (select oid from pg_class where relname = 'atest1') as t1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree has_table_privilege --------------------- f @@ -1724,6 +1795,7 @@ CREATE TABLE sro_tab (a int); ALTER TABLE sro_tab OWNER TO regress_sro_user; INSERT INTO sro_tab VALUES (1), (2), (3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- Create an expression index with a predicate CREATE INDEX sro_idx ON sro_tab ((sro_ifun(a) + sro_ifun(0))) WHERE sro_ifun(a + 10) > sro_ifun(10); @@ -1761,6 +1833,7 @@ CREATE TABLE sro_part PARTITION OF sro_ptab FOR VALUES FROM (1) TO (10); ALTER TABLE sro_part OWNER TO regress_sro_user; INSERT INTO sro_ptab VALUES (1), (2), (3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE INDEX sro_pidx ON sro_ptab ((sro_ifun(a) + sro_ifun(0))) WHERE sro_ifun(a + 10) > sro_ifun(10); REINDEX TABLE sro_ptab; @@ -1818,6 +1891,8 @@ CREATE UNIQUE INDEX ON sro_index_mv (c) WHERE unwanted_grant_nofail(1) > 0; \c - REFRESH MATERIALIZED VIEW CONCURRENTLY sro_index_mv; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree REFRESH MATERIALIZED VIEW sro_index_mv; DROP OWNED BY regress_sro_user; DROP ROLE regress_sro_user; @@ -2096,6 +2171,7 @@ ALTER FUNCTION terminate_nothrow OWNER TO pg_signal_backend; SELECT backend_type FROM pg_stat_activity WHERE CASE WHEN COALESCE(usesysid, 10) = 10 THEN terminate_nothrow(pid) END; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree backend_type -------------- (0 rows) @@ -2135,6 +2211,7 @@ SET SESSION AUTHORIZATION regress_priv_user1; TABLE information_schema.enabled_roles ORDER BY role_name COLLATE "C"; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree role_name --------------------- pg_database_owner @@ -2143,6 +2220,7 @@ (3 rows) TABLE information_schema.applicable_roles ORDER BY role_name COLLATE "C"; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree grantee | role_name | is_grantable ---------------------+---------------------+-------------- regress_priv_group2 | pg_database_owner | NO @@ -2154,6 +2232,7 @@ ERROR: permission denied for table datdba_only SET SESSION AUTHORIZATION regress_priv_user2; TABLE information_schema.enabled_roles; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree role_name -------------------- regress_priv_user2 @@ -2272,6 +2351,7 @@ (1 row) SELECT * FROM pg_input_error_info('regress_priv_user1=r/', 'aclitem'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code ---------------------------------+--------+------+---------------- a name must follow the "/" sign | | | 22P02 @@ -2284,6 +2364,7 @@ (1 row) SELECT * FROM pg_input_error_info('regress_priv_user1=r/regress_no_such_user', 'aclitem'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code --------------------------------------------+--------+------+---------------- role "regress_no_such_user" does not exist | | | 42704 @@ -2296,6 +2377,7 @@ (1 row) SELECT * FROM pg_input_error_info('regress_priv_user1=rY', 'aclitem'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code ----------------------------------------------------------+--------+------+---------------- invalid mode character: must be one of "arwdDxtXUCTcsAm" | | | 22P02 @@ -2471,6 +2553,7 @@ SELECT count(*) FROM pg_default_acl d LEFT JOIN pg_namespace n ON defaclnamespace = n.oid WHERE nspname = 'testns'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 3 @@ -2485,6 +2568,7 @@ SELECT d.* -- check that entries went away FROM pg_default_acl d LEFT JOIN pg_namespace n ON defaclnamespace = n.oid WHERE nspname IS NULL AND defaclnamespace != 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree oid | defaclrole | defaclnamespace | defaclobjtype | defaclacl -----+------------+-----------------+---------------+----------- (0 rows) @@ -2606,6 +2690,7 @@ SET SESSION ROLE regress_schemauser1; CREATE SCHEMA testns; SELECT nspname, rolname FROM pg_namespace, pg_roles WHERE pg_namespace.nspname = 'testns' AND pg_namespace.nspowner = pg_roles.oid; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree nspname | rolname ---------+--------------------- testns | regress_schemauser1 @@ -2614,6 +2699,7 @@ ALTER SCHEMA testns OWNER TO regress_schemauser2; ALTER ROLE regress_schemauser2 RENAME TO regress_schemauser_renamed; SELECT nspname, rolname FROM pg_namespace, pg_roles WHERE pg_namespace.nspname = 'testns' AND pg_namespace.nspowner = pg_roles.oid; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree nspname | rolname ---------+---------------------------- testns | regress_schemauser_renamed @@ -2638,6 +2724,7 @@ set session role regress_priv_user4; grant select on dep_priv_test to regress_priv_user5; \dp dep_priv_test +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Access privileges Schema | Name | Type | Access privileges | Column privileges | Policies --------+---------------+-------+------------------------------------------------+-------------------+---------- @@ -2652,6 +2739,7 @@ set session role regress_priv_user2; revoke select on dep_priv_test from regress_priv_user4 cascade; \dp dep_priv_test +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Access privileges Schema | Name | Type | Access privileges | Column privileges | Policies --------+---------------+-------+------------------------------------------------+-------------------+---------- @@ -2665,6 +2753,7 @@ set session role regress_priv_user3; revoke select on dep_priv_test from regress_priv_user4 cascade; \dp dep_priv_test +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Access privileges Schema | Name | Type | Access privileges | Column privileges | Policies --------+---------------+-------+------------------------------------------------+-------------------+---------- @@ -2850,12 +2939,14 @@ -- run query to ensure that functions within views can be executed SET ROLE regress_readallstats; SELECT COUNT(*) >= 0 AS ok FROM pg_backend_memory_contexts; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ok ---- t (1 row) SELECT COUNT(*) >= 0 AS ok FROM pg_shmem_allocations; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ok ---- t diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/collate.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/collate.out --- /tmp/cirrus-ci-build/src/test/regress/expected/collate.out 2024-03-19 15:41:21.017394000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/collate.out 2024-03-19 15:51:21.653679000 +0000 @@ -16,6 +16,10 @@ b text COLLATE "C" NOT NULL ); \d collate_test1 +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 Table "collate_tests.collate_test1" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -33,6 +37,10 @@ LIKE collate_test1 ); \d collate_test_like +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 Table "collate_tests.collate_test_like" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -44,7 +52,9 @@ b text COLLATE "POSIX" ); INSERT INTO collate_test1 VALUES (1, 'abc'), (2, 'Abc'), (3, 'bbc'), (4, 'ABD'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO collate_test2 SELECT * FROM collate_test1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM collate_test1 WHERE b COLLATE "C" >= 'abc'; a | b ---+----- @@ -78,6 +88,7 @@ b testdomain_p ); INSERT INTO collate_test4 SELECT * FROM collate_test1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT a, b FROM collate_test4 ORDER BY b; a | b ---+----- @@ -92,6 +103,7 @@ b testdomain_p COLLATE "C" ); INSERT INTO collate_test5 SELECT * FROM collate_test1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT a, b FROM collate_test5 ORDER BY b; a | b ---+----- @@ -167,6 +179,7 @@ y text COLLATE "POSIX" ); INSERT INTO collate_test10 VALUES (1, 'hij', 'hij'), (2, 'HIJ', 'HIJ'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT a, lower(x), lower(y), upper(x), upper(y), initcap(x), initcap(y) FROM collate_test10; a | lower | lower | upper | upper | initcap | initcap ---+-------+-------+-------+-------+---------+--------- @@ -194,6 +207,7 @@ CREATE VIEW collview3 AS SELECT a, lower((x || x) COLLATE "POSIX") FROM collate_test10; SELECT table_name, view_definition FROM information_schema.views WHERE table_name LIKE 'collview%' ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_name | view_definition ------------+------------------------------------------------ collview1 | SELECT a, + @@ -385,6 +399,7 @@ ^ HINT: You can choose the collation by applying the COLLATE clause to one or both expressions. SELECT a, b FROM collate_test1 UNION ALL SELECT a, b FROM collate_test1 ORDER BY 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+----- 4 | ABD @@ -398,6 +413,7 @@ (8 rows) SELECT a, b FROM collate_test2 UNION SELECT a, b FROM collate_test2 ORDER BY 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+----- 4 | ABD @@ -407,6 +423,7 @@ (4 rows) SELECT a, b FROM collate_test2 WHERE a < 4 INTERSECT SELECT a, b FROM collate_test2 WHERE a > 1 ORDER BY 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+----- 2 | Abc @@ -414,6 +431,7 @@ (2 rows) SELECT a, b FROM collate_test2 EXCEPT SELECT a, b FROM collate_test2 WHERE a < 2 ORDER BY 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+----- 4 | ABD @@ -422,9 +440,11 @@ (3 rows) SELECT a, b FROM collate_test1 UNION ALL SELECT a, b FROM collate_test2 ORDER BY 2; -- fail +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: could not determine which collation to use for string comparison HINT: Use the COLLATE clause to set the collation explicitly. SELECT a, b FROM collate_test1 UNION ALL SELECT a, b FROM collate_test2; -- ok +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+----- 1 | abc @@ -443,6 +463,7 @@ ^ HINT: You can choose the collation by applying the COLLATE clause to one or both expressions. SELECT a, b COLLATE "C" FROM collate_test1 UNION SELECT a, b FROM collate_test2 ORDER BY 2; -- ok +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+----- 4 | ABD @@ -462,6 +483,7 @@ ^ HINT: You can choose the collation by applying the COLLATE clause to one or both expressions. CREATE TABLE test_u AS SELECT a, b FROM collate_test1 UNION ALL SELECT a, b FROM collate_test2; -- fail +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: no collation was derived for column "b" with collatable type text HINT: Use the COLLATE clause to set the collation explicitly. -- ideally this would be a parse-time error, but for now it must be run-time: @@ -492,6 +514,7 @@ HINT: Use the COLLATE clause to set the collation of the non-recursive term. SELECT a, b, a < b as lt FROM (VALUES ('a', 'B'), ('A', 'b' COLLATE "C")) v(a,b); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | lt ---+---+---- a | B | f @@ -550,6 +573,7 @@ -- polymorphism SELECT * FROM unnest((SELECT array_agg(b ORDER BY b) FROM collate_test1)) ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree unnest -------- ABD @@ -559,6 +583,7 @@ (4 rows) SELECT * FROM unnest((SELECT array_agg(b ORDER BY b) FROM collate_test2)) ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree unnest -------- ABD @@ -615,18 +640,23 @@ SET enable_nestloop TO 0; CREATE TABLE collate_test20 (f1 text COLLATE "C" PRIMARY KEY); INSERT INTO collate_test20 VALUES ('foo'), ('bar'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE TABLE collate_test21 (f2 text COLLATE "POSIX" REFERENCES collate_test20); INSERT INTO collate_test21 VALUES ('foo'), ('bar'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO collate_test21 VALUES ('baz'); -- fail ERROR: insert or update on table "collate_test21" violates foreign key constraint "collate_test21_f2_fkey" DETAIL: Key (f2)=(baz) is not present in table "collate_test20". CREATE TABLE collate_test22 (f2 text COLLATE "POSIX"); INSERT INTO collate_test22 VALUES ('foo'), ('bar'), ('baz'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE collate_test22 ADD FOREIGN KEY (f2) REFERENCES collate_test20; -- fail +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: insert or update on table "collate_test22" violates foreign key constraint "collate_test22_f2_fkey" DETAIL: Key (f2)=(baz) is not present in table "collate_test20". DELETE FROM collate_test22 WHERE f2 = 'baz'; ALTER TABLE collate_test22 ADD FOREIGN KEY (f2) REFERENCES collate_test20; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree RESET enable_seqscan; RESET enable_hashjoin; RESET enable_nestloop; @@ -709,6 +739,8 @@ SELECT c1+1 AS c1p FROM (SELECT ('4' COLLATE "C")::INT AS c1) ss; \d+ collate_on_int +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree View "collate_tests.collate_on_int" Column | Type | Collation | Nullable | Default | Storage | Description --------+---------+-----------+----------+---------+---------+------------- diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/matview.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/matview.out --- /tmp/cirrus-ci-build/src/test/regress/expected/matview.out 2024-03-19 15:41:21.019630000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/matview.out 2024-03-19 15:51:22.748990000 +0000 @@ -6,9 +6,11 @@ (3, 'y', 5), (4, 'y', 7), (5, 'z', 11); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- we want a view based on the table, too, since views present additional challenges CREATE VIEW mvtest_tv AS SELECT type, sum(amt) AS totamt FROM mvtest_t GROUP BY type; SELECT * FROM mvtest_tv ORDER BY type; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree type | totamt ------+-------- x | 5 @@ -94,6 +96,11 @@ CREATE INDEX mvtest_aa ON mvtest_bb (grandtot); -- check that plans seem reasonable \d+ mvtest_tvm +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 Materialized view "public.mvtest_tvm" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+----------+--------------+------------- @@ -106,6 +113,11 @@ ORDER BY type; \d+ mvtest_tvm +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 Materialized view "public.mvtest_tvm" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+----------+--------------+------------- @@ -118,6 +130,11 @@ ORDER BY type; \d+ mvtest_tvvm +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 Materialized view "public.mvtest_tvvm" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description ----------+---------+-----------+----------+---------+---------+--------------+------------- @@ -127,6 +144,12 @@ FROM mvtest_tvv; \d+ mvtest_bb +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 Materialized view "public.mvtest_bb" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description ----------+---------+-----------+----------+---------+---------+--------------+------------- @@ -141,7 +164,14 @@ CREATE SCHEMA mvtest_mvschema; ALTER MATERIALIZED VIEW mvtest_tvm SET SCHEMA mvtest_mvschema; \d+ mvtest_tvm +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree \d+ mvtest_tvmm +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 Materialized view "public.mvtest_tvmm" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description ----------+---------+-----------+----------+---------+---------+--------------+------------- @@ -155,6 +185,11 @@ SET search_path = mvtest_mvschema, public; \d+ mvtest_tvm +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 Materialized view "mvtest_mvschema.mvtest_tvm" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+----------+--------------+------------- @@ -186,6 +221,8 @@ (3 rows) REFRESH MATERIALIZED VIEW CONCURRENTLY mvtest_tm; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree REFRESH MATERIALIZED VIEW mvtest_tvm; SELECT * FROM mvtest_tm ORDER BY type; type | totamt @@ -300,6 +337,7 @@ ERROR: cannot lock rows in materialized view "mvtest_tvvm" -- test join of mv and view SELECT type, m.totamt AS mtot, v.totamt AS vtot FROM mvtest_tm m LEFT JOIN mvtest_tv v USING (type) ORDER BY type; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree type | mtot | vtot ------+------+------ x | 5 | 5 @@ -340,6 +378,8 @@ CREATE VIEW mvtest_vt1 AS SELECT 1 moo; CREATE VIEW mvtest_vt2 AS SELECT moo, 2*moo FROM mvtest_vt1 UNION ALL SELECT moo, 3*moo FROM mvtest_vt1; \d+ mvtest_vt2 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree View "public.mvtest_vt2" Column | Type | Collation | Nullable | Default | Storage | Description ----------+---------+-----------+----------+---------+---------+------------- @@ -355,7 +395,13 @@ FROM mvtest_vt1; CREATE MATERIALIZED VIEW mv_test2 AS SELECT moo, 2*moo FROM mvtest_vt2 UNION ALL SELECT moo, 3*moo FROM mvtest_vt2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree \d+ mv_test2 +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 Materialized view "public.mv_test2" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description ----------+---------+-----------+----------+---------+---------+--------------+------------- @@ -384,9 +430,11 @@ drop cascades to materialized view mv_test3 -- test that duplicate values on unique index prevent refresh CREATE TABLE mvtest_foo(a, b) AS VALUES(1, 10); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE MATERIALIZED VIEW mvtest_mv AS SELECT * FROM mvtest_foo; CREATE UNIQUE INDEX ON mvtest_mv(a); INSERT INTO mvtest_foo SELECT * FROM mvtest_foo; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree REFRESH MATERIALIZED VIEW mvtest_mv; ERROR: could not create unique index "mvtest_mv_a_idx" DETAIL: Key (a)=(1) is duplicated. @@ -397,6 +445,7 @@ NOTICE: drop cascades to materialized view mvtest_mv -- make sure that all columns covered by unique indexes works CREATE TABLE mvtest_foo(a, b, c) AS VALUES(1, 2, 3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE MATERIALIZED VIEW mvtest_mv AS SELECT * FROM mvtest_foo; CREATE UNIQUE INDEX ON mvtest_mv (a); CREATE UNIQUE INDEX ON mvtest_mv (b); @@ -405,6 +454,8 @@ INSERT INTO mvtest_foo VALUES(3, 4, 5); REFRESH MATERIALIZED VIEW mvtest_mv; REFRESH MATERIALIZED VIEW CONCURRENTLY mvtest_mv; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree DROP TABLE mvtest_foo CASCADE; NOTICE: drop cascades to materialized view mvtest_mv -- allow subquery to reference unpopulated matview if WITH NO DATA is specified @@ -419,10 +470,13 @@ ('(32,32),(31,31)'), ('(2.0000004,2.0000004),(1,1)'), ('(1.9999996,1.9999996),(1,1)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE MATERIALIZED VIEW mvtest_boxmv AS SELECT * FROM mvtest_boxes; CREATE UNIQUE INDEX mvtest_boxmv_id ON mvtest_boxmv (id); UPDATE mvtest_boxes SET b = '(2,2),(1,1)' WHERE id = 2; REFRESH MATERIALIZED VIEW CONCURRENTLY mvtest_boxmv; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM mvtest_boxmv ORDER BY id; id | b ----+----------------------------- @@ -449,6 +503,8 @@ REFRESH MATERIALIZED VIEW mvtest_mv_v; UPDATE mvtest_v SET j = 3 WHERE x = 1; REFRESH MATERIALIZED VIEW CONCURRENTLY mvtest_mv_v; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree REFRESH MATERIALIZED VIEW mvtest_mv_v_2; REFRESH MATERIALIZED VIEW mvtest_mv_v_3; REFRESH MATERIALIZED VIEW mvtest_mv_v_4; @@ -493,6 +549,11 @@ CREATE MATERIALIZED VIEW mv_unspecified_types AS SELECT 42 as i, 42.5 as num, 'foo' as u, 'foo'::unknown as u2, null as n; \d+ mv_unspecified_types +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 Materialized view "public.mv_unspecified_types" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+----------+--------------+------------- @@ -561,6 +622,7 @@ fipshash(random()::text) AS newdata2, fipshash(random()::text) AS diff FROM generate_series(1, 10) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE MATERIALIZED VIEW mvtest_mv_foo AS SELECT * FROM mvtest_foo_data; CREATE MATERIALIZED VIEW mvtest_mv_foo AS SELECT * FROM mvtest_foo_data; ERROR: relation "mvtest_mv_foo" already exists @@ -570,6 +632,8 @@ RESET ROLE; REFRESH MATERIALIZED VIEW mvtest_mv_foo; REFRESH MATERIALIZED VIEW CONCURRENTLY mvtest_mv_foo; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree DROP OWNED BY regress_user_mvtest CASCADE; DROP ROLE regress_user_mvtest; -- Concurrent refresh requires a unique index on the materialized diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/lock.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/lock.out --- /tmp/cirrus-ci-build/src/test/regress/expected/lock.out 2024-03-19 15:41:21.019576000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/lock.out 2024-03-19 15:51:21.218399000 +0000 @@ -48,6 +48,7 @@ select relname from pg_locks l, pg_class c where l.relation = c.oid and relname like '%lock_%' and mode = 'ExclusiveLock' order by relname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname ------------ lock_tbl1 @@ -61,6 +62,7 @@ select relname from pg_locks l, pg_class c where l.relation = c.oid and relname like '%lock_%' and mode = 'ExclusiveLock' order by relname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname ------------ lock_tbl1 @@ -75,6 +77,7 @@ select relname from pg_locks l, pg_class c where l.relation = c.oid and relname like '%lock_%' and mode = 'ExclusiveLock' order by relname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname ------------ lock_tbl1 @@ -90,6 +93,7 @@ select relname from pg_locks l, pg_class c where l.relation = c.oid and relname like '%lock_%' and mode = 'ExclusiveLock' order by relname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname ------------ lock_tbl1 @@ -104,6 +108,7 @@ select relname from pg_locks l, pg_class c where l.relation = c.oid and relname like '%lock_%' and mode = 'ExclusiveLock' order by relname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname ------------ lock_tbl1 @@ -118,6 +123,7 @@ select relname from pg_locks l, pg_class c where l.relation = c.oid and relname like '%lock_%' and mode = 'ExclusiveLock' order by relname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname ------------ lock_tbl1 @@ -174,6 +180,7 @@ select relname from pg_locks l, pg_class c where l.relation = c.oid and relname like '%lock_%' and mode = 'AccessExclusiveLock' order by relname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname ------------ lock_tbl1 @@ -210,6 +217,7 @@ select relname from pg_locks l, pg_class c where l.relation = c.oid and relname like '%lock_%' and mode = 'AccessExclusiveLock' order by relname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname ------------ lock_tbl1 diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/replica_identity.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/replica_identity.out --- /tmp/cirrus-ci-build/src/test/regress/expected/replica_identity.out 2024-03-19 15:41:21.044656000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/replica_identity.out 2024-03-19 15:51:22.042294000 +0000 @@ -79,6 +79,13 @@ (1 row) \d test_replica_identity +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Table "public.test_replica_identity" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------------------------------------------------- @@ -109,6 +116,13 @@ (1 row) \d test_replica_identity +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Table "public.test_replica_identity" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------------------------------------------------- @@ -157,6 +171,14 @@ (1 row) \d+ test_replica_identity +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Table "public.test_replica_identity" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------------------------------------------------+----------+--------------+------------- @@ -194,6 +216,11 @@ CREATE TABLE test_replica_identity2 (id int UNIQUE NOT NULL); ALTER TABLE test_replica_identity2 REPLICA IDENTITY USING INDEX test_replica_identity2_id_key; \d test_replica_identity2 +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 Table "public.test_replica_identity2" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -203,6 +230,11 @@ ALTER TABLE test_replica_identity2 ALTER COLUMN id TYPE bigint; \d test_replica_identity2 +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 Table "public.test_replica_identity2" Column | Type | Collation | Nullable | Default --------+--------+-----------+----------+--------- @@ -215,6 +247,11 @@ CREATE UNIQUE INDEX test_replica_identity3_id_key ON test_replica_identity3 (id); ALTER TABLE test_replica_identity3 REPLICA IDENTITY USING INDEX test_replica_identity3_id_key; \d test_replica_identity3 +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 Table "public.test_replica_identity3" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -224,6 +261,11 @@ ALTER TABLE test_replica_identity3 ALTER COLUMN id TYPE bigint; \d test_replica_identity3 +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 Table "public.test_replica_identity3" Column | Type | Collation | Nullable | Default --------+--------+-----------+----------+--------- @@ -253,6 +295,14 @@ ALTER TABLE ONLY test_replica_identity4_1 ADD CONSTRAINT test_replica_identity4_1_pkey PRIMARY KEY (id); \d+ test_replica_identity4 +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Partitioned table "public.test_replica_identity4" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- @@ -267,6 +317,14 @@ ALTER INDEX test_replica_identity4_pkey ATTACH PARTITION test_replica_identity4_1_pkey; \d+ test_replica_identity4 +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Partitioned table "public.test_replica_identity4" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/rowsecurity.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/rowsecurity.out --- /tmp/cirrus-ci-build/src/test/regress/expected/rowsecurity.out 2024-03-19 15:41:21.044814000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/rowsecurity.out 2024-03-19 15:51:23.391235000 +0000 @@ -43,6 +43,7 @@ ('regress_rls_bob', 1), ('regress_rls_carol', 2), ('regress_rls_dave', 3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE TABLE category ( cid int primary key, cname text @@ -53,6 +54,7 @@ (22, 'science fiction'), (33, 'technology'), (44, 'manga'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE TABLE document ( did int primary key, cid int references category(cid), @@ -72,6 +74,7 @@ ( 8, 44, 1, 'regress_rls_carol', 'great manga'), ( 9, 22, 1, 'regress_rls_dave', 'awesome science fiction'), (10, 33, 2, 'regress_rls_dave', 'awesome technology book'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE document ENABLE ROW LEVEL SECURITY; -- user's security level must be higher than or equal to document's CREATE POLICY p1 ON document AS PERMISSIVE @@ -93,6 +96,7 @@ CREATE POLICY p1r ON document AS RESTRICTIVE TO regress_rls_dave USING (cid <> 44); \dp +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Access privileges Schema | Name | Type | Access privileges | Column privileges | Policies --------------------+----------+-------+----------------------------------------------+-------------------+-------------------------------------------- @@ -113,6 +117,13 @@ (3 rows) \d document +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Table "regress_rls_schema.document" Column | Type | Collation | Nullable | Default ---------+---------+-----------+----------+--------- @@ -138,6 +149,7 @@ USING (((cid <> 44) AND (cid < 50))) SELECT * FROM pg_policies WHERE schemaname = 'regress_rls_schema' AND tablename = 'document' ORDER BY policyname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree schemaname | tablename | policyname | permissive | roles | cmd | qual | with_check --------------------+-----------+------------+-------------+--------------------+-----+--------------------------------------------+------------ regress_rls_schema | document | p1 | PERMISSIVE | {public} | ALL | (dlevel <= ( SELECT uaccount.seclv +| @@ -166,6 +178,7 @@ (5 rows) SELECT * FROM document NATURAL JOIN category WHERE f_leak(dtitle) ORDER BY did; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: f_leak => my first novel NOTICE: f_leak => my first manga NOTICE: f_leak => great science fiction @@ -223,6 +236,7 @@ (10 rows) SELECT * FROM document NATURAL JOIN category WHERE f_leak(dtitle) ORDER BY did; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: f_leak => my first novel NOTICE: f_leak => my second novel NOTICE: f_leak => my science fiction @@ -275,6 +289,7 @@ (5 rows) EXPLAIN (COSTS OFF) SELECT * FROM document NATURAL JOIN category WHERE f_leak(dtitle); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------- Hash Join @@ -310,6 +325,7 @@ (7 rows) SELECT * FROM document NATURAL JOIN category WHERE f_leak(dtitle) ORDER BY did; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: f_leak => my first novel NOTICE: f_leak => my second novel NOTICE: f_leak => my science fiction @@ -339,6 +355,7 @@ (5 rows) EXPLAIN (COSTS OFF) SELECT * FROM document NATURAL JOIN category WHERE f_leak(dtitle); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------------------------------------------------- Hash Join @@ -384,6 +401,7 @@ (5 rows) SELECT * FROM document NATURAL JOIN category WHERE f_leak(dtitle) ORDER by did; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: f_leak => my first novel NOTICE: f_leak => my second novel NOTICE: f_leak => my science fiction @@ -412,6 +430,7 @@ (3 rows) SELECT * FROM document NATURAL JOIN category WHERE f_leak(dtitle) ORDER by did; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: f_leak => great science fiction NOTICE: f_leak => great technology book NOTICE: f_leak => great manga @@ -430,6 +449,7 @@ (2 rows) EXPLAIN (COSTS OFF) SELECT * FROM document NATURAL JOIN category WHERE f_leak(dtitle); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------------------------- Nested Loop @@ -449,6 +469,7 @@ -- cannot delete PK referenced by invisible FK SET SESSION AUTHORIZATION regress_rls_bob; SELECT * FROM document d FULL OUTER JOIN category c on d.cid = c.cid ORDER BY d.did, c.cid; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree did | cid | dlevel | dauthor | dtitle | cid | cname -----+-----+--------+-----------------+--------------------+-----+------------ 1 | 11 | 1 | regress_rls_bob | my first novel | 11 | novel @@ -465,6 +486,7 @@ -- can insert FK referencing invisible PK SET SESSION AUTHORIZATION regress_rls_carol; SELECT * FROM document d FULL OUTER JOIN category c on d.cid = c.cid ORDER BY d.did, c.cid; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree did | cid | dlevel | dauthor | dtitle | cid | cname -----+-----+--------+-------------------+-----------------------+-----+----------------- 6 | 22 | 1 | regress_rls_carol | great science fiction | 22 | science fiction @@ -797,6 +819,7 @@ -- union all query SELECT a, b, tableoid::regclass FROM t2 UNION ALL SELECT a, b, tableoid::regclass FROM t3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | tableoid ---+-----+---------- 1 | abc | t2 @@ -807,6 +830,7 @@ (5 rows) EXPLAIN (COSTS OFF) SELECT a, b, tableoid::regclass FROM t2 UNION ALL SELECT a, b, tableoid::regclass FROM t3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------- Append @@ -929,6 +953,7 @@ ( 8, 55, 2, 'regress_rls_carol', 'great satire'), ( 9, 11, 1, 'regress_rls_dave', 'awesome science fiction'), (10, 99, 2, 'regress_rls_dave', 'awesome technology book'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE part_document ENABLE ROW LEVEL SECURITY; -- Create policy on parent -- user's security level must be higher than or equal to document's @@ -938,6 +963,13 @@ CREATE POLICY pp1r ON part_document AS RESTRICTIVE TO regress_rls_dave USING (cid < 55); \d+ part_document +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Partitioned table "regress_rls_schema.part_document" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description ---------+---------+-----------+----------+---------+----------+--------------+------------- @@ -962,6 +994,7 @@ part_document_satire FOR VALUES FROM (55) TO (56) SELECT * FROM pg_policies WHERE schemaname = 'regress_rls_schema' AND tablename like '%part_document%' ORDER BY policyname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree schemaname | tablename | policyname | permissive | roles | cmd | qual | with_check --------------------+---------------+------------+-------------+--------------------+-----+--------------------------------------------+------------ regress_rls_schema | part_document | pp1 | PERMISSIVE | {public} | ALL | (dlevel <= ( SELECT uaccount.seclv +| @@ -1411,8 +1444,10 @@ SET SESSION AUTHORIZATION regress_rls_alice; CREATE TABLE s1 (a int, b text); INSERT INTO s1 (SELECT x, public.fipshash(x::text) FROM generate_series(-10,10) x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE TABLE s2 (x int, y text); INSERT INTO s2 (SELECT x, public.fipshash(x::text) FROM generate_series(-6,6) x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree GRANT SELECT ON s1, s2 TO regress_rls_bob; CREATE POLICY p1 ON s1 USING (a in (select x from s2 where y like '%2f%')); CREATE POLICY p2 ON s2 USING (x in (select a from s1 where b like '%22%')); @@ -1450,6 +1485,7 @@ ALTER POLICY p1 ON s1 USING (a in (select x from v2)); -- using VIEW in RLS policy SET SESSION AUTHORIZATION regress_rls_bob; SELECT * FROM s1 WHERE f_leak(b); -- OK +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: f_leak => 03b26944890929ff751653acb2f2af79 a | b ----+---------------------------------- @@ -1467,6 +1503,7 @@ (5 rows) SELECT (SELECT x FROM s1 LIMIT 1) xx, * FROM s2 WHERE y like '%28%'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree xx | x | y ----+----+---------------------------------- -4 | -4 | e5e0093f285a4fb94c3fcc2ad7fd04ed @@ -1897,6 +1934,7 @@ SET SESSION AUTHORIZATION regress_rls_alice; CREATE TABLE b1 (a int, b text); INSERT INTO b1 (SELECT x, public.fipshash(x::text) FROM generate_series(-10,10) x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE POLICY p1 ON b1 USING (a % 2 = 0); ALTER TABLE b1 ENABLE ROW LEVEL SECURITY; GRANT ALL ON b1 TO regress_rls_bob; @@ -1914,6 +1952,7 @@ (4 rows) SELECT * FROM bv1 WHERE f_leak(b); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: f_leak => d4735e3a265e16eee03f59718b9b5d03 NOTICE: f_leak => 4b227777d4dd1fc61c6f884f48641d02 NOTICE: f_leak => e7f6c011776e8db7cd330b54174fd76f @@ -2156,6 +2195,7 @@ ON did = s.sdid WHEN MATCHED THEN UPDATE SET dnotes = dnotes || ' notes added by merge1 ', dlevel = 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: new row violates row-level security policy for table "document" -- Should be OK since USING and WITH CHECK quals pass MERGE INTO document d @@ -2163,12 +2203,14 @@ ON did = s.sdid WHEN MATCHED THEN UPDATE SET dnotes = dnotes || ' notes added by merge2 '; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- Even when dlevel is updated explicitly, but to the existing value MERGE INTO document d USING (SELECT 1 as sdid) s ON did = s.sdid WHEN MATCHED THEN UPDATE SET dnotes = dnotes || ' notes added by merge3 ', dlevel = 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- There is a MATCH for did = 3, but UPDATE's USING qual does not allow -- updating an item in category 'science fiction' MERGE INTO document d @@ -2176,6 +2218,7 @@ ON did = s.sdid WHEN MATCHED THEN UPDATE SET dnotes = dnotes || ' notes added by merge '; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: target row violates row-level security policy (USING expression) for table "document" -- The same thing with DELETE action, but fails again because no permissions -- to delete items in 'science fiction' category that did 3 belongs to. @@ -2184,6 +2227,7 @@ ON did = s.sdid WHEN MATCHED THEN DELETE; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: target row violates row-level security policy (USING expression) for table "document" -- Document with did 4 belongs to 'manga' category which is allowed for -- deletion. But this fails because the UPDATE action is matched first and @@ -2195,6 +2239,7 @@ UPDATE SET dnotes = dnotes || ' notes added by merge ' WHEN MATCHED THEN DELETE; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: target row violates row-level security policy (USING expression) for table "document" -- UPDATE action is not matched this time because of the WHEN qual. -- DELETE still fails because role regress_rls_bob does not have SELECT @@ -2206,6 +2251,7 @@ UPDATE SET dnotes = dnotes || ' notes added by merge ' WHEN MATCHED THEN DELETE; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: target row violates row-level security policy (USING expression) for table "document" -- OK if DELETE is replaced with DO NOTHING MERGE INTO document d @@ -2215,6 +2261,7 @@ UPDATE SET dnotes = dnotes || ' notes added by merge ' WHEN MATCHED THEN DO NOTHING; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM document WHERE did = 4; did | cid | dlevel | dauthor | dtitle | dnotes -----+-----+--------+-----------------+----------------+-------- @@ -2232,6 +2279,7 @@ UPDATE SET dnotes = dnotes || ' notes added by merge ' WHEN MATCHED THEN DELETE; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- Switch back to regress_rls_bob role RESET SESSION AUTHORIZATION; SET SESSION AUTHORIZATION regress_rls_bob; @@ -2245,6 +2293,7 @@ DELETE WHEN NOT MATCHED THEN INSERT VALUES (12, 11, 1, 'regress_rls_dave', 'another novel'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: new row violates row-level security policy for table "document" -- This should be fine MERGE INTO document d @@ -2254,6 +2303,7 @@ DELETE WHEN NOT MATCHED THEN INSERT VALUES (12, 11, 1, 'regress_rls_bob', 'another novel'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- ok MERGE INTO document d USING (SELECT 1 as sdid) s @@ -2262,6 +2312,7 @@ UPDATE SET dnotes = dnotes || ' notes added by merge4 ' WHEN NOT MATCHED THEN INSERT VALUES (12, 11, 1, 'regress_rls_bob', 'another novel'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- drop and create a new SELECT policy which prevents us from reading -- any document except with category 'novel' RESET SESSION AUTHORIZATION; @@ -2278,6 +2329,7 @@ UPDATE SET dnotes = dnotes || ' notes added by merge5 ' WHEN NOT MATCHED THEN INSERT VALUES (12, 11, 1, 'regress_rls_bob', 'another novel'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: duplicate key value violates unique constraint "document_pkey" -- UPDATE action fails if new row is not visible MERGE INTO document d @@ -2286,6 +2338,7 @@ WHEN MATCHED THEN UPDATE SET dnotes = dnotes || ' notes added by merge6 ', cid = (SELECT cid from category WHERE cname = 'technology'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: new row violates row-level security policy for table "document" -- but OK if new row is visible MERGE INTO document d @@ -2294,6 +2347,7 @@ WHEN MATCHED THEN UPDATE SET dnotes = dnotes || ' notes added by merge7 ', cid = (SELECT cid from category WHERE cname = 'novel'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- OK to insert a new row that is not visible MERGE INTO document d USING (SELECT 13 as sdid) s @@ -2302,6 +2356,7 @@ UPDATE SET dnotes = dnotes || ' notes added by merge8 ' WHEN NOT MATCHED THEN INSERT VALUES (13, 44, 1, 'regress_rls_bob', 'new manga'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM document WHERE did = 13; did | cid | dlevel | dauthor | dtitle | dnotes -----+-----+--------+---------+--------+-------- @@ -2316,6 +2371,7 @@ WHEN NOT MATCHED THEN INSERT VALUES (14, 44, 1, 'regress_rls_bob', 'new manga') RETURNING *; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: new row violates row-level security policy for table "document" -- but OK if new row is visible MERGE INTO document d @@ -2326,6 +2382,7 @@ WHEN NOT MATCHED THEN INSERT VALUES (14, 11, 1, 'regress_rls_bob', 'new novel') RETURNING *; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree sdid | did | cid | dlevel | dauthor | dtitle | dnotes ------+-----+-----+--------+-----------------+-----------+-------- 14 | 14 | 11 | 1 | regress_rls_bob | new novel | @@ -2370,6 +2427,7 @@ (2, 'bbb'), (3, 'ccc'), (4, 'dad'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE POLICY p1 ON z1 TO regress_rls_group1 USING (a % 2 = 0); CREATE POLICY p2 ON z1 TO regress_rls_group2 USING (a % 2 = 1); ALTER TABLE z1 ENABLE ROW LEVEL SECURITY; @@ -2399,6 +2457,7 @@ (2 rows) PREPARE plancache_test2 AS WITH q AS MATERIALIZED (SELECT * FROM z1 WHERE f_leak(b)) SELECT * FROM q,z2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree EXPLAIN (COSTS OFF) EXECUTE plancache_test2; QUERY PLAN ------------------------------------------------- @@ -2412,6 +2471,7 @@ (7 rows) PREPARE plancache_test3 AS WITH q AS MATERIALIZED (SELECT * FROM z2) SELECT * FROM q,z1 WHERE f_leak(z1.b); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree EXPLAIN (COSTS OFF) EXECUTE plancache_test3; QUERY PLAN ----------------------------------------------------- @@ -2449,6 +2509,7 @@ (2 rows) EXPLAIN (COSTS OFF) EXECUTE plancache_test2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------- Nested Loop @@ -2461,6 +2522,7 @@ (7 rows) EXPLAIN (COSTS OFF) EXECUTE plancache_test3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------- Nested Loop @@ -2497,6 +2559,7 @@ (2 rows) EXPLAIN (COSTS OFF) EXECUTE plancache_test2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------- Nested Loop @@ -2509,6 +2572,7 @@ (7 rows) EXPLAIN (COSTS OFF) EXECUTE plancache_test3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------- Nested Loop @@ -2545,6 +2609,7 @@ (2 rows) EXPLAIN (COSTS OFF) EXECUTE plancache_test2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------- Nested Loop @@ -2557,6 +2622,7 @@ (7 rows) EXPLAIN (COSTS OFF) EXECUTE plancache_test3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------- Nested Loop @@ -2578,6 +2644,7 @@ -- Query as role that is not owner of view or table. Should return all records. SET SESSION AUTHORIZATION regress_rls_bob; SELECT * FROM rls_view; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: f_leak => aba NOTICE: f_leak => bbb NOTICE: f_leak => ccc @@ -2600,6 +2667,7 @@ -- Query as view/table owner. Should return all records. SET SESSION AUTHORIZATION regress_rls_alice; SELECT * FROM rls_view; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: f_leak => aba NOTICE: f_leak => bbb NOTICE: f_leak => ccc @@ -2628,6 +2696,7 @@ -- Should return records based on view owner policies. SET SESSION AUTHORIZATION regress_rls_alice; SELECT * FROM rls_view; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: f_leak => bbb NOTICE: f_leak => dad a | b @@ -2647,6 +2716,7 @@ -- Should return records based on view owner policies. SET SESSION AUTHORIZATION regress_rls_bob; SELECT * FROM rls_view; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: f_leak => bbb NOTICE: f_leak => dad a | b @@ -2665,6 +2735,7 @@ -- Query as role that is not the owner of the table or view without permissions. SET SESSION AUTHORIZATION regress_rls_carol; SELECT * FROM rls_view; --fail - permission denied. +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for view rls_view EXPLAIN (COSTS OFF) SELECT * FROM rls_view; --fail - permission denied. ERROR: permission denied for view rls_view @@ -2673,6 +2744,7 @@ GRANT SELECT ON rls_view TO regress_rls_carol; SET SESSION AUTHORIZATION regress_rls_carol; SELECT * FROM rls_view; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: f_leak => bbb NOTICE: f_leak => dad a | b @@ -2692,16 +2764,19 @@ SET SESSION AUTHORIZATION regress_rls_alice; CREATE TABLE z1_blacklist (a int); INSERT INTO z1_blacklist VALUES (3), (4); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE POLICY p3 ON z1 AS RESTRICTIVE USING (a NOT IN (SELECT a FROM z1_blacklist)); -- Query as role that is not owner of table but is owner of view without permissions. SET SESSION AUTHORIZATION regress_rls_bob; SELECT * FROM rls_view; --fail - permission denied. +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table z1_blacklist EXPLAIN (COSTS OFF) SELECT * FROM rls_view; --fail - permission denied. ERROR: permission denied for table z1_blacklist -- Query as role that is not the owner of the table or view without permissions. SET SESSION AUTHORIZATION regress_rls_carol; SELECT * FROM rls_view; --fail - permission denied. +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table z1_blacklist EXPLAIN (COSTS OFF) SELECT * FROM rls_view; --fail - permission denied. ERROR: permission denied for table z1_blacklist @@ -2710,6 +2785,7 @@ GRANT SELECT ON z1_blacklist TO regress_rls_bob; SET SESSION AUTHORIZATION regress_rls_bob; SELECT * FROM rls_view; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: f_leak => bbb a | b ---+----- @@ -2728,6 +2804,7 @@ -- Query as role that is not the owner of the table or view with permissions. SET SESSION AUTHORIZATION regress_rls_carol; SELECT * FROM rls_view; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: f_leak => bbb a | b ---+----- @@ -2759,6 +2836,7 @@ GRANT SELECT ON rls_view TO regress_rls_carol; -- Query as table owner. Should return all records. SELECT * FROM rls_view; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: f_leak => aba NOTICE: f_leak => bbb NOTICE: f_leak => ccc @@ -2782,6 +2860,7 @@ -- Should return records based on current user's policies. SET SESSION AUTHORIZATION regress_rls_bob; SELECT * FROM rls_view; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: f_leak => bbb NOTICE: f_leak => dad a | b @@ -2799,6 +2878,7 @@ SET SESSION AUTHORIZATION regress_rls_carol; SELECT * FROM rls_view; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: f_leak => aba NOTICE: f_leak => ccc a | b @@ -2825,6 +2905,7 @@ -- Query as table owner. Should return all records. SET SESSION AUTHORIZATION regress_rls_alice; SELECT * FROM rls_view; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: f_leak => aba NOTICE: f_leak => bbb NOTICE: f_leak => ccc @@ -2848,6 +2929,7 @@ -- Should return records based on current user's policies. SET SESSION AUTHORIZATION regress_rls_bob; SELECT * FROM rls_view; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: f_leak => bbb NOTICE: f_leak => dad a | b @@ -2865,6 +2947,7 @@ SET SESSION AUTHORIZATION regress_rls_carol; SELECT * FROM rls_view; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: f_leak => aba NOTICE: f_leak => ccc a | b @@ -2886,12 +2969,14 @@ -- Query as role that is not owner of table but is owner of view without permissions. SET SESSION AUTHORIZATION regress_rls_bob; SELECT * FROM rls_view; --fail - permission denied. +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table z1_blacklist EXPLAIN (COSTS OFF) SELECT * FROM rls_view; --fail - permission denied. ERROR: permission denied for table z1_blacklist -- Query as role that is not the owner of the table or view without permissions. SET SESSION AUTHORIZATION regress_rls_carol; SELECT * FROM rls_view; --fail - permission denied. +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table z1_blacklist EXPLAIN (COSTS OFF) SELECT * FROM rls_view; --fail - permission denied. ERROR: permission denied for table z1_blacklist @@ -2900,6 +2985,7 @@ GRANT SELECT ON z1_blacklist TO regress_rls_bob; SET SESSION AUTHORIZATION regress_rls_bob; SELECT * FROM rls_view; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: f_leak => bbb a | b ---+----- @@ -2918,6 +3004,7 @@ -- Query as role that is not the owner of the table or view without permissions. SET SESSION AUTHORIZATION regress_rls_carol; SELECT * FROM rls_view; --fail - permission denied. +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table z1_blacklist EXPLAIN (COSTS OFF) SELECT * FROM rls_view; --fail - permission denied. ERROR: permission denied for table z1_blacklist @@ -2926,6 +3013,7 @@ GRANT SELECT ON z1_blacklist TO regress_rls_carol; SET SESSION AUTHORIZATION regress_rls_carol; SELECT * FROM rls_view; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: f_leak => aba a | b ---+----- @@ -2958,6 +3046,7 @@ (6, 'fgh', 'regress_rls_bob'), (7, 'fgh', 'regress_rls_carol'), (8, 'fgh', 'regress_rls_carol'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE POLICY p0 ON x1 FOR ALL USING (c = current_user); CREATE POLICY p1 ON x1 FOR SELECT USING (a % 2 = 0); CREATE POLICY p2 ON x1 FOR INSERT WITH CHECK (a % 2 = 1); @@ -3097,6 +3186,7 @@ -- SET SESSION AUTHORIZATION regress_rls_alice; INSERT INTO y2 (SELECT x, public.fipshash(x::text) FROM generate_series(0,20) x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE POLICY p2 ON y2 USING (a % 3 = 0); CREATE POLICY p3 ON y2 USING (a % 4 = 0); SET SESSION AUTHORIZATION regress_rls_bob; @@ -3194,7 +3284,9 @@ abc text ); INSERT INTO test_qual_pushdown VALUES ('abc'),('def'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM y2 JOIN test_qual_pushdown ON (b = abc) WHERE f_leak(abc); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: f_leak => abc NOTICE: f_leak => def a | b | abc @@ -3202,6 +3294,7 @@ (0 rows) EXPLAIN (COSTS OFF) SELECT * FROM y2 JOIN test_qual_pushdown ON (b = abc) WHERE f_leak(abc); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------- Hash Join @@ -3214,6 +3307,7 @@ (7 rows) SELECT * FROM y2 JOIN test_qual_pushdown ON (b = abc) WHERE f_leak(b); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: f_leak => 5feceb66ffc86f38d952786c6d696c79 NOTICE: f_leak => d4735e3a265e16eee03f59718b9b5d03 NOTICE: f_leak => 4e07408562bedb8b60ce05c1decfe3ad @@ -3233,6 +3327,7 @@ (0 rows) EXPLAIN (COSTS OFF) SELECT * FROM y2 JOIN test_qual_pushdown ON (b = abc) WHERE f_leak(b); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------------------------------- Hash Join @@ -3298,8 +3393,10 @@ ALTER TABLE t1 ENABLE ROW LEVEL SECURITY; GRANT ALL ON t1 TO regress_rls_bob; INSERT INTO t1 (SELECT x, public.fipshash(x::text) FROM generate_series(0,20) x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SET SESSION AUTHORIZATION regress_rls_bob; WITH cte1 AS MATERIALIZED (SELECT * FROM t1 WHERE f_leak(b)) SELECT * FROM cte1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: f_leak => 5feceb66ffc86f38d952786c6d696c79 NOTICE: f_leak => d4735e3a265e16eee03f59718b9b5d03 NOTICE: f_leak => 4b227777d4dd1fc61c6f884f48641d02 @@ -3328,6 +3425,7 @@ EXPLAIN (COSTS OFF) WITH cte1 AS MATERIALIZED (SELECT * FROM t1 WHERE f_leak(b)) SELECT * FROM cte1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------- CTE Scan on cte1 @@ -3337,8 +3435,10 @@ (4 rows) WITH cte1 AS (UPDATE t1 SET a = a + 1 RETURNING *) SELECT * FROM cte1; --fail +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: new row violates row-level security policy for table "t1" WITH cte1 AS (UPDATE t1 SET a = a RETURNING *) SELECT * FROM cte1; --ok +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ----+---------------------------------- 0 | 5feceb66ffc86f38d952786c6d696c79 @@ -3355,8 +3455,10 @@ (11 rows) WITH cte1 AS (INSERT INTO t1 VALUES (21, 'Fail') RETURNING *) SELECT * FROM cte1; --fail +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: new row violates row-level security policy for table "t1" WITH cte1 AS (INSERT INTO t1 VALUES (20, 'Success') RETURNING *) SELECT * FROM cte1; --ok +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ----+--------- 20 | Success @@ -3372,6 +3474,7 @@ FROM pg_policy pol JOIN pg_class pc ON (pc.oid = pol.polrelid) WHERE relname = 't1'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree polname | relname ---------+--------- p1 | t1 @@ -3382,6 +3485,7 @@ FROM pg_policy pol JOIN pg_class pc ON (pc.oid = pol.polrelid) WHERE relname = 't1'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree polname | relname ---------+--------- p2 | t1 @@ -3393,7 +3497,9 @@ SET SESSION AUTHORIZATION regress_rls_bob; CREATE TABLE t2 (a integer, b text); INSERT INTO t2 (SELECT * FROM t1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree EXPLAIN (COSTS OFF) INSERT INTO t2 (SELECT * FROM t1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------- Insert on t2 @@ -3475,6 +3581,7 @@ (3, 'alice', 'blog #2'), (4, 'alice', 'blog #3'), (5, 'john', 'blog #1'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO comment VALUES (1, 'cool blog'), (1, 'fun blog'), @@ -3482,9 +3589,11 @@ (5, 'what?'), (4, 'insane!'), (2, 'who did it?'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SET SESSION AUTHORIZATION regress_rls_bob; -- Check RLS JOIN with Non-RLS. SELECT id, author, message FROM blog JOIN comment ON id = blog_id; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id | author | message ----+--------+------------- 4 | alice | insane! @@ -3493,6 +3602,7 @@ -- Check Non-RLS JOIN with RLS. SELECT id, author, message FROM comment JOIN blog ON id = blog_id; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id | author | message ----+--------+------------- 4 | alice | insane! @@ -3505,12 +3615,14 @@ SET SESSION AUTHORIZATION regress_rls_bob; -- Check RLS JOIN RLS SELECT id, author, message FROM blog JOIN comment ON id = blog_id; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id | author | message ----+--------+------------- 2 | bob | who did it? (1 row) SELECT id, author, message FROM comment JOIN blog ON id = blog_id; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id | author | message ----+--------+------------- 2 | bob | who did it? @@ -3633,6 +3745,7 @@ ALTER TABLE copy_t ENABLE ROW LEVEL SECURITY; GRANT ALL ON copy_t TO regress_rls_bob, regress_rls_exempt_user; INSERT INTO copy_t (SELECT x, public.fipshash(x::text) FROM generate_series(0,10) x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- Check COPY TO as Superuser/owner. RESET SESSION AUTHORIZATION; SET row_security TO OFF; @@ -3754,6 +3867,7 @@ SET row_security TO ON; CREATE TABLE copy_rel_to_child () INHERITS (copy_rel_to); INSERT INTO copy_rel_to_child VALUES (1, 'one'), (2, 'two'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- Check COPY TO as Superuser/owner. RESET SESSION AUTHORIZATION; SET row_security TO OFF; @@ -3825,6 +3939,7 @@ (2, 'bcd', 'regress_rls_bob'), (3, 'cde', 'regress_rls_bob'), (4, 'def', 'regress_rls_bob'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE POLICY p1 ON current_check FOR SELECT USING (currentid % 2 = 0); CREATE POLICY p2 ON current_check FOR DELETE USING (currentid = 4 AND rlsuser = current_user); CREATE POLICY p3 ON current_check FOR UPDATE USING (currentid = 4) WITH CHECK (rlsuser = current_user); @@ -3937,6 +4052,7 @@ SELECT attname, most_common_vals FROM pg_stats WHERE tablename = 'current_check' ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree attname | most_common_vals -----------+------------------- currentid | @@ -3955,6 +4071,7 @@ SELECT attname, most_common_vals FROM pg_stats WHERE tablename = 'current_check' ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree attname | most_common_vals ---------+------------------ (0 rows) @@ -3964,6 +4081,7 @@ -- BEGIN; CREATE TABLE coll_t (c) AS VALUES ('bar'::text); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE POLICY coll_p ON coll_t USING (c < ('foo'::text COLLATE "C")); ALTER TABLE coll_t ENABLE ROW LEVEL SECURITY; GRANT SELECT ON coll_t TO regress_rls_alice; @@ -3989,6 +4107,7 @@ CREATE ROLE regress_rls_eve; CREATE ROLE regress_rls_frank; CREATE TABLE tbl1 (c) AS VALUES ('bar'::text); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree GRANT SELECT ON TABLE tbl1 TO regress_rls_eve; CREATE POLICY P ON tbl1 TO regress_rls_eve, regress_rls_frank USING (true); SELECT refclassid::regclass, deptype @@ -4041,6 +4160,7 @@ -- BEGIN; CREATE TABLE t (c) AS VALUES ('bar'::text); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE POLICY p ON t USING (max(c)); -- fails: aggregate functions are not allowed in policy expressions ERROR: aggregate functions are not allowed in policy expressions ROLLBACK; @@ -4051,7 +4171,9 @@ CREATE TABLE r1 (a int); CREATE TABLE r2 (a int); INSERT INTO r1 VALUES (10), (20); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO r2 VALUES (10), (20); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree GRANT ALL ON r1, r2 TO regress_rls_bob; CREATE POLICY p1 ON r1 USING (true); ALTER TABLE r1 ENABLE ROW LEVEL SECURITY; @@ -4090,6 +4212,7 @@ -- r2 can be used as a non-target relation in DML INSERT INTO r1 SELECT a + 1 FROM r2 RETURNING *; -- OK +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a ---- 11 @@ -4134,6 +4257,7 @@ SET row_security = on; CREATE TABLE r1 (a int); INSERT INTO r1 VALUES (10), (20); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE POLICY p1 ON r1 USING (false); ALTER TABLE r1 ENABLE ROW LEVEL SECURITY; ALTER TABLE r1 FORCE ROW LEVEL SECURITY; @@ -4180,7 +4304,9 @@ CREATE TABLE r1 (a int PRIMARY KEY); CREATE TABLE r2 (a int REFERENCES r1); INSERT INTO r1 VALUES (10), (20); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO r2 VALUES (10), (20); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- Create policies on r2 which prevent the -- owner from seeing any rows, but RI should -- still see them. @@ -4215,7 +4341,9 @@ CREATE TABLE r1 (a int PRIMARY KEY); CREATE TABLE r2 (a int REFERENCES r1 ON DELETE CASCADE); INSERT INTO r1 VALUES (10), (20); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO r2 VALUES (10), (20); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- Create policies on r2 which prevent the -- owner from seeing any rows, but RI should -- still see them. @@ -4239,7 +4367,9 @@ CREATE TABLE r1 (a int PRIMARY KEY); CREATE TABLE r2 (a int REFERENCES r1 ON UPDATE CASCADE); INSERT INTO r1 VALUES (10), (20); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO r2 VALUES (10), (20); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- Create policies on r2 which prevent the -- owner from seeing any rows, but RI should -- still see them. @@ -4274,6 +4404,7 @@ ALTER TABLE r1 FORCE ROW LEVEL SECURITY; -- Works fine INSERT INTO r1 VALUES (10), (20); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- No error, but no rows TABLE r1; a @@ -4288,6 +4419,7 @@ SET row_security = on; -- Error INSERT INTO r1 VALUES (10), (20) RETURNING *; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: new row violates row-level security policy for table "r1" DROP TABLE r1; -- @@ -4427,6 +4559,7 @@ SELECT * FROM rls_tbl; -- Permission denied ERROR: permission denied for table rls_tbl SELECT * FROM rls_view; -- OK +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a ---- 10 @@ -4439,6 +4572,7 @@ -- Leaky operator test CREATE TABLE rls_tbl (a int); INSERT INTO rls_tbl SELECT x/10 FROM generate_series(1, 100) x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE rls_tbl; ALTER TABLE rls_tbl ENABLE ROW LEVEL SECURITY; GRANT SELECT ON rls_tbl TO regress_rls_alice; @@ -4464,9 +4598,11 @@ ALTER TABLE rls_tbl ENABLE ROW LEVEL SECURITY; ALTER TABLE rls_tbl FORCE ROW LEVEL SECURITY; INSERT INTO rls_tbl SELECT 10, 20, 30; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree EXPLAIN (VERBOSE, COSTS OFF) INSERT INTO rls_tbl SELECT * FROM (SELECT b, c FROM rls_tbl ORDER BY a) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------- Insert on regress_rls_schema.rls_tbl @@ -4482,6 +4618,7 @@ INSERT INTO rls_tbl SELECT * FROM (SELECT b, c FROM rls_tbl ORDER BY a) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM rls_tbl; a | b | c ----+----+---- @@ -4502,6 +4639,7 @@ stable language sql as $$ select * from rls_t $$; prepare q as select current_user, * from rls_f(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree set role regress_rls_alice; execute q; current_user | c diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/object_address.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/object_address.out --- /tmp/cirrus-ci-build/src/test/regress/expected/object_address.out 2024-03-19 15:41:21.042870000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/object_address.out 2024-03-19 15:51:21.362824000 +0000 @@ -75,6 +75,7 @@ END LOOP; END; $$; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: error for toast table: unsupported object type "toast table" WARNING: error for index column: unsupported object type "index column" WARNING: error for sequence column: unsupported object type "sequence column" @@ -83,12 +84,16 @@ WARNING: error for materialized view column: unsupported object type "materialized view column" -- miscellaneous other errors select * from pg_get_object_address('operator of access method', '{btree,integer_ops,1}', '{int4,bool}'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: operator 1 (int4, bool) of operator family integer_ops for access method btree does not exist select * from pg_get_object_address('operator of access method', '{btree,integer_ops,99}', '{int4,int4}'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: operator 99 (int4, int4) of operator family integer_ops for access method btree does not exist select * from pg_get_object_address('function of access method', '{btree,integer_ops,1}', '{int4,bool}'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: function 1 (int4, bool) of operator family integer_ops for access method btree does not exist select * from pg_get_object_address('function of access method', '{btree,integer_ops,99}', '{int4,int4}'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: function 99 (int4, int4) of operator family integer_ops for access method btree does not exist DO $$ DECLARE @@ -123,6 +128,9 @@ END LOOP; END; $$; +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: error for table,{eins},{}: relation "eins" does not exist WARNING: error for table,{eins},{integer}: relation "eins" does not exist WARNING: error for table,{addr_nsp,zwei},{}: relation "addr_nsp.zwei" does not exist @@ -455,6 +463,7 @@ pg_identify_object_as_address(classid, objid, objsubid) AS ioa (typ, nms, args), pg_get_object_address(typ, nms, ioa.args) AS addr2 ORDER BY addr1.classid, addr1.objid, addr1.objsubid; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree default acl|NULL|NULL|for role regress_addr_user in schema public on tables|t default acl|NULL|NULL|for role regress_addr_user on tables|t type|pg_catalog|_int4|integer[]|t @@ -592,6 +601,7 @@ AS descr FROM objects ORDER BY objects.classid, objects.objid, objects.objsubid; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ("(""default acl"",,,)")|("(""default acl"",,)")|NULL ("(tablespace,,,)")|("(tablespace,,)")|NULL ("(type,,,)")|("(type,,)")|NULL diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/tablesample.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/tablesample.out --- /tmp/cirrus-ci-build/src/test/regress/expected/tablesample.out 2024-03-19 15:41:21.045977000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/tablesample.out 2024-03-19 15:51:21.130213000 +0000 @@ -2,6 +2,7 @@ -- use fillfactor so we don't have to load too much data to get multiple pages INSERT INTO test_tablesample SELECT i, repeat(i::text, 200) FROM generate_series(0, 9) s(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT t.id FROM test_tablesample AS t TABLESAMPLE SYSTEM (50) REPEATABLE (0); id ---- @@ -69,6 +70,8 @@ CREATE VIEW test_tablesample_v2 AS SELECT id FROM test_tablesample TABLESAMPLE SYSTEM (99); \d+ test_tablesample_v1 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree View "public.test_tablesample_v1" Column | Type | Collation | Nullable | Default | Storage | Description --------+---------+-----------+----------+---------+---------+------------- @@ -78,6 +81,8 @@ FROM test_tablesample TABLESAMPLE system ((10 * 2)) REPEATABLE (2); \d+ test_tablesample_v2 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree View "public.test_tablesample_v2" Column | Type | Collation | Nullable | Default | Storage | Description --------+---------+-----------+----------+---------+---------+------------- @@ -231,6 +236,7 @@ select * from (values (0),(100)) v(pct), lateral (select count(*) from tenk1 tablesample bernoulli (pct)) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree pct | count -----+------- 0 | 0 @@ -240,6 +246,7 @@ select * from (values (0),(100)) v(pct), lateral (select count(*) from tenk1 tablesample system (pct)) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree pct | count -----+------- 0 | 0 @@ -251,6 +258,7 @@ (values (0),(100)) v(pct), lateral (select * from tenk1 tablesample bernoulli (pct)) ss group by pct; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------- HashAggregate @@ -265,6 +273,7 @@ (values (0),(100)) v(pct), lateral (select * from tenk1 tablesample bernoulli (pct)) ss group by pct; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree pct | count -----+------- 100 | 10000 @@ -274,6 +283,7 @@ (values (0),(100)) v(pct), lateral (select * from tenk1 tablesample system (pct)) ss group by pct; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree pct | count -----+------- 100 | 10000 diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/groupingsets.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/groupingsets.out --- /tmp/cirrus-ci-build/src/test/regress/expected/groupingsets.out 2024-03-19 15:41:21.018528000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/groupingsets.out 2024-03-19 15:51:21.556154000 +0000 @@ -20,6 +20,7 @@ (3,4,b'0010','2'), (4,8,b'0011','2'), (5,16,b'0000','2'), (6,32,b'0001','2'), (7,64,b'0010','1'), (8,128,b'0011','1'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree create temp table gstest_empty (a integer, b integer, v integer); create function gstest_data(v integer, out a integer, out b integer) returns setof record @@ -34,6 +35,7 @@ -- (and with ordering differing from grouping) select a, b, grouping(a,b), sum(v), count(*), max(v) from gstest1 group by rollup (a,b); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | grouping | sum | count | max ---+---+----------+-----+-------+----- 1 | 1 | 0 | 21 | 2 | 11 @@ -52,6 +54,7 @@ select a, b, grouping(a,b), sum(v), count(*), max(v) from gstest1 group by rollup (a,b) order by a,b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | grouping | sum | count | max ---+---+----------+-----+-------+----- 1 | 1 | 0 | 21 | 2 | 11 @@ -70,6 +73,7 @@ select a, b, grouping(a,b), sum(v), count(*), max(v) from gstest1 group by rollup (a,b) order by b desc, a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | grouping | sum | count | max ---+---+----------+-----+-------+----- 1 | | 1 | 60 | 5 | 14 @@ -88,6 +92,7 @@ select a, b, grouping(a,b), sum(v), count(*), max(v) from gstest1 group by rollup (a,b) order by coalesce(a,0)+coalesce(b,0); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | grouping | sum | count | max ---+---+----------+-----+-------+----- | | 3 | 145 | 10 | 19 @@ -111,6 +116,7 @@ percentile_disc(0.5) within group (order by v), rank(1,2,12) within group (order by a,b,v) from gstest1 group by rollup (a,b) order by a,b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | grouping | array_agg | string_agg | percentile_disc | rank ---+---+----------+---------------------------------+-------------------------------+-----------------+------ 1 | 1 | 0 | {10,11} | 11:10 | 10 | 3 @@ -133,6 +139,7 @@ rank(a) within group (order by b nulls last) from (values (1,1),(1,4),(1,5),(3,1),(3,2)) v(a,b) group by rollup (a) order by a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree grouping | a | array_agg | rank | rank ----------+---+-------------+------+------ 0 | 1 | {1,4,5} | 1 | 1 @@ -314,6 +321,7 @@ select t1.a, t2.b, grouping(t1.a, t2.b), sum(t1.v), max(t2.a) from gstest1 t1, gstest2 t2 group by grouping sets ((t1.a, t2.b), ()); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | grouping | sum | max ---+---+----------+------+----- 1 | 1 | 0 | 420 | 1 @@ -330,6 +338,7 @@ select t1.a, t2.b, grouping(t1.a, t2.b), sum(t1.v), max(t2.a) from gstest1 t1 join gstest2 t2 on (t1.a=t2.a) group by grouping sets ((t1.a, t2.b), ()); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | grouping | sum | max ---+---+----------+-----+----- 1 | 1 | 0 | 420 | 1 @@ -341,6 +350,7 @@ select a, b, grouping(a, b), sum(t1.v), max(t2.c) from gstest1 t1 join gstest2 t2 using (a,b) group by grouping sets ((a, b), ()); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | grouping | sum | max ---+---+----------+-----+----- 1 | 1 | 0 | 147 | 2 @@ -366,6 +376,7 @@ select g as alias1, g as alias2 from generate_series(1,3) g group by alias1, rollup(alias2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------ GroupAggregate @@ -379,6 +390,7 @@ select g as alias1, g as alias2 from generate_series(1,3) g group by alias1, rollup(alias2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree alias1 | alias2 --------+-------- 1 | 1 @@ -394,6 +406,7 @@ from (select four, ten, 'foo'::text as x from tenk1) as t group by grouping sets (four, x) having x = 'foo'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree four | x ------+----- | foo @@ -403,6 +416,7 @@ from (select four, ten, 'foo'::text as x from tenk1) as t group by grouping sets (four, x) order by four; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree four | ?column? ------+---------- 0 | @@ -415,6 +429,7 @@ select (x+y)*1, sum(z) from (select 1 as x, 2 as y, 3 as z) s group by grouping sets (x+y, x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ?column? | sum ----------+----- 3 | 3 @@ -425,6 +440,7 @@ (select *, q1 = 1 as x from int8_tbl i1) as t group by grouping sets(x, q2) order by x, q2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | not_x | q2 ---+-------+------------------- f | t | @@ -442,6 +458,7 @@ group by grouping sets(1, 2) ) ss where x = 1 and q1 = 123; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------- Subquery Scan on ss @@ -462,6 +479,7 @@ group by grouping sets(1, 2) ) ss where x = 1 and q1 = 123; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | q1 | sum ---+----+----- (0 rows) @@ -472,6 +490,7 @@ from int8_tbl i1 cross join lateral (select (select i1.q1) as x) ss group by ss.x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------ GroupAggregate @@ -491,6 +510,7 @@ from int8_tbl i1 cross join lateral (select (select i1.q1) as x) ss group by ss.x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree grouping ---------- 0 @@ -502,6 +522,7 @@ from int8_tbl i1 cross join lateral (select (select i1.q1) as x) ss group by ss.x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------- GroupAggregate @@ -524,6 +545,7 @@ from int8_tbl i1 cross join lateral (select (select i1.q1) as x) ss group by ss.x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree grouping ---------- 0 @@ -534,6 +556,8 @@ select a, b, sum(v.x) from (values (1),(2)) v(x), gstest_data(v.x) group by rollup (a,b); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | sum ---+---+----- 1 | 1 | 1 @@ -584,6 +608,7 @@ -- Nested queries with 3 or more levels of nesting select(select (select grouping(a,b) from (values (1)) v2(c)) from (values (1,2)) v1(a,b) group by (a,b)) from (values(6,7)) v3(e,f) GROUP BY ROLLUP(e,f); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree grouping ---------- 0 @@ -592,6 +617,7 @@ (3 rows) select(select (select grouping(e,f) from (values (1)) v2(c)) from (values (1,2)) v1(a,b) group by (a,b)) from (values(6,7)) v3(e,f) GROUP BY ROLLUP(e,f); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree grouping ---------- 0 @@ -600,6 +626,7 @@ (3 rows) select(select (select grouping(c) from (values (1)) v2(c) GROUP BY c) from (values (1,2)) v1(a,b) group by (a,b)) from (values(6,7)) v3(e,f) GROUP BY ROLLUP(e,f); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree grouping ---------- 0 @@ -632,6 +659,7 @@ (18 rows) select a, b from (values (1,2),(2,3)) v(a,b) group by a,b, grouping sets(a); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+--- 1 | 2 @@ -641,6 +669,7 @@ -- Tests for chained aggregates select a, b, grouping(a,b), sum(v), count(*), max(v) from gstest1 group by grouping sets ((a,b),(a+1,b+1),(a+2,b+2)) order by 3,6; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | grouping | sum | count | max ---+---+----------+-----+-------+----- 1 | 1 | 0 | 21 | 2 | 11 @@ -667,6 +696,7 @@ (21 rows) select(select (select grouping(a,b) from (values (1)) v2(c)) from (values (1,2)) v1(a,b) group by (a,b)) from (values(6,7)) v3(e,f) GROUP BY ROLLUP((e+1),(f+1)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree grouping ---------- 0 @@ -675,6 +705,7 @@ (3 rows) select(select (select grouping(a,b) from (values (1)) v2(c)) from (values (1,2)) v1(a,b) group by (a,b)) from (values(6,7)) v3(e,f) GROUP BY CUBE((e+1),(f+1)) ORDER BY (e+1),(f+1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree grouping ---------- 0 @@ -698,6 +729,7 @@ (8 rows) select a, b, sum(c) from (values (1,1,10),(1,1,11),(1,2,12),(1,2,13),(1,3,14),(2,3,15),(3,3,16),(3,4,17),(4,1,18),(4,1,19)) v(a,b,c) group by rollup (a,b); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | sum ---+---+----- 1 | 1 | 21 @@ -717,6 +749,7 @@ select a, b, sum(v.x) from (values (1),(2)) v(x), gstest_data(v.x) group by cube (a,b) order by a,b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | sum ---+---+----- 1 | 1 | 1 @@ -829,6 +862,7 @@ select v.c, (select count(*) from gstest2 group by () having v.c) from (values (false),(true)) v(c) order by v.c; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c | count ---+------- f | @@ -838,6 +872,7 @@ explain (costs off) select v.c, (select count(*) from gstest2 group by () having v.c) from (values (false),(true)) v(c) order by v.c; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------- Sort @@ -934,6 +969,7 @@ -- More rescan tests select * from (values (1),(2)) v(a) left join lateral (select v.a, four, ten, count(*) from onek group by cube(four,ten)) s on true order by v.a,four,ten; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | a | four | ten | count ---+---+------+-----+------- 1 | 1 | 0 | 0 | 50 @@ -1009,6 +1045,7 @@ (70 rows) select array(select row(v.a,s1.*) from (select two,four, count(*) from onek group by cube(two,four) order by two,four) s1) from (values (1),(2)) v(a); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree array ------------------------------------------------------------------------------------------------------------------------------------------------------ {"(1,0,0,250)","(1,0,2,250)","(1,0,,500)","(1,1,1,250)","(1,1,3,250)","(1,1,,500)","(1,,0,250)","(1,,1,250)","(1,,2,250)","(1,,3,250)","(1,,,1000)"} @@ -1050,6 +1087,7 @@ -- simple cases select a, b, grouping(a,b), sum(v), count(*), max(v) from gstest1 group by grouping sets ((a),(b)) order by 3,1,2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | grouping | sum | count | max ---+---+----------+-----+-------+----- 1 | | 1 | 60 | 5 | 14 @@ -1076,6 +1114,7 @@ select a, b, grouping(a,b), sum(v), count(*), max(v) from gstest1 group by cube(a,b) order by 3,1,2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | grouping | sum | count | max ---+---+----------+-----+-------+----- 1 | 1 | 0 | 21 | 2 | 11 @@ -1306,6 +1345,7 @@ from (values (1),(2)) v(x), gstest_data(v.x) group by grouping sets (a,b) order by 1, 2, 3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | sum ---+---+----- 1 | | 3 @@ -1320,6 +1360,7 @@ from (values (1),(2)) v(x), gstest_data(v.x) group by grouping sets (a,b) order by 3, 1, 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------------------------------- Sort @@ -1348,6 +1389,7 @@ -- Tests for chained aggregates select a, b, grouping(a,b), sum(v), count(*), max(v) from gstest1 group by grouping sets ((a,b),(a+1,b+1),(a+2,b+2)) order by 3,6; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | grouping | sum | count | max ---+---+----------+-----+-------+----- 1 | 1 | 0 | 21 | 2 | 11 @@ -1422,6 +1464,7 @@ select a, b, sum(v.x) from (values (1),(2)) v(x), gstest_data(v.x) group by cube (a,b) order by a,b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | sum ---+---+----- 1 | 1 | 1 @@ -1442,6 +1485,7 @@ select a, b, sum(v.x) from (values (1),(2)) v(x), gstest_data(v.x) group by cube (a,b) order by a,b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------ Sort @@ -1513,6 +1557,7 @@ COMMIT; -- More rescan tests select * from (values (1),(2)) v(a) left join lateral (select v.a, four, ten, count(*) from onek group by cube(four,ten)) s on true order by v.a,four,ten; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | a | four | ten | count ---+---+------+-----+------- 1 | 1 | 0 | 0 | 50 @@ -1588,6 +1633,7 @@ (70 rows) select array(select row(v.a,s1.*) from (select two,four, count(*) from onek group by cube(two,four) order by two,four) s1) from (values (1),(2)) v(a); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree array ------------------------------------------------------------------------------------------------------------------------------------------------------ {"(1,0,0,250)","(1,0,2,250)","(1,0,,500)","(1,1,1,250)","(1,1,3,250)","(1,1,,500)","(1,,0,250)","(1,,1,250)","(1,,2,250)","(1,,3,250)","(1,,,1000)"} @@ -1597,6 +1643,7 @@ -- Rescan logic changes when there are no empty grouping sets, so test -- that too: select * from (values (1),(2)) v(a) left join lateral (select v.a, four, ten, count(*) from onek group by grouping sets(four,ten)) s on true order by v.a,four,ten; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | a | four | ten | count ---+---+------+-----+------- 1 | 1 | 0 | | 250 @@ -1630,6 +1677,7 @@ (28 rows) select array(select row(v.a,s1.*) from (select two,four, count(*) from onek group by grouping sets(two,four) order by two,four) s1) from (values (1),(2)) v(a); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree array --------------------------------------------------------------------------------- {"(1,0,,500)","(1,1,,500)","(1,,0,250)","(1,,1,250)","(1,,2,250)","(1,,3,250)"} @@ -1711,6 +1759,7 @@ select v||'a', case grouping(v||'a') when 1 then 1 else 0 end, count(*) from unnest(array[1,1], array['a','b']) u(i,v) group by rollup(i, v||'a') order by 1,3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ?column? | case | count ----------+------+------- aa | 0 | 1 @@ -1722,6 +1771,7 @@ select v||'a', case when grouping(v||'a') = 1 then 1 else 0 end, count(*) from unnest(array[1,1], array['a','b']) u(i,v) group by rollup(i, v||'a') order by 1,3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ?column? | case | count ----------+------+------- aa | 0 | 1 @@ -1736,6 +1786,7 @@ alter table bug_16784 set (autovacuum_enabled = 'false'); update pg_class set reltuples = 10 where relname='bug_16784'; insert into bug_16784 select g/10, g from generate_series(1,40) g; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree set work_mem='64kB'; set enable_sort = false; select * from @@ -1743,6 +1794,7 @@ lateral (select a, i, j, count(*) from bug_16784 group by cube(i,j)) s order by v.a, i, j; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | a | i | j | count ---+---+---+----+------- 1 | 1 | 0 | 1 | 1 @@ -1927,6 +1979,7 @@ create table gs_data_1 as select g%1000 as g1000, g%100 as g100, g%10 as g10, g from generate_series(0,1999) g; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree analyze gs_data_1; alter table gs_data_1 set (autovacuum_enabled = 'false'); update pg_class set reltuples = 10 where relname='gs_data_1'; @@ -1989,6 +2042,7 @@ (select * from gs_hash_1 except select * from gs_group_1) union all (select * from gs_group_1 except select * from gs_hash_1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree g100 | g10 | sum | count | max ------+-----+-----+-------+----- (0 rows) @@ -2001,6 +2055,7 @@ from (values (1, 2, 3), (4, null, 6), (7, 8, 9)) as t (a, b, c) group by all rollup(a, b), rollup(a, c) order by a, b, c; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c ---+---+--- 1 | 2 | 3 @@ -2035,6 +2090,7 @@ from (values (1, 2, 3), (4, null, 6), (7, 8, 9)) as t (a, b, c) group by rollup(a, b), rollup(a, c) order by a, b, c; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c ---+---+--- 1 | 2 | 3 @@ -2069,6 +2125,7 @@ from (values (1, 2, 3), (4, null, 6), (7, 8, 9)) as t (a, b, c) group by distinct rollup(a, b), rollup(a, c) order by a, b, c; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c ---+---+--- 1 | 2 | 3 @@ -2091,6 +2148,7 @@ from (values (1, 2, 3), (4, null, 6), (7, 8, 9)) as t (a, b, c) group by rollup(a, b), rollup(a, c) order by a, b, c; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c ---+---+--- 1 | 2 | 3 @@ -2109,6 +2167,7 @@ -- test handling of outer GroupingFunc within subqueries explain (costs off) select (select grouping(v1)) from (values ((select 1))) v(v1) group by cube(v1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------- MixedAggregate @@ -2124,6 +2183,7 @@ (10 rows) select (select grouping(v1)) from (values ((select 1))) v(v1) group by cube(v1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree grouping ---------- 1 @@ -2132,6 +2192,7 @@ explain (costs off) select (select grouping(v1)) from (values ((select 1))) v(v1) group by v1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------- GroupAggregate @@ -2145,6 +2206,7 @@ (8 rows) select (select grouping(v1)) from (values ((select 1))) v(v1) group by v1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree grouping ---------- 0 diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/identity.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/identity.out --- /tmp/cirrus-ci-build/src/test/regress/expected/identity.out 2024-03-19 15:41:21.018649000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/identity.out 2024-03-19 15:51:22.817643000 +0000 @@ -10,6 +10,7 @@ ALTER TABLE itest3 ALTER COLUMN a ADD GENERATED ALWAYS AS IDENTITY; -- error ERROR: column "a" of relation "itest3" is already an identity column SELECT table_name, column_name, column_default, is_nullable, is_identity, identity_generation, identity_start, identity_increment, identity_maximum, identity_minimum, identity_cycle FROM information_schema.columns WHERE table_name LIKE 'itest_' ORDER BY 1, 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_name | column_name | column_default | is_nullable | is_identity | identity_generation | identity_start | identity_increment | identity_maximum | identity_minimum | identity_cycle ------------+-------------+----------------+-------------+-------------+---------------------+----------------+--------------------+---------------------+------------------+---------------- itest1 | a | | NO | YES | BY DEFAULT | 1 | 1 | 2147483647 | 1 | NO @@ -22,6 +23,7 @@ -- internal sequences should not be shown here SELECT sequence_name FROM information_schema.sequences WHERE sequence_name LIKE 'itest%'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree sequence_name --------------- (0 rows) @@ -33,6 +35,9 @@ (1 row) \d itest1_a_seq +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 Sequence "public.itest1_a_seq" Type | Start | Minimum | Maximum | Increment | Cycles? | Cache ---------+-------+---------+------------+-----------+---------+------- @@ -124,16 +129,25 @@ DETAIL: Column "a" is an identity column defined as GENERATED ALWAYS. HINT: Use OVERRIDING SYSTEM VALUE to override. INSERT INTO itest5 VALUES (DEFAULT, 'b'), (DEFAULT, 'c'); -- ok +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO itest5 OVERRIDING SYSTEM VALUE VALUES (-1, 'aa'); INSERT INTO itest5 OVERRIDING SYSTEM VALUE VALUES (-2, 'bb'), (-3, 'cc'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO itest5 OVERRIDING SYSTEM VALUE VALUES (DEFAULT, 'dd'), (-4, 'ee'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO itest5 OVERRIDING SYSTEM VALUE VALUES (-5, 'ff'), (DEFAULT, 'gg'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO itest5 OVERRIDING SYSTEM VALUE VALUES (DEFAULT, 'hh'), (DEFAULT, 'ii'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO itest5 OVERRIDING USER VALUE VALUES (-1, 'aaa'); INSERT INTO itest5 OVERRIDING USER VALUE VALUES (-2, 'bbb'), (-3, 'ccc'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO itest5 OVERRIDING USER VALUE VALUES (DEFAULT, 'ddd'), (-4, 'eee'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO itest5 OVERRIDING USER VALUE VALUES (-5, 'fff'), (DEFAULT, 'ggg'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO itest5 OVERRIDING USER VALUE VALUES (DEFAULT, 'hhh'), (DEFAULT, 'iii'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM itest5; a | b ----+----- @@ -163,6 +177,7 @@ DROP TABLE itest5; INSERT INTO itest3 VALUES (DEFAULT, 'a'); INSERT INTO itest3 VALUES (DEFAULT, 'b'), (DEFAULT, 'c'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM itest3; a | b ----+--- @@ -288,6 +303,7 @@ INSERT INTO itestv11 DEFAULT VALUES; INSERT INTO itestv11 DEFAULT VALUES; SELECT * FROM itestv10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+--- 1 | @@ -295,6 +311,7 @@ (2 rows) SELECT * FROM itestv11; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+--- 1 | @@ -304,6 +321,7 @@ INSERT INTO itestv10 VALUES (10, 'xyz'); INSERT INTO itestv10 OVERRIDING USER VALUE VALUES (11, 'xyz'); SELECT * FROM itestv10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ----+----- 1 | @@ -318,6 +336,7 @@ HINT: Use OVERRIDING SYSTEM VALUE to override. INSERT INTO itestv11 OVERRIDING SYSTEM VALUE VALUES (11, 'xyz'); SELECT * FROM itestv11; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ----+----- 1 | @@ -331,6 +350,7 @@ -- add column to empty table ALTER TABLE itest13 ADD COLUMN b int GENERATED BY DEFAULT AS IDENTITY; INSERT INTO itest13 VALUES (1), (2), (3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- add column to populated table ALTER TABLE itest13 ADD COLUMN c int GENERATED BY DEFAULT AS IDENTITY; SELECT * FROM itest13; @@ -357,6 +377,10 @@ (1 row) \d itest3 +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 Table "public.itest3" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+---------------------------------- @@ -370,6 +394,10 @@ ALTER TABLE itest17 ALTER COLUMN a ADD GENERATED ALWAYS AS IDENTITY; ALTER TABLE itest17 ADD COLUMN c int GENERATED ALWAYS AS IDENTITY; \d itest17 +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 Unlogged table "public.itest17" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+------------------------------ @@ -378,6 +406,9 @@ c | integer | | not null | generated always as identity \d itest17_a_seq +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 Unlogged sequence "public.itest17_a_seq" Type | Start | Minimum | Maximum | Increment | Cycles? | Cache ---------+-------+---------+------------+-----------+---------+------- @@ -385,6 +416,9 @@ Sequence for identity column: public.itest17.a \d itest17_c_seq +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 Unlogged sequence "public.itest17_c_seq" Type | Start | Minimum | Maximum | Increment | Cycles? | Cache ---------+-------+---------+------------+-----------+---------+------- @@ -394,6 +428,10 @@ CREATE TABLE itest18 (a int NOT NULL, b text); ALTER TABLE itest18 SET UNLOGGED, ALTER COLUMN a ADD GENERATED ALWAYS AS IDENTITY; \d itest18 +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 Unlogged table "public.itest18" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+------------------------------ @@ -401,6 +439,9 @@ b | text | | | \d itest18_a_seq +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 Unlogged sequence "public.itest18_a_seq" Type | Start | Minimum | Maximum | Increment | Cycles? | Cache ---------+-------+---------+------------+-----------+---------+------- @@ -409,6 +450,10 @@ ALTER TABLE itest18 SET LOGGED; \d itest18 +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 Table "public.itest18" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+------------------------------ @@ -416,6 +461,9 @@ b | text | | | \d itest18_a_seq +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 Sequence "public.itest18_a_seq" Type | Start | Minimum | Maximum | Increment | Cycles? | Cache ---------+-------+---------+------------+-----------+---------+------- @@ -424,6 +472,10 @@ ALTER TABLE itest18 SET UNLOGGED; \d itest18 +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 Unlogged table "public.itest18" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+------------------------------ @@ -431,6 +483,9 @@ b | text | | | \d itest18_a_seq +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 Unlogged sequence "public.itest18_a_seq" Type | Start | Minimum | Maximum | Increment | Cycles? | Cache ---------+-------+---------+------------+-----------+---------+------- @@ -442,6 +497,10 @@ ADD COLUMN c int GENERATED BY DEFAULT AS IDENTITY, ALTER COLUMN c SET GENERATED ALWAYS; \d itest3 +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 Table "public.itest3" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+---------------------------------- @@ -464,6 +523,7 @@ (3 rows) SELECT table_name, column_name, is_identity, identity_generation FROM information_schema.columns WHERE table_name = 'itest6' ORDER BY 1, 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_name | column_name | is_identity | identity_generation ------------+-------------+-------------+--------------------- itest6 | a | YES | BY DEFAULT @@ -504,6 +564,7 @@ ALTER TABLE itest7d ADD COLUMN b int GENERATED ALWAYS AS IDENTITY; -- error ERROR: cannot recursively add identity column to table that has child tables SELECT table_name, column_name, is_nullable, is_identity, identity_generation FROM information_schema.columns WHERE table_name LIKE 'itest7%' ORDER BY 1, 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_name | column_name | is_nullable | is_identity | identity_generation ------------+-------------+-------------+-------------+--------------------- itest7 | a | NO | YES | ALWAYS @@ -556,6 +617,7 @@ ALTER COLUMN f5 DROP NOT NULL, ALTER COLUMN f5 SET DATA TYPE bigint; INSERT INTO itest8 VALUES(0), (1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- This does not work when the table isn't empty. That's intentional, -- since ADD GENERATED should only affect later insertions: ALTER TABLE itest8 @@ -570,6 +632,11 @@ (2 rows) \d+ itest8 +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 Table "public.itest8" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+----------------------------------+---------+--------------+------------- @@ -584,6 +651,9 @@ "itest8_f4_not_null" NOT NULL "f4" \d itest8_f2_seq +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 Sequence "public.itest8_f2_seq" Type | Start | Minimum | Maximum | Increment | Cycles? | Cache ---------+-------+---------+------------+-----------+---------+------- @@ -591,6 +661,9 @@ Sequence for identity column: public.itest8.f2 \d itest8_f3_seq +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 Sequence "public.itest8_f3_seq" Type | Start | Minimum | Maximum | Increment | Cycles? | Cache ---------+-------+---------+------------+-----------+---------+------- @@ -598,6 +671,9 @@ Sequence for identity column: public.itest8.f3 \d itest8_f4_seq +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 Sequence "public.itest8_f4_seq" Type | Start | Minimum | Maximum | Increment | Cycles? | Cache --------+-------+---------+---------------------+-----------+---------+------- @@ -605,6 +681,7 @@ Sequence for identity column: public.itest8.f4 \d itest8_f5_seq +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree DROP TABLE itest8; -- typed tables (currently not supported) CREATE TYPE itest_type AS (f1 integer, f2 text, f3 bigint); @@ -842,26 +919,31 @@ ON t.a = s.s_a WHEN NOT MATCHED THEN INSERT (a, b) OVERRIDING USER VALUE VALUES (s.s_a, s.s_b); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree MERGE INTO itest15 t USING (SELECT 30 AS s_a, 'inserted by merge' AS s_b) s ON t.a = s.s_a WHEN NOT MATCHED THEN INSERT (a, b) OVERRIDING SYSTEM VALUE VALUES (s.s_a, s.s_b); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree MERGE INTO itest16 t USING (SELECT 10 AS s_a, 'inserted by merge' AS s_b) s ON t.a = s.s_a WHEN NOT MATCHED THEN INSERT (a, b) VALUES (s.s_a, s.s_b); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree MERGE INTO itest16 t USING (SELECT 20 AS s_a, 'inserted by merge' AS s_b) s ON t.a = s.s_a WHEN NOT MATCHED THEN INSERT (a, b) OVERRIDING USER VALUE VALUES (s.s_a, s.s_b); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree MERGE INTO itest16 t USING (SELECT 30 AS s_a, 'inserted by merge' AS s_b) s ON t.a = s.s_a WHEN NOT MATCHED THEN INSERT (a, b) OVERRIDING SYSTEM VALUE VALUES (s.s_a, s.s_b); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM itest15; a | b ----+------------------- diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/generated.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/generated.out --- /tmp/cirrus-ci-build/src/test/regress/expected/generated.out 2024-03-19 15:41:21.018344000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/generated.out 2024-03-19 15:51:23.349612000 +0000 @@ -7,6 +7,7 @@ CREATE TABLE gtest0 (a int PRIMARY KEY, b int GENERATED ALWAYS AS (55) STORED); CREATE TABLE gtest1 (a int PRIMARY KEY, b int GENERATED ALWAYS AS (a * 2) STORED); SELECT table_name, column_name, column_default, is_nullable, is_generated, generation_expression FROM information_schema.columns WHERE table_name LIKE 'gtest_' ORDER BY 1, 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_name | column_name | column_default | is_nullable | is_generated | generation_expression ------------+-------------+----------------+-------------+--------------+----------------------- gtest0 | a | | NO | NEVER | @@ -16,12 +17,18 @@ (4 rows) SELECT table_name, column_name, dependent_column FROM information_schema.column_column_usage ORDER BY 1, 2, 3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_name | column_name | dependent_column ------------+-------------+------------------ gtest1 | a | b (1 row) \d gtest1 +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 Table "public.gtest1" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+------------------------------------ @@ -116,6 +123,7 @@ ERROR: cannot insert a non-DEFAULT value into column "b" DETAIL: Column "b" is a generated column. INSERT INTO gtest1 VALUES (3, DEFAULT), (4, DEFAULT); -- ok +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM gtest1 ORDER BY a; a | b ---+--- @@ -164,6 +172,7 @@ -- test with joins CREATE TABLE gtestx (x int, y int); INSERT INTO gtestx VALUES (11, 1), (22, 2), (33, 3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM gtestx, gtest1 WHERE gtestx.y = gtest1.a; x | y | a | b ----+---+---+--- @@ -207,6 +216,7 @@ MERGE INTO gtestm t USING (VALUES (1, 10), (2, 20)) v(id, f1) ON t.id = v.id WHEN MATCHED THEN UPDATE SET f1 = v.f1 WHEN NOT MATCHED THEN INSERT VALUES (v.id, v.f1, 200); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM gtestm ORDER BY id; id | f1 | f2 | f3 | f4 ----+----+-----+----+----- @@ -218,6 +228,7 @@ -- views CREATE VIEW gtest1v AS SELECT * FROM gtest1; SELECT * FROM gtest1v; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+--- 3 | 6 @@ -237,6 +248,7 @@ ERROR: cannot insert a non-DEFAULT value into column "b" DETAIL: Column "b" is a generated column. INSERT INTO gtest1v VALUES (6, DEFAULT), (7, DEFAULT); -- ok +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER VIEW gtest1v ALTER COLUMN b SET DEFAULT 100; INSERT INTO gtest1v VALUES (8, DEFAULT); -- error ERROR: cannot insert a non-DEFAULT value into column "b" @@ -245,6 +257,7 @@ ERROR: cannot insert a non-DEFAULT value into column "b" DETAIL: Column "b" is a generated column. SELECT * FROM gtest1v; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+---- 3 | 6 @@ -257,6 +270,7 @@ DROP VIEW gtest1v; -- CTEs WITH foo AS (SELECT * FROM gtest1) SELECT * FROM foo; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+--- 3 | 6 @@ -270,6 +284,10 @@ (0 rows) \d gtest1_1 +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 Table "public.gtest1_1" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+------------------------------------ @@ -312,6 +330,11 @@ CREATE TABLE gtestx (x int, b int GENERATED ALWAYS AS (a * 22) STORED) INHERITS (gtest1); -- ok, overrides parent NOTICE: merging column "b" with inherited definition \d+ gtestx +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 Table "public.gtestx" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+-------------------------------------+---------+--------------+------------- @@ -350,6 +373,10 @@ NOTICE: moving and merging column "b" with inherited definition DETAIL: User-specified column moved to the position of the inherited column. \d gtest1_y +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 Table "public.gtest1_y" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+------------------------------------ @@ -381,6 +408,7 @@ -- test stored update CREATE TABLE gtest3 (a int, b int GENERATED ALWAYS AS (a * 3) STORED); INSERT INTO gtest3 (a) VALUES (1), (2), (3), (NULL); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM gtest3 ORDER BY a; a | b ---+--- @@ -402,6 +430,7 @@ CREATE TABLE gtest3a (a text, b text GENERATED ALWAYS AS (a || '+' || a) STORED); INSERT INTO gtest3a (a) VALUES ('a'), ('b'), ('c'), (NULL); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM gtest3a ORDER BY a; a | b ---+----- @@ -424,6 +453,7 @@ -- COPY TRUNCATE gtest1; INSERT INTO gtest1 (a) VALUES (1), (2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree COPY gtest1 TO stdout; 1 2 @@ -445,6 +475,7 @@ TRUNCATE gtest3; INSERT INTO gtest3 (a) VALUES (1), (2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree COPY gtest3 TO stdout; 1 2 @@ -492,6 +523,7 @@ b double_int GENERATED ALWAYS AS ((a * 2, a * 3)) STORED ); INSERT INTO gtest4 VALUES (1), (6); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM gtest4; a | b ---+--------- @@ -507,6 +539,7 @@ b bool GENERATED ALWAYS AS (tableoid = 'gtest_tableoid'::regclass) STORED ); INSERT INTO gtest_tableoid VALUES (1), (2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE gtest_tableoid ADD COLUMN c regclass GENERATED ALWAYS AS (tableoid) STORED; SELECT * FROM gtest_tableoid; @@ -525,6 +558,11 @@ ALTER TABLE gtest10 DROP COLUMN b CASCADE; -- drops c too NOTICE: drop cascades to column c of table gtest10 \d gtest10 +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 Table "public.gtest10" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -539,11 +577,13 @@ CREATE USER regress_user11; CREATE TABLE gtest11s (a int PRIMARY KEY, b int, c int GENERATED ALWAYS AS (b * 2) STORED); INSERT INTO gtest11s VALUES (1, 10), (2, 20); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree GRANT SELECT (a, c) ON gtest11s TO regress_user11; CREATE FUNCTION gf1(a int) RETURNS int AS $$ SELECT a * 3 $$ IMMUTABLE LANGUAGE SQL; REVOKE ALL ON FUNCTION gf1(int) FROM PUBLIC; CREATE TABLE gtest12s (a int PRIMARY KEY, b int, c int GENERATED ALWAYS AS (gf1(b)) STORED); INSERT INTO gtest12s VALUES (1, 10), (2, 20); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree GRANT SELECT (a, c) ON gtest12s TO regress_user11; SET ROLE regress_user11; SELECT a, b FROM gtest11s; -- not allowed @@ -624,6 +664,11 @@ CREATE INDEX gtest22c_expr_idx ON gtest22c ((b * 3)); CREATE INDEX gtest22c_pred_idx ON gtest22c (a) WHERE b > 0; \d gtest22c +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 Table "public.gtest22c" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+------------------------------------ @@ -635,6 +680,7 @@ "gtest22c_pred_idx" btree (a) WHERE b > 0 INSERT INTO gtest22c VALUES (1), (2), (3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SET enable_seqscan TO off; SET enable_bitmapscan TO off; EXPLAIN (COSTS OFF) SELECT * FROM gtest22c WHERE b = 4; @@ -722,12 +768,20 @@ -- foreign keys CREATE TABLE gtest23a (x int PRIMARY KEY, y int); INSERT INTO gtest23a VALUES (1, 11), (2, 22), (3, 33); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE TABLE gtest23x (a int PRIMARY KEY, b int GENERATED ALWAYS AS (a * 2) STORED REFERENCES gtest23a (x) ON UPDATE CASCADE); -- error ERROR: invalid ON UPDATE action for foreign key constraint containing generated column CREATE TABLE gtest23x (a int PRIMARY KEY, b int GENERATED ALWAYS AS (a * 2) STORED REFERENCES gtest23a (x) ON DELETE SET NULL); -- error ERROR: invalid ON DELETE action for foreign key constraint containing generated column CREATE TABLE gtest23b (a int PRIMARY KEY, b int GENERATED ALWAYS AS (a * 2) STORED REFERENCES gtest23a (x)); \d gtest23b +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Table "public.gtest23b" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+------------------------------------ @@ -743,13 +797,16 @@ ERROR: insert or update on table "gtest23b" violates foreign key constraint "gtest23b_b_fkey" DETAIL: Key (b)=(10) is not present in table "gtest23a". ALTER TABLE gtest23b ALTER COLUMN b SET EXPRESSION AS (a * 5); -- error +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: insert or update on table "gtest23b" violates foreign key constraint "gtest23b_b_fkey" DETAIL: Key (b)=(5) is not present in table "gtest23a". ALTER TABLE gtest23b ALTER COLUMN b SET EXPRESSION AS (a * 1); -- ok +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree DROP TABLE gtest23b; DROP TABLE gtest23a; CREATE TABLE gtest23p (x int, y int GENERATED ALWAYS AS (x * 2) STORED, PRIMARY KEY (y)); INSERT INTO gtest23p VALUES (1), (2), (3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE TABLE gtest23q (a int PRIMARY KEY, b int REFERENCES gtest23p (y)); INSERT INTO gtest23q VALUES (1, 2); -- ok INSERT INTO gtest23q VALUES (2, 5); -- error @@ -807,6 +864,11 @@ CREATE TABLE gtest_child3 (f1 date NOT NULL, f2 bigint, f3 bigint GENERATED ALWAYS AS (f2 * 33) STORED); ALTER TABLE gtest_parent ATTACH PARTITION gtest_child3 FOR VALUES FROM ('2016-09-01') TO ('2016-10-01'); \d gtest_child +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 Table "public.gtest_child" Column | Type | Collation | Nullable | Default --------+--------+-----------+----------+------------------------------------- @@ -816,6 +878,11 @@ Partition of: gtest_parent FOR VALUES FROM ('07-01-2016') TO ('08-01-2016') \d gtest_child2 +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 Table "public.gtest_child2" Column | Type | Collation | Nullable | Default --------+--------+-----------+----------+-------------------------------------- @@ -825,6 +892,11 @@ Partition of: gtest_parent FOR VALUES FROM ('08-01-2016') TO ('09-01-2016') \d gtest_child3 +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 Table "public.gtest_child3" Column | Type | Collation | Nullable | Default --------+--------+-----------+----------+-------------------------------------- @@ -857,6 +929,12 @@ ALTER TABLE ONLY gtest_parent ALTER COLUMN f3 SET EXPRESSION AS (f2 * 4); ALTER TABLE gtest_child ALTER COLUMN f3 SET EXPRESSION AS (f2 * 10); \d gtest_parent +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 Partitioned table "public.gtest_parent" Column | Type | Collation | Nullable | Default --------+--------+-----------+----------+------------------------------------- @@ -867,6 +945,11 @@ Number of partitions: 3 (Use \d+ to list them.) \d gtest_child +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 Table "public.gtest_child" Column | Type | Collation | Nullable | Default --------+--------+-----------+----------+-------------------------------------- @@ -876,6 +959,11 @@ Partition of: gtest_parent FOR VALUES FROM ('07-01-2016') TO ('08-01-2016') \d gtest_child2 +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 Table "public.gtest_child2" Column | Type | Collation | Nullable | Default --------+--------+-----------+----------+-------------------------------------- @@ -885,6 +973,11 @@ Partition of: gtest_parent FOR VALUES FROM ('08-01-2016') TO ('09-01-2016') \d gtest_child3 +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 Table "public.gtest_child3" Column | Type | Collation | Nullable | Default --------+--------+-----------+----------+-------------------------------------- @@ -904,6 +997,12 @@ -- alter generation expression of parent and all its children altogether ALTER TABLE gtest_parent ALTER COLUMN f3 SET EXPRESSION AS (f2 * 2); \d gtest_parent +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 Partitioned table "public.gtest_parent" Column | Type | Collation | Nullable | Default --------+--------+-----------+----------+------------------------------------- @@ -914,6 +1013,11 @@ Number of partitions: 3 (Use \d+ to list them.) \d gtest_child +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 Table "public.gtest_child" Column | Type | Collation | Nullable | Default --------+--------+-----------+----------+------------------------------------- @@ -923,6 +1027,11 @@ Partition of: gtest_parent FOR VALUES FROM ('07-01-2016') TO ('08-01-2016') \d gtest_child2 +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 Table "public.gtest_child2" Column | Type | Collation | Nullable | Default --------+--------+-----------+----------+------------------------------------- @@ -932,6 +1041,11 @@ Partition of: gtest_parent FOR VALUES FROM ('08-01-2016') TO ('09-01-2016') \d gtest_child3 +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 Table "public.gtest_child3" Column | Type | Collation | Nullable | Default --------+--------+-----------+----------+------------------------------------- @@ -963,6 +1077,7 @@ -- ALTER TABLE ... ADD COLUMN CREATE TABLE gtest25 (a int PRIMARY KEY); INSERT INTO gtest25 VALUES (3), (4); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE gtest25 ADD COLUMN b int GENERATED ALWAYS AS (a * 2) STORED, ALTER COLUMN b SET EXPRESSION AS (a * 3); SELECT * FROM gtest25 ORDER BY a; a | b @@ -989,6 +1104,11 @@ (2 rows) \d gtest25 +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 Table "public.gtest25" Column | Type | Collation | Nullable | Default --------+------------------+-----------+----------+------------------------------------------------------ @@ -1008,11 +1128,16 @@ x int GENERATED ALWAYS AS ((a + b) * 2) STORED ); INSERT INTO gtest27 (a, b) VALUES (3, 7), (4, 11); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE gtest27 ALTER COLUMN a TYPE text; -- error ERROR: cannot alter type of a column used by a generated column DETAIL: Column "a" is used by generated column "x". ALTER TABLE gtest27 ALTER COLUMN x TYPE numeric; \d gtest27 +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 Table "public.gtest27" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+-------------------------------------------- @@ -1039,6 +1164,10 @@ ALTER COLUMN b TYPE bigint, ADD COLUMN x bigint GENERATED ALWAYS AS ((a + b) * 2) STORED; \d gtest27 +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 Table "public.gtest27" Column | Type | Collation | Nullable | Default --------+--------+-----------+----------+------------------------------------------ @@ -1053,6 +1182,10 @@ ERROR: cannot alter type of a column used by a generated column DETAIL: Column "a" is used by generated column "x". \d gtest27 +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 Table "public.gtest27" Column | Type | Collation | Nullable | Default --------+--------+-----------+----------+------------------------------------------ @@ -1073,6 +1206,7 @@ b int GENERATED ALWAYS AS (a * 2) STORED ); INSERT INTO gtest29 (a) VALUES (3), (4); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM gtest29; a | b ---+--- @@ -1081,6 +1215,10 @@ (2 rows) \d gtest29 +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 Table "public.gtest29" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+------------------------------------ @@ -1103,6 +1241,10 @@ (2 rows) \d gtest29 +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 Table "public.gtest29" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+------------------------------------ @@ -1122,6 +1264,10 @@ (4 rows) \d gtest29 +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 Table "public.gtest29" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -1131,6 +1277,10 @@ -- check that dependencies between columns have also been removed ALTER TABLE gtest29 DROP COLUMN a; -- should not drop b \d gtest29 +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 Table "public.gtest29" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -1144,6 +1294,10 @@ CREATE TABLE gtest30_1 () INHERITS (gtest30); ALTER TABLE gtest30 ALTER COLUMN b DROP EXPRESSION; \d gtest30 +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 Table "public.gtest30" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -1152,6 +1306,10 @@ Number of child tables: 1 (Use \d+ to list them.) \d gtest30_1 +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 Table "public.gtest30_1" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -1169,6 +1327,10 @@ ALTER TABLE ONLY gtest30 ALTER COLUMN b DROP EXPRESSION; -- error ERROR: ALTER TABLE / DROP EXPRESSION must be applied to child tables too \d gtest30 +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 Table "public.gtest30" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+------------------------------------ @@ -1177,6 +1339,10 @@ Number of child tables: 1 (Use \d+ to list them.) \d gtest30_1 +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 Table "public.gtest30_1" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+------------------------------------ @@ -1241,6 +1407,7 @@ WHEN (NEW.b < 0) -- ok EXECUTE PROCEDURE gtest_trigger_func(); INSERT INTO gtest26 (a) VALUES (-2), (0), (3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INFO: gtest2: BEFORE: new = (-2,) INFO: gtest4: AFTER: new = (-2,-4) SELECT * FROM gtest26 ORDER BY a; @@ -1338,6 +1505,10 @@ ALTER TABLE gtest28a DROP COLUMN a; CREATE TABLE gtest28b (LIKE gtest28a INCLUDING GENERATED); \d gtest28* +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 Table "public.gtest28a" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+------------------------------------ @@ -1345,6 +1516,9 @@ c | integer | | | x | integer | | | generated always as (b * 2) stored +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 Table "public.gtest28b" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+------------------------------------ diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/join_hash.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/join_hash.out --- /tmp/cirrus-ci-build/src/test/regress/expected/join_hash.out 2024-03-19 15:41:21.019267000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/join_hash.out 2024-03-19 15:51:23.332635000 +0000 @@ -73,6 +73,7 @@ insert into extremely_skewed select 42 as id, 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' from generate_series(1, 20000); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree update pg_class set reltuples = 2, relpages = pg_relation_size('extremely_skewed') / 8192 where relname = 'extremely_skewed'; @@ -89,6 +90,7 @@ set local hash_mem_multiplier = 1.0; explain (costs off) select count(*) from simple r join simple s using (id); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------- Aggregate @@ -100,6 +102,7 @@ (6 rows) select count(*) from simple r join simple s using (id); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 20000 @@ -110,6 +113,8 @@ $$ select count(*) from simple r join simple s using (id); $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree initially_multibatch | increased_batches ----------------------+------------------- f | f @@ -124,6 +129,7 @@ set local enable_parallel_hash = off; explain (costs off) select count(*) from simple r join simple s using (id); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------- Finalize Aggregate @@ -138,6 +144,7 @@ (9 rows) select count(*) from simple r join simple s using (id); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 20000 @@ -148,6 +155,8 @@ $$ select count(*) from simple r join simple s using (id); $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree initially_multibatch | increased_batches ----------------------+------------------- f | f @@ -162,6 +171,7 @@ set local enable_parallel_hash = on; explain (costs off) select count(*) from simple r join simple s using (id); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------- Finalize Aggregate @@ -176,6 +186,7 @@ (9 rows) select count(*) from simple r join simple s using (id); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 20000 @@ -186,6 +197,8 @@ $$ select count(*) from simple r join simple s using (id); $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree initially_multibatch | increased_batches ----------------------+------------------- f | f @@ -202,6 +215,7 @@ set local hash_mem_multiplier = 1.0; explain (costs off) select count(*) from simple r join simple s using (id); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------- Aggregate @@ -213,6 +227,7 @@ (6 rows) select count(*) from simple r join simple s using (id); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 20000 @@ -223,6 +238,8 @@ $$ select count(*) from simple r join simple s using (id); $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree initially_multibatch | increased_batches ----------------------+------------------- t | f @@ -237,6 +254,7 @@ set local enable_parallel_hash = off; explain (costs off) select count(*) from simple r join simple s using (id); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------- Finalize Aggregate @@ -251,6 +269,7 @@ (9 rows) select count(*) from simple r join simple s using (id); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 20000 @@ -261,6 +280,8 @@ $$ select count(*) from simple r join simple s using (id); $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree initially_multibatch | increased_batches ----------------------+------------------- t | f @@ -275,6 +296,7 @@ set local enable_parallel_hash = on; explain (costs off) select count(*) from simple r join simple s using (id); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------- Finalize Aggregate @@ -289,6 +311,7 @@ (9 rows) select count(*) from simple r join simple s using (id); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 20000 @@ -299,6 +322,8 @@ $$ select count(*) from simple r join simple s using (id); $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree initially_multibatch | increased_batches ----------------------+------------------- t | f @@ -306,6 +331,7 @@ -- parallel full multi-batch hash join select count(*) from simple r full outer join simple s using (id); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 20000 @@ -323,6 +349,7 @@ set local hash_mem_multiplier = 1.0; explain (costs off) select count(*) FROM simple r JOIN bigger_than_it_looks s USING (id); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------ Aggregate @@ -334,6 +361,7 @@ (6 rows) select count(*) FROM simple r JOIN bigger_than_it_looks s USING (id); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 20000 @@ -344,6 +372,8 @@ $$ select count(*) FROM simple r JOIN bigger_than_it_looks s USING (id); $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree initially_multibatch | increased_batches ----------------------+------------------- f | t @@ -358,6 +388,7 @@ set local enable_parallel_hash = off; explain (costs off) select count(*) from simple r join bigger_than_it_looks s using (id); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------ Finalize Aggregate @@ -372,6 +403,7 @@ (9 rows) select count(*) from simple r join bigger_than_it_looks s using (id); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 20000 @@ -382,6 +414,8 @@ $$ select count(*) from simple r join bigger_than_it_looks s using (id); $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree initially_multibatch | increased_batches ----------------------+------------------- f | t @@ -396,6 +430,7 @@ set local enable_parallel_hash = on; explain (costs off) select count(*) from simple r join bigger_than_it_looks s using (id); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------------------------------------- Finalize Aggregate @@ -410,6 +445,7 @@ (9 rows) select count(*) from simple r join bigger_than_it_looks s using (id); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 20000 @@ -420,6 +456,8 @@ $$ select count(*) from simple r join bigger_than_it_looks s using (id); $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree initially_multibatch | increased_batches ----------------------+------------------- f | t @@ -438,6 +476,7 @@ set local hash_mem_multiplier = 1.0; explain (costs off) select count(*) from simple r join extremely_skewed s using (id); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------- Aggregate @@ -449,6 +488,7 @@ (6 rows) select count(*) from simple r join extremely_skewed s using (id); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 20000 @@ -458,6 +498,8 @@ $$ select count(*) from simple r join extremely_skewed s using (id); $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree original | final ----------+------- 1 | 2 @@ -472,6 +514,7 @@ set local enable_parallel_hash = off; explain (costs off) select count(*) from simple r join extremely_skewed s using (id); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------- Aggregate @@ -485,6 +528,7 @@ (8 rows) select count(*) from simple r join extremely_skewed s using (id); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 20000 @@ -494,6 +538,8 @@ $$ select count(*) from simple r join extremely_skewed s using (id); $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree original | final ----------+------- 1 | 2 @@ -508,6 +554,7 @@ set local enable_parallel_hash = on; explain (costs off) select count(*) from simple r join extremely_skewed s using (id); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------------- Finalize Aggregate @@ -522,6 +569,7 @@ (9 rows) select count(*) from simple r join extremely_skewed s using (id); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 20000 @@ -531,6 +579,8 @@ $$ select count(*) from simple r join extremely_skewed s using (id); $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree original | final ----------+------- 1 | 4 @@ -548,6 +598,8 @@ $$ select count(*) from simple r join simple s using (id); $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree original | final ----------+------- 1 | 1 @@ -576,6 +628,7 @@ select count(*) from join_foo left join (select b1.id, b1.t from join_bar b1 join join_bar b2 using (id)) ss on join_foo.id < ss.id + 1 and join_foo.id > ss.id - 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------------ Aggregate @@ -594,6 +647,7 @@ select count(*) from join_foo left join (select b1.id, b1.t from join_bar b1 join join_bar b2 using (id)) ss on join_foo.id < ss.id + 1 and join_foo.id > ss.id - 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 3 @@ -606,6 +660,8 @@ left join (select b1.id, b1.t from join_bar b1 join join_bar b2 using (id)) ss on join_foo.id < ss.id + 1 and join_foo.id > ss.id - 1; $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree multibatch ------------ t @@ -628,6 +684,7 @@ select count(*) from join_foo left join (select b1.id, b1.t from join_bar b1 join join_bar b2 using (id)) ss on join_foo.id < ss.id + 1 and join_foo.id > ss.id - 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------------ Aggregate @@ -646,6 +703,7 @@ select count(*) from join_foo left join (select b1.id, b1.t from join_bar b1 join join_bar b2 using (id)) ss on join_foo.id < ss.id + 1 and join_foo.id > ss.id - 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 3 @@ -658,6 +716,8 @@ left join (select b1.id, b1.t from join_bar b1 join join_bar b2 using (id)) ss on join_foo.id < ss.id + 1 and join_foo.id > ss.id - 1; $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree multibatch ------------ f @@ -680,6 +740,7 @@ select count(*) from join_foo left join (select b1.id, b1.t from join_bar b1 join join_bar b2 using (id)) ss on join_foo.id < ss.id + 1 and join_foo.id > ss.id - 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------------ Aggregate @@ -698,6 +759,7 @@ select count(*) from join_foo left join (select b1.id, b1.t from join_bar b1 join join_bar b2 using (id)) ss on join_foo.id < ss.id + 1 and join_foo.id > ss.id - 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 3 @@ -710,6 +772,8 @@ left join (select b1.id, b1.t from join_bar b1 join join_bar b2 using (id)) ss on join_foo.id < ss.id + 1 and join_foo.id > ss.id - 1; $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree multibatch ------------ t @@ -732,6 +796,7 @@ select count(*) from join_foo left join (select b1.id, b1.t from join_bar b1 join join_bar b2 using (id)) ss on join_foo.id < ss.id + 1 and join_foo.id > ss.id - 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------------ Aggregate @@ -750,6 +815,7 @@ select count(*) from join_foo left join (select b1.id, b1.t from join_bar b1 join join_bar b2 using (id)) ss on join_foo.id < ss.id + 1 and join_foo.id > ss.id - 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 3 @@ -762,6 +828,8 @@ left join (select b1.id, b1.t from join_bar b1 join join_bar b2 using (id)) ss on join_foo.id < ss.id + 1 and join_foo.id > ss.id - 1; $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree multibatch ------------ f @@ -774,6 +842,7 @@ set local max_parallel_workers_per_gather = 0; explain (costs off) select count(*) from simple r full outer join simple s using (id); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------- Aggregate @@ -785,6 +854,7 @@ (6 rows) select count(*) from simple r full outer join simple s using (id); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 20000 @@ -797,6 +867,7 @@ set local max_parallel_workers_per_gather = 2; explain (costs off) select count(*) from simple r full outer join simple s using (id); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------- Aggregate @@ -808,6 +879,7 @@ (6 rows) select count(*) from simple r full outer join simple s using (id); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 20000 @@ -819,6 +891,7 @@ set local max_parallel_workers_per_gather = 2; explain (costs off) select count(*) from simple r full outer join simple s using (id); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------- Finalize Aggregate @@ -833,6 +906,7 @@ (9 rows) select count(*) from simple r full outer join simple s using (id); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 20000 @@ -845,6 +919,7 @@ set local max_parallel_workers_per_gather = 0; explain (costs off) select count(*) from simple r full outer join simple s on (r.id = 0 - s.id); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------- Aggregate @@ -856,6 +931,7 @@ (6 rows) select count(*) from simple r full outer join simple s on (r.id = 0 - s.id); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 40000 @@ -868,6 +944,7 @@ set local max_parallel_workers_per_gather = 2; explain (costs off) select count(*) from simple r full outer join simple s on (r.id = 0 - s.id); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------- Aggregate @@ -879,6 +956,7 @@ (6 rows) select count(*) from simple r full outer join simple s on (r.id = 0 - s.id); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 40000 @@ -890,6 +968,7 @@ set local max_parallel_workers_per_gather = 2; explain (costs off) select count(*) from simple r full outer join simple s on (r.id = 0 - s.id); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------- Finalize Aggregate @@ -904,6 +983,7 @@ (9 rows) select count(*) from simple r full outer join simple s on (r.id = 0 - s.id); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 40000 @@ -923,6 +1003,7 @@ explain (costs off) select length(max(s.t)) from wide left join (select id, coalesce(t, '') || '' as t from wide) s using (id); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------- Finalize Aggregate @@ -938,6 +1019,7 @@ select length(max(s.t)) from wide left join (select id, coalesce(t, '') || '' as t from wide) s using (id); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree length -------- 320000 @@ -949,6 +1031,8 @@ select length(max(s.t)) from wide left join (select id, coalesce(t, '') || '' as t from wide) s using (id); $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree multibatch ------------ t @@ -973,6 +1057,7 @@ UPDATE hjtest_matchbits_t2 set id = 2; SELECT * FROM hjtest_matchbits_t1 t1 FULL JOIN hjtest_matchbits_t2 t2 ON t1.id = t2.id ORDER BY t1.id; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id | id ----+---- 1 | @@ -986,6 +1071,7 @@ RESET parallel_setup_cost; SET enable_parallel_hash = off; SELECT * FROM hjtest_matchbits_t1 t1 FULL JOIN hjtest_matchbits_t2 t2 ON t1.id = t2.id; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id | id ----+---- 1 | @@ -1138,6 +1224,7 @@ int8_tbl i8, lateral (select t1.fivethous, i4.f1 from tenk1 t1 join int4_tbl i4 on t1.fivethous = i4.f1+i8.q2 order by 1,2) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------- Nested Loop @@ -1155,6 +1242,7 @@ int8_tbl i8, lateral (select t1.fivethous, i4.f1 from tenk1 t1 join int4_tbl i4 on t1.fivethous = i4.f1+i8.q2 order by 1,2) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree q2 | fivethous | f1 -----+-----------+---- 456 | 456 | 0 diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/brin_bloom.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/brin_bloom.out --- /tmp/cirrus-ci-build/src/test/regress/expected/brin_bloom.out 2024-03-19 15:41:21.017218000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/brin_bloom.out 2024-03-19 15:51:23.920649000 +0000 @@ -46,11 +46,13 @@ format('%s%s-%s-%s-%s-%s%s%s', to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'))::uuid, format('%s/%s%s', odd, even, tenthous)::pg_lsn FROM tenk1 ORDER BY unique2 LIMIT 100; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- throw in some NULL's and different values INSERT INTO brintest_bloom (inetcol, cidrcol) SELECT inet 'fe80::6e40:8ff:fea9:8c46' + tenthous, cidr 'fe80::6e40:8ff:fea9:8c46' + tenthous FROM tenk1 ORDER BY thousand, tenthous LIMIT 25; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- test bloom specific index options -- ndistinct must be >= -1.0 CREATE INDEX brinidx_bloom ON brintest_bloom USING brin ( @@ -207,6 +209,7 @@ '{=, IS, IS NOT}', '{44/455222, NULL, NULL}', '{1, 25, 100}'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree DO $x$ DECLARE r record; @@ -287,6 +290,7 @@ END LOOP; END; $x$; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree RESET enable_seqscan; RESET enable_bitmapscan; INSERT INTO brintest_bloom SELECT @@ -313,6 +317,7 @@ format('%s%s-%s-%s-%s-%s%s%s', to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'))::uuid, format('%s/%s%s', odd, even, tenthous)::pg_lsn FROM tenk1 ORDER BY unique2 LIMIT 5 OFFSET 5; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT brin_desummarize_range('brinidx_bloom', 0); brin_desummarize_range ------------------------ @@ -405,6 +410,7 @@ -- test brin cost estimates behave sanely based on correlation of values CREATE TABLE brin_test_bloom (a INT, b INT); INSERT INTO brin_test_bloom SELECT x/100,x%100 FROM generate_series(1,10000) x(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE INDEX brin_test_bloom_a_idx ON brin_test_bloom USING brin (a) WITH (pages_per_range = 2); CREATE INDEX brin_test_bloom_b_idx ON brin_test_bloom USING brin (b) WITH (pages_per_range = 2); VACUUM ANALYZE brin_test_bloom; diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/brin_multi.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/brin_multi.out --- /tmp/cirrus-ci-build/src/test/regress/expected/brin_multi.out 2024-03-19 15:41:21.017235000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/brin_multi.out 2024-03-19 15:51:24.432592000 +0000 @@ -42,11 +42,13 @@ format('%s%s-%s-%s-%s-%s%s%s', to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'))::uuid, format('%s/%s%s', odd, even, tenthous)::pg_lsn FROM tenk1 ORDER BY unique2 LIMIT 100; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- throw in some NULL's and different values INSERT INTO brintest_multi (inetcol, cidrcol) SELECT inet 'fe80::6e40:8ff:fea9:8c46' + tenthous, cidr 'fe80::6e40:8ff:fea9:8c46' + tenthous FROM tenk1 ORDER BY thousand, tenthous LIMIT 25; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- test minmax-multi specific index options -- number of values must be >= 16 CREATE INDEX brinidx_multi ON brintest_multi USING brin ( @@ -236,6 +238,7 @@ '{>, >=, =, <=, <, IS, IS NOT}', '{0/1200, 0/1200, 44/455222, 198/1999799, 198/1999799, NULL, NULL}', '{100, 100, 1, 100, 100, 25, 100}'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree DO $x$ DECLARE r record; @@ -316,6 +319,7 @@ END LOOP; END; $x$; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree RESET enable_seqscan; RESET enable_bitmapscan; INSERT INTO brintest_multi SELECT @@ -340,6 +344,7 @@ format('%s%s-%s-%s-%s-%s%s%s', to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'), to_char(tenthous, 'FM0000'))::uuid, format('%s/%s%s', odd, even, tenthous)::pg_lsn FROM tenk1 ORDER BY unique2 LIMIT 5 OFFSET 5; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT brin_desummarize_range('brinidx_multi', 0); brin_desummarize_range ------------------------ @@ -392,6 +397,7 @@ -- test building an index with many values, to force compaction of the buffer CREATE TABLE brin_large_range (a int4); INSERT INTO brin_large_range SELECT i FROM generate_series(1,10000) s(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE INDEX brin_large_range_idx ON brin_large_range USING brin (a int4_minmax_multi_ops); DROP TABLE brin_large_range; -- Test brin_summarize_range @@ -445,6 +451,7 @@ -- test brin cost estimates behave sanely based on correlation of values CREATE TABLE brin_test_multi (a INT, b INT); INSERT INTO brin_test_multi SELECT x/100,x%100 FROM generate_series(1,10000) x(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE INDEX brin_test_multi_a_idx ON brin_test_multi USING brin (a) WITH (pages_per_range = 2); CREATE INDEX brin_test_multi_b_idx ON brin_test_multi USING brin (b) WITH (pages_per_range = 2); VACUUM ANALYZE brin_test_multi; @@ -472,6 +479,7 @@ SELECT i/5 + mod(911 * i + 483, 25), i/10 + mod(751 * i + 221, 41) FROM generate_series(1,1000) s(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE INDEX brin_test_multi_1_idx_1 ON brin_test_multi_1 USING brin (a int4_minmax_multi_ops) WITH (pages_per_range=5); CREATE INDEX brin_test_multi_1_idx_2 ON brin_test_multi_1 USING brin (b int8_minmax_multi_ops) WITH (pages_per_range=5); SET enable_seqscan=off; @@ -609,6 +617,7 @@ SELECT i/5 + mod(911 * i + 483, 25), i/10 + mod(751 * i + 221, 41) FROM generate_series(1,1000) s(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- int: less than SELECT COUNT(*) FROM brin_test_multi_1 WHERE a < 37; count @@ -741,6 +750,7 @@ CREATE TABLE brin_test_multi_2 (a UUID) WITH (fillfactor=10); INSERT INTO brin_test_multi_2 SELECT v::uuid FROM (SELECT row_number() OVER (ORDER BY v) c, v FROM (SELECT fipshash((i/13)::text) AS v FROM generate_series(1,1000) s(i)) foo) bar ORDER BY c + 25 * random(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE INDEX brin_test_multi_2_idx ON brin_test_multi_2 USING brin (a uuid_minmax_multi_ops) WITH (pages_per_range=5); SET enable_seqscan=off; SELECT COUNT(*) FROM brin_test_multi_2 WHERE a < '3d914f93-48c9-cc0f-f8a7-9716700b9fcd'; @@ -785,6 +795,7 @@ TRUNCATE brin_test_multi_2; INSERT INTO brin_test_multi_2 SELECT v::uuid FROM (SELECT row_number() OVER (ORDER BY v) c, v FROM (SELECT fipshash((i/13)::text) AS v FROM generate_series(1,1000) s(i)) foo) bar ORDER BY c + 25 * random(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT COUNT(*) FROM brin_test_multi_2 WHERE a < '3d914f93-48c9-cc0f-f8a7-9716700b9fcd'; count ------- @@ -830,18 +841,22 @@ INSERT INTO brin_timestamp_test SELECT '4713-01-01 00:00:01 BC'::timestamptz + (i || ' seconds')::interval FROM generate_series(1,30) s(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- values close to timestamp maximum INSERT INTO brin_timestamp_test SELECT '294276-12-01 00:00:01'::timestamptz + (i || ' seconds')::interval FROM generate_series(1,30) s(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE INDEX ON brin_timestamp_test USING brin (a timestamptz_minmax_multi_ops) WITH (pages_per_range=1); DROP TABLE brin_timestamp_test; -- test overflows during CREATE INDEX with extreme date values CREATE TABLE brin_date_test(a DATE); -- insert values close to date minimum INSERT INTO brin_date_test SELECT '4713-01-01 BC'::date + i FROM generate_series(1, 30) s(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- insert values close to date minimum INSERT INTO brin_date_test SELECT '5874897-12-01'::date + i FROM generate_series(1, 30) s(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE INDEX ON brin_date_test USING brin (a date_minmax_multi_ops) WITH (pages_per_range=1); SET enable_seqscan = off; -- make sure the ranges were built correctly and 2023-01-01 eliminates all @@ -860,8 +875,10 @@ -- test handling of infinite timestamp values CREATE TABLE brin_timestamp_test(a TIMESTAMP); INSERT INTO brin_timestamp_test VALUES ('-infinity'), ('infinity'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO brin_timestamp_test SELECT i FROM generate_series('2000-01-01'::timestamp, '2000-02-09'::timestamp, '1 day'::interval) s(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE INDEX ON brin_timestamp_test USING brin (a timestamp_minmax_multi_ops) WITH (pages_per_range=1); SET enable_seqscan = off; EXPLAIN (ANALYZE, TIMING OFF, COSTS OFF, SUMMARY OFF) @@ -889,7 +906,9 @@ -- test handling of infinite date values CREATE TABLE brin_date_test(a DATE); INSERT INTO brin_date_test VALUES ('-infinity'), ('infinity'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO brin_date_test SELECT '2000-01-01'::date + i FROM generate_series(1, 40) s(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE INDEX ON brin_date_test USING brin (a date_minmax_multi_ops) WITH (pages_per_range=1); SET enable_seqscan = off; EXPLAIN (ANALYZE, TIMING OFF, COSTS OFF, SUMMARY OFF) @@ -918,7 +937,9 @@ -- test handling of overflow for interval values CREATE TABLE brin_interval_test(a INTERVAL); INSERT INTO brin_interval_test SELECT (i || ' years')::interval FROM generate_series(-178000000, -177999980) s(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO brin_interval_test SELECT (i || ' years')::interval FROM generate_series( 177999980, 178000000) s(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE INDEX ON brin_interval_test USING brin (a interval_minmax_multi_ops) WITH (pages_per_range=1); SET enable_seqscan = off; EXPLAIN (ANALYZE, TIMING OFF, COSTS OFF, SUMMARY OFF) @@ -946,7 +967,9 @@ -- test handling of infinite interval values CREATE TABLE brin_interval_test(a INTERVAL); INSERT INTO brin_interval_test VALUES ('-infinity'), ('infinity'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO brin_interval_test SELECT (i || ' days')::interval FROM generate_series(100, 140) s(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE INDEX ON brin_interval_test USING brin (a interval_minmax_multi_ops) WITH (pages_per_range=1); SET enable_seqscan = off; EXPLAIN (ANALYZE, TIMING OFF, COSTS OFF, SUMMARY OFF) diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/create_table_like.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/create_table_like.out --- /tmp/cirrus-ci-build/src/test/regress/expected/create_table_like.out 2024-03-19 15:41:21.017862000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/create_table_like.out 2024-03-19 15:51:25.306270000 +0000 @@ -68,6 +68,10 @@ DROP TABLE inhg; CREATE TABLE test_like_id_1 (a bigint GENERATED ALWAYS AS IDENTITY, b text); \d test_like_id_1 +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 Table "public.test_like_id_1" Column | Type | Collation | Nullable | Default --------+--------+-----------+----------+------------------------------ @@ -83,6 +87,10 @@ CREATE TABLE test_like_id_2 (LIKE test_like_id_1); \d test_like_id_2 +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 Table "public.test_like_id_2" Column | Type | Collation | Nullable | Default --------+--------+-----------+----------+--------- @@ -99,6 +107,10 @@ CREATE TABLE test_like_id_3 (LIKE test_like_id_1 INCLUDING IDENTITY); \d test_like_id_3 +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 Table "public.test_like_id_3" Column | Type | Collation | Nullable | Default --------+--------+-----------+----------+------------------------------ @@ -115,6 +127,10 @@ DROP TABLE test_like_id_1, test_like_id_2, test_like_id_3; CREATE TABLE test_like_gen_1 (a int, b int GENERATED ALWAYS AS (a * 2) STORED); \d test_like_gen_1 +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 Table "public.test_like_gen_1" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+------------------------------------ @@ -130,6 +146,10 @@ CREATE TABLE test_like_gen_2 (LIKE test_like_gen_1); \d test_like_gen_2 +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 Table "public.test_like_gen_2" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -145,6 +165,10 @@ CREATE TABLE test_like_gen_3 (LIKE test_like_gen_1 INCLUDING GENERATED); \d test_like_gen_3 +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 Table "public.test_like_gen_3" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+------------------------------------ @@ -164,6 +188,10 @@ c int GENERATED ALWAYS AS (a * 2) STORED, a int CHECK (a > 0)); \d test_like_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 Table "public.test_like_4" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+------------------------------------ @@ -178,6 +206,10 @@ CREATE TABLE test_like_4c (LIKE test_like_4 INCLUDING GENERATED); CREATE TABLE test_like_4d (LIKE test_like_4 INCLUDING DEFAULTS INCLUDING GENERATED); \d test_like_4a +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 Table "public.test_like_4a" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -193,6 +225,10 @@ (1 row) \d test_like_4b +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 Table "public.test_like_4b" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -208,6 +244,10 @@ (1 row) \d test_like_4c +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 Table "public.test_like_4c" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+------------------------------------ @@ -223,6 +263,10 @@ (1 row) \d test_like_4d +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 Table "public.test_like_4d" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+------------------------------------ @@ -244,6 +288,10 @@ CREATE TABLE test_like_5c (LIKE test_like_4 INCLUDING ALL) INHERITS (test_like_5, test_like_5x); \d test_like_5c +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 Table "public.test_like_5c" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+------------------------------------ @@ -286,6 +334,13 @@ /* Use primary key imported by LIKE for self-referential FK constraint */ CREATE TABLE inhz (x text REFERENCES inhz, LIKE inhx INCLUDING INDEXES); \d inhz +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Table "public.inhz" Column | Type | Collation | Nullable | Default --------+------+-----------+----------+--------- @@ -327,6 +382,11 @@ ALTER TABLE ctlt4 ALTER COLUMN c SET STORAGE EXTERNAL; CREATE TABLE ctlt12_storage (LIKE ctlt1 INCLUDING STORAGE, LIKE ctlt2 INCLUDING STORAGE); \d+ ctlt12_storage +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 Table "public.ctlt12_storage" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+------+-----------+----------+---------+----------+--------------+------------- @@ -338,6 +398,11 @@ CREATE TABLE ctlt12_comments (LIKE ctlt1 INCLUDING COMMENTS, LIKE ctlt2 INCLUDING COMMENTS); \d+ ctlt12_comments +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 Table "public.ctlt12_comments" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+------+-----------+----------+---------+----------+--------------+------------- @@ -352,6 +417,11 @@ NOTICE: merging column "b" with inherited definition NOTICE: merging constraint "ctlt1_a_check" with inherited definition \d+ ctlt1_inh +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 Table "public.ctlt1_inh" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+------+-----------+----------+---------+----------+--------------+------------- @@ -372,6 +442,11 @@ CREATE TABLE ctlt13_inh () INHERITS (ctlt1, ctlt3); NOTICE: merging multiple inherited definitions of column "a" \d+ ctlt13_inh +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 Table "public.ctlt13_inh" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+------+-----------+----------+---------+----------+--------------+------------- @@ -390,6 +465,12 @@ CREATE TABLE ctlt13_like (LIKE ctlt3 INCLUDING CONSTRAINTS INCLUDING INDEXES INCLUDING COMMENTS INCLUDING STORAGE) INHERITS (ctlt1); NOTICE: merging column "a" with inherited definition \d+ ctlt13_like +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 Table "public.ctlt13_like" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+------+-----------+----------+---------+----------+--------------+------------- @@ -414,6 +495,12 @@ CREATE TABLE ctlt_all (LIKE ctlt1 INCLUDING ALL); \d+ ctlt_all +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 Table "public.ctlt_all" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+------+-----------+----------+---------+----------+--------------+------------- @@ -454,6 +541,12 @@ -- Check that LIKE isn't confused by a system catalog of the same name CREATE TABLE pg_attrdef (LIKE ctlt1 INCLUDING ALL); \d+ public.pg_attrdef +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 Table "public.pg_attrdef" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+------+-----------+----------+---------+----------+--------------+------------- @@ -476,6 +569,12 @@ SET LOCAL search_path = ctl_schema, public; CREATE TABLE ctlt1 (LIKE ctlt1 INCLUDING ALL); \d+ ctlt1 +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 Table "ctl_schema.ctlt1" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+------+-----------+----------+---------+----------+--------------+------------- @@ -498,6 +597,10 @@ CREATE TABLE noinh_con_copy (a int CHECK (a > 0) NO INHERIT); CREATE TABLE noinh_con_copy1 (LIKE noinh_con_copy INCLUDING CONSTRAINTS); \d noinh_con_copy1 +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 Table "public.noinh_con_copy1" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/alter_operator.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/alter_operator.out --- /tmp/cirrus-ci-build/src/test/regress/expected/alter_operator.out 2024-03-19 15:41:21.016798000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/alter_operator.out 2024-03-19 15:51:24.753758000 +0000 @@ -175,6 +175,7 @@ INNER JOIN pg_operator com ON (op.oid = com.oprcom AND op.oprcom = com.oid) WHERE op.oprname = '===' AND op.oprleft = 'boolean'::regtype AND op.oprright = 'real'::regtype; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree operator_name | commutator_name | commutator_func ---------------+-----------------+---------------------------- === | ==== | alter_op_test_fn_real_bool @@ -194,6 +195,7 @@ INNER JOIN pg_operator neg ON (op.oid = neg.oprnegate AND op.oprnegate = neg.oid) WHERE op.oprname = '===' AND op.oprleft = 'boolean'::regtype AND op.oprright = 'real'::regtype; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree operator_name | negator_name | negator_func ---------------+--------------+---------------------------- === | !==== | alter_op_test_fn_bool_real diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/misc.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/misc.out --- /tmp/cirrus-ci-build/src/test/regress/expected/misc.out 2024-03-19 15:41:21.019719000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/misc.out 2024-03-19 15:51:24.828494000 +0000 @@ -63,11 +63,13 @@ CREATE TEMP TABLE onek_copy (LIKE onek); COPY onek_copy FROM :'filename'; SELECT * FROM onek EXCEPT ALL SELECT * FROM onek_copy; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4 ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+--------- (0 rows) SELECT * FROM onek_copy EXCEPT ALL SELECT * FROM onek; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4 ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+--------- (0 rows) @@ -99,10 +101,12 @@ SELECT 'posthacking', p.name FROM person* p WHERE p.name = 'mike' or p.name = 'jeff'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO hobbies_r (name, person) SELECT 'basketball', p.name FROM person p WHERE p.name = 'joe' or p.name = 'sally'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO hobbies_r (name) VALUES ('skywalking'); INSERT INTO equipment_r (name, hobby) VALUES ('advil', 'posthacking'); INSERT INTO equipment_r (name, hobby) VALUES ('peet''s coffee', 'posthacking'); @@ -352,6 +356,7 @@ -- Try a few cases with SQL-spec row constructor expressions -- SELECT * FROM equipment(ROW('skywalking', 'mer')); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree name | hobby ------+------------ guts | skywalking diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/dbsize.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/dbsize.out --- /tmp/cirrus-ci-build/src/test/regress/expected/dbsize.out 2024-03-19 15:41:21.017922000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/dbsize.out 2024-03-19 15:51:24.585768000 +0000 @@ -2,6 +2,7 @@ (VALUES (10::bigint), (1000::bigint), (1000000::bigint), (1000000000::bigint), (1000000000000::bigint), (1000000000000000::bigint)) x(size); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree size | pg_size_pretty | pg_size_pretty ------------------+----------------+---------------- 10 | 10 bytes | -10 bytes @@ -19,6 +20,7 @@ (10.5::numeric), (1000.5::numeric), (1000000.5::numeric), (1000000000.5::numeric), (1000000000000.5::numeric), (1000000000000000.5::numeric)) x(size); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree size | pg_size_pretty | pg_size_pretty --------------------+----------------+---------------- 10 | 10 bytes | -10 bytes @@ -42,6 +44,7 @@ (10736893951::bigint), (10736893952::bigint), (10994579406847::bigint), (10994579406848::bigint), (11258449312612351::bigint), (11258449312612352::bigint)) x(size); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree size | pg_size_pretty | pg_size_pretty -------------------+----------------+---------------- 10239 | 10239 bytes | -10239 bytes @@ -63,6 +66,7 @@ (10994579406847::numeric), (10994579406848::numeric), (11258449312612351::numeric), (11258449312612352::numeric), (11528652096115048447::numeric), (11528652096115048448::numeric)) x(size); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree size | pg_size_pretty | pg_size_pretty ----------------------+----------------+---------------- 10239 | 10239 bytes | -10239 bytes @@ -83,6 +87,7 @@ SELECT size, pg_size_bytes(size) FROM (VALUES ('1'), ('123bytes'), ('256 B'), ('1kB'), ('1MB'), (' 1 GB'), ('1.5 GB '), ('1TB'), ('3000 TB'), ('1e6 MB'), ('99 PB')) x(size); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree size | pg_size_bytes ----------+-------------------- 1 | 1 @@ -102,6 +107,7 @@ SELECT size, pg_size_bytes(size) FROM (VALUES ('1'), ('123bYteS'), ('1kb'), ('1mb'), (' 1 Gb'), ('1.5 gB '), ('1tb'), ('3000 tb'), ('1e6 mb'), ('99 pb')) x(size); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree size | pg_size_bytes ----------+-------------------- 1 | 1 @@ -120,6 +126,7 @@ SELECT size, pg_size_bytes(size) FROM (VALUES ('-1'), ('-123bytes'), ('-1kb'), ('-1mb'), (' -1 Gb'), ('-1.5 gB '), ('-1tb'), ('-3000 TB'), ('-10e-1 MB'), ('-99 PB')) x(size); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree size | pg_size_bytes -----------+--------------------- -1 | -1 @@ -138,6 +145,7 @@ SELECT size, pg_size_bytes(size) FROM (VALUES ('-1.'), ('-1.kb'), ('-1. kb'), ('-0. gb'), ('-.1'), ('-.1kb'), ('-.1 kb'), ('-.0 gb')) x(size); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree size | pg_size_bytes --------+--------------- -1. | -1 diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/merge.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/merge.out --- /tmp/cirrus-ci-build/src/test/regress/expected/merge.out 2024-03-19 15:41:21.019702000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/merge.out 2024-03-19 15:51:25.250694000 +0000 @@ -16,6 +16,7 @@ INSERT INTO target VALUES (2, 20); INSERT INTO target VALUES (3, 30); SELECT t.ctid is not null as matched, t.*, s.* FROM source s FULL OUTER JOIN target t ON s.sid = t.tid ORDER BY t.tid, s.sid; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree matched | tid | balance | sid | delta ---------+-----+---------+-----+------- t | 1 | 10 | | @@ -156,6 +157,7 @@ ON true WHEN MATCHED THEN DO NOTHING; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: permission denied for table target SET SESSION AUTHORIZATION regress_merge_privs; MERGE INTO target @@ -272,6 +274,7 @@ ROLLBACK; -- index plans INSERT INTO target SELECT generate_series(1000,2500), 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE target ADD PRIMARY KEY (tid); ANALYZE target; EXPLAIN (COSTS OFF) @@ -931,6 +934,7 @@ END; $$; SELECT * FROM target full outer join source on (sid = tid); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree tid | balance | sid | delta -----+---------+-----+------- 3 | 30 | 3 | 20 @@ -972,6 +976,7 @@ NOTICE: Not found NOTICE: ROW_COUNT = 0 SELECT * FROM target FULL OUTER JOIN source ON (sid = tid); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree tid | balance | sid | delta -----+---------+-----+------- 3 | 30 | 3 | 20 @@ -1008,6 +1013,7 @@ ON t.tid = s.sid WHEN NOT MATCHED THEN INSERT (tid, balance) VALUES (s.sid, s.delta); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: BEFORE INSERT STATEMENT trigger NOTICE: BEFORE INSERT ROW trigger row: (9,57) NOTICE: AFTER INSERT ROW trigger row: (9,57) @@ -1029,6 +1035,7 @@ ON t.tid = s.sid WHEN NOT MATCHED THEN INSERT (tid, balance) VALUES (s.sid, s.delta); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: BEFORE INSERT STATEMENT trigger NOTICE: BEFORE INSERT ROW trigger row: (4,40) NOTICE: AFTER INSERT ROW trigger row: (4,40) @@ -1049,6 +1056,7 @@ ON t.tid = s.sid WHEN NOT MATCHED THEN INSERT (tid, balance) VALUES (s.sid, s.newname); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: BEFORE INSERT STATEMENT trigger NOTICE: BEFORE INSERT ROW trigger row: (4,40) NOTICE: AFTER INSERT ROW trigger row: (4,40) @@ -1097,6 +1105,7 @@ ON t.tid = s.sid WHEN NOT MATCHED THEN INSERT (tid, balance) VALUES (s.sid, s.delta); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: BEFORE INSERT STATEMENT trigger NOTICE: AFTER INSERT STATEMENT trigger SELECT * FROM target ORDER BY tid; @@ -1119,6 +1128,7 @@ ON t.tid = s.sid WHEN NOT MATCHED THEN INSERT (tid, balance) VALUES (s.sid, s.delta); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: BEFORE INSERT STATEMENT trigger NOTICE: BEFORE INSERT ROW trigger row: (4,40) NOTICE: AFTER INSERT ROW trigger row: (4,40) @@ -1154,6 +1164,7 @@ END; $$; SELECT merge_func(3, 4); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: BEFORE UPDATE STATEMENT trigger NOTICE: BEFORE UPDATE ROW trigger row: (3,30) -> (3,26) NOTICE: AFTER UPDATE ROW trigger row: (3,30) -> (3,26) @@ -1175,6 +1186,7 @@ -- PREPARE BEGIN; prepare foom as merge into target t using (select 1 as sid) s on (t.tid = s.sid) when matched then update set balance = 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree execute foom; NOTICE: BEFORE UPDATE STATEMENT trigger NOTICE: BEFORE UPDATE ROW trigger row: (1,10) -> (1,1) @@ -1196,6 +1208,7 @@ ON t.tid = $1 WHEN MATCHED THEN UPDATE SET balance = $2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree --EXPLAIN (ANALYZE ON, COSTS OFF, SUMMARY OFF, TIMING OFF) execute foom2 (1, 1); NOTICE: BEFORE UPDATE STATEMENT trigger @@ -1217,13 +1230,16 @@ CREATE TABLE sq_source (delta integer, sid integer, balance integer DEFAULT 0) WITH (autovacuum_enabled=off); INSERT INTO sq_target(tid, balance) VALUES (1,100), (2,200), (3,300); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO sq_source(sid, delta) VALUES (1,10), (2,20), (4,40); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree BEGIN; MERGE INTO sq_target t USING (SELECT * FROM sq_source) s ON tid = sid WHEN MATCHED AND t.balance > delta THEN UPDATE SET balance = t.balance + delta; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM sq_target; tid | balance -----+--------- @@ -1241,6 +1257,7 @@ ON tid = sid WHEN MATCHED THEN UPDATE SET balance = v.balance + delta; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM sq_target; tid | balance -----+--------- @@ -1276,6 +1293,7 @@ INSERT (balance, tid) VALUES (balance + delta, sid) WHEN MATCHED AND tid < 2 THEN DELETE; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM sq_target; tid | balance -----+--------- @@ -1300,6 +1318,7 @@ INSERT (balance, tid) VALUES (balance + delta, sid) WHEN MATCHED AND tid < 2 THEN DELETE; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ROLLBACK; -- RETURNING SELECT * FROM sq_source ORDER BY sid; @@ -1321,6 +1340,7 @@ BEGIN; CREATE TABLE merge_actions(action text, abbrev text); INSERT INTO merge_actions VALUES ('INSERT', 'ins'), ('UPDATE', 'upd'), ('DELETE', 'del'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree MERGE INTO sq_target t USING sq_source s ON tid = sid @@ -1386,6 +1406,7 @@ RETURNING action, merge_action() AS log_action, l.* ) SELECT * FROM m2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree action | log_action | tid | last_change --------+------------+-----+--------------------- DELETE | UPDATE | 1 | Removed (1,100) @@ -1437,9 +1458,12 @@ DELETE RETURNING merge_action(), t.*; $$; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT m.* FROM (VALUES (1, 0, 0), (3, 0, 20), (4, 100, 10)) AS v(sid, balance, delta), LATERAL (SELECT action, tid, new_balance FROM merge_into_sq_target(sid, balance, delta)) m; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree action | tid | new_balance --------+-----+------------- DELETE | 1 | 100 @@ -1466,6 +1490,7 @@ RETURNING merge_action(), t.*; $$; SELECT * FROM merge_sq_source_into_sq_target(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree action | tid | balance --------+-----+--------- DELETE | 1 | 100 @@ -1496,6 +1521,8 @@ SELECT m.* FROM (VALUES (1, 0, 0), (3, 0, 20), (4, 100, 10)) AS v(sid, balance, delta), LATERAL (SELECT r_action, r_tid, r_balance FROM merge_into_sq_target(sid, balance, delta)) m; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree r_action | r_tid | r_balance ----------+-------+----------- DELETE | 1 | 100 @@ -1510,7 +1537,9 @@ CREATE TABLE ex_msource (a int, b int) WITH (autovacuum_enabled=off); INSERT INTO ex_mtarget SELECT i, i*10 FROM generate_series(1,100,2) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO ex_msource SELECT i, i*10 FROM generate_series(1,100,1) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE FUNCTION explain_merge(query text) RETURNS SETOF text LANGUAGE plpgsql AS $$ @@ -1672,6 +1701,7 @@ ON t.a = s.a AND t.b < s.cnt WHEN MATCHED AND t.c > s.cnt THEN UPDATE SET (b, c) = (SELECT s.b, s.cnt); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------------- Merge on public.tgt t @@ -1716,6 +1746,7 @@ ON tid = sid WHEN MATCHED THEN UPDATE SET balance = (SELECT count(*) FROM sq_target); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM sq_target WHERE tid = 1; tid | balance -----+--------- @@ -1729,6 +1760,7 @@ ON tid = sid WHEN MATCHED AND (SELECT count(*) > 0 FROM sq_target) THEN UPDATE SET balance = 42; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM sq_target WHERE tid = 1; tid | balance -----+--------- @@ -1742,6 +1774,7 @@ ON tid = sid AND (SELECT count(*) > 0 FROM sq_target) WHEN MATCHED THEN UPDATE SET balance = 42; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM sq_target WHERE tid = 1; tid | balance -----+--------- @@ -1764,8 +1797,10 @@ CREATE TABLE pa_source (sid integer, delta float); -- insert many rows to the source table INSERT INTO pa_source SELECT id, id * 10 FROM generate_series(1,14) AS id; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- insert a few rows in the target table (odd numbered tid) INSERT INTO pa_target SELECT id, id * 100, 'initial' FROM generate_series(1,14,2) AS id; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- try simple MERGE BEGIN; MERGE INTO pa_target t @@ -1921,6 +1956,7 @@ ALTER TABLE pa_target ATTACH PARTITION part4 DEFAULT; -- insert a few rows in the target table (odd numbered tid) INSERT INTO pa_target SELECT id, id * 100, 'initial' FROM generate_series(1,14,2) AS id; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- try simple MERGE BEGIN; DO $$ @@ -2139,9 +2175,12 @@ WITH (autovacuum_enabled=off); -- insert many rows to the source table INSERT INTO pa_source SELECT id, id * 10 FROM generate_series(1,14) AS id; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- insert a few rows in the target table (odd numbered tid) INSERT INTO pa_target SELECT '2017-01-31', id, id * 100, 'initial' FROM generate_series(1,9,3) AS id; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO pa_target SELECT '2017-02-28', id, id * 100, 'initial' FROM generate_series(2,9,3) AS id; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- try simple MERGE BEGIN; MERGE INTO pa_target t @@ -2152,6 +2191,7 @@ WHEN NOT MATCHED THEN INSERT VALUES (slogts::timestamp, sid, delta, 'inserted by merge') RETURNING merge_action(), t.*; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree merge_action | logts | tid | balance | val --------------+--------------------------+-----+---------+-------------------------- UPDATE | Tue Jan 31 00:00:00 2017 | 1 | 110 | initial updated by merge @@ -2187,6 +2227,7 @@ CREATE TABLE pa_targetp PARTITION OF pa_target DEFAULT; CREATE TABLE pa_source (sid integer); INSERT INTO pa_source VALUES (1), (2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree EXPLAIN (VERBOSE, COSTS OFF) MERGE INTO pa_target t USING pa_source s ON t.tid = s.sid WHEN NOT MATCHED THEN INSERT VALUES (s.sid); @@ -2264,6 +2305,7 @@ ON t.tid = sid1 WHEN NOT MATCHED THEN INSERT VALUES (sid1, delta, sval); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- try accessing columns from either side of the source join MERGE INTO cj_target t USING cj_source2 s2 @@ -2273,6 +2315,7 @@ INSERT VALUES (sid2, delta, sval) WHEN MATCHED THEN DELETE; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- some simple expressions in INSERT targetlist MERGE INTO cj_target t USING cj_source2 s2 @@ -2282,12 +2325,14 @@ INSERT VALUES (sid2, delta + scat, sval) WHEN MATCHED THEN UPDATE SET val = val || ' updated by merge'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree MERGE INTO cj_target t USING cj_source2 s2 INNER JOIN cj_source1 s1 ON sid1 = sid2 AND scat = 20 ON t.tid = sid1 WHEN MATCHED THEN UPDATE SET val = val || ' ' || delta::text; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM cj_target; tid | balance | val -----+---------+---------------------------------- @@ -2304,6 +2349,7 @@ ON t.tid = fj.scat WHEN NOT MATCHED THEN INSERT (tid, balance, val) VALUES (fj.scat, fj.delta, fj.phv); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM cj_target; tid | balance | val -----+---------+---------------------------------- @@ -2327,6 +2373,7 @@ ON t.tid = s1.sid WHEN NOT MATCHED THEN INSERT VALUES (s2.sid, delta, sval); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree DROP TABLE cj_source2, cj_source1, cj_target; -- Function scans CREATE TABLE fs_target (a int, b int, c text) @@ -2338,6 +2385,7 @@ UPDATE SET b = b + id WHEN NOT MATCHED THEN INSERT VALUES (id, -1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree MERGE INTO fs_target t USING generate_series(1,100,2) AS id ON t.a = id @@ -2345,6 +2393,7 @@ UPDATE SET b = b + id, c = 'updated '|| id.*::text WHEN NOT MATCHED THEN INSERT VALUES (id, -1, 'inserted ' || id.*::text); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT count(*) FROM fs_target; count ------- diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/misc_functions.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/misc_functions.out --- /tmp/cirrus-ci-build/src/test/regress/expected/misc_functions.out 2024-03-19 15:41:21.019735000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/misc_functions.out 2024-03-19 15:51:24.797861000 +0000 @@ -48,6 +48,7 @@ (1 row) SELECT num_nonnulls(VARIADIC ARRAY(SELECT CASE WHEN i <> 40 THEN i END FROM generate_series(1, 100) i)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree num_nonnulls -------------- 99 @@ -96,6 +97,7 @@ (1 row) SELECT num_nulls(VARIADIC ARRAY(SELECT CASE WHEN i <> 40 THEN i END FROM generate_series(1, 100) i)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree num_nulls ----------- 1 @@ -292,6 +294,7 @@ SELECT pg_log_backend_memory_contexts(pid) FROM pg_stat_activity WHERE backend_type = 'checkpointer'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree pg_log_backend_memory_contexts -------------------------------- t @@ -334,7 +337,9 @@ select setting as segsize from pg_settings where name = 'wal_segment_size' \gset +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select count(*) > 0 as ok from pg_ls_waldir(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ok ---- t @@ -342,6 +347,7 @@ -- Test ProjectSet as well as FunctionScan select count(*) > 0 as ok from (select pg_ls_waldir()) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ok ---- t @@ -349,11 +355,13 @@ -- Test not-run-to-completion cases. select * from pg_ls_waldir() limit 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree name | size | modification ------+------+-------------- (0 rows) select count(*) > 0 as ok from (select * from pg_ls_waldir() limit 1) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ok ---- t @@ -361,12 +369,14 @@ select (w).size = :segsize as ok from (select pg_ls_waldir() w) ss where length((w).name) = 24 limit 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ok ---- t (1 row) select count(*) >= 0 as ok from pg_ls_archive_statusdir(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ok ---- t @@ -428,6 +438,7 @@ ERROR: requested length cannot be negative -- pg_stat_file() select size > 20, isdir from pg_stat_file('postmaster.pid'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ?column? | isdir ----------+------- t | f @@ -435,6 +446,7 @@ -- pg_ls_dir() select * from (select pg_ls_dir('.') a) a where a = 'base' limit 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a ------ base @@ -451,6 +463,7 @@ -- Test include_dot_dirs (third argument) select count(*) = 1 as dot_found from pg_ls_dir('.', false, true) as ls where ls = '.'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree dot_found ----------- t @@ -458,6 +471,7 @@ select count(*) = 1 as dot_found from pg_ls_dir('.', false, false) as ls where ls = '.'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree dot_found ----------- f @@ -465,6 +479,7 @@ -- pg_timezone_names() select * from (select (pg_timezone_names()).name) ptn where name='UTC' limit 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree name ------ UTC @@ -475,6 +490,7 @@ (select pg_tablespace_databases(oid) as pts from pg_tablespace where spcname = 'pg_default') pts join pg_database db on pts.pts = db.oid; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ?column? ---------- t @@ -540,6 +556,7 @@ EXPLAIN (COSTS OFF) SELECT * FROM tenk1 a JOIN tenk1 b ON a.unique1 = b.unique1 WHERE my_int_eq(a.unique2, 42); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------- Hash Join @@ -559,6 +576,7 @@ EXPLAIN (COSTS OFF) SELECT * FROM tenk1 a JOIN tenk1 b ON a.unique1 = b.unique1 WHERE my_int_eq(a.unique2, 42); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------- Nested Loop @@ -575,6 +593,7 @@ SUPPORT test_support_func; EXPLAIN (COSTS OFF) SELECT * FROM tenk1 a JOIN my_gen_series(1,1000) g ON a.unique1 = g; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------- Hash Join @@ -586,6 +605,7 @@ EXPLAIN (COSTS OFF) SELECT * FROM tenk1 a JOIN my_gen_series(1,10) g ON a.unique1 = g; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------- Nested Loop @@ -596,24 +616,28 @@ -- Test functions for control data SELECT count(*) > 0 AS ok FROM pg_control_checkpoint(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ok ---- t (1 row) SELECT count(*) > 0 AS ok FROM pg_control_init(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ok ---- t (1 row) SELECT count(*) > 0 AS ok FROM pg_control_recovery(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ok ---- t (1 row) SELECT count(*) > 0 AS ok FROM pg_control_system(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ok ---- t @@ -621,15 +645,18 @@ -- pg_split_walfile_name, pg_walfile_name & pg_walfile_name_offset SELECT * FROM pg_split_walfile_name(NULL); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree segment_number | timeline_id ----------------+------------- | (1 row) SELECT * FROM pg_split_walfile_name('invalid'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: invalid WAL file name "invalid" SELECT segment_number > 0 AS ok_segment_number, timeline_id FROM pg_split_walfile_name('000000010000000100000000'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ok_segment_number | timeline_id -------------------+------------- t | 1 @@ -637,6 +664,7 @@ SELECT segment_number > 0 AS ok_segment_number, timeline_id FROM pg_split_walfile_name('ffffffFF00000001000000af'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ok_segment_number | timeline_id -------------------+------------- t | 4294967295 @@ -646,9 +674,11 @@ FROM pg_settings WHERE name = 'wal_segment_size' \gset +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT segment_number, file_offset FROM pg_walfile_name_offset('0/0'::pg_lsn + :segment_size), pg_split_walfile_name(file_name); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree segment_number | file_offset ----------------+------------- 1 | 0 @@ -657,6 +687,7 @@ SELECT segment_number, file_offset FROM pg_walfile_name_offset('0/0'::pg_lsn + :segment_size + 1), pg_split_walfile_name(file_name); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree segment_number | file_offset ----------------+------------- 1 | 1 @@ -665,6 +696,7 @@ SELECT segment_number, file_offset = :segment_size - 1 FROM pg_walfile_name_offset('0/0'::pg_lsn + :segment_size - 1), pg_split_walfile_name(file_name); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree segment_number | ?column? ----------------+---------- 0 | t @@ -710,6 +742,7 @@ LEFT JOIN pg_class t ON c.reltoastrelid = t.oid WHERE c.relname = 'test_chunk_id' \gset +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT pg_column_toast_chunk_id(a) IS NULL, pg_column_toast_chunk_id(b) IN (SELECT chunk_id FROM pg_toast.:toastrel) FROM test_chunk_id; diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/sysviews.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/sysviews.out --- /tmp/cirrus-ci-build/src/test/regress/expected/sysviews.out 2024-03-19 15:41:21.045949000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/sysviews.out 2024-03-19 15:51:24.598323000 +0000 @@ -8,12 +8,14 @@ -- but even a trivial check of count(*) will exercise the normal code path -- through the SRF. select count(*) >= 0 as ok from pg_available_extension_versions; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ok ---- t (1 row) select count(*) >= 0 as ok from pg_available_extensions; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ok ---- t @@ -23,6 +25,7 @@ -- we test only the existence and basic condition of TopMemoryContext. select name, ident, parent, level, total_bytes >= free_bytes from pg_backend_memory_contexts where level = 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree name | ident | parent | level | ?column? ------------------+-------+--------+-------+---------- TopMemoryContext | | | 0 | t @@ -30,6 +33,7 @@ -- At introduction, pg_config had 23 entries; it may grow select count(*) > 20 as ok from pg_config; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ok ---- t @@ -37,12 +41,14 @@ -- We expect no cursors in this test; see also portals.sql select count(*) = 0 as ok from pg_cursors; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ok ---- t (1 row) select count(*) >= 0 as ok from pg_file_settings; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ok ---- t @@ -51,6 +57,7 @@ -- There will surely be at least one rule, with no errors. select count(*) > 0 as ok, count(*) FILTER (WHERE error IS NOT NULL) = 0 AS no_err from pg_hba_file_rules; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ok | no_err ----+-------- t | t @@ -59,6 +66,7 @@ -- There may be no rules, and there should be no errors. select count(*) >= 0 as ok, count(*) FILTER (WHERE error IS NOT NULL) = 0 AS no_err from pg_ident_file_mappings; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ok | no_err ----+-------- t | t @@ -66,6 +74,7 @@ -- There will surely be at least one active lock select count(*) > 0 as ok from pg_locks; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ok ---- t @@ -73,6 +82,7 @@ -- We expect no prepared statements in this test; see also prepare.sql select count(*) = 0 as ok from pg_prepared_statements; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ok ---- t @@ -80,6 +90,7 @@ -- See also prepared_xacts.sql select count(*) >= 0 as ok from pg_prepared_xacts; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ok ---- t @@ -87,6 +98,7 @@ -- There will surely be at least one SLRU cache select count(*) > 0 as ok from pg_stat_slru; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ok ---- t @@ -94,6 +106,7 @@ -- There must be only one record select count(*) = 1 as ok from pg_stat_wal; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ok ---- t @@ -101,6 +114,7 @@ -- We expect no walreceiver running in this test select count(*) = 0 as ok from pg_stat_wal_receiver; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ok ---- t @@ -109,6 +123,7 @@ -- This is to record the prevailing planner enable_foo settings during -- a regression test run. select name, setting from pg_settings where name like 'enable%'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree name | setting --------------------------------+--------- enable_async_append | on @@ -139,6 +154,7 @@ -- There are always wait event descriptions for various types. select type, count(*) > 0 as ok FROM pg_wait_events group by type order by type COLLATE "C"; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree type | ok -----------+---- Activity | t @@ -159,12 +175,14 @@ -- (At the time of writing, the actual counts are around 38 because of -- zones using fractional GMT offsets, so this is a pretty loose test.) select count(distinct utc_offset) >= 24 as ok from pg_timezone_names; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ok ---- t (1 row) select count(distinct utc_offset) >= 24 as ok from pg_timezone_abbrevs; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ok ---- t @@ -173,6 +191,7 @@ -- Let's check the non-default timezone abbreviation sets, too set timezone_abbreviations = 'Australia'; select count(distinct utc_offset) >= 24 as ok from pg_timezone_abbrevs; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ok ---- t @@ -180,6 +199,7 @@ set timezone_abbreviations = 'India'; select count(distinct utc_offset) >= 24 as ok from pg_timezone_abbrevs; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ok ---- t diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/tsrf.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/tsrf.out --- /tmp/cirrus-ci-build/src/test/regress/expected/tsrf.out 2024-03-19 15:41:21.046498000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/tsrf.out 2024-03-19 15:51:24.723195000 +0000 @@ -83,6 +83,7 @@ CREATE TABLE few(id int, dataa text, datab text); INSERT INTO few VALUES(1, 'a', 'foo'),(2, 'a', 'bar'),(3, 'b', 'bar'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- SRF with a provably-dummy relation explain (verbose, costs off) SELECT unnest(ARRAY[1, 2]) FROM few WHERE false; @@ -103,6 +104,7 @@ explain (verbose, costs off) SELECT * FROM few f1, (SELECT unnest(ARRAY[1,2]) FROM few f2 WHERE false OFFSET 0) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------ Result @@ -112,6 +114,7 @@ SELECT * FROM few f1, (SELECT unnest(ARRAY[1,2]) FROM few f2 WHERE false OFFSET 0) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id | dataa | datab | unnest ----+-------+-------+-------- (0 rows) @@ -254,6 +257,7 @@ SELECT sum((3 = ANY(SELECT lag(x) over(order by x) FROM generate_series(1,4) x))::int); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree sum ----- 1 @@ -531,6 +535,7 @@ -- implicit reference (via implicit ORDER) to all columns SELECT DISTINCT ON (a) a, b, generate_series(1,3) g FROM (VALUES (3, 2), (3,1), (1,1), (1,4), (5,3), (5,1)) AS t(a, b); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | g ---+---+--- 1 | 1 | 1 @@ -542,6 +547,7 @@ SELECT DISTINCT ON (a) a, b, generate_series(1,3) g FROM (VALUES (3, 2), (3,1), (1,1), (1,4), (5,3), (5,1)) AS t(a, b) ORDER BY a, b DESC; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | g ---+---+--- 1 | 4 | 1 @@ -559,6 +565,7 @@ SELECT DISTINCT ON (a) a, b, generate_series(1,3) g FROM (VALUES (3, 2), (3,1), (1,1), (1,4), (5,3), (5,1)) AS t(a, b) ORDER BY a, b DESC, g DESC; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | g ---+---+--- 1 | 4 | 3 @@ -570,6 +577,7 @@ SELECT DISTINCT ON (a, b, g) a, b, generate_series(1,3) g FROM (VALUES (3, 2), (3,1), (1,1), (1,4), (5,3), (5,1)) AS t(a, b) ORDER BY a, b DESC, g DESC; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | g ---+---+--- 1 | 4 | 3 @@ -595,6 +603,7 @@ -- only SRF mentioned in DISTINCT ON SELECT DISTINCT ON (g) a, b, generate_series(1,3) g FROM (VALUES (3, 2), (3,1), (1,1), (1,4), (5,3), (5,1)) AS t(a, b); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | g ---+---+--- 3 | 2 | 1 @@ -604,6 +613,7 @@ -- LIMIT / OFFSET is evaluated after SRF evaluation SELECT a, generate_series(1,2) FROM (VALUES(1),(2),(3)) r(a) LIMIT 2 OFFSET 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | generate_series ---+----------------- 2 | 1 @@ -626,6 +636,7 @@ -- tSRF in correlated subquery, referencing SRF outside SELECT (SELECT generate_series(1,3) LIMIT 1 OFFSET g.i) FROM generate_series(0,3) g(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree generate_series ----------------- 1 diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/tid.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/tid.out --- /tmp/cirrus-ci-build/src/test/regress/expected/tid.out 2024-03-19 15:41:21.043316000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/tid.out 2024-03-19 15:51:24.715878000 +0000 @@ -25,6 +25,7 @@ (1 row) SELECT * FROM pg_input_error_info('(0)', 'tid'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code ------------------------------------------+--------+------+---------------- invalid input syntax for type tid: "(0)" | | | 22P02 @@ -37,6 +38,7 @@ (1 row) SELECT * FROM pg_input_error_info('(0,-1)', 'tid'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code ---------------------------------------------+--------+------+---------------- invalid input syntax for type tid: "(0,-1)" | | | 22P02 @@ -46,6 +48,7 @@ CREATE TABLE tid_tab (a int); -- min() and max() for TIDs INSERT INTO tid_tab VALUES (1), (2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT min(ctid) FROM tid_tab; min ------- diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/tidscan.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/tidscan.out --- /tmp/cirrus-ci-build/src/test/regress/expected/tidscan.out 2024-03-19 15:41:21.046098000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/tidscan.out 2024-03-19 15:51:24.636898000 +0000 @@ -2,6 +2,7 @@ CREATE TABLE tidscan(id integer); -- only insert a few rows, we don't want to spill onto a second table page INSERT INTO tidscan VALUES (1), (2), (3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- show ctids SELECT ctid, * FROM tidscan; ctid | id @@ -113,6 +114,7 @@ EXPLAIN (COSTS OFF) SELECT t1.ctid, t1.*, t2.ctid, t2.* FROM tidscan t1 JOIN tidscan t2 ON t1.ctid = t2.ctid WHERE t1.id = 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------ Nested Loop @@ -124,6 +126,7 @@ SELECT t1.ctid, t1.*, t2.ctid, t2.* FROM tidscan t1 JOIN tidscan t2 ON t1.ctid = t2.ctid WHERE t1.id = 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ctid | id | ctid | id -------+----+-------+---- (0,1) | 1 | (0,1) | 1 @@ -132,6 +135,7 @@ EXPLAIN (COSTS OFF) SELECT t1.ctid, t1.*, t2.ctid, t2.* FROM tidscan t1 LEFT JOIN tidscan t2 ON t1.ctid = t2.ctid WHERE t1.id = 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------ Nested Loop Left Join @@ -143,6 +147,7 @@ SELECT t1.ctid, t1.*, t2.ctid, t2.* FROM tidscan t1 LEFT JOIN tidscan t2 ON t1.ctid = t2.ctid WHERE t1.id = 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ctid | id | ctid | id -------+----+-------+---- (0,1) | 1 | (0,1) | 1 @@ -238,6 +243,7 @@ -- appropriate place for these tests) EXPLAIN (COSTS OFF) SELECT count(*) FROM tenk1 t1 JOIN tenk1 t2 ON t1.ctid = t2.ctid; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------- Aggregate @@ -249,6 +255,7 @@ (6 rows) SELECT count(*) FROM tenk1 t1 JOIN tenk1 t2 ON t1.ctid = t2.ctid; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 10000 @@ -257,6 +264,7 @@ SET enable_hashjoin TO off; EXPLAIN (COSTS OFF) SELECT count(*) FROM tenk1 t1 JOIN tenk1 t2 ON t1.ctid = t2.ctid; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------- Aggregate @@ -271,6 +279,7 @@ (9 rows) SELECT count(*) FROM tenk1 t1 JOIN tenk1 t2 ON t1.ctid = t2.ctid; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 10000 @@ -287,6 +296,7 @@ -- locktype should be 'tuple' SELECT locktype, mode FROM pg_locks WHERE pid = pg_backend_pid() AND mode = 'SIReadLock'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree locktype | mode ----------+------------ tuple | SIReadLock diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/tidrangescan.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/tidrangescan.out --- /tmp/cirrus-ci-build/src/test/regress/expected/tidrangescan.out 2024-03-19 15:41:21.046083000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/tidrangescan.out 2024-03-19 15:51:24.609156000 +0000 @@ -30,6 +30,7 @@ -- insert enough tuples to fill at least two pages INSERT INTO tidrangescan SELECT i,repeat('x', 100) FROM generate_series(1,200) AS s(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- remove all tuples after the 10th tuple on each page. Trying to ensure -- we get the same layout with all CPU architectures and smaller than standard -- page sizes. @@ -226,6 +227,7 @@ SELECT t.ctid,t2.c FROM tidrangescan t, LATERAL (SELECT count(*) c FROM tidrangescan t2 WHERE t2.ctid <= t.ctid) t2 WHERE t.ctid < '(1,0)'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------- Nested Loop @@ -239,6 +241,7 @@ SELECT t.ctid,t2.c FROM tidrangescan t, LATERAL (SELECT count(*) c FROM tidrangescan t2 WHERE t2.ctid <= t.ctid) t2 WHERE t.ctid < '(1,0)'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ctid | c --------+---- (0,1) | 1 diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/collate.icu.utf8.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/collate.icu.utf8.out --- /tmp/cirrus-ci-build/src/test/regress/expected/collate.icu.utf8.out 2024-03-19 15:41:21.017342000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/collate.icu.utf8.out 2024-03-19 15:51:25.258150000 +0000 @@ -16,6 +16,10 @@ b text COLLATE "en-x-icu" NOT NULL ); \d collate_test1 +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 Table "collate_tests.collate_test1" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -47,6 +51,10 @@ LIKE collate_test1 ); \d collate_test_like +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 Table "collate_tests.collate_test_like" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -62,8 +70,11 @@ b text COLLATE "C" ); INSERT INTO collate_test1 VALUES (1, 'abc'), (2, 'äbc'), (3, 'bbc'), (4, 'ABC'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO collate_test2 SELECT * FROM collate_test1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO collate_test3 SELECT * FROM collate_test1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM collate_test1 WHERE b >= 'bbc'; a | b ---+----- @@ -125,6 +136,7 @@ b testdomain_sv ); INSERT INTO collate_test4 SELECT * FROM collate_test1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT a, b FROM collate_test4 ORDER BY b; a | b ---+----- @@ -139,6 +151,7 @@ b testdomain_sv COLLATE "en-x-icu" ); INSERT INTO collate_test5 SELECT * FROM collate_test1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT a, b FROM collate_test5 ORDER BY b; a | b ---+----- @@ -232,6 +245,7 @@ y text COLLATE "tr-x-icu" ); INSERT INTO collate_test10 VALUES (1, 'hij', 'hij'), (2, 'HIJ', 'HIJ'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT a, lower(x), lower(y), upper(x), upper(y), initcap(x), initcap(y) FROM collate_test10; a | lower | lower | upper | upper | initcap | initcap ---+-------+-------+-------+-------+---------+--------- @@ -378,6 +392,7 @@ INSERT INTO collate_test6 VALUES (1, 'abc'), (2, 'ABC'), (3, '123'), (4, 'ab1'), (5, 'a1!'), (6, 'a c'), (7, '!.;'), (8, ' '), (9, 'äbç'), (10, 'ÄBÇ'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT b, b ~ '^[[:alpha:]]+$' AS is_alpha, b ~ '^[[:upper:]]+$' AS is_upper, @@ -446,6 +461,7 @@ CREATE VIEW collview3 AS SELECT a, lower((x || x) COLLATE "C") FROM collate_test10; SELECT table_name, view_definition FROM information_schema.views WHERE table_name LIKE 'collview%' ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_name | view_definition ------------+-------------------------------------------- collview1 | SELECT a, + @@ -672,6 +688,7 @@ (1 row) SELECT a, b FROM collate_test1 UNION ALL SELECT a, b FROM collate_test1 ORDER BY 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+----- 1 | abc @@ -685,6 +702,7 @@ (8 rows) SELECT a, b FROM collate_test2 UNION SELECT a, b FROM collate_test2 ORDER BY 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+----- 1 | abc @@ -694,6 +712,7 @@ (4 rows) SELECT a, b FROM collate_test3 WHERE a < 4 INTERSECT SELECT a, b FROM collate_test3 WHERE a > 1 ORDER BY 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+----- 3 | bbc @@ -701,6 +720,7 @@ (2 rows) SELECT a, b FROM collate_test3 EXCEPT SELECT a, b FROM collate_test3 WHERE a < 2 ORDER BY 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+----- 4 | ABC @@ -709,9 +729,11 @@ (3 rows) SELECT a, b FROM collate_test1 UNION ALL SELECT a, b FROM collate_test3 ORDER BY 2; -- fail +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: could not determine which collation to use for string comparison HINT: Use the COLLATE clause to set the collation explicitly. SELECT a, b FROM collate_test1 UNION ALL SELECT a, b FROM collate_test3; -- ok +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+----- 1 | abc @@ -730,6 +752,7 @@ ^ HINT: You can choose the collation by applying the COLLATE clause to one or both expressions. SELECT a, b COLLATE "C" FROM collate_test1 UNION SELECT a, b FROM collate_test3 ORDER BY 2; -- ok +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+----- 4 | ABC @@ -749,6 +772,7 @@ ^ HINT: You can choose the collation by applying the COLLATE clause to one or both expressions. CREATE TABLE test_u AS SELECT a, b FROM collate_test1 UNION ALL SELECT a, b FROM collate_test3; -- fail +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: no collation was derived for column "b" with collatable type text HINT: Use the COLLATE clause to set the collation explicitly. -- ideally this would be a parse-time error, but for now it must be run-time: @@ -908,6 +932,7 @@ -- polymorphism SELECT * FROM unnest((SELECT array_agg(b ORDER BY b) FROM collate_test1)) ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree unnest -------- abc @@ -917,6 +942,7 @@ (4 rows) SELECT * FROM unnest((SELECT array_agg(b ORDER BY b) FROM collate_test2)) ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree unnest -------- abc @@ -926,6 +952,7 @@ (4 rows) SELECT * FROM unnest((SELECT array_agg(b ORDER BY b) FROM collate_test3)) ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree unnest -------- ABC @@ -1076,6 +1103,7 @@ FROM pg_collation JOIN pg_namespace ON (collnamespace = pg_namespace.oid) WHERE collname LIKE 'test%' ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree collname | nspname | obj_description ----------+---------------+----------------- test0 | collate_tests | US English @@ -1126,12 +1154,18 @@ drop cascades to view collate_dep_test3 drop cascades to index collate_dep_test4i \d collate_dep_test1 +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 Table "collate_tests.collate_dep_test1" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- a | integer | | | \d collate_dep_test2 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Composite type "collate_tests.collate_dep_test2" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -1241,6 +1275,7 @@ CREATE TABLE test7 (a text); -- example from https://unicode-org.github.io/icu/userguide/collation/customization/#syntax INSERT INTO test7 VALUES ('Abernathy'), ('apple'), ('bird'), ('Boston'), ('Graham'), ('green'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM test7 ORDER BY a COLLATE "en-x-icu"; a ----------- @@ -1355,8 +1390,11 @@ CREATE TABLE test2cs (x text COLLATE case_sensitive); CREATE TABLE test3cs (x text COLLATE case_sensitive); INSERT INTO test1cs VALUES ('abc'), ('def'), ('ghi'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO test2cs VALUES ('ABC'), ('ghi'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO test3cs VALUES ('abc'), ('ABC'), ('def'), ('ghi'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT x FROM test3cs WHERE x = 'abc'; x ----- @@ -1397,6 +1435,7 @@ (1 row) SELECT x FROM test1cs UNION SELECT x FROM test2cs ORDER BY x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x ----- abc @@ -1406,6 +1445,7 @@ (4 rows) SELECT x FROM test2cs UNION SELECT x FROM test1cs ORDER BY x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x ----- abc @@ -1415,18 +1455,21 @@ (4 rows) SELECT x FROM test1cs INTERSECT SELECT x FROM test2cs; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x ----- ghi (1 row) SELECT x FROM test2cs INTERSECT SELECT x FROM test1cs; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x ----- ghi (1 row) SELECT x FROM test1cs EXCEPT SELECT x FROM test2cs; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x ----- abc @@ -1434,6 +1477,7 @@ (2 rows) SELECT x FROM test2cs EXCEPT SELECT x FROM test1cs; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x ----- ABC @@ -1493,8 +1537,11 @@ CREATE INDEX ON test3ci (x text_pattern_ops); -- error ERROR: nondeterministic collations are not supported for operator class "text_pattern_ops" INSERT INTO test1ci VALUES ('abc'), ('def'), ('ghi'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO test2ci VALUES ('ABC'), ('ghi'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO test3ci VALUES ('abc'), ('ABC'), ('def'), ('ghi'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT x FROM test3ci WHERE x = 'abc'; x ----- @@ -1518,6 +1565,7 @@ SELECT x FROM test3ci WHERE x ~ 'a'; ERROR: nondeterministic collations are not supported for regular expressions SELECT x FROM test1ci UNION SELECT x FROM test2ci ORDER BY x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x ----- abc @@ -1526,6 +1574,7 @@ (3 rows) SELECT x FROM test2ci UNION SELECT x FROM test1ci ORDER BY x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x ----- ABC @@ -1534,6 +1583,7 @@ (3 rows) SELECT x FROM test1ci INTERSECT SELECT x FROM test2ci ORDER BY x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x ----- abc @@ -1541,6 +1591,7 @@ (2 rows) SELECT x FROM test2ci INTERSECT SELECT x FROM test1ci ORDER BY x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x ----- ABC @@ -1548,12 +1599,14 @@ (2 rows) SELECT x FROM test1ci EXCEPT SELECT x FROM test2ci; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x ----- def (1 row) SELECT x FROM test2ci EXCEPT SELECT x FROM test1ci; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x --- (0 rows) @@ -1611,8 +1664,11 @@ CREATE INDEX ON test3bpci (x bpchar_pattern_ops); -- error ERROR: nondeterministic collations are not supported for operator class "bpchar_pattern_ops" INSERT INTO test1bpci VALUES ('abc'), ('def'), ('ghi'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO test2bpci VALUES ('ABC'), ('ghi'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO test3bpci VALUES ('abc'), ('ABC'), ('def'), ('ghi'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT x FROM test3bpci WHERE x = 'abc'; x ----- @@ -1636,6 +1692,7 @@ SELECT x FROM test3bpci WHERE x ~ 'a'; ERROR: nondeterministic collations are not supported for regular expressions SELECT x FROM test1bpci UNION SELECT x FROM test2bpci ORDER BY x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x ----- abc @@ -1644,6 +1701,7 @@ (3 rows) SELECT x FROM test2bpci UNION SELECT x FROM test1bpci ORDER BY x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x ----- ABC @@ -1652,6 +1710,7 @@ (3 rows) SELECT x FROM test1bpci INTERSECT SELECT x FROM test2bpci ORDER BY x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x ----- abc @@ -1659,6 +1718,7 @@ (2 rows) SELECT x FROM test2bpci INTERSECT SELECT x FROM test1bpci ORDER BY x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x ----- ABC @@ -1666,12 +1726,14 @@ (2 rows) SELECT x FROM test1bpci EXCEPT SELECT x FROM test2bpci; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x ----- def (1 row) SELECT x FROM test2bpci EXCEPT SELECT x FROM test1bpci; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x --- (0 rows) @@ -1810,6 +1872,7 @@ RESET client_min_messages; CREATE TABLE test4 (a int, b text); INSERT INTO test4 VALUES (1, 'cote'), (2, 'côte'), (3, 'coté'), (4, 'côté'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM test4 WHERE b = 'cote'; a | b ---+------ @@ -1840,6 +1903,7 @@ -- PK is case-sensitive, FK is case-insensitive CREATE TABLE test10pk (x text COLLATE case_sensitive PRIMARY KEY); INSERT INTO test10pk VALUES ('abc'), ('def'), ('ghi'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE TABLE test10fk (x text COLLATE case_insensitive REFERENCES test10pk (x) ON UPDATE CASCADE ON DELETE CASCADE); INSERT INTO test10fk VALUES ('abc'); -- ok INSERT INTO test10fk VALUES ('ABC'); -- error @@ -1888,6 +1952,7 @@ -- PK is case-insensitive, FK is case-sensitive CREATE TABLE test11pk (x text COLLATE case_insensitive PRIMARY KEY); INSERT INTO test11pk VALUES ('abc'), ('def'), ('ghi'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE TABLE test11fk (x text COLLATE case_sensitive REFERENCES test11pk (x) ON UPDATE CASCADE ON DELETE CASCADE); INSERT INTO test11fk VALUES ('abc'); -- ok INSERT INTO test11fk VALUES ('ABC'); -- ok diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/incremental_sort.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/incremental_sort.out --- /tmp/cirrus-ci-build/src/test/regress/expected/incremental_sort.out 2024-03-19 15:41:21.018669000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/incremental_sort.out 2024-03-19 15:51:24.866957000 +0000 @@ -3,6 +3,7 @@ explain (costs off) select * from (select * from tenk1 order by four) t order by four, ten limit 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------- Limit @@ -19,6 +20,7 @@ set work_mem to '2MB'; explain (costs off) select * from (select * from tenk1 order by four) t order by four, ten; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------- Incremental Sort @@ -129,8 +131,10 @@ $$; -- A single large group tested around each mode transition point. insert into t(a, b) select i/100 + 1, i + 1 from generate_series(0, 999) n(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree analyze t; explain (costs off) select * from (select * from t order by a) s order by a, b limit 31; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------- Limit @@ -143,6 +147,7 @@ (7 rows) select * from (select * from t order by a) s order by a, b limit 31; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+---- 1 | 1 @@ -179,6 +184,7 @@ (31 rows) explain (costs off) select * from (select * from t order by a) s order by a, b limit 32; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------- Limit @@ -191,6 +197,7 @@ (7 rows) select * from (select * from t order by a) s order by a, b limit 32; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+---- 1 | 1 @@ -228,6 +235,7 @@ (32 rows) explain (costs off) select * from (select * from t order by a) s order by a, b limit 33; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------- Limit @@ -240,6 +248,7 @@ (7 rows) select * from (select * from t order by a) s order by a, b limit 33; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+---- 1 | 1 @@ -278,6 +287,7 @@ (33 rows) explain (costs off) select * from (select * from t order by a) s order by a, b limit 65; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------- Limit @@ -290,6 +300,7 @@ (7 rows) select * from (select * from t order by a) s order by a, b limit 65; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+---- 1 | 1 @@ -360,6 +371,7 @@ (65 rows) explain (costs off) select * from (select * from t order by a) s order by a, b limit 66; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------- Limit @@ -372,6 +384,7 @@ (7 rows) select * from (select * from t order by a) s order by a, b limit 66; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+---- 1 | 1 @@ -445,8 +458,10 @@ delete from t; -- An initial large group followed by a small group. insert into t(a, b) select i/50 + 1, i + 1 from generate_series(0, 999) n(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree analyze t; explain (costs off) select * from (select * from t order by a) s order by a, b limit 55; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------- Limit @@ -459,6 +474,7 @@ (7 rows) select * from (select * from t order by a) s order by a, b limit 55; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+---- 1 | 1 @@ -520,6 +536,7 @@ -- Test EXPLAIN ANALYZE with only a fullsort group. select explain_analyze_without_memory('select * from (select * from t order by a) s order by a, b limit 55'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree explain_analyze_without_memory --------------------------------------------------------------------------------------------------------------- Limit (actual rows=55 loops=1) @@ -534,6 +551,8 @@ (9 rows) select jsonb_pretty(explain_analyze_inc_sort_nodes_without_memory('select * from (select * from t order by a) s order by a, b limit 55')); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree jsonb_pretty ------------------------------------------------- [ + @@ -567,6 +586,8 @@ (1 row) select explain_analyze_inc_sort_nodes_verify_invariants('select * from (select * from t order by a) s order by a, b limit 55'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree explain_analyze_inc_sort_nodes_verify_invariants -------------------------------------------------- t @@ -575,8 +596,10 @@ delete from t; -- An initial small group followed by a large group. insert into t(a, b) select (case when i < 5 then i else 9 end), i from generate_series(1, 1000) n(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree analyze t; explain (costs off) select * from (select * from t order by a) s order by a, b limit 70; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------- Limit @@ -589,6 +612,7 @@ (7 rows) select * from (select * from t order by a) s order by a, b limit 70; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+---- 1 | 1 @@ -668,6 +692,7 @@ -- transition point) but only retain 5. Thus when we transition modes, all -- tuples in the full sort state have different prefix keys. explain (costs off) select * from (select * from t order by a) s order by a, b limit 5; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------- Limit @@ -680,6 +705,7 @@ (7 rows) select * from (select * from t order by a) s order by a, b limit 5; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+--- 1 | 1 @@ -698,6 +724,7 @@ set local enable_material = off; set local enable_sort = off; explain (costs off) select * from t left join (select * from (select * from t order by a) v order by a, b) s on s.a = t.a where t.a in (1, 2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------ Nested Loop Left Join @@ -713,6 +740,7 @@ (10 rows) select * from t left join (select * from (select * from t order by a) v order by a, b) s on s.a = t.a where t.a in (1, 2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | a | b ---+---+---+--- 1 | 1 | 1 | 1 @@ -722,6 +750,7 @@ rollback; -- Test EXPLAIN ANALYZE with both fullsort and presorted groups. select explain_analyze_without_memory('select * from (select * from t order by a) s order by a, b limit 70'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree explain_analyze_without_memory ---------------------------------------------------------------------------------------------------------------- Limit (actual rows=70 loops=1) @@ -737,6 +766,8 @@ (10 rows) select jsonb_pretty(explain_analyze_inc_sort_nodes_without_memory('select * from (select * from t order by a) s order by a, b limit 70')); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree jsonb_pretty ------------------------------------------------- [ + @@ -780,6 +811,8 @@ (1 row) select explain_analyze_inc_sort_nodes_verify_invariants('select * from (select * from t order by a) s order by a, b limit 70'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree explain_analyze_inc_sort_nodes_verify_invariants -------------------------------------------------- t @@ -788,8 +821,10 @@ delete from t; -- Small groups of 10 tuples each tested around each mode transition point. insert into t(a, b) select i / 10, i from generate_series(1, 1000) n(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree analyze t; explain (costs off) select * from (select * from t order by a) s order by a, b limit 31; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------- Limit @@ -802,6 +837,7 @@ (7 rows) select * from (select * from t order by a) s order by a, b limit 31; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+---- 0 | 1 @@ -838,6 +874,7 @@ (31 rows) explain (costs off) select * from (select * from t order by a) s order by a, b limit 32; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------- Limit @@ -850,6 +887,7 @@ (7 rows) select * from (select * from t order by a) s order by a, b limit 32; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+---- 0 | 1 @@ -887,6 +925,7 @@ (32 rows) explain (costs off) select * from (select * from t order by a) s order by a, b limit 33; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------- Limit @@ -899,6 +938,7 @@ (7 rows) select * from (select * from t order by a) s order by a, b limit 33; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+---- 0 | 1 @@ -937,6 +977,7 @@ (33 rows) explain (costs off) select * from (select * from t order by a) s order by a, b limit 65; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------- Limit @@ -949,6 +990,7 @@ (7 rows) select * from (select * from t order by a) s order by a, b limit 65; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+---- 0 | 1 @@ -1019,6 +1061,7 @@ (65 rows) explain (costs off) select * from (select * from t order by a) s order by a, b limit 66; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------- Limit @@ -1031,6 +1074,7 @@ (7 rows) select * from (select * from t order by a) s order by a, b limit 66; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+---- 0 | 1 @@ -1104,8 +1148,10 @@ delete from t; -- Small groups of only 1 tuple each tested around each mode transition point. insert into t(a, b) select i, i from generate_series(1, 1000) n(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree analyze t; explain (costs off) select * from (select * from t order by a) s order by a, b limit 31; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------- Limit @@ -1118,6 +1164,7 @@ (7 rows) select * from (select * from t order by a) s order by a, b limit 31; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ----+---- 1 | 1 @@ -1154,6 +1201,7 @@ (31 rows) explain (costs off) select * from (select * from t order by a) s order by a, b limit 32; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------- Limit @@ -1166,6 +1214,7 @@ (7 rows) select * from (select * from t order by a) s order by a, b limit 32; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ----+---- 1 | 1 @@ -1203,6 +1252,7 @@ (32 rows) explain (costs off) select * from (select * from t order by a) s order by a, b limit 33; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------- Limit @@ -1215,6 +1265,7 @@ (7 rows) select * from (select * from t order by a) s order by a, b limit 33; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ----+---- 1 | 1 @@ -1253,6 +1304,7 @@ (33 rows) explain (costs off) select * from (select * from t order by a) s order by a, b limit 65; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------- Limit @@ -1265,6 +1317,7 @@ (7 rows) select * from (select * from t order by a) s order by a, b limit 65; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ----+---- 1 | 1 @@ -1335,6 +1388,7 @@ (65 rows) explain (costs off) select * from (select * from t order by a) s order by a, b limit 66; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------- Limit @@ -1347,6 +1401,7 @@ (7 rows) select * from (select * from t order by a) s order by a, b limit 66; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ----+---- 1 | 1 @@ -1427,6 +1482,7 @@ set max_parallel_workers_per_gather = 2; create table t (a int, b int, c int); insert into t select mod(i,10),mod(i,10),i from generate_series(1,10000) s(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree create index on t (a); analyze t; set enable_incremental_sort = off; @@ -1466,6 +1522,7 @@ -- Incremental sort vs. set operations with varno 0 set enable_hashagg to off; explain (costs off) select * from t union select * from t order by 1,3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------- Incremental Sort @@ -1510,6 +1567,7 @@ -- Parallel sort below join. explain (costs off) select distinct sub.unique1, stringu1 from tenk1, lateral (select tenk1.unique1 from generate_series(1, 1000)) as sub; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------------- Unique @@ -1525,6 +1583,7 @@ explain (costs off) select sub.unique1, stringu1 from tenk1, lateral (select tenk1.unique1 from generate_series(1, 1000)) as sub order by 1, 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------- Nested Loop @@ -1539,6 +1598,7 @@ -- Parallel sort but with expression that can be safely generated at the base rel. explain (costs off) select distinct sub.unique1, md5(stringu1) from tenk1, lateral (select tenk1.unique1 from generate_series(1, 1000)) as sub; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------------------------------- Unique @@ -1554,6 +1614,7 @@ explain (costs off) select sub.unique1, md5(stringu1) from tenk1, lateral (select tenk1.unique1 from generate_series(1, 1000)) as sub order by 1, 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------------------------- Nested Loop @@ -1572,6 +1633,7 @@ join tenk1 t2 on t1.unique1 = t2.unique2 join tenk1 t3 on t2.unique1 = t3.unique1 order by count(*); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------------------------------------- Sort @@ -1597,6 +1659,7 @@ unique1, (select t.unique1 from tenk1 where tenk1.unique1 = t.unique1) from tenk1 t, generate_series(1, 1000); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------------------------------------------- Unique @@ -1617,6 +1680,7 @@ (select t.unique1 from tenk1 where tenk1.unique1 = t.unique1) from tenk1 t, generate_series(1, 1000) order by 1, 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------------------------------------- Sort @@ -1634,6 +1698,7 @@ -- Parallel sort but with expression not available until the upper rel. explain (costs off) select distinct sub.unique1, stringu1 || random()::text from tenk1, lateral (select tenk1.unique1 from generate_series(1, 1000)) as sub; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------------------------------------------------------- Unique @@ -1649,6 +1714,7 @@ explain (costs off) select sub.unique1, stringu1 || random()::text from tenk1, lateral (select tenk1.unique1 from generate_series(1, 1000)) as sub order by 1, 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------------------------------------------------- Sort diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/without_overlaps.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/without_overlaps.out --- /tmp/cirrus-ci-build/src/test/regress/expected/without_overlaps.out 2024-03-19 15:41:21.047126000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/without_overlaps.out 2024-03-19 15:51:25.031424000 +0000 @@ -39,6 +39,11 @@ CONSTRAINT temporal_rng_pk PRIMARY KEY (id, valid_at WITHOUT OVERLAPS) ); \d temporal_rng +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 Table "public.temporal_rng" Column | Type | Collation | Nullable | Default ----------+-----------+-----------+----------+--------- @@ -68,6 +73,11 @@ CONSTRAINT temporal_rng2_pk PRIMARY KEY (id1, id2, valid_at WITHOUT OVERLAPS) ); \d temporal_rng2 +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 Table "public.temporal_rng2" Column | Type | Collation | Nullable | Default ----------+-----------+-----------+----------+--------- @@ -106,6 +116,11 @@ CONSTRAINT temporal_mltrng_pk PRIMARY KEY (id, valid_at WITHOUT OVERLAPS) ); \d temporal_mltrng +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 Table "public.temporal_mltrng" Column | Type | Collation | Nullable | Default ----------+--------------+-----------+----------+--------- @@ -143,6 +158,11 @@ CONSTRAINT temporal_rng3_uq UNIQUE (id, valid_at WITHOUT OVERLAPS) ); \d temporal_rng3 +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 Table "public.temporal_rng3" Column | Type | Collation | Nullable | Default ----------+-----------+-----------+----------+--------- @@ -172,6 +192,11 @@ CONSTRAINT temporal_rng3_uq UNIQUE (id1, id2, valid_at WITHOUT OVERLAPS) ); \d temporal_rng3 +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 Table "public.temporal_rng3" Column | Type | Collation | Nullable | Default ----------+-----------+-----------+----------+--------- @@ -306,6 +331,7 @@ ('[1,2)', daterange('2000-01-01', '2010-01-01'), '[7,8)', 'foo'), ('[2,3)', daterange('2000-01-01', '2010-01-01'), '[9,10)', 'bar') ; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree DROP TABLE temporal3; -- -- test changing the PK's dependencies @@ -337,6 +363,7 @@ ('[1,2)', daterange('2000-01-01', '2000-02-01'), 'one'), ('[1,2)', daterange('2000-02-01', '2000-03-01'), 'one'), ('[3,4)', daterange('2000-01-01', '2010-01-01'), 'three'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM temporal_partitioned ORDER BY id, valid_at; id | valid_at | name -------+-------------------------+------- @@ -372,6 +399,7 @@ ('[1,2)', daterange('2000-01-01', '2000-02-01'), 'one'), ('[1,2)', daterange('2000-02-01', '2000-03-01'), 'one'), ('[3,4)', daterange('2000-01-01', '2010-01-01'), 'three'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM temporal_partitioned ORDER BY id, valid_at; id | valid_at | name -------+-------------------------+------- diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/rules.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/rules.out --- /tmp/cirrus-ci-build/src/test/regress/expected/rules.out 2024-03-19 15:41:21.044990000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/rules.out 2024-03-19 15:51:26.121585000 +0000 @@ -143,6 +143,7 @@ insert into rtest_v1 values (1, 11); insert into rtest_v1 values (2, 12); select * from rtest_v1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+---- 1 | 11 @@ -151,7 +152,9 @@ -- delete with constant expression delete from rtest_v1 where a = 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select * from rtest_v1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+---- 2 | 12 @@ -159,7 +162,9 @@ insert into rtest_v1 values (1, 11); delete from rtest_v1 where b = 12; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select * from rtest_v1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+---- 1 | 11 @@ -168,6 +173,7 @@ insert into rtest_v1 values (2, 12); insert into rtest_v1 values (2, 13); select * from rtest_v1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+---- 1 | 11 @@ -184,16 +190,21 @@ ** So this time both rows with a = 2 must get deleted \r delete from rtest_v1 where b = 12; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select * from rtest_v1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+---- 1 | 11 (1 row) delete from rtest_v1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- insert select insert into rtest_v1 select * from rtest_t2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select * from rtest_v1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+---- 1 | 21 @@ -202,9 +213,12 @@ (3 rows) delete from rtest_v1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- same with swapped targetlist insert into rtest_v1 (b, a) select b, a from rtest_t2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select * from rtest_v1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+---- 1 | 21 @@ -214,7 +228,9 @@ -- now with only one target attribute insert into rtest_v1 (a) select a from rtest_t3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select * from rtest_v1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+---- 1 | 21 @@ -228,6 +244,7 @@ (8 rows) select * from rtest_v1 where b isnull; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+--- 1 | @@ -240,7 +257,9 @@ -- let attribute a differ (must be done on rtest_t1 - see above) update rtest_t1 set a = a + 10 where b isnull; delete from rtest_v1 where b isnull; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select * from rtest_v1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+---- 1 | 21 @@ -250,7 +269,9 @@ -- now updates with constant expression update rtest_v1 set b = 42 where a = 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select * from rtest_v1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+---- 1 | 21 @@ -259,7 +280,9 @@ (3 rows) update rtest_v1 set b = 99 where b = 42; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select * from rtest_v1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+---- 1 | 21 @@ -268,7 +291,9 @@ (3 rows) update rtest_v1 set b = 88 where b < 50; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select * from rtest_v1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+---- 2 | 99 @@ -277,10 +302,13 @@ (3 rows) delete from rtest_v1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into rtest_v1 select rtest_t2.a, rtest_t3.b from rtest_t2, rtest_t3 where rtest_t2.a = rtest_t3.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select * from rtest_v1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+---- 1 | 31 @@ -290,7 +318,9 @@ -- updates in a mergejoin update rtest_v1 set b = rtest_t2.b from rtest_t2 where rtest_v1.a = rtest_t2.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select * from rtest_v1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+---- 1 | 21 @@ -299,7 +329,9 @@ (3 rows) insert into rtest_v1 select * from rtest_t3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select * from rtest_v1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+---- 1 | 21 @@ -314,6 +346,7 @@ update rtest_t1 set a = a + 10 where b > 30; select * from rtest_v1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ----+---- 1 | 21 @@ -327,7 +360,9 @@ (8 rows) update rtest_v1 set a = rtest_t3.a + 20 from rtest_t3 where rtest_v1.b = rtest_t3.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select * from rtest_v1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ----+---- 1 | 21 @@ -423,6 +458,7 @@ insert into rtest_empmass values ('maier', '5000.00'); insert into rtest_empmass values ('mayr', '6000.00'); insert into rtest_emp select * from rtest_empmass; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select ename, who = current_user as "matches user", action, newsal, oldsal from rtest_emplog order by ename, action, newsal; ename | matches user | action | newsal | oldsal ----------------------+--------------+------------+----------+---------- @@ -542,6 +578,7 @@ insert into rtest_t9 values (30, 'Record should go to rtest_t4'); insert into rtest_t9 values (40, 'Record should go to rtest_t4'); insert into rtest_t4 select * from rtest_t9 where a < 20; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select * from rtest_t4; a | b ---+------------------------------ @@ -574,6 +611,7 @@ (0 rows) insert into rtest_t4 select * from rtest_t9 where b ~ 'and t8'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select * from rtest_t4; a | b ----+------------------------------------- @@ -610,6 +648,7 @@ (2 rows) insert into rtest_t4 select a + 1, b from rtest_t9 where a in (20, 30, 40); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select * from rtest_t4; a | b ----+------------------------------------- @@ -719,6 +758,7 @@ insert into rtest_nothn4 values (50, 'want this'); insert into rtest_nothn4 values (60, 'want this'); insert into rtest_nothn1 select * from rtest_nothn4; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select * from rtest_nothn1; a | b ----+----------- @@ -737,6 +777,7 @@ insert into rtest_nothn4 values (100, 'OK'); insert into rtest_nothn4 values (200, 'OK'); insert into rtest_nothn2 select * from rtest_nothn4; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select * from rtest_nothn2; a | b ---+--- @@ -784,6 +825,7 @@ insert into rtest_view2 values (7); insert into rtest_view2 values (7); select * from rtest_vview1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+-------- 2 | item 2 @@ -793,6 +835,7 @@ (4 rows) select * from rtest_vview2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+-------- 1 | item 1 @@ -804,6 +847,7 @@ (6 rows) select * from rtest_vview3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+-------- 2 | item 2 @@ -812,6 +856,7 @@ (3 rows) select * from rtest_vview4 order by a, b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | refcount ---+--------+---------- 2 | item 2 | 2 @@ -821,6 +866,7 @@ (4 rows) select * from rtest_vview5; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | refcount ---+--------+---------- 1 | item 1 | 0 @@ -834,6 +880,7 @@ (8 rows) insert into rtest_view3 select * from rtest_vview1 where a < 7; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select * from rtest_view3; a | b ---+-------- @@ -844,6 +891,7 @@ delete from rtest_view3; insert into rtest_view3 select * from rtest_vview2 where a != 5 and b !~ '2'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select * from rtest_view3; a | b ---+-------- @@ -855,6 +903,7 @@ delete from rtest_view3; insert into rtest_view3 select * from rtest_vview3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select * from rtest_view3; a | b ---+-------- @@ -865,6 +914,7 @@ delete from rtest_view3; insert into rtest_view4 select * from rtest_vview4 where 3 > refcount; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select * from rtest_view4 order by a, b; a | b | c ---+--------+--- @@ -875,6 +925,7 @@ delete from rtest_view4; insert into rtest_view4 select * from rtest_vview5 where a > 2 and refcount = 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select * from rtest_view4; a | b | c ---+--------+--- @@ -910,6 +961,7 @@ insert into rtest_comp values ('p5', 'inch', 7.0); insert into rtest_comp values ('p6', 'inch', 4.4); select * from rtest_vcomp order by part; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree part | size_in_cm ------+-------------------- p1 | 500 @@ -921,6 +973,7 @@ (6 rows) select * from rtest_vcomp where size_in_cm > 10.0 order by size_in_cm using >; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree part | size_in_cm ------+-------------------- p1 | 500 @@ -1000,6 +1053,7 @@ INSERT INTO shoelace_data VALUES ('sl8', 1, 'brown', 40 , 'inch'); -- SELECTs in doc SELECT * FROM shoelace ORDER BY sl_name; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree sl_name | sl_avail | sl_color | sl_len | sl_unit | sl_len_cm ------------+----------+------------+--------+----------+----------- sl1 | 5 | black | 80 | cm | 80 @@ -1013,6 +1067,7 @@ (8 rows) SELECT * FROM shoe_ready WHERE total_avail >= 2 ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree shoename | sh_avail | sl_name | sl_avail | total_avail ------------+----------+------------+----------+------------- sh1 | 2 | sl1 | 5 | 2 @@ -1081,6 +1136,7 @@ INSERT INTO shoelace_arrive VALUES ('sl6', 20); INSERT INTO shoelace_arrive VALUES ('sl8', 20); SELECT * FROM shoelace ORDER BY sl_name; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree sl_name | sl_avail | sl_color | sl_len | sl_unit | sl_len_cm ------------+----------+------------+--------+----------+----------- sl1 | 5 | black | 80 | cm | 80 @@ -1094,7 +1150,9 @@ (8 rows) insert into shoelace_ok select * from shoelace_arrive; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM shoelace ORDER BY sl_name; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree sl_name | sl_avail | sl_color | sl_len | sl_unit | sl_len_cm ------------+----------+------------+--------+----------+----------- sl1 | 5 | black | 80 | cm | 80 @@ -1128,6 +1186,7 @@ on conflict do nothing; ERROR: INSERT with ON CONFLICT clause cannot be used with table that has INSERT or UPDATE rules SELECT * FROM shoelace_obsolete ORDER BY sl_len_cm; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree sl_name | sl_avail | sl_color | sl_len | sl_unit | sl_len_cm ------------+----------+------------+--------+----------+----------- sl9 | 0 | pink | 35 | inch | 88.9 @@ -1135,6 +1194,7 @@ (2 rows) SELECT * FROM shoelace_candelete; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree sl_name | sl_avail | sl_color | sl_len | sl_unit | sl_len_cm ------------+----------+------------+--------+----------+----------- sl9 | 0 | pink | 35 | inch | 88.9 @@ -1143,7 +1203,9 @@ DELETE FROM shoelace WHERE EXISTS (SELECT * FROM shoelace_candelete WHERE sl_name = shoelace.sl_name); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM shoelace ORDER BY sl_name; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree sl_name | sl_avail | sl_color | sl_len | sl_unit | sl_len_cm ------------+----------+------------+--------+----------+----------- sl1 | 5 | black | 80 | cm | 80 @@ -1158,6 +1220,7 @@ (9 rows) SELECT * FROM shoe ORDER BY shoename; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree shoename | sh_avail | slcolor | slminlen | slminlen_cm | slmaxlen | slmaxlen_cm | slunit ------------+----------+------------+----------+-------------+----------+-------------+---------- sh1 | 2 | black | 70 | 70 | 90 | 90 | cm @@ -1167,6 +1230,7 @@ (4 rows) SELECT count(*) FROM shoe; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 4 @@ -1237,6 +1301,7 @@ update cchild set descrip = new.descrip where cchild.pid = old.pid; ); select * from vview; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree pid | txt | descrip -----+---------+---------- 1 | parent1 | descrip1 @@ -1244,7 +1309,9 @@ (2 rows) update vview set descrip='test1' where pid=1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select * from vview; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree pid | txt | descrip -----+---------+--------- 1 | parent1 | test1 @@ -1252,7 +1319,9 @@ (2 rows) update vview set descrip='test2' where pid=2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select * from vview; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree pid | txt | descrip -----+---------+--------- 1 | parent1 | test1 @@ -1260,7 +1329,9 @@ (2 rows) update vview set descrip='test3' where pid=3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select * from vview; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree pid | txt | descrip -----+---------+--------- 1 | parent1 | test1 @@ -1286,6 +1357,7 @@ SELECT viewname, definition FROM pg_views WHERE schemaname = 'pg_catalog' ORDER BY viewname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree pg_available_extension_versions| SELECT e.name, e.version, (x.extname IS NOT NULL) AS installed, @@ -2668,6 +2740,7 @@ SELECT tablename, rulename, definition FROM pg_rules WHERE schemaname = 'pg_catalog' ORDER BY tablename, rulename; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree pg_settings|pg_settings_n|CREATE RULE pg_settings_n AS ON UPDATE TO pg_catalog.pg_settings DO INSTEAD NOTHING; pg_settings|pg_settings_u|CREATE RULE pg_settings_u AS @@ -2814,6 +2887,7 @@ create rule update_id_ordered as on update to id_ordered do instead update id set name = new.name where id = old.id; select * from id_ordered; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id | name ----+-------- 1 | Test 1 @@ -2825,9 +2899,13 @@ (6 rows) update id_ordered set name = 'update 2' where id = 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree update id_ordered set name = 'update 4' where id = 4; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree update id_ordered set name = 'update 5' where id = 5; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select * from id_ordered; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id | name ----+---------- 1 | Test 1 @@ -2869,6 +2947,7 @@ update t1_2 set a = new.a where a = old.a; set constraint_exclusion = on; insert into t1 select * from generate_series(5,19,1) g; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree update t1 set a = 4 where a = 5; select * from only t1; a @@ -2904,6 +2983,7 @@ -- test FOR UPDATE in rules create table rules_base(f1 int, f2 int); insert into rules_base values(1,2), (11,12); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree create rule r1 as on update to rules_base do instead select * from rules_base where f1 = 1 for update; update rules_base set f2 = f2 + 1; @@ -2981,6 +3061,7 @@ create table rules_src(f1 int, f2 int default 0); create table rules_log(f1 int, f2 int, tag text, id serial); insert into rules_src values(1,2), (11,12); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree create rule r1 as on update to rules_src do also insert into rules_log values(old.*, 'old', default), (new.*, 'new', default); update rules_src set f2 = f2 + 1; @@ -3019,6 +3100,7 @@ create rule r3 as on insert to rules_src do also insert into rules_log values(null, null, '-', default), (new.*, 'new', default); insert into rules_src values(22,23), (33,default); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select * from rules_src; f1 | f2 ----+---- @@ -3066,6 +3148,11 @@ returning trgt.f1, trgt.f2; -- check display of all rules added above \d+ rules_src +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 Table "public.rules_src" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- @@ -3119,6 +3206,11 @@ SET (f2[1], f1, tag) = (SELECT new.f2, new.f1, 'updated'::varchar) WHERE trgt.f1 = new.f1 RETURNING new.*; \d+ rule_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 Table "public.rule_t1" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- @@ -3147,7 +3239,9 @@ SET c = tt.a * 10 FROM (SELECT a FROM rule_t1 WHERE a = OLD.a) tt WHERE t.a = tt.a; INSERT INTO rule_v1 VALUES (1, 'a'), (2, 'b'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree UPDATE rule_v1 SET b = upper(b); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM rule_t1; a | b | c ----+-----+----- @@ -3171,12 +3265,15 @@ ALTER RULE InsertRule ON rule_v1 RENAME to NewInsertRule; INSERT INTO rule_v1 VALUES(1); SELECT * FROM rule_v1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a --- 1 (1 row) \d+ rule_v1 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree View "public.rule_v1" Column | Type | Collation | Nullable | Default | Storage | Description --------+---------+-----------+----------+---------+---------+------------- @@ -3205,6 +3302,8 @@ -- create view rule_v1 as values(1,2); \d+ rule_v1 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree View "public.rule_v1" Column | Type | Collation | Nullable | Default | Storage | Description ---------+---------+-----------+----------+---------+---------+------------- @@ -3215,6 +3314,8 @@ alter table rule_v1 rename column column2 to q2; \d+ rule_v1 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree View "public.rule_v1" Column | Type | Collation | Nullable | Default | Storage | Description ---------+---------+-----------+----------+---------+---------+------------- @@ -3228,6 +3329,8 @@ drop view rule_v1; create view rule_v1(x) as values(1,2); \d+ rule_v1 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree View "public.rule_v1" Column | Type | Collation | Nullable | Default | Storage | Description ---------+---------+-----------+----------+---------+---------+------------- @@ -3241,6 +3344,8 @@ drop view rule_v1; create view rule_v1(x) as select * from (values(1,2)) v; \d+ rule_v1 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree View "public.rule_v1" Column | Type | Collation | Nullable | Default | Storage | Description ---------+---------+-----------+----------+---------+---------+------------- @@ -3254,6 +3359,8 @@ drop view rule_v1; create view rule_v1(x) as select * from (values(1,2)) v(q,w); \d+ rule_v1 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree View "public.rule_v1" Column | Type | Collation | Nullable | Default | Storage | Description --------+---------+-----------+----------+---------+---------+------------- @@ -3288,6 +3395,7 @@ DO NOTHING RETURNING *; SELECT definition FROM pg_rules WHERE tablename = 'hats' ORDER BY rulename; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree definition --------------------------------------------------------------------------------------------- CREATE RULE hat_nosert AS + @@ -3313,6 +3421,7 @@ SELECT tablename, rulename, definition FROM pg_rules WHERE tablename = 'hats'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree tablename | rulename | definition -----------+------------+--------------------------------------------------------------------------------------------- hats | hat_nosert | CREATE RULE hat_nosert AS + @@ -3334,6 +3443,7 @@ DO NOTHING RETURNING *; SELECT definition FROM pg_rules WHERE tablename = 'hats' ORDER BY rulename; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree definition ------------------------------------------------------------------------------------- CREATE RULE hat_nosert_all AS + @@ -3363,6 +3473,7 @@ WHERE excluded.hat_color <> 'forbidden' AND hat_data.* != excluded.* RETURNING *; SELECT definition FROM pg_rules WHERE tablename = 'hats' ORDER BY rulename; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree definition ----------------------------------------------------------------------------------------------------------------------------------------- CREATE RULE hat_upsert AS + @@ -3411,6 +3522,7 @@ SELECT tablename, rulename, definition FROM pg_rules WHERE tablename = 'hats'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree tablename | rulename | definition -----------+------------+----------------------------------------------------------------------------------------------------------------------------------------- hats | hat_upsert | CREATE RULE hat_upsert AS + @@ -3441,6 +3553,7 @@ INSERT INTO hats SELECT * FROM data RETURNING *; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree hat_name | hat_color ------------+------------ h8 | green @@ -3456,6 +3569,7 @@ INSERT INTO hats SELECT * FROM data RETURNING *; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------------------------- Insert on hat_data @@ -3623,6 +3737,7 @@ DELETE WHEN NOT MATCHED THEN INSERT VALUES (s.a, ''); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- also ok if the rules are disabled ALTER TABLE rule_merge1 DISABLE RULE rule1; ALTER TABLE rule_merge1 DISABLE RULE rule2; @@ -3635,6 +3750,7 @@ DELETE WHEN NOT MATCHED THEN INSERT VALUES (s.a, ''); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- test deparsing CREATE TABLE sf_target(id int, data text, filling int[]); CREATE FUNCTION merge_sf_test() diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/psql.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/psql.out --- /tmp/cirrus-ci-build/src/test/regress/expected/psql.out 2024-03-19 15:41:21.044324000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/psql.out 2024-03-19 15:51:26.194524000 +0000 @@ -168,11 +168,14 @@ 1 :var2 3 -- \gset requires just one tuple select 10 as test01, 20 as test02 from generate_series(1,3) \gset +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree more than one row returned for \gset select 10 as test01, 20 as test02 from generate_series(1,0) \gset +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree no rows returned for \gset -- \gset returns no tuples select a from generate_series(1, 10) as a where a = 11 \gset +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree no rows returned for \gset \echo :ROW_COUNT 0 @@ -184,8 +187,10 @@ 3 4 select 10 as test01, 20 as test02 from generate_series(1,3) \gset +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree more than one row returned for \gset select 10 as test01, 20 as test02 from generate_series(1,0) \gset +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree no rows returned for \gset \unset FETCH_COUNT -- \gdesc @@ -199,6 +204,7 @@ 'foo'::varchar(4) as six, CURRENT_DATE AS now \gdesc +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Column | Type --------+---------------------- zero | text @@ -214,6 +220,7 @@ -- should work with tuple-returning utilities, such as EXECUTE PREPARE test AS SELECT 1 AS first, 2 AS second; EXECUTE test \gdesc +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Column | Type --------+--------- first | integer @@ -221,6 +228,7 @@ (2 rows) EXPLAIN EXECUTE test \gdesc +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Column | Type ------------+------ QUERY PLAN | text @@ -244,6 +252,7 @@ -- query buffer should remain unchanged SELECT 1 AS x, 'Hello', 2 AS y, true AS "dirty\name" \gdesc +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Column | Type ------------+--------- x | integer @@ -260,6 +269,7 @@ -- all on one line SELECT 3 AS x, 'Hello', 4 AS y, true AS "dirty\name" \gdesc \g +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Column | Type ------------+--------- x | integer @@ -304,6 +314,7 @@ union all select 'drop table gexec_test', 'select ''2000-01-01''::date as party_over' \gexec +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select 1 as ones ones ------ @@ -311,6 +322,7 @@ (1 row) select x.y, x.y*2 as double from generate_series(1,4) as x(y) +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree y | double ---+-------- 1 | 2 @@ -371,6 +383,7 @@ c", array_to_string(array_agg(repeat('y',20-2*n)),E'\n') as "a bc" from generate_series(1,10) as n(n) group by n>1 order by n>1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree \pset linestyle ascii \pset expanded off \pset columns 40 @@ -1324,6 +1337,7 @@ deallocate q; -- test single-line header and data prepare q as select repeat('x',2*n) as "0123456789abcdef", repeat('y',20-2*n) as "0123456789" from generate_series(1,10) as n; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree \pset linestyle ascii \pset expanded off \pset columns 40 @@ -2731,6 +2745,9 @@ \pset format aligned \pset expanded off \d psql_serial_tab_id_seq +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 Sequence "public.psql_serial_tab_id_seq" Type | Start | Minimum | Maximum | Increment | Cycles? | Cache ---------+-------+---------+------------+-----------+---------+------- @@ -2739,12 +2756,16 @@ \pset tuples_only true \df exp +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree pg_catalog | exp | double precision | double precision | func pg_catalog | exp | numeric | numeric | func \pset tuples_only false \pset expanded on \d psql_serial_tab_id_seq +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 Sequence "public.psql_serial_tab_id_seq" -[ RECORD 1 ]--------- Type | integer @@ -2759,6 +2780,7 @@ \pset tuples_only true \df exp +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Schema | pg_catalog Name | exp Result data type | double precision @@ -2779,17 +2801,24 @@ \pset format unaligned \pset expanded off \d psql_serial_tab_id_seq +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 Sequence "public.psql_serial_tab_id_seq" Type|Start|Minimum|Maximum|Increment|Cycles?|Cache integer|1|1|2147483647|1|no|1 Owned by: public.psql_serial_tab.id \pset tuples_only true \df exp +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree pg_catalog|exp|double precision|double precision|func pg_catalog|exp|numeric|numeric|func \pset tuples_only false \pset expanded on \d psql_serial_tab_id_seq +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 Sequence "public.psql_serial_tab_id_seq" Type|integer @@ -2803,6 +2832,7 @@ Owned by: public.psql_serial_tab.id \pset tuples_only true \df exp +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Schema|pg_catalog Name|exp Result data type|double precision @@ -2818,6 +2848,9 @@ \pset format wrapped \pset expanded off \d psql_serial_tab_id_seq +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 Sequence "public.psql_serial_tab_id_seq" Type | Start | Minimum | Maximum | Increment | Cycles? | Cache ---------+-------+---------+------------+-----------+---------+------- @@ -2826,12 +2859,16 @@ \pset tuples_only true \df exp +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree pg_catalog | exp | double precision | double precision | func pg_catalog | exp | numeric | numeric | func \pset tuples_only false \pset expanded on \d psql_serial_tab_id_seq +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 Sequence "public.psql_serial_tab_id_seq" -[ RECORD 1 ]--------- Type | integer @@ -2846,6 +2883,7 @@ \pset tuples_only true \df exp +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Schema | pg_catalog Name | exp Result data type | double precision @@ -2873,6 +2911,11 @@ CREATE VIEW view_heap_psql AS SELECT f1 from tbl_heap_psql; CREATE MATERIALIZED VIEW mat_view_heap_psql USING heap_psql AS SELECT f1 from tbl_heap_psql; \d+ tbl_heap_psql +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 Table "tableam_display.tbl_heap_psql" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+----------------+-----------+----------+---------+----------+--------------+------------- @@ -2880,6 +2923,11 @@ f2 | character(100) | | | | extended | | \d+ tbl_heap +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 Table "tableam_display.tbl_heap" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+----------------+-----------+----------+---------+----------+--------------+------------- @@ -2888,6 +2936,11 @@ \set HIDE_TABLEAM off \d+ tbl_heap_psql +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 Table "tableam_display.tbl_heap_psql" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+----------------+-----------+----------+---------+----------+--------------+------------- @@ -2896,6 +2949,11 @@ Access method: heap_psql \d+ tbl_heap +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 Table "tableam_display.tbl_heap" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+----------------+-----------+----------+---------+----------+--------------+------------- @@ -2905,6 +2963,7 @@ -- AM is displayed for tables, indexes and materialized views. \d+ +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of relations Schema | Name | Type | Owner | Persistence | Access method | Size | Description -----------------+--------------------+-------------------+----------------------+-------------+---------------+---------+------------- @@ -2915,6 +2974,7 @@ (4 rows) \dt+ +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of relations Schema | Name | Type | Owner | Persistence | Access method | Size | Description -----------------+---------------+-------+----------------------+-------------+---------------+---------+------------- @@ -2923,6 +2983,7 @@ (2 rows) \dm+ +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of relations Schema | Name | Type | Owner | Persistence | Access method | Size | Description -----------------+--------------------+-------------------+----------------------+-------------+---------------+---------+------------- @@ -2931,6 +2992,7 @@ -- But not for views and sequences. \dv+ +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of relations Schema | Name | Type | Owner | Persistence | Size | Description -----------------+----------------+------+----------------------+-------------+---------+------------- @@ -2939,6 +3001,7 @@ \set HIDE_TABLEAM on \d+ +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of relations Schema | Name | Type | Owner | Persistence | Size | Description -----------------+--------------------+-------------------+----------------------+-------------+---------+------------- @@ -2964,6 +3027,7 @@ \pset numericlocale true select n, -n as m, n * 111 as x, '1e90'::float8 as f from generate_series(0,3) n; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree n | m | x | f ---+----+-----+------- 0 | 0 | 0 | 1e+90 @@ -2978,6 +3042,9 @@ \pset border 1 \pset expanded off \d psql_serial_tab_id_seq +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 .Sequence "public.psql_serial_tab_id_seq" [options="header",cols="l,>l,>l,>l,l",frame="none"] @@ -2991,6 +3058,7 @@ .... \pset tuples_only true \df exp +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree [cols="\n' as "junk", ' ' as "empty", n as int from generate_series(1,2) as n; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree \pset expanded off execute q; "a""title",junk,empty,int @@ -3216,6 +3298,9 @@ \pset border 1 \pset expanded off \d psql_serial_tab_id_seq +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 @@ -3241,6 +3326,7 @@

\pset tuples_only true \df exp +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree
Sequence "public.psql_serial_tab_id_seq"
@@ -3261,6 +3347,9 @@ \pset tuples_only false \pset expanded on \d psql_serial_tab_id_seq +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
pg_catalog
@@ -3298,6 +3387,7 @@

\pset tuples_only true \df exp +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree
Sequence "public.psql_serial_tab_id_seq"
@@ -3350,6 +3440,7 @@ select 'some"text' as "a&title", E' \n' as "junk", ' ' as "empty", n as int from generate_series(1,2) as n; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree \pset expanded off \pset border 0 execute q; @@ -3567,6 +3658,9 @@ \pset border 1 \pset expanded off \d psql_serial_tab_id_seq +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 \begin{center} Sequence "public.psql\_serial\_tab\_id\_seq" \end{center} @@ -3581,6 +3675,7 @@ \pset tuples_only true \df exp +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree \begin{tabular}{l | l | l | l | l} pg\_catalog & exp & double precision & double precision & func \\ pg\_catalog & exp & numeric & numeric & func \\ @@ -3590,6 +3685,9 @@ \pset tuples_only false \pset expanded on \d psql_serial_tab_id_seq +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 \begin{center} Sequence "public.psql\_serial\_tab\_id\_seq" \end{center} @@ -3610,6 +3708,7 @@ \pset tuples_only true \df exp +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree \begin{tabular}{c|l} \hline Schema & pg\_catalog \\ @@ -3631,6 +3730,7 @@ select 'some\more_text' as "a$title", E' #%&^~|\n{bar}' as "junk", ' ' as "empty", n as int from generate_series(1,2) as n; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree \pset expanded off \pset border 0 execute q; @@ -3764,6 +3864,9 @@ \pset border 1 \pset expanded off \d psql_serial_tab_id_seq +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 \begin{longtable}{l | r | r | r | r | l | r} \small\textbf{\textit{Type}} & \small\textbf{\textit{Start}} & \small\textbf{\textit{Minimum}} & \small\textbf{\textit{Maximum}} & \small\textbf{\textit{Increment}} & \small\textbf{\textit{Cycles?}} & \small\textbf{\textit{Cache}} \\ \midrule @@ -3791,6 +3894,7 @@ \end{longtable} \pset tuples_only true \df exp +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree \begin{longtable}{l | l | l | l | l} \raggedright{pg\_catalog} & @@ -3814,6 +3918,9 @@ \pset tuples_only false \pset expanded on \d psql_serial_tab_id_seq +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 \begin{center} Sequence "public.psql\_serial\_tab\_id\_seq" \end{center} @@ -3834,6 +3941,7 @@ \pset tuples_only true \df exp +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree \begin{tabular}{c|l} \hline Schema & pg\_catalog \\ @@ -3855,6 +3963,7 @@ select 'some\more_text' as "a$title", E' #%&^~|\n{bar}' as "junk", ' ' as "empty", n as int from generate_series(1,2) as n; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree \pset expanded off \pset border 0 execute q; @@ -4102,6 +4211,9 @@ \pset border 1 \pset expanded off \d psql_serial_tab_id_seq +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 .LP .DS C Sequence "public.psql_serial_tab_id_seq" @@ -4119,6 +4231,7 @@ .DE \pset tuples_only true \df exp +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree .LP .TS center; @@ -4131,6 +4244,9 @@ \pset tuples_only false \pset expanded on \d psql_serial_tab_id_seq +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 .LP .DS C Sequence "public.psql_serial_tab_id_seq" @@ -4156,6 +4272,7 @@ .DE \pset tuples_only true \df exp +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree .LP .TS center; @@ -4180,6 +4297,7 @@ select 'some\text' as "a\title", E' \n' as "junk", ' ' as "empty", n as int from generate_series(1,2) as n; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree \pset expanded off \pset border 0 execute q; @@ -4637,6 +4755,7 @@ UNION SELECT 4 UNION SELECT 5 ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ?column? ---------- 3 @@ -4653,6 +4772,7 @@ -- tests for special result variables -- working query, 2 rows selected SELECT 1 AS stuff UNION SELECT 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree stuff ------- 1 @@ -4728,6 +4848,7 @@ \set VERBOSITY default -- working \gdesc SELECT 3 AS three, 4 AS four \gdesc +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Column | Type --------+--------- three | integer @@ -4829,6 +4950,7 @@ create index testpart_orange_index on testpart_orange(logdate); -- only partition related object should be displayed \dP test*apple* +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of partitioned relations Schema | Name | Owner | Type | Parent name | Table ----------+----------------------+---------------------------+-------------------+-------------+---------------- @@ -4837,6 +4959,7 @@ (2 rows) \dPt test*apple* +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of partitioned tables Schema | Name | Owner | Parent name ----------+----------------+---------------------------+------------- @@ -4844,6 +4967,7 @@ (1 row) \dPi test*apple* +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of partitioned indexes Schema | Name | Owner | Parent name | Table ----------+----------------------+---------------------------+-------------+---------------- @@ -4872,6 +4996,7 @@ for values from (35) to (40); insert into parent_tab values (generate_series(30,39)); \dPt +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of partitioned tables Schema | Name | Owner ----------+------------+--------------------------- @@ -4879,6 +5004,7 @@ (1 row) \dPi +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of partitioned indexes Schema | Name | Owner | Table ----------+--------------+---------------------------+------------ @@ -4886,6 +5012,7 @@ (1 row) \dP testpart.* +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of partitioned relations Schema | Name | Owner | Type | Parent name | Table ----------+--------------------+---------------------------+-------------------+--------------+------------- @@ -4896,6 +5023,7 @@ (4 rows) \dP +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of partitioned relations Schema | Name | Owner | Type | Table ----------+--------------+---------------------------+-------------------+------------ @@ -4904,6 +5032,7 @@ (2 rows) \dPtn +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of partitioned tables Schema | Name | Owner | Parent name ----------+-------------+---------------------------+------------- @@ -4912,6 +5041,7 @@ (2 rows) \dPin +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of partitioned indexes Schema | Name | Owner | Parent name | Table ----------+--------------------+---------------------------+--------------+------------- @@ -4920,6 +5050,7 @@ (2 rows) \dPn +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of partitioned relations Schema | Name | Owner | Type | Parent name | Table ----------+--------------------+---------------------------+-------------------+--------------+------------- @@ -4930,6 +5061,7 @@ (4 rows) \dPn testpart.* +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of partitioned relations Schema | Name | Owner | Type | Parent name | Table ----------+--------------------+---------------------------+-------------------+--------------+------------- @@ -4946,6 +5078,12 @@ drop role regress_partitioning_role; -- \d on toast table (use pg_statistic's toast table, which has a known name) \d pg_toast.pg_toast_2619 +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 TOAST table "pg_toast.pg_toast_2619" Column | Type ------------+--------- @@ -5051,6 +5189,7 @@ (0 rows) \dAc brin pg*.oid* +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of operator classes AM | Input type | Storage type | Operator class | Default? ------+------------+--------------+----------------------+---------- @@ -5060,6 +5199,7 @@ (3 rows) \dAf spgist +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of operator families AM | Operator family | Applicable types --------+-----------------+------------------ @@ -5073,6 +5213,7 @@ (7 rows) \dAf btree int4 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of operator families AM | Operator family | Applicable types -------+-----------------+--------------------------- @@ -5080,6 +5221,7 @@ (1 row) \dAo+ btree float_ops +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of operators of operator families AM | Operator family | Operator | Strategy | Purpose | Sort opfamily -------+-----------------+---------------------------------------+----------+---------+--------------- @@ -5106,6 +5248,7 @@ (20 rows) \dAo * pg_catalog.jsonb_path_ops +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of operators of operator families AM | Operator family | Operator | Strategy | Purpose -----+-----------------+--------------------+----------+--------- @@ -5115,6 +5258,7 @@ (3 rows) \dAp+ btree float_ops +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of support functions of operator families AM | Operator family | Registered left type | Registered right type | Number | Function -------+-----------------+----------------------+-----------------------+--------+------------------------------------------------------------------------------ @@ -5129,6 +5273,7 @@ (8 rows) \dAp * pg_catalog.uuid_ops +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of support functions of operator families AM | Operator family | Registered left type | Registered right type | Number | Function -------+-----------------+----------------------+-----------------------+--------+-------------------- @@ -5142,6 +5287,7 @@ -- check \dconfig set work_mem = 10240; \dconfig work_mem +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of configuration parameters Parameter | Value -----------+------- @@ -5149,6 +5295,7 @@ (1 row) \dconfig+ work* +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of configuration parameters Parameter | Value | Type | Context | Access privileges -----------+-------+---------+---------+------------------- @@ -5158,6 +5305,7 @@ reset work_mem; -- check \df, \do with argument specifications \df *sqrt +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of functions Schema | Name | Result data type | Argument data types | Type ------------+--------------+------------------+---------------------+------ @@ -5168,6 +5316,7 @@ (4 rows) \df *sqrt num* +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of functions Schema | Name | Result data type | Argument data types | Type ------------+--------------+------------------+---------------------+------ @@ -5176,6 +5325,7 @@ (2 rows) \df int*pl +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of functions Schema | Name | Result data type | Argument data types | Type ------------+-------------+------------------+---------------------+------ @@ -5192,6 +5342,7 @@ (10 rows) \df int*pl int4 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of functions Schema | Name | Result data type | Argument data types | Type ------------+---------+------------------+---------------------+------ @@ -5201,6 +5352,7 @@ (3 rows) \df int*pl * pg_catalog.int8 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of functions Schema | Name | Result data type | Argument data types | Type ------------+---------+------------------+---------------------+------ @@ -5210,6 +5362,7 @@ (3 rows) \df acl* aclitem[] +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of functions Schema | Name | Result data type | Argument data types | Type ------------+-------------+------------------+----------------------------------------------------------------------------------------------------+------ @@ -5220,6 +5373,7 @@ (4 rows) \df has_database_privilege oid text +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of functions Schema | Name | Result data type | Argument data types | Type ------------+------------------------+------------------+---------------------+------ @@ -5228,6 +5382,7 @@ (2 rows) \df has_database_privilege oid text - +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of functions Schema | Name | Result data type | Argument data types | Type ------------+------------------------+------------------+---------------------+------ @@ -5235,6 +5390,7 @@ (1 row) \dfa bit* small* +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of functions Schema | Name | Result data type | Argument data types | Type ------------+---------+------------------+---------------------+------ @@ -5244,6 +5400,7 @@ (3 rows) \df *._pg_expandarray +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of functions Schema | Name | Result data type | Argument data types | Type --------------------+-----------------+------------------+-------------------------------------------+------ @@ -5251,6 +5408,7 @@ (1 row) \do - pg_catalog.int4 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of operators Schema | Name | Left arg type | Right arg type | Result type | Description ------------+------+---------------+----------------+-------------+------------- @@ -5258,6 +5416,7 @@ (1 row) \do && anyarray * +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of operators Schema | Name | Left arg type | Right arg type | Result type | Description ------------+------+---------------+----------------+-------------+------------- @@ -5283,6 +5442,7 @@ as $$ begin return; end; $$; comment on function psql_df_plpgsql () is 'some comment'; \df+ psql_df_* +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of functions Schema | Name | Result data type | Argument data types | Type | Volatility | Parallel | Owner | Security | Access privileges | Language | Internal name | Description --------+------------------+------------------+---------------------+------+------------+----------+-------------------+----------+-------------------+----------+---------------+-------------- @@ -5520,6 +5680,7 @@ TRUNCATE psql_comics \; DROP TABLE psql_comics \; SELECT 'ok' AS "done" ; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree begin ------- ok @@ -5687,6 +5848,7 @@ CREATE TABLE foo(s TEXT) \; INSERT INTO foo(s) VALUES ('hello'), ('world') \; COMMIT; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree DROP TABLE foo \; ROLLBACK; -- table foo is still there @@ -5707,6 +5869,7 @@ CREATE TABLE foo(s TEXT) \; INSERT INTO foo(s) VALUES ('hello'), ('world') \; COMMIT; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree BEGIN \; DROP TABLE foo \; ROLLBACK \; @@ -5742,6 +5905,7 @@ ERROR: error oops! CONTEXT: PL/pgSQL function psql_error(text) line 3 at RAISE INSERT INTO bla VALUES ('Calvin'), ('Hobbes'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree COMMIT; SELECT * FROM bla ORDER BY 1; s @@ -6054,36 +6218,42 @@ (0 rows) \dt "no.such.table.relation" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of relations Schema | Name | Type | Owner --------+------+------+------- (0 rows) \da "no.such.aggregate.function" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of aggregate functions Schema | Name | Result data type | Argument data types | Description --------+------+------------------+---------------------+------------- (0 rows) \dAc "no.such.operator.class" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of operator classes AM | Input type | Storage type | Operator class | Default? ----+------------+--------------+----------------+---------- (0 rows) \dAf "no.such.operator.family" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of operator families AM | Operator family | Applicable types ----+-----------------+------------------ (0 rows) \dAo "no.such.operator.of.operator.family" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of operators of operator families AM | Operator family | Operator | Strategy | Purpose ----+-----------------+----------+----------+--------- (0 rows) \dAp "no.such.operator.support.function.of.operator.family" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of support functions of operator families AM | Operator family | Registered left type | Registered right type | Number | Function ----+-----------------+----------------------+-----------------------+--------+---------- @@ -6096,66 +6266,77 @@ (0 rows) \dc "no.such.conversion" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of conversions Schema | Name | Source | Destination | Default? --------+------+--------+-------------+---------- (0 rows) \dC "no.such.cast" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of casts Source type | Target type | Function | Implicit? -------------+-------------+----------+----------- (0 rows) \dd "no.such.object.description" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Object descriptions Schema | Name | Object | Description --------+------+--------+------------- (0 rows) \dD "no.such.domain" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of domains Schema | Name | Type | Collation | Nullable | Default | Check --------+------+------+-----------+----------+---------+------- (0 rows) \ddp "no.such.default.access.privilege" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Default access privileges Owner | Schema | Type | Access privileges -------+--------+------+------------------- (0 rows) \di "no.such.index.relation" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of relations Schema | Name | Type | Owner | Table --------+------+------+-------+------- (0 rows) \dm "no.such.materialized.view" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of relations Schema | Name | Type | Owner --------+------+------+------- (0 rows) \ds "no.such.relation" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of relations Schema | Name | Type | Owner --------+------+------+------- (0 rows) \dt "no.such.relation" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of relations Schema | Name | Type | Owner --------+------+------+------- (0 rows) \dv "no.such.relation" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of relations Schema | Name | Type | Owner --------+------+------+------- (0 rows) \des "no.such.foreign.server" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of foreign servers Name | Owner | Foreign-data wrapper ------+-------+---------------------- @@ -6168,53 +6349,62 @@ (0 rows) \df "no.such.function" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of functions Schema | Name | Result data type | Argument data types | Type --------+------+------------------+---------------------+------ (0 rows) \dF "no.such.text.search.configuration" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of text search configurations Schema | Name | Description --------+------+------------- (0 rows) \dFd "no.such.text.search.dictionary" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of text search dictionaries Schema | Name | Description --------+------+------------- (0 rows) \dFp "no.such.text.search.parser" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of text search parsers Schema | Name | Description --------+------+------------- (0 rows) \dFt "no.such.text.search.template" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of text search templates Schema | Name | Description --------+------+------------- (0 rows) \dg "no.such.role" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of roles Role name | Attributes -----------+------------ \dL "no.such.language" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of languages Name | Owner | Trusted | Description ------+-------+---------+------------- (0 rows) \dn "no.such.schema" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of schemas Name | Owner ------+------- (0 rows) \do "no.such.operator" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of operators Schema | Name | Left arg type | Right arg type | Result type | Description --------+------+---------------+----------------+-------------+------------- @@ -6227,18 +6417,21 @@ (0 rows) \dp "no.such.access.privilege" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Access privileges Schema | Name | Type | Access privileges | Column privileges | Policies --------+------+------+-------------------+-------------------+---------- (0 rows) \dP "no.such.partitioned.relation" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of partitioned relations Schema | Name | Owner | Type | Parent name | Table --------+------+-------+------+-------------+------- (0 rows) \drds "no.such.setting" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of settings Role | Database | Settings ------+----------+---------- @@ -6257,12 +6450,14 @@ (0 rows) \dT "no.such.data.type" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of data types Schema | Name | Description --------+------+------------- (0 rows) \dx "no.such.installed.extension" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of installed extensions Name | Version | Schema | Description ------+---------+--------+------------- @@ -6275,6 +6470,7 @@ (0 rows) \dy "no.such.event.trigger" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of event triggers Name | Event | Owner | Enabled | Function | Tags ------+-------+-------+---------+----------+------ @@ -6284,12 +6480,14 @@ \dA "no.such.schema"."no.such.access.method" improper qualified name (too many dotted names): "no.such.schema"."no.such.access.method" \dt "no.such.schema"."no.such.table.relation" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of relations Schema | Name | Type | Owner --------+------+------+------- (0 rows) \da "no.such.schema"."no.such.aggregate.function" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of aggregate functions Schema | Name | Result data type | Argument data types | Description --------+------+------------------+---------------------+------------- @@ -6306,60 +6504,70 @@ \db "no.such.schema"."no.such.tablespace" improper qualified name (too many dotted names): "no.such.schema"."no.such.tablespace" \dc "no.such.schema"."no.such.conversion" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of conversions Schema | Name | Source | Destination | Default? --------+------+--------+-------------+---------- (0 rows) \dC "no.such.schema"."no.such.cast" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of casts Source type | Target type | Function | Implicit? -------------+-------------+----------+----------- (0 rows) \dd "no.such.schema"."no.such.object.description" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Object descriptions Schema | Name | Object | Description --------+------+--------+------------- (0 rows) \dD "no.such.schema"."no.such.domain" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of domains Schema | Name | Type | Collation | Nullable | Default | Check --------+------+------+-----------+----------+---------+------- (0 rows) \ddp "no.such.schema"."no.such.default.access.privilege" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Default access privileges Owner | Schema | Type | Access privileges -------+--------+------+------------------- (0 rows) \di "no.such.schema"."no.such.index.relation" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of relations Schema | Name | Type | Owner | Table --------+------+------+-------+------- (0 rows) \dm "no.such.schema"."no.such.materialized.view" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of relations Schema | Name | Type | Owner --------+------+------+------- (0 rows) \ds "no.such.schema"."no.such.relation" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of relations Schema | Name | Type | Owner --------+------+------+------- (0 rows) \dt "no.such.schema"."no.such.relation" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of relations Schema | Name | Type | Owner --------+------+------+------- (0 rows) \dv "no.such.schema"."no.such.relation" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of relations Schema | Name | Type | Owner --------+------+------+------- @@ -6370,30 +6578,35 @@ \dew "no.such.schema"."no.such.foreign.data.wrapper" improper qualified name (too many dotted names): "no.such.schema"."no.such.foreign.data.wrapper" \df "no.such.schema"."no.such.function" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of functions Schema | Name | Result data type | Argument data types | Type --------+------+------------------+---------------------+------ (0 rows) \dF "no.such.schema"."no.such.text.search.configuration" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of text search configurations Schema | Name | Description --------+------+------------- (0 rows) \dFd "no.such.schema"."no.such.text.search.dictionary" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of text search dictionaries Schema | Name | Description --------+------+------------- (0 rows) \dFp "no.such.schema"."no.such.text.search.parser" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of text search parsers Schema | Name | Description --------+------+------------- (0 rows) \dFt "no.such.schema"."no.such.text.search.template" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of text search templates Schema | Name | Description --------+------+------------- @@ -6404,6 +6617,7 @@ \dL "no.such.schema"."no.such.language" cross-database references are not implemented: "no.such.schema"."no.such.language" \do "no.such.schema"."no.such.operator" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of operators Schema | Name | Left arg type | Right arg type | Result type | Description --------+------+---------------+----------------+-------------+------------- @@ -6416,12 +6630,14 @@ (0 rows) \dp "no.such.schema"."no.such.access.privilege" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Access privileges Schema | Name | Type | Access privileges | Column privileges | Policies --------+------+------+-------------------+-------------------+---------- (0 rows) \dP "no.such.schema"."no.such.partitioned.relation" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of partitioned relations Schema | Name | Owner | Type | Parent name | Table --------+------+-------+------+-------------+------- @@ -6434,6 +6650,7 @@ \dRs "no.such.schema"."no.such.subscription" improper qualified name (too many dotted names): "no.such.schema"."no.such.subscription" \dT "no.such.schema"."no.such.data.type" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of data types Schema | Name | Description --------+------+------------- @@ -6451,102 +6668,119 @@ improper qualified name (too many dotted names): "no.such.schema"."no.such.event.trigger" -- again, but with current database and dotted schema qualifications. \dt regression."no.such.schema"."no.such.table.relation" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of relations Schema | Name | Type | Owner --------+------+------+------- (0 rows) \da regression."no.such.schema"."no.such.aggregate.function" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of aggregate functions Schema | Name | Result data type | Argument data types | Description --------+------+------------------+---------------------+------------- (0 rows) \dc regression."no.such.schema"."no.such.conversion" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of conversions Schema | Name | Source | Destination | Default? --------+------+--------+-------------+---------- (0 rows) \dC regression."no.such.schema"."no.such.cast" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of casts Source type | Target type | Function | Implicit? -------------+-------------+----------+----------- (0 rows) \dd regression."no.such.schema"."no.such.object.description" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Object descriptions Schema | Name | Object | Description --------+------+--------+------------- (0 rows) \dD regression."no.such.schema"."no.such.domain" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of domains Schema | Name | Type | Collation | Nullable | Default | Check --------+------+------+-----------+----------+---------+------- (0 rows) \di regression."no.such.schema"."no.such.index.relation" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of relations Schema | Name | Type | Owner | Table --------+------+------+-------+------- (0 rows) \dm regression."no.such.schema"."no.such.materialized.view" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of relations Schema | Name | Type | Owner --------+------+------+------- (0 rows) \ds regression."no.such.schema"."no.such.relation" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of relations Schema | Name | Type | Owner --------+------+------+------- (0 rows) \dt regression."no.such.schema"."no.such.relation" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of relations Schema | Name | Type | Owner --------+------+------+------- (0 rows) \dv regression."no.such.schema"."no.such.relation" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of relations Schema | Name | Type | Owner --------+------+------+------- (0 rows) \df regression."no.such.schema"."no.such.function" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of functions Schema | Name | Result data type | Argument data types | Type --------+------+------------------+---------------------+------ (0 rows) \dF regression."no.such.schema"."no.such.text.search.configuration" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of text search configurations Schema | Name | Description --------+------+------------- (0 rows) \dFd regression."no.such.schema"."no.such.text.search.dictionary" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of text search dictionaries Schema | Name | Description --------+------+------------- (0 rows) \dFp regression."no.such.schema"."no.such.text.search.parser" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of text search parsers Schema | Name | Description --------+------+------------- (0 rows) \dFt regression."no.such.schema"."no.such.text.search.template" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of text search templates Schema | Name | Description --------+------+------------- (0 rows) \do regression."no.such.schema"."no.such.operator" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of operators Schema | Name | Left arg type | Right arg type | Result type | Description --------+------+---------------+----------------+-------------+------------- @@ -6559,18 +6793,21 @@ (0 rows) \dp regression."no.such.schema"."no.such.access.privilege" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Access privileges Schema | Name | Type | Access privileges | Column privileges | Policies --------+------+------+-------------------+-------------------+---------- (0 rows) \dP regression."no.such.schema"."no.such.partitioned.relation" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of partitioned relations Schema | Name | Owner | Type | Parent name | Table --------+------+-------+------+-------------+------- (0 rows) \dT regression."no.such.schema"."no.such.data.type" +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of data types Schema | Name | Description --------+------+------------- @@ -6645,6 +6882,7 @@ GRANT regress_du_role0 TO regress_du_role1 WITH ADMIN FALSE, INHERIT FALSE, SET TRUE GRANTED BY regress_du_role2; GRANT regress_du_role0 TO regress_du_role2 WITH ADMIN FALSE, INHERIT FALSE, SET FALSE GRANTED BY regress_du_role2; \drg regress_du_role* +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of role grants Role name | Member of | Options | Grantor ------------------+------------------+---------------------+------------------ @@ -6658,6 +6896,7 @@ (7 rows) \du regress_du_role* +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of roles Role name | Attributes ------------------+-------------- @@ -6677,6 +6916,7 @@ CREATE DOMAIN regress_zeropriv_domain AS int; REVOKE ALL ON DOMAIN regress_zeropriv_domain FROM CURRENT_USER, PUBLIC; \dD+ regress_zeropriv_domain +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of domains Schema | Name | Type | Collation | Nullable | Default | Check | Access privileges | Description --------+-------------------------+---------+-----------+----------+---------+-------+-------------------+------------- @@ -6686,6 +6926,7 @@ CREATE PROCEDURE regress_zeropriv_proc() LANGUAGE sql AS ''; REVOKE ALL ON PROCEDURE regress_zeropriv_proc() FROM CURRENT_USER, PUBLIC; \df+ regress_zeropriv_proc +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of functions Schema | Name | Result data type | Argument data types | Type | Volatility | Parallel | Owner | Security | Access privileges | Language | Internal name | Description --------+-----------------------+------------------+---------------------+------+------------+----------+------------------------+----------+-------------------+----------+---------------+------------- @@ -6695,6 +6936,7 @@ CREATE TABLE regress_zeropriv_tbl (a int); REVOKE ALL ON TABLE regress_zeropriv_tbl FROM CURRENT_USER; \dp regress_zeropriv_tbl +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Access privileges Schema | Name | Type | Access privileges | Column privileges | Policies --------+----------------------+-------+-------------------+-------------------+---------- @@ -6704,6 +6946,7 @@ CREATE TYPE regress_zeropriv_type AS (a int); REVOKE ALL ON TYPE regress_zeropriv_type FROM CURRENT_USER, PUBLIC; \dT+ regress_zeropriv_type +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of data types Schema | Name | Internal name | Size | Elements | Owner | Access privileges | Description --------+-----------------------+-----------------------+-------+----------+------------------------+-------------------+------------- @@ -6715,6 +6958,7 @@ CREATE TABLE defprivs (a int); \pset null '(default)' \z defprivs +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Access privileges Schema | Name | Type | Access privileges | Column privileges | Policies --------+----------+-------+-------------------+-------------------+---------- diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/psql_crosstab.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/psql_crosstab.out --- /tmp/cirrus-ci-build/src/test/regress/expected/psql_crosstab.out 2024-03-19 15:41:21.044346000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/psql_crosstab.out 2024-03-19 15:51:25.420526000 +0000 @@ -10,6 +10,7 @@ ('v0','h4','dbl', -3, '2014-12-15'), ('v0',NULL,'qux', 5, '2014-07-15'), ('v1','h2','quux',7, '2015-04-04'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- make plans more stable ANALYZE ctv_data; -- running \crosstabview after query uses query in buffer @@ -196,6 +197,7 @@ -- error: too many columns SELECT a,a,1 FROM generate_series(1,3000) AS a \crosstabview +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree \crosstabview: maximum number of columns (1600) exceeded -- error: only one column SELECT 1 \crosstabview @@ -204,6 +206,7 @@ -- check error reporting (bug #14476) CREATE TABLE ctv_data (x int, y int, v text); INSERT INTO ctv_data SELECT 1, x, '*' || x FROM generate_series(1,10) x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM ctv_data \crosstabview x | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 ---+----+----+----+----+----+----+----+----+----+----- diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/amutils.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/amutils.out --- /tmp/cirrus-ci-build/src/test/regress/expected/amutils.out 2024-03-19 15:41:21.016880000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/amutils.out 2024-03-19 15:51:25.405878000 +0000 @@ -17,6 +17,7 @@ with ordinality as u(prop,ord) where a.amname = 'btree' order by ord; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree prop | AM | Index | Column --------------------+----+-------+-------- asc | | | t @@ -56,6 +57,7 @@ with ordinality as u(prop,ord) where a.amname = 'gist' order by ord; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree prop | AM | Index | Column --------------------+----+-------+-------- asc | | | f @@ -93,6 +95,7 @@ 'bogus']::text[]) with ordinality as u(prop,ord) order by ord; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree prop | btree | hash | gist | spgist_radix | spgist_quad | gin | brin --------------------+-------+------+------+--------------+-------------+-----+------ asc | t | f | f | f | f | f | f @@ -119,6 +122,7 @@ 'bogus']::text[]) with ordinality as u(prop,ord) order by ord; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree prop | btree | hash | gist | spgist | gin | brin ---------------+-------+------+------+--------+-----+------ clusterable | t | f | t | f | f | f @@ -135,6 +139,7 @@ with ordinality as u(prop,ord) where amtype = 'i' order by amname, ord; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree amname | prop | p --------+---------------+--- brin | can_order | f @@ -187,6 +192,7 @@ (6, 'bogus')) v2(idx,prop), generate_series(1,4) col order by col, idx; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree col | prop | pg_index_column_has_property -----+-------------+------------------------------ 1 | orderable | t @@ -224,6 +230,7 @@ (8, 'bogus')) v2(idx,prop), generate_series(1,3) col order by col, idx; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree col | prop | pg_index_column_has_property -----+--------------------+------------------------------ 1 | orderable | t diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/stats_ext.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/stats_ext.out --- /tmp/cirrus-ci-build/src/test/regress/expected/stats_ext.out 2024-03-19 15:41:21.045775000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/stats_ext.out 2024-03-19 15:51:26.965483000 +0000 @@ -99,6 +99,10 @@ CREATE STATISTICS ab1_b_a_stats ON b, a FROM ab1; ALTER TABLE ab1 DROP COLUMN a; \d ab1 +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 Table "public.ab1" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -124,6 +128,7 @@ CREATE TABLE ab1 (a INTEGER, b INTEGER); ALTER TABLE ab1 ALTER a SET STATISTICS 0; INSERT INTO ab1 SELECT a, a%23 FROM generate_series(1, 1000) a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE STATISTICS ab1_a_b_stats ON a, b FROM ab1; ANALYZE ab1; WARNING: statistics object "public.ab1_a_b_stats" could not be computed for relation "public.ab1" @@ -131,6 +136,10 @@ -- setting statistics target 0 skips the statistics, without printing any message, so check catalog ALTER STATISTICS ab1_a_b_stats SET STATISTICS 0; \d ab1 +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 Table "public.ab1" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -143,6 +152,7 @@ SELECT stxname, stxdndistinct, stxddependencies, stxdmcv, stxdinherit FROM pg_statistic_ext s LEFT JOIN pg_statistic_ext_data d ON (d.stxoid = s.oid) WHERE s.stxname = 'ab1_a_b_stats'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree stxname | stxdndistinct | stxddependencies | stxdmcv | stxdinherit ---------------+---------------+------------------+---------+------------- ab1_a_b_stats | | | | @@ -150,6 +160,11 @@ ALTER STATISTICS ab1_a_b_stats SET STATISTICS -1; \d+ ab1 +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 Table "public.ab1" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- @@ -180,18 +195,23 @@ CREATE TABLE stxdinh1() INHERITS(stxdinh); CREATE TABLE stxdinh2() INHERITS(stxdinh); INSERT INTO stxdinh SELECT mod(a,50), mod(a,100) FROM generate_series(0, 1999) a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO stxdinh1 SELECT mod(a,100), mod(a,100) FROM generate_series(0, 999) a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO stxdinh2 SELECT mod(a,100), mod(a,100) FROM generate_series(0, 999) a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree VACUUM ANALYZE stxdinh, stxdinh1, stxdinh2; -- Ensure non-inherited stats are not applied to inherited query -- Without stats object, it looks like this SELECT * FROM check_estimated_rows('SELECT a, b FROM stxdinh* GROUP BY 1, 2'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 400 | 150 (1 row) SELECT * FROM check_estimated_rows('SELECT a, b FROM stxdinh* WHERE a = 0 AND b = 0'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 3 | 40 @@ -201,6 +221,7 @@ VACUUM ANALYZE stxdinh, stxdinh1, stxdinh2; -- See if the extended stats affect the estimates SELECT * FROM check_estimated_rows('SELECT a, b FROM stxdinh* GROUP BY 1, 2'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 150 | 150 @@ -209,6 +230,7 @@ -- Dependencies are applied at individual relations (within append), so -- this estimate changes a bit because we improve estimates for the parent SELECT * FROM check_estimated_rows('SELECT a, b FROM stxdinh* WHERE a = 0 AND b = 0'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 22 | 40 @@ -216,12 +238,14 @@ -- Ensure correct (non-inherited) stats are applied to inherited query SELECT * FROM check_estimated_rows('SELECT a, b FROM ONLY stxdinh GROUP BY 1, 2'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 100 | 100 (1 row) SELECT * FROM check_estimated_rows('SELECT a, b FROM ONLY stxdinh WHERE a = 0 AND b = 0'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 20 | 20 @@ -232,6 +256,7 @@ CREATE TABLE stxdinp(i int, a int, b int) PARTITION BY RANGE (i); CREATE TABLE stxdinp1 PARTITION OF stxdinp FOR VALUES FROM (1) TO (100); INSERT INTO stxdinp SELECT 1, a/100, a/100 FROM generate_series(1, 999) a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE STATISTICS stxdinp ON (a + 1), a, b FROM stxdinp; VACUUM ANALYZE stxdinp; -- partitions are processed recursively SELECT 1 FROM pg_statistic_ext WHERE stxrelid = 'stxdinp'::regclass; @@ -241,12 +266,14 @@ (1 row) SELECT * FROM check_estimated_rows('SELECT a, b FROM stxdinp GROUP BY 1, 2'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 10 | 10 (1 row) SELECT * FROM check_estimated_rows('SELECT a + 1, b FROM ONLY stxdinp GROUP BY 1, 2'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 0 @@ -286,9 +313,11 @@ '2020-10-01'::timestamp + x * interval '1 day', '2020-10-01'::timestamptz + x * interval '1 day' FROM generate_series(1, 100) x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE ab1; -- apply some stats SELECT * FROM check_estimated_rows('SELECT * FROM ab1 WHERE (case a when 1 then true else false end) AND b=2'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 0 @@ -361,57 +390,67 @@ INSERT INTO ndistinct (a, b, c, filler1) SELECT i/100, i/100, i/100, (i/100) || ' dollars and zero cents' FROM generate_series(1,1000) s(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE ndistinct; -- Group Aggregate, due to over-estimate of the number of groups SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 100 | 11 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY b, c'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 100 | 11 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b, c'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 100 | 11 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b, c, d'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 200 | 11 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY b, c, d'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 200 | 11 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b, (a+1)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 100 | 11 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a+1), (b+100)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 100 | 11 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a+1), (b+100), (2*c)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 100 | 11 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, (a+1), (b+100)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 100 | 11 @@ -431,6 +470,7 @@ -- minor improvement, make sure the ctid does not break the matching SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY ctid, a, b'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1000 | 1000 @@ -438,18 +478,21 @@ -- Hash Aggregate, thanks to estimates improved by the statistic SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 11 | 11 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY b, c'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 11 | 11 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b, c'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 11 | 11 @@ -457,6 +500,7 @@ -- partial improvement (match on attributes) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b, (a+1)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 11 | 11 @@ -464,18 +508,21 @@ -- expressions - no improvement SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a+1), (b+100)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 11 | 11 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a+1), (b+100), (2*c)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 11 | 11 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, (a+1), (b+100)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 11 | 11 @@ -484,12 +531,14 @@ -- last two plans keep using Group Aggregate, because 'd' is not covered -- by the statistic and while it's NULL-only we assume 200 values for it SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b, c, d'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 200 | 11 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY b, c, d'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 200 | 11 @@ -501,6 +550,7 @@ SELECT mod(i,13), mod(i,17), mod(i,19), mod(i,23) || ' dollars and zero cents' FROM generate_series(1,1000) s(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE ndistinct; SELECT s.stxkind, d.stxdndistinct FROM pg_statistic_ext s, pg_statistic_ext_data d @@ -513,54 +563,63 @@ -- correct estimates SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 221 | 221 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b, c'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1000 | 1000 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b, c, d'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1000 | 1000 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY b, c, d'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 323 | 323 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, d'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 200 | 13 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b, (a+1)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 221 | 221 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a+1), (b+100)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 221 | 221 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a+1), (b+100), (2*c)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1000 | 1000 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, (a+1), (b+100)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 221 | 221 @@ -577,54 +636,63 @@ -- dropping the statistics results in under-estimates SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 100 | 221 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b, c'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 100 | 1000 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b, c, d'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 200 | 1000 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY b, c, d'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 200 | 323 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, d'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 200 | 13 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b, (a+1)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 100 | 221 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a+1), (b+100)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 100 | 221 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a+1), (b+100), (2*c)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 100 | 1000 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, (a+1), (b+100)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 100 | 221 @@ -632,18 +700,21 @@ -- ndistinct estimates with statistics on expressions SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a+1), (b+100)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 100 | 221 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a+1), (b+100), (2*c)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 100 | 1000 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, (a+1), (b+100)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 100 | 221 @@ -661,18 +732,21 @@ (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a+1), (b+100)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 221 | 221 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a+1), (b+100), (2*c)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1000 | 1000 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, (a+1), (b+100)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 221 | 221 @@ -681,18 +755,21 @@ DROP STATISTICS s10; -- a mix of attributes and expressions SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 100 | 221 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, (2*c)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 100 | 247 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b, (2*c)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 100 | 1000 @@ -710,18 +787,21 @@ (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 221 | 221 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, (2*c)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 247 | 247 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b, (2*c)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1000 | 1000 @@ -734,44 +814,52 @@ INSERT INTO ndistinct (a, b, c, d) SELECT mod(i,3), mod(i,9), mod(i,5), mod(i,20) FROM generate_series(1,1000) s(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE ndistinct; SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 27 | 9 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, (b+1)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 27 | 9 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a*5), b'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 27 | 9 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a*5), (b+1)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 27 | 9 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a*5), (b+1), c'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 100 | 45 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b, (c*10)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 100 | 45 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, (b+1), c, (d - 1)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 100 | 180 @@ -782,42 +870,49 @@ CREATE STATISTICS s12 (ndistinct) ON c, d FROM ndistinct; ANALYZE ndistinct; SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 9 | 9 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, (b+1)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 9 | 9 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a*5), b'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 9 | 9 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a*5), (b+1)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 9 | 9 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a*5), (b+1), c'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 45 | 45 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b, (c*10)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 45 | 45 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, (b+1), c, (d - 1)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 100 | 180 @@ -828,42 +923,49 @@ CREATE STATISTICS s12 (ndistinct) ON (c * 10), (d - 1) FROM ndistinct; ANALYZE ndistinct; SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 9 | 9 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, (b+1)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 9 | 9 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a*5), b'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 9 | 9 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a*5), (b+1)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 9 | 9 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a*5), (b+1), c'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 45 | 45 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b, (c*10)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 45 | 45 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, (b+1), c, (d - 1)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 100 | 180 @@ -874,42 +976,49 @@ CREATE STATISTICS s12 (ndistinct) ON c, d, (c * 10), (d - 1) FROM ndistinct; ANALYZE ndistinct; SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 9 | 9 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, (b+1)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 9 | 9 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a*5), b'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 9 | 9 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a*5), (b+1)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 9 | 9 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a*5), (b+1), c'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 45 | 45 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b, (c*10)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 45 | 45 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, (b+1), c, (d - 1)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 100 | 180 @@ -920,42 +1029,49 @@ CREATE STATISTICS s11 (ndistinct) ON a, b, (a*5), (b+1) FROM ndistinct; ANALYZE ndistinct; SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 9 | 9 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, (b+1)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 9 | 9 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a*5), b'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 9 | 9 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a*5), (b+1)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 9 | 9 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a*5), (b+1), c'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 45 | 45 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b, (c*10)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 45 | 45 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, (b+1), c, (d - 1)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 100 | 180 @@ -970,42 +1086,49 @@ CREATE STATISTICS s12 (ndistinct) ON a, (b+1), (c * 10) FROM ndistinct; ANALYZE ndistinct; SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 9 | 9 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, (b+1)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 9 | 9 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a*5), b'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 9 | 9 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a*5), (b+1)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 9 | 9 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY (a*5), (b+1), c'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 45 | 45 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, b, (c*10)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 100 | 45 (1 row) SELECT * FROM check_estimated_rows('SELECT COUNT(*) FROM ndistinct GROUP BY a, (b+1), c, (d - 1)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 100 | 180 @@ -1029,14 +1152,17 @@ -- random data (no functional dependencies) INSERT INTO functional_dependencies (a, b, c, filler1) SELECT mod(i, 5), mod(i, 7), mod(i, 11), i FROM generate_series(1,1000) s(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE functional_dependencies; SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a = 1 AND b = ''1'''); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 29 | 29 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a = 1 AND b = ''1'' AND c = 1'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 3 | 3 @@ -1046,12 +1172,14 @@ CREATE STATISTICS func_deps_stat (dependencies) ON a, b, c FROM functional_dependencies; ANALYZE functional_dependencies; SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a = 1 AND b = ''1'''); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 29 | 29 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a = 1 AND b = ''1'' AND c = 1'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 3 | 3 @@ -1063,14 +1191,17 @@ -- now do the same thing, but with expressions INSERT INTO functional_dependencies (a, b, c, filler1) SELECT i, i, i, i FROM generate_series(1,5000) s(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE functional_dependencies; SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE mod(a, 11) = 1 AND mod(b::int, 13) = 1'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 35 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE mod(a, 11) = 1 AND mod(b::int, 13) = 1 AND mod(c, 7) = 1'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 5 @@ -1080,12 +1211,14 @@ CREATE STATISTICS func_deps_stat (dependencies) ON (mod(a,11)), (mod(b::int, 13)), (mod(c, 7)) FROM functional_dependencies; ANALYZE functional_dependencies; SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE mod(a, 11) = 1 AND mod(b::int, 13) = 1'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 35 | 35 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE mod(a, 11) = 1 AND mod(b::int, 13) = 1 AND mod(c, 7) = 1'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 5 | 5 @@ -1096,14 +1229,17 @@ DROP STATISTICS func_deps_stat; INSERT INTO functional_dependencies (a, b, c, filler1) SELECT mod(i,100), mod(i,50), mod(i,25), i FROM generate_series(1,5000) s(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE functional_dependencies; SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a = 1 AND b = ''1'''); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 50 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a = 1 AND b = ''1'' AND c = 1'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 50 @@ -1111,42 +1247,49 @@ -- IN SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a IN (1, 51) AND b = ''1'''); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 2 | 100 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a IN (1, 51) AND b IN (''1'', ''2'')'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 4 | 100 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a IN (1, 2, 51, 52) AND b IN (''1'', ''2'')'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 8 | 200 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a IN (1, 2, 51, 52) AND b = ''1'''); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 4 | 100 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a IN (1, 26, 51, 76) AND b IN (''1'', ''26'') AND c = 1'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 200 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a IN (1, 26, 51, 76) AND b IN (''1'', ''26'') AND c IN (1)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 200 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a IN (1, 2, 26, 27, 51, 52, 76, 77) AND b IN (''1'', ''2'', ''26'', ''27'') AND c IN (1, 2)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 3 | 400 @@ -1154,18 +1297,21 @@ -- OR clauses referencing the same attribute SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a = 1 OR a = 51) AND b = ''1'''); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 2 | 100 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a = 1 OR a = 51) AND (b = ''1'' OR b = ''2'')'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 4 | 100 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a = 1 OR a = 2 OR a = 51 OR a = 52) AND (b = ''1'' OR b = ''2'')'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 8 | 200 @@ -1173,6 +1319,7 @@ -- OR clauses referencing different attributes SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a = 1 OR b = ''1'') AND b = ''1'''); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 3 | 100 @@ -1180,36 +1327,42 @@ -- ANY SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a = ANY (ARRAY[1, 51]) AND b = ''1'''); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 2 | 100 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a = ANY (ARRAY[1, 51]) AND b = ANY (ARRAY[''1'', ''2''])'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 4 | 100 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a = ANY (ARRAY[1, 2, 51, 52]) AND b = ANY (ARRAY[''1'', ''2''])'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 8 | 200 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a = ANY (ARRAY[1, 26, 51, 76]) AND b = ANY (ARRAY[''1'', ''26'']) AND c = 1'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 200 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a = ANY (ARRAY[1, 26, 51, 76]) AND b = ANY (ARRAY[''1'', ''26'']) AND c = ANY (ARRAY[1])'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 200 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a = ANY (ARRAY[1, 2, 26, 27, 51, 52, 76, 77]) AND b = ANY (ARRAY[''1'', ''2'', ''26'', ''27'']) AND c = ANY (ARRAY[1, 2])'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 3 | 400 @@ -1217,18 +1370,21 @@ -- ANY with inequalities should not benefit from functional dependencies SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a < ANY (ARRAY[1, 51]) AND b > ''1'''); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 2472 | 2400 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a >= ANY (ARRAY[1, 51]) AND b <= ANY (ARRAY[''1'', ''2''])'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1441 | 1250 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a <= ANY (ARRAY[1, 2, 51, 52]) AND b >= ANY (ARRAY[''1'', ''2''])'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 3909 | 2550 @@ -1236,18 +1392,21 @@ -- ALL (should not benefit from functional dependencies) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a IN (1, 51) AND b = ALL (ARRAY[''1''])'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 2 | 100 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a IN (1, 51) AND b = ALL (ARRAY[''1'', ''2''])'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 0 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a IN (1, 2, 51, 52) AND b = ALL (ARRAY[''1'', ''2''])'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 0 @@ -1258,18 +1417,21 @@ ANALYZE functional_dependencies; -- print the detected dependencies SELECT dependencies FROM pg_stats_ext WHERE statistics_name = 'func_deps_stat'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree dependencies ------------------------------------------------------------------------------------------------------------ {"3 => 4": 1.000000, "3 => 6": 1.000000, "4 => 6": 1.000000, "3, 4 => 6": 1.000000, "3, 6 => 4": 1.000000} (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a = 1 AND b = ''1'''); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 50 | 50 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a = 1 AND b = ''1'' AND c = 1'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 50 | 50 @@ -1277,42 +1439,49 @@ -- IN SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a IN (1, 51) AND b = ''1'''); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 100 | 100 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a IN (1, 51) AND b IN (''1'', ''2'')'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 100 | 100 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a IN (1, 2, 51, 52) AND b IN (''1'', ''2'')'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 200 | 200 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a IN (1, 2, 51, 52) AND b = ''1'''); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 100 | 100 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a IN (1, 26, 51, 76) AND b IN (''1'', ''26'') AND c = 1'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 200 | 200 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a IN (1, 26, 51, 76) AND b IN (''1'', ''26'') AND c IN (1)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 200 | 200 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a IN (1, 2, 26, 27, 51, 52, 76, 77) AND b IN (''1'', ''2'', ''26'', ''27'') AND c IN (1, 2)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 400 | 400 @@ -1320,18 +1489,21 @@ -- OR clauses referencing the same attribute SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a = 1 OR a = 51) AND b = ''1'''); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 99 | 100 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a = 1 OR a = 51) AND (b = ''1'' OR b = ''2'')'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 99 | 100 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a = 1 OR a = 2 OR a = 51 OR a = 52) AND (b = ''1'' OR b = ''2'')'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 197 | 200 @@ -1339,6 +1511,7 @@ -- OR clauses referencing different attributes are incompatible SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a = 1 OR b = ''1'') AND b = ''1'''); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 3 | 100 @@ -1346,36 +1519,42 @@ -- ANY SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a = ANY (ARRAY[1, 51]) AND b = ''1'''); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 100 | 100 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a = ANY (ARRAY[1, 51]) AND b = ANY (ARRAY[''1'', ''2''])'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 100 | 100 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a = ANY (ARRAY[1, 2, 51, 52]) AND b = ANY (ARRAY[''1'', ''2''])'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 200 | 200 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a = ANY (ARRAY[1, 26, 51, 76]) AND b = ANY (ARRAY[''1'', ''26'']) AND c = 1'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 200 | 200 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a = ANY (ARRAY[1, 26, 51, 76]) AND b = ANY (ARRAY[''1'', ''26'']) AND c = ANY (ARRAY[1])'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 200 | 200 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a = ANY (ARRAY[1, 2, 26, 27, 51, 52, 76, 77]) AND b = ANY (ARRAY[''1'', ''2'', ''26'', ''27'']) AND c = ANY (ARRAY[1, 2])'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 400 | 400 @@ -1383,18 +1562,21 @@ -- ANY with inequalities should not benefit from functional dependencies SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a < ANY (ARRAY[1, 51]) AND b > ''1'''); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 2472 | 2400 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a >= ANY (ARRAY[1, 51]) AND b <= ANY (ARRAY[''1'', ''2''])'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1441 | 1250 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a <= ANY (ARRAY[1, 2, 51, 52]) AND b >= ANY (ARRAY[''1'', ''2''])'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 3909 | 2550 @@ -1402,18 +1584,21 @@ -- ALL (should not benefit from functional dependencies) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a IN (1, 51) AND b = ALL (ARRAY[''1''])'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 2 | 100 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a IN (1, 51) AND b = ALL (ARRAY[''1'', ''2''])'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 0 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a IN (1, 2, 51, 52) AND b = ALL (ARRAY[''1'', ''2''])'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 0 @@ -1424,6 +1609,7 @@ -- condition ALTER TABLE functional_dependencies ALTER COLUMN c TYPE numeric; SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a = 1 AND b = ''1'' AND c = 1'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 50 @@ -1431,6 +1617,7 @@ ANALYZE functional_dependencies; SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE a = 1 AND b = ''1'' AND c = 1'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 50 | 50 @@ -1439,12 +1626,14 @@ DROP STATISTICS func_deps_stat; -- now try functional dependencies with expressions SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) = 2 AND upper(b) = ''1'''); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 50 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) = 2 AND upper(b) = ''1'' AND (c + 1) = 2'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 50 @@ -1452,42 +1641,49 @@ -- IN SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) IN (2, 102) AND upper(b) = ''1'''); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 100 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) IN (2, 102) AND upper(b) IN (''1'', ''2'')'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 100 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) IN (2, 4, 102, 104) AND upper(b) IN (''1'', ''2'')'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 200 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) IN (2, 4, 102, 104) AND upper(b) = ''1'''); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 100 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) IN (2, 52, 102, 152) AND upper(b) IN (''1'', ''26'') AND (c + 1) = 2'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 200 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) IN (2, 52, 102, 152) AND upper(b) IN (''1'', ''26'') AND (c + 1) IN (2)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 200 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) IN (2, 4, 52, 54, 102, 104, 152, 154) AND upper(b) IN (''1'', ''2'', ''26'', ''27'') AND (c + 1) IN (2, 3)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 400 @@ -1495,18 +1691,21 @@ -- OR clauses referencing the same attribute SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE ((a * 2) = 2 OR (a * 2) = 102) AND upper(b) = ''1'''); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 100 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE ((a * 2) = 2 OR (a * 2) = 102) AND (upper(b) = ''1'' OR upper(b) = ''2'')'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 100 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE ((a * 2) = 2 OR (a * 2) = 4 OR (a * 2) = 102 OR (a * 2) = 104) AND (upper(b) = ''1'' OR upper(b) = ''2'')'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 200 @@ -1514,6 +1713,7 @@ -- OR clauses referencing different attributes SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE ((a * 2) = 2 OR upper(b) = ''1'') AND upper(b) = ''1'''); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 100 @@ -1521,36 +1721,42 @@ -- ANY SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) = ANY (ARRAY[2, 102]) AND upper(b) = ''1'''); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 100 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) = ANY (ARRAY[2, 102]) AND upper(b) = ANY (ARRAY[''1'', ''2''])'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 100 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) = ANY (ARRAY[2, 4, 102, 104]) AND upper(b) = ANY (ARRAY[''1'', ''2''])'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 200 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) = ANY (ARRAY[2, 52, 102, 152]) AND upper(b) = ANY (ARRAY[''1'', ''26'']) AND (c + 1) = 2'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 200 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) = ANY (ARRAY[2, 52, 102, 152]) AND upper(b) = ANY (ARRAY[''1'', ''26'']) AND (c + 1) = ANY (ARRAY[2])'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 200 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) = ANY (ARRAY[2, 4, 52, 54, 102, 104, 152, 154]) AND upper(b) = ANY (ARRAY[''1'', ''2'', ''26'', ''27'']) AND (c + 1) = ANY (ARRAY[2, 3])'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 400 @@ -1559,18 +1765,21 @@ -- ANY with inequalities should not benefit from functional dependencies -- the estimates however improve thanks to having expression statistics SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) < ANY (ARRAY[2, 102]) AND upper(b) > ''1'''); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 926 | 2400 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) >= ANY (ARRAY[2, 102]) AND upper(b) <= ANY (ARRAY[''1'', ''2''])'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1543 | 1250 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) <= ANY (ARRAY[2, 4, 102, 104]) AND upper(b) >= ANY (ARRAY[''1'', ''2''])'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 2229 | 2550 @@ -1578,18 +1787,21 @@ -- ALL (should not benefit from functional dependencies) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) IN (2, 102) AND upper(b) = ALL (ARRAY[''1''])'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 100 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) IN (2, 102) AND upper(b) = ALL (ARRAY[''1'', ''2''])'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 0 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) IN (2, 4, 102, 104) AND upper(b) = ALL (ARRAY[''1'', ''2''])'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 0 @@ -1600,18 +1812,21 @@ ANALYZE functional_dependencies; -- print the detected dependencies SELECT dependencies FROM pg_stats_ext WHERE statistics_name = 'func_deps_stat'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree dependencies ------------------------------------------------------------------------------------------------------------------------ {"-1 => -2": 1.000000, "-1 => -3": 1.000000, "-2 => -3": 1.000000, "-1, -2 => -3": 1.000000, "-1, -3 => -2": 1.000000} (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) = 2 AND upper(b) = ''1'''); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 50 | 50 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) = 2 AND upper(b) = ''1'' AND (c + 1) = 2'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 50 | 50 @@ -1619,42 +1834,49 @@ -- IN SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) IN (2, 102) AND upper(b) = ''1'''); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 100 | 100 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) IN (2, 102) AND upper(b) IN (''1'', ''2'')'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 100 | 100 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) IN (2, 4, 102, 104) AND upper(b) IN (''1'', ''2'')'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 200 | 200 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) IN (2, 4, 102, 104) AND upper(b) = ''1'''); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 100 | 100 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) IN (2, 52, 102, 152) AND upper(b) IN (''1'', ''26'') AND (c + 1) = 2'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 200 | 200 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) IN (2, 52, 102, 152) AND upper(b) IN (''1'', ''26'') AND (c + 1) IN (2)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 200 | 200 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) IN (2, 4, 52, 54, 102, 104, 152, 154) AND upper(b) IN (''1'', ''2'', ''26'', ''27'') AND (c + 1) IN (2, 3)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 400 | 400 @@ -1662,18 +1884,21 @@ -- OR clauses referencing the same attribute SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE ((a * 2) = 2 OR (a * 2) = 102) AND upper(b) = ''1'''); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 99 | 100 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE ((a * 2) = 2 OR (a * 2) = 102) AND (upper(b) = ''1'' OR upper(b) = ''2'')'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 99 | 100 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE ((a * 2) = 2 OR (a * 2) = 4 OR (a * 2) = 102 OR (a * 2) = 104) AND (upper(b) = ''1'' OR upper(b) = ''2'')'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 197 | 200 @@ -1681,6 +1906,7 @@ -- OR clauses referencing different attributes SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE ((a * 2) = 2 OR upper(b) = ''1'') AND upper(b) = ''1'''); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 3 | 100 @@ -1688,36 +1914,42 @@ -- ANY SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) = ANY (ARRAY[2, 102]) AND upper(b) = ''1'''); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 100 | 100 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) = ANY (ARRAY[2, 102]) AND upper(b) = ANY (ARRAY[''1'', ''2''])'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 100 | 100 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) = ANY (ARRAY[2, 4, 102, 104]) AND upper(b) = ANY (ARRAY[''1'', ''2''])'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 200 | 200 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) = ANY (ARRAY[2, 52, 102, 152]) AND upper(b) = ANY (ARRAY[''1'', ''26'']) AND (c + 1) = 2'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 200 | 200 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) = ANY (ARRAY[2, 52, 102, 152]) AND upper(b) = ANY (ARRAY[''1'', ''26'']) AND (c + 1) = ANY (ARRAY[2])'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 200 | 200 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) = ANY (ARRAY[2, 4, 52, 54, 102, 104, 152, 154]) AND upper(b) = ANY (ARRAY[''1'', ''2'', ''26'', ''27'']) AND (c + 1) = ANY (ARRAY[2, 3])'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 400 | 400 @@ -1726,18 +1958,21 @@ -- ANY with inequalities should not benefit from functional dependencies -- the estimates however improve thanks to having expression statistics SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) < ANY (ARRAY[2, 102]) AND upper(b) > ''1'''); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 2472 | 2400 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) >= ANY (ARRAY[2, 102]) AND upper(b) <= ANY (ARRAY[''1'', ''2''])'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1441 | 1250 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) <= ANY (ARRAY[2, 4, 102, 104]) AND upper(b) >= ANY (ARRAY[''1'', ''2''])'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 3909 | 2550 @@ -1745,18 +1980,21 @@ -- ALL (should not benefit from functional dependencies) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) IN (2, 102) AND upper(b) = ALL (ARRAY[''1''])'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 2 | 100 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) IN (2, 102) AND upper(b) = ALL (ARRAY[''1'', ''2''])'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 0 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies WHERE (a * 2) IN (2, 4, 102, 104) AND upper(b) = ALL (ARRAY[''1'', ''2''])'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 0 @@ -1777,33 +2015,39 @@ mod(i,11), mod(i,11) FROM generate_series(1,5000) s(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE functional_dependencies_multi; -- estimates without any functional dependencies SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies_multi WHERE a = 0 AND b = 0'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 102 | 714 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies_multi WHERE 0 = a AND 0 = b'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 102 | 714 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies_multi WHERE c = 0 AND d = 0'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 41 | 454 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies_multi WHERE a = 0 AND b = 0 AND c = 0 AND d = 0'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 64 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies_multi WHERE 0 = a AND b = 0 AND 0 = c AND d = 0'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 64 @@ -1814,30 +2058,35 @@ CREATE STATISTICS functional_dependencies_multi_2 (dependencies) ON c, d FROM functional_dependencies_multi; ANALYZE functional_dependencies_multi; SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies_multi WHERE a = 0 AND b = 0'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 714 | 714 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies_multi WHERE 0 = a AND 0 = b'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 714 | 714 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies_multi WHERE c = 0 AND d = 0'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 454 | 454 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies_multi WHERE a = 0 AND b = 0 AND c = 0 AND d = 0'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 65 | 64 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM functional_dependencies_multi WHERE 0 = a AND b = 0 AND 0 = c AND d = 0'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 65 | 64 @@ -1859,14 +2108,17 @@ -- random data (no MCV list) INSERT INTO mcv_lists (a, b, c, filler1) SELECT mod(i,37), mod(i,41), mod(i,43), mod(i,47) FROM generate_series(1,5000) s(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE mcv_lists; SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a = 1 AND b = ''1'''); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 3 | 4 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a = 1 AND b = ''1'' AND c = 1'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 1 @@ -1876,12 +2128,14 @@ CREATE STATISTICS mcv_lists_stats (mcv) ON a, b, c FROM mcv_lists; ANALYZE mcv_lists; SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a = 1 AND b = ''1'''); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 3 | 4 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a = 1 AND b = ''1'' AND c = 1'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 1 @@ -1892,14 +2146,17 @@ -- random data (no MCV list), but with expression INSERT INTO mcv_lists (a, b, c, filler1) SELECT i, i, i, i FROM generate_series(1,1000) s(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE mcv_lists; SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,7) = 1 AND mod(b::int,11) = 1'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 13 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,7) = 1 AND mod(b::int,11) = 1 AND mod(c,13) = 1'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 1 @@ -1909,12 +2166,14 @@ CREATE STATISTICS mcv_lists_stats (mcv) ON (mod(a,7)), (mod(b::int,11)), (mod(c,13)) FROM mcv_lists; ANALYZE mcv_lists; SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,7) = 1 AND mod(b::int,11) = 1'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 13 | 13 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,7) = 1 AND mod(b::int,11) = 1 AND mod(c,13) = 1'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 1 @@ -1926,146 +2185,171 @@ INSERT INTO mcv_lists (a, b, c, ia, filler1) SELECT mod(i,100), mod(i,50), mod(i,25), array[mod(i,25)], i FROM generate_series(1,5000) s(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE mcv_lists; SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a = 1 AND b = ''1'''); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 50 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE 1 = a AND ''1'' = b'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 50 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a < 1 AND b < ''1'''); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 50 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE 1 > a AND ''1'' > b'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 50 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a <= 0 AND b <= ''0'''); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 50 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE 0 >= a AND ''0'' >= b'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 50 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a = 1 AND b = ''1'' AND c = 1'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 50 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a < 5 AND b < ''1'' AND c < 5'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 50 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a < 5 AND ''1'' > b AND 5 > c'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 50 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a <= 4 AND b <= ''0'' AND c <= 4'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 50 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE 4 >= a AND ''0'' >= b AND 4 >= c'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 50 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a = 1 OR b = ''1'' OR c = 1'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 343 | 200 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a = 1 OR b = ''1'' OR c = 1 OR d IS NOT NULL'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 343 | 200 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a IN (1, 2, 51, 52) AND b IN ( ''1'', ''2'')'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 8 | 200 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a IN (1, 2, 51, 52, NULL) AND b IN ( ''1'', ''2'', NULL)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 8 | 200 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a = ANY (ARRAY[1, 2, 51, 52]) AND b = ANY (ARRAY[''1'', ''2''])'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 8 | 200 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a = ANY (ARRAY[NULL, 1, 2, 51, 52]) AND b = ANY (ARRAY[''1'', ''2'', NULL])'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 8 | 200 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a <= ANY (ARRAY[1, 2, 3]) AND b IN (''1'', ''2'', ''3'')'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 26 | 150 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a <= ANY (ARRAY[1, NULL, 2, 3]) AND b IN (''1'', ''2'', NULL, ''3'')'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 26 | 150 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a < ALL (ARRAY[4, 5]) AND c > ANY (ARRAY[1, 2, 3])'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 10 | 100 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a < ALL (ARRAY[4, 5]) AND c > ANY (ARRAY[1, 2, 3, NULL])'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 10 | 100 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a < ALL (ARRAY[4, 5]) AND b IN (''1'', ''2'', ''3'') AND c > ANY (ARRAY[1, 2, 3])'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 100 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a < ALL (ARRAY[4, 5]) AND b IN (''1'', ''2'', NULL, ''3'') AND c > ANY (ARRAY[1, 2, NULL, 3])'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 100 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a = ANY (ARRAY[4,5]) AND 4 = ANY(ia)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 4 | 50 @@ -2075,150 +2359,175 @@ CREATE STATISTICS mcv_lists_stats (mcv) ON a, b, c, ia FROM mcv_lists; ANALYZE mcv_lists; SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a = 1 AND b = ''1'''); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 50 | 50 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE 1 = a AND ''1'' = b'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 50 | 50 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a < 1 AND b < ''1'''); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 50 | 50 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE 1 > a AND ''1'' > b'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 50 | 50 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a <= 0 AND b <= ''0'''); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 50 | 50 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE 0 >= a AND ''0'' >= b'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 50 | 50 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a = 1 AND b = ''1'' AND c = 1'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 50 | 50 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a < 5 AND b < ''1'' AND c < 5'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 50 | 50 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a < 5 AND ''1'' > b AND 5 > c'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 50 | 50 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a <= 4 AND b <= ''0'' AND c <= 4'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 50 | 50 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE 4 >= a AND ''0'' >= b AND 4 >= c'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 50 | 50 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a = 1 OR b = ''1'' OR c = 1'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 200 | 200 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a = 1 OR b = ''1'' OR c = 1 OR d IS NOT NULL'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 200 | 200 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a = 1 OR b = ''1'' OR c = 1 OR d IS NOT NULL'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 200 | 200 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a IN (1, 2, 51, 52) AND b IN ( ''1'', ''2'')'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 200 | 200 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a IN (1, 2, 51, 52, NULL) AND b IN ( ''1'', ''2'', NULL)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 200 | 200 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a = ANY (ARRAY[1, 2, 51, 52]) AND b = ANY (ARRAY[''1'', ''2''])'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 200 | 200 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a = ANY (ARRAY[NULL, 1, 2, 51, 52]) AND b = ANY (ARRAY[''1'', ''2'', NULL])'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 200 | 200 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a <= ANY (ARRAY[1, 2, 3]) AND b IN (''1'', ''2'', ''3'')'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 150 | 150 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a <= ANY (ARRAY[1, NULL, 2, 3]) AND b IN (''1'', ''2'', NULL, ''3'')'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 150 | 150 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a < ALL (ARRAY[4, 5]) AND c > ANY (ARRAY[1, 2, 3])'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 100 | 100 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a < ALL (ARRAY[4, 5]) AND c > ANY (ARRAY[1, 2, 3, NULL])'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 100 | 100 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a < ALL (ARRAY[4, 5]) AND b IN (''1'', ''2'', ''3'') AND c > ANY (ARRAY[1, 2, 3])'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 100 | 100 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a < ALL (ARRAY[4, 5]) AND b IN (''1'', ''2'', NULL, ''3'') AND c > ANY (ARRAY[1, 2, NULL, 3])'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 100 | 100 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a = ANY (ARRAY[4,5]) AND 4 = ANY(ia)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 4 | 50 @@ -2238,6 +2547,7 @@ -- check change of column type resets the MCV statistics ALTER TABLE mcv_lists ALTER COLUMN c TYPE numeric; SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a = 1 AND b = ''1'''); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 50 @@ -2245,6 +2555,7 @@ ANALYZE mcv_lists; SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a = 1 AND b = ''1'''); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 50 | 50 @@ -2255,64 +2566,75 @@ DROP STATISTICS mcv_lists_stats; INSERT INTO mcv_lists (a, b, c, filler1) SELECT i, i, i, i FROM generate_series(1,1000) s(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE mcv_lists; -- without any stats on the expressions, we have to use default selectivities, which -- is why the estimates here are different from the pre-computed case above SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,20) = 1 AND mod(b::int,10) = 1'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 50 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE 1 = mod(a,20) AND 1 = mod(b::int,10)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 50 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,20) < 1 AND mod(b::int,10) < 1'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 111 | 50 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE 1 > mod(a,20) AND 1 > mod(b::int,10)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 111 | 50 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,20) = 1 AND mod(b::int,10) = 1 AND mod(c,5) = 1'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 50 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,20) = 1 OR mod(b::int,10) = 1 OR mod(c,25) = 1 OR d IS NOT NULL'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 15 | 120 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,20) IN (1, 2, 51, 52, NULL) AND mod(b::int,10) IN ( 1, 2, NULL)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 100 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,20) = ANY (ARRAY[1, 2, 51, 52]) AND mod(b::int,10) = ANY (ARRAY[1, 2])'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 100 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,20) <= ANY (ARRAY[1, NULL, 2, 3]) AND mod(b::int,10) IN (1, 2, NULL, 3)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 11 | 150 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,20) < ALL (ARRAY[4, 5]) AND mod(b::int,10) IN (1, 2, 3) AND mod(c,5) > ANY (ARRAY[1, 2, 3])'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 100 @@ -2324,60 +2646,70 @@ CREATE STATISTICS mcv_lists_stats_3 ON (mod(c,5)) FROM mcv_lists; ANALYZE mcv_lists; SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,20) = 1 AND mod(b::int,10) = 1'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 5 | 50 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE 1 = mod(a,20) AND 1 = mod(b::int,10)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 5 | 50 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,20) < 1 AND mod(b::int,10) < 1'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 5 | 50 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE 1 > mod(a,20) AND 1 > mod(b::int,10)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 5 | 50 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,20) = 1 AND mod(b::int,10) = 1 AND mod(c,5) = 1'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 50 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,20) = 1 OR mod(b::int,10) = 1 OR mod(c,25) = 1 OR d IS NOT NULL'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 149 | 120 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,20) IN (1, 2, 51, 52, NULL) AND mod(b::int,10) IN ( 1, 2, NULL)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 20 | 100 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,20) = ANY (ARRAY[1, 2, 51, 52]) AND mod(b::int,10) = ANY (ARRAY[1, 2])'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 20 | 100 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,20) <= ANY (ARRAY[1, NULL, 2, 3]) AND mod(b::int,10) IN (1, 2, NULL, 3)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 116 | 150 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,20) < ALL (ARRAY[4, 5]) AND mod(b::int,10) IN (1, 2, 3) AND mod(c,5) > ANY (ARRAY[1, 2, 3])'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 12 | 100 @@ -2390,60 +2722,70 @@ CREATE STATISTICS mcv_lists_stats (mcv) ON (mod(a,20)), (mod(b::int,10)), (mod(c,5)) FROM mcv_lists; ANALYZE mcv_lists; SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,20) = 1 AND mod(b::int,10) = 1'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 50 | 50 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE 1 = mod(a,20) AND 1 = mod(b::int,10)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 50 | 50 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,20) < 1 AND mod(b::int,10) < 1'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 50 | 50 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE 1 > mod(a,20) AND 1 > mod(b::int,10)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 50 | 50 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,20) = 1 AND mod(b::int,10) = 1 AND mod(c,5) = 1'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 50 | 50 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,20) = 1 OR mod(b::int,10) = 1 OR mod(c,25) = 1 OR d IS NOT NULL'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 105 | 120 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,20) IN (1, 2, 51, 52, NULL) AND mod(b::int,10) IN ( 1, 2, NULL)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 100 | 100 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,20) = ANY (ARRAY[1, 2, 51, 52]) AND mod(b::int,10) = ANY (ARRAY[1, 2])'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 100 | 100 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,20) <= ANY (ARRAY[1, NULL, 2, 3]) AND mod(b::int,10) IN (1, 2, NULL, 3)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 150 | 150 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,20) < ALL (ARRAY[4, 5]) AND mod(b::int,10) IN (1, 2, 3) AND mod(c,5) > ANY (ARRAY[1, 2, 3])'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 100 | 100 @@ -2451,6 +2793,7 @@ -- we can't use the statistic for OR clauses that are not fully covered (missing 'd' attribute) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE mod(a,20) = 1 OR mod(b::int,10) = 1 OR mod(c,5) = 1 OR d IS NOT NULL'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 200 | 200 @@ -2466,32 +2809,38 @@ (CASE WHEN mod(i,25) = 1 THEN NULL ELSE mod(i,25) END), i FROM generate_series(1,5000) s(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE mcv_lists; SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a IS NULL AND b IS NULL'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 50 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a IS NULL AND b IS NULL AND c IS NULL'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 50 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a IS NULL AND b IS NOT NULL'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 49 | 0 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a IS NOT NULL AND b IS NULL AND c IS NOT NULL'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 95 | 0 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a IN (0, 1) AND b IN (''0'', ''1'')'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 50 @@ -2501,30 +2850,35 @@ CREATE STATISTICS mcv_lists_stats (mcv) ON a, b, c FROM mcv_lists; ANALYZE mcv_lists; SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a IS NULL AND b IS NULL'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 50 | 50 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a IS NULL AND b IS NULL AND c IS NULL'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 50 | 50 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a IS NULL AND b IS NOT NULL'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 0 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a IS NOT NULL AND b IS NULL AND c IS NOT NULL'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 0 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a IN (0, 1) AND b IN (''0'', ''1'')'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 50 | 50 @@ -2533,12 +2887,14 @@ -- test pg_mcv_list_items with a very simple (single item) MCV list TRUNCATE mcv_lists; INSERT INTO mcv_lists (a, b, c) SELECT 1, 2, 3 FROM generate_series(1,1000) s(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE mcv_lists; SELECT m.* FROM pg_statistic_ext s, pg_statistic_ext_data d, pg_mcv_list_items(d.stxdmcv) m WHERE s.stxname = 'mcv_lists_stats' AND d.stxoid = s.oid; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree index | values | nulls | frequency | base_frequency -------+---------+---------+-----------+---------------- 0 | {1,2,3} | {f,f,f} | 1 | 1 @@ -2554,20 +2910,24 @@ (CASE WHEN mod(i,2) = 0 THEN NULL ELSE 0 END), (CASE WHEN mod(i,2) = 0 THEN NULL ELSE 'x' END) FROM generate_series(1,5000) s(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE mcv_lists; SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE b = ''x'' OR d = ''x'''); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 3750 | 2500 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a = 1 OR b = ''x'' OR d = ''x'''); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 3750 | 2500 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a IS NULL AND (b = ''x'' OR d = ''x'')'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 3750 | 2500 @@ -2582,6 +2942,7 @@ pg_mcv_list_items(d.stxdmcv) m WHERE s.stxname = 'mcv_lists_stats' AND d.stxoid = s.oid; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree index | values | nulls | frequency | base_frequency -------+------------------+---------+-----------+---------------- 0 | {NULL,x,x} | {t,f,f} | 0.5 | 0.25 @@ -2589,18 +2950,21 @@ (2 rows) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE b = ''x'' OR d = ''x'''); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 2500 | 2500 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a = 1 OR b = ''x'' OR d = ''x'''); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 2500 | 2500 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists WHERE a IS NULL AND (b = ''x'' OR d = ''x'')'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 2500 | 2500 @@ -2619,14 +2983,17 @@ fipshash(mod(i,50)::text)::uuid, fipshash(mod(i,25)::text)::uuid FROM generate_series(1,5000) s(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE mcv_lists_uuid; SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_uuid WHERE a = ''e7f6c011-776e-8db7-cd33-0b54174fd76f'' AND b = ''e7f6c011-776e-8db7-cd33-0b54174fd76f'''); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 50 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_uuid WHERE a = ''e7f6c011-776e-8db7-cd33-0b54174fd76f'' AND b = ''e7f6c011-776e-8db7-cd33-0b54174fd76f'' AND c = ''e7f6c011-776e-8db7-cd33-0b54174fd76f'''); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 50 @@ -2636,12 +3003,14 @@ FROM mcv_lists_uuid; ANALYZE mcv_lists_uuid; SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_uuid WHERE a = ''e7f6c011-776e-8db7-cd33-0b54174fd76f'' AND b = ''e7f6c011-776e-8db7-cd33-0b54174fd76f'''); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 50 | 50 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_uuid WHERE a = ''e7f6c011-776e-8db7-cd33-0b54174fd76f'' AND b = ''e7f6c011-776e-8db7-cd33-0b54174fd76f'' AND c = ''e7f6c011-776e-8db7-cd33-0b54174fd76f'''); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 50 | 50 @@ -2661,6 +3030,7 @@ ARRAY[(i/100-1)::numeric/1000, (i/100)::numeric/1000, (i/100+1)::numeric/1000], ARRAY[(i/100-1), i/100, (i/100+1)] FROM generate_series(1,5000) s(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE STATISTICS mcv_lists_arrays_stats (mcv) ON a, b, c FROM mcv_lists_arrays; ANALYZE mcv_lists_arrays; @@ -2675,26 +3045,31 @@ SELECT (mod(i,2) = 0), (mod(i,4) = 0), (mod(i,8) = 0) FROM generate_series(1,10000) s(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE mcv_lists_bool; SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_bool WHERE a AND b AND c'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 156 | 1250 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_bool WHERE NOT a AND b AND c'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 156 | 0 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_bool WHERE NOT a AND NOT b AND c'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 469 | 0 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_bool WHERE NOT a AND b AND NOT c'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1094 | 0 @@ -2704,24 +3079,28 @@ FROM mcv_lists_bool; ANALYZE mcv_lists_bool; SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_bool WHERE a AND b AND c'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1250 | 1250 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_bool WHERE NOT a AND b AND c'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 0 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_bool WHERE NOT a AND NOT b AND c'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 0 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_bool WHERE NOT a AND b AND NOT c'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 0 @@ -2740,6 +3119,7 @@ mod(i,10), mod(i,10) FROM generate_series(0,999) s(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- 100 groups that will make it to the MCV list (includes the 10 frequent ones) INSERT INTO mcv_lists_partial (a, b, c) SELECT @@ -2747,6 +3127,7 @@ i, i FROM generate_series(0,99) s(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- 4000 groups in total, most of which won't make it (just a single item) INSERT INTO mcv_lists_partial (a, b, c) SELECT @@ -2754,50 +3135,59 @@ i, i FROM generate_series(0,3999) s(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE mcv_lists_partial; SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_partial WHERE a = 0 AND b = 0 AND c = 0'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 102 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_partial WHERE a = 0 OR b = 0 OR c = 0'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 300 | 102 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_partial WHERE a = 10 AND b = 10 AND c = 10'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 2 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_partial WHERE a = 10 OR b = 10 OR c = 10'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 6 | 2 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_partial WHERE a = 0 AND b = 0 AND c = 10'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 0 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_partial WHERE a = 0 OR b = 0 OR c = 10'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 204 | 104 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_partial WHERE (a = 0 AND b = 0 AND c = 0) OR (a = 1 AND b = 1 AND c = 1) OR (a = 2 AND b = 2 AND c = 2)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 306 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_partial WHERE (a = 0 AND b = 0) OR (a = 0 AND c = 0) OR (b = 0 AND c = 0)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 6 | 102 @@ -2807,48 +3197,56 @@ FROM mcv_lists_partial; ANALYZE mcv_lists_partial; SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_partial WHERE a = 0 AND b = 0 AND c = 0'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 102 | 102 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_partial WHERE a = 0 OR b = 0 OR c = 0'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 96 | 102 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_partial WHERE a = 10 AND b = 10 AND c = 10'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 2 | 2 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_partial WHERE a = 10 OR b = 10 OR c = 10'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 2 | 2 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_partial WHERE a = 0 AND b = 0 AND c = 10'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 0 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_partial WHERE a = 0 OR b = 0 OR c = 10'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 102 | 104 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_partial WHERE (a = 0 AND b = 0 AND c = 0) OR (a = 1 AND b = 1 AND c = 1) OR (a = 2 AND b = 2 AND c = 2)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 306 | 306 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_partial WHERE (a = 0 AND b = 0) OR (a = 0 AND c = 0) OR (b = 0 AND c = 0)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 108 | 102 @@ -2870,45 +3268,53 @@ mod(i,7), mod(i,7) FROM generate_series(1,5000) s(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE mcv_lists_multi; -- estimates without any mcv statistics SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_multi WHERE a = 0 AND b = 0'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 200 | 1000 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_multi WHERE c = 0 AND d = 0'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 102 | 714 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_multi WHERE b = 0 AND c = 0'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 143 | 142 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_multi WHERE b = 0 OR c = 0'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1571 | 1572 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_multi WHERE a = 0 AND b = 0 AND c = 0 AND d = 0'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 4 | 142 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_multi WHERE (a = 0 AND b = 0) OR (c = 0 AND d = 0)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 298 | 1572 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_multi WHERE a = 0 OR b = 0 OR c = 0 OR d = 0'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 2649 | 1572 @@ -2919,42 +3325,49 @@ CREATE STATISTICS mcv_lists_multi_2 (mcv) ON c, d FROM mcv_lists_multi; ANALYZE mcv_lists_multi; SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_multi WHERE a = 0 AND b = 0'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1000 | 1000 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_multi WHERE c = 0 AND d = 0'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 714 | 714 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_multi WHERE b = 0 AND c = 0'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 143 | 142 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_multi WHERE b = 0 OR c = 0'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1571 | 1572 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_multi WHERE a = 0 AND b = 0 AND c = 0 AND d = 0'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 143 | 142 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_multi WHERE (a = 0 AND b = 0) OR (c = 0 AND d = 0)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1571 | 1572 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_multi WHERE a = 0 OR b = 0 OR c = 0 OR d = 0'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1571 | 1572 @@ -2964,14 +3377,17 @@ -- statistics on integer expressions CREATE TABLE expr_stats (a int, b int, c int); INSERT INTO expr_stats SELECT mod(i,10), mod(i,10), mod(i,10) FROM generate_series(1,1000) s(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE expr_stats; SELECT * FROM check_estimated_rows('SELECT * FROM expr_stats WHERE (2*a) = 0 AND (3*b) = 0'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 100 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM expr_stats WHERE (a+b) = 0 AND (a-b) = 0'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 100 @@ -2980,12 +3396,14 @@ CREATE STATISTICS expr_stats_1 (mcv) ON (a+b), (a-b), (2*a), (3*b) FROM expr_stats; ANALYZE expr_stats; SELECT * FROM check_estimated_rows('SELECT * FROM expr_stats WHERE (2*a) = 0 AND (3*b) = 0'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 100 | 100 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM expr_stats WHERE (a+b) = 0 AND (a-b) = 0'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 100 | 100 @@ -2996,20 +3414,24 @@ -- statistics on a mix columns and expressions CREATE TABLE expr_stats (a int, b int, c int); INSERT INTO expr_stats SELECT mod(i,10), mod(i,10), mod(i,10) FROM generate_series(1,1000) s(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE expr_stats; SELECT * FROM check_estimated_rows('SELECT * FROM expr_stats WHERE a = 0 AND (2*a) = 0 AND (3*b) = 0'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 100 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM expr_stats WHERE a = 3 AND b = 3 AND (a-b) = 0'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 100 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM expr_stats WHERE a = 0 AND b = 1 AND (a-b) = 0'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 0 @@ -3018,18 +3440,21 @@ CREATE STATISTICS expr_stats_1 (mcv) ON a, b, (2*a), (3*b), (a+b), (a-b) FROM expr_stats; ANALYZE expr_stats; SELECT * FROM check_estimated_rows('SELECT * FROM expr_stats WHERE a = 0 AND (2*a) = 0 AND (3*b) = 0'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 100 | 100 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM expr_stats WHERE a = 3 AND b = 3 AND (a-b) = 0'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 100 | 100 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM expr_stats WHERE a = 0 AND b = 1 AND (a-b) = 0'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 1 | 0 @@ -3039,8 +3464,10 @@ -- statistics on expressions with different data types CREATE TABLE expr_stats (a int, b name, c text); INSERT INTO expr_stats SELECT mod(i,10), fipshash(mod(i,10)::text), fipshash(mod(i,10)::text) FROM generate_series(1,1000) s(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE expr_stats; SELECT * FROM check_estimated_rows('SELECT * FROM expr_stats WHERE a = 0 AND (b || c) <= ''z'' AND (c || b) >= ''0'''); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 11 | 100 @@ -3049,6 +3476,7 @@ CREATE STATISTICS expr_stats_1 (mcv) ON a, b, (b || c), (c || b) FROM expr_stats; ANALYZE expr_stats; SELECT * FROM check_estimated_rows('SELECT * FROM expr_stats WHERE a = 0 AND (b || c) <= ''z'' AND (c || b) >= ''0'''); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree estimated | actual -----------+-------- 100 | 100 @@ -3062,6 +3490,7 @@ ); CREATE STATISTICS expr_stat_comp_1 ON c0, c1 FROM expr_stats_incompatible_test; INSERT INTO expr_stats_incompatible_test VALUES (1234,false), (5678,true); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE expr_stats_incompatible_test; SELECT c0 FROM ONLY expr_stats_incompatible_test WHERE ( @@ -3086,6 +3515,7 @@ ); INSERT INTO tststats.priv_test_tbl SELECT mod(i,5), mod(i,10) FROM generate_series(1,100) s(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE STATISTICS tststats.priv_test_stats (mcv) ON a, b FROM tststats.priv_test_tbl; ANALYZE tststats.priv_test_tbl; @@ -3103,6 +3533,7 @@ create statistics stts_s1.stts_foo on col1, col2 from stts_t3; create statistics stts_s2.stts_yama (dependencies, mcv) on col1, col3 from stts_t3; insert into stts_t1 select i,i from generate_series(1,100) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree analyze stts_t1; set search_path to public, stts_s1, stts_s2, tststats; \dX @@ -3264,6 +3695,7 @@ -- Should now have access via the view, but see nothing and leak nothing SET SESSION AUTHORIZATION regress_stats_user1; SELECT * FROM tststats.priv_test_view WHERE a <<< 0 AND b <<< 0; -- Should not leak +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+--- (0 rows) diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/select_parallel.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/select_parallel.out --- /tmp/cirrus-ci-build/src/test/regress/expected/select_parallel.out 2024-03-19 15:41:21.045288000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/select_parallel.out 2024-03-19 15:51:27.758936000 +0000 @@ -123,7 +123,9 @@ create function sp_test_func() returns setof text as $$ select 'foo'::varchar union all select 'bar'::varchar $$ language sql stable; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select sp_test_func() order by 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree sp_test_func -------------- bar @@ -405,6 +407,7 @@ select * from (select count(unique1) from tenk1 where hundred > 10) ss right join (values (1),(2),(3)) v(x) on true; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------------- Nested Loop Left Join @@ -420,6 +423,7 @@ select * from (select count(unique1) from tenk1 where hundred > 10) ss right join (values (1),(2),(3)) v(x) on true; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count | x -------+--- 8900 | 1 @@ -431,6 +435,7 @@ select * from (select count(*) from tenk1 where thousand > 99) ss right join (values (1),(2),(3)) v(x) on true; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------------------------- Nested Loop Left Join @@ -446,6 +451,7 @@ select * from (select count(*) from tenk1 where thousand > 99) ss right join (values (1),(2),(3)) v(x) on true; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count | x -------+--- 9000 | 1 @@ -464,6 +470,7 @@ left join (select tenk2.unique1 from tenk2 order by 1 limit 1000) ss on tenk1.unique1 < ss.unique1 + 1 where tenk1.unique1 < 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------ Aggregate @@ -483,6 +490,7 @@ left join (select tenk2.unique1 from tenk2 order by 1 limit 1000) ss on tenk1.unique1 < ss.unique1 + 1 where tenk1.unique1 < 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 1999 @@ -532,6 +540,7 @@ create table bmscantest (a int, t text); insert into bmscantest select r, 'fooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' FROM generate_series(1,100000) r; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree create index i_bmtest ON bmscantest(a); select count(*) from bmscantest where a>1; count @@ -579,6 +588,8 @@ end; $$; select * from explain_parallel_sort_stats(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree explain_parallel_sort_stats -------------------------------------------------------------------------- Nested Loop Left Join (actual rows=30000 loops=1) @@ -808,6 +819,7 @@ (select string4, count(unique2) from tenk1 group by string4 order by string4) ss right join (values (1),(2),(3)) v(x) on true; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------- Nested Loop Left Join @@ -827,6 +839,7 @@ (select string4, count(unique2) from tenk1 group by string4 order by string4) ss right join (values (1),(2),(3)) v(x) on true; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree string4 | count | x ---------+-------+--- AAAAxx | 2500 | 1 @@ -1021,6 +1034,7 @@ SAVEPOINT settings; SET LOCAL debug_parallel_query = 1; SELECT make_record(x) FROM (SELECT generate_series(1, 5) x) ss ORDER BY x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree make_record ------------- (1) @@ -1123,6 +1137,7 @@ SELECT unique1 FROM tenk1 WHERE fivethous = tenthous + 1 UNION ALL SELECT unique1 FROM tenk1 WHERE fivethous = tenthous + 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------- Gather @@ -1143,6 +1158,7 @@ SELECT unique1 FROM tenk1 WHERE fivethous = (SELECT unique2 FROM tenk1 WHERE fivethous = 1 LIMIT 1) ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------- Sort @@ -1175,6 +1191,7 @@ -- test interaction with SRFs SELECT * FROM information_schema.foreign_data_wrapper_options ORDER BY 1, 2, 3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree foreign_data_wrapper_catalog | foreign_data_wrapper_name | option_name | option_value ------------------------------+---------------------------+-------------+-------------- (0 rows) @@ -1207,6 +1224,7 @@ SELECT unnest(ARRAY[]::integer[]) + 1 AS pathkey FROM tenk1 t1 JOIN tenk1 t2 ON TRUE ORDER BY pathkey; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------------------------------------------- Sort diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/write_parallel.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/write_parallel.out --- /tmp/cirrus-ci-build/src/test/regress/expected/write_parallel.out 2024-03-19 15:41:21.047138000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/write_parallel.out 2024-03-19 15:51:27.850786000 +0000 @@ -61,6 +61,8 @@ create unique index on parallel_mat_view(length); refresh materialized view parallel_mat_view; refresh materialized view concurrently parallel_mat_view; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree drop materialized view parallel_mat_view; prepare prep_stmt as select length(stringu1) from tenk1 group by length(stringu1); explain (costs off) create table parallel_write as execute prep_stmt; diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/vacuum_parallel.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/vacuum_parallel.out --- /tmp/cirrus-ci-build/src/test/regress/expected/vacuum_parallel.out 2024-03-19 15:41:21.046924000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/vacuum_parallel.out 2024-03-19 15:51:27.945837000 +0000 @@ -4,6 +4,7 @@ -- happen to be below min_parallel_index_scan_size during parallel VACUUM: CREATE TABLE parallel_vacuum_table (a int) WITH (autovacuum_enabled = off); INSERT INTO parallel_vacuum_table SELECT i from generate_series(1, 10000) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- Parallel VACUUM will never be used unless there are at least two indexes -- that exceed min_parallel_index_scan_size. Create two such indexes, and -- a third index that is smaller than min_parallel_index_scan_size. @@ -43,6 +44,7 @@ -- Since vacuum_in_leader_small_index uses deduplication, we expect an -- assertion failure with bug #17245 (in the absence of bugfix): INSERT INTO parallel_vacuum_table SELECT i FROM generate_series(1, 10000) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree RESET max_parallel_maintenance_workers; RESET min_parallel_index_scan_size; -- Deliberately don't drop table, to get further coverage from tools like diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/publication.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/publication.out --- /tmp/cirrus-ci-build/src/test/regress/expected/publication.out 2024-03-19 15:41:21.044415000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/publication.out 2024-03-19 15:51:28.730415000 +0000 @@ -87,6 +87,8 @@ -- should be able to add schema to 'FOR TABLE' publication ALTER PUBLICATION testpub_fortable ADD TABLES IN SCHEMA pub_test; \dRp+ testpub_fortable +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Publication testpub_fortable Owner | All tables | Inserts | Updates | Deletes | Truncates | Via root --------------------------+------------+---------+---------+---------+-----------+---------- @@ -99,6 +101,8 @@ -- should be able to drop schema from 'FOR TABLE' publication ALTER PUBLICATION testpub_fortable DROP TABLES IN SCHEMA pub_test; \dRp+ testpub_fortable +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Publication testpub_fortable Owner | All tables | Inserts | Updates | Deletes | Truncates | Via root --------------------------+------------+---------+---------+---------+-----------+---------- @@ -109,6 +113,8 @@ -- should be able to set schema to 'FOR TABLE' publication ALTER PUBLICATION testpub_fortable SET TABLES IN SCHEMA pub_test; \dRp+ testpub_fortable +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Publication testpub_fortable Owner | All tables | Inserts | Updates | Deletes | Truncates | Via root --------------------------+------------+---------+---------+---------+-----------+---------- @@ -123,6 +129,8 @@ CREATE PUBLICATION testpub_for_tbl_schema FOR TABLES IN SCHEMA pub_test, TABLE pub_test.testpub_nopk; RESET client_min_messages; \dRp+ testpub_for_tbl_schema +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Publication testpub_for_tbl_schema Owner | All tables | Inserts | Updates | Deletes | Truncates | Via root --------------------------+------------+---------+---------+---------+-----------+---------- @@ -144,6 +152,8 @@ -- should be able to add a table of the same schema to the schema publication ALTER PUBLICATION testpub_forschema ADD TABLE pub_test.testpub_nopk; \dRp+ testpub_forschema +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Publication testpub_forschema Owner | All tables | Inserts | Updates | Deletes | Truncates | Via root --------------------------+------------+---------+---------+---------+-----------+---------- @@ -156,6 +166,8 @@ -- should be able to drop the table ALTER PUBLICATION testpub_forschema DROP TABLE pub_test.testpub_nopk; \dRp+ testpub_forschema +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Publication testpub_forschema Owner | All tables | Inserts | Updates | Deletes | Truncates | Via root --------------------------+------------+---------+---------+---------+-----------+---------- @@ -170,6 +182,8 @@ -- should be able to set table to schema publication ALTER PUBLICATION testpub_forschema SET TABLE pub_test.testpub_nopk; \dRp+ testpub_forschema +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Publication testpub_forschema Owner | All tables | Inserts | Updates | Deletes | Truncates | Via root --------------------------+------------+---------+---------+---------+-----------+---------- @@ -184,6 +198,12 @@ (1 row) \d+ testpub_tbl2 +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 Table "public.testpub_tbl2" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+------------------------------------------+----------+--------------+------------- @@ -212,6 +232,8 @@ CREATE PUBLICATION testpub4 FOR TABLE ONLY testpub_tbl3; RESET client_min_messages; \dRp+ testpub3 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Publication testpub3 Owner | All tables | Inserts | Updates | Deletes | Truncates | Via root --------------------------+------------+---------+---------+---------+-----------+---------- @@ -221,6 +243,8 @@ "public.testpub_tbl3a" \dRp+ testpub4 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Publication testpub4 Owner | All tables | Inserts | Updates | Deletes | Truncates | Via root --------------------------+------------+---------+---------+---------+-----------+---------- @@ -245,6 +269,8 @@ -- only parent is listed as being in publication, not the partition ALTER PUBLICATION testpub_forparted ADD TABLE testpub_parted; \dRp+ testpub_forparted +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Publication testpub_forparted Owner | All tables | Inserts | Updates | Deletes | Truncates | Via root --------------------------+------------+---------+---------+---------+-----------+---------- @@ -263,6 +289,8 @@ UPDATE testpub_parted1 SET a = 1; ALTER PUBLICATION testpub_forparted SET (publish_via_partition_root = true); \dRp+ testpub_forparted +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Publication testpub_forparted Owner | All tables | Inserts | Updates | Deletes | Truncates | Via root --------------------------+------------+---------+---------+---------+-----------+---------- @@ -295,6 +323,8 @@ CREATE PUBLICATION testpub5 FOR TABLE testpub_rf_tbl1, testpub_rf_tbl2 WHERE (c <> 'test' AND d < 5) WITH (publish = 'insert'); RESET client_min_messages; \dRp+ testpub5 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Publication testpub5 Owner | All tables | Inserts | Updates | Deletes | Truncates | Via root --------------------------+------------+---------+---------+---------+-----------+---------- @@ -304,6 +334,10 @@ "public.testpub_rf_tbl2" WHERE ((c <> 'test'::text) AND (d < 5)) \d testpub_rf_tbl3 +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 Table "public.testpub_rf_tbl3" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -311,6 +345,8 @@ ALTER PUBLICATION testpub5 ADD TABLE testpub_rf_tbl3 WHERE (e > 1000 AND e < 2000); \dRp+ testpub5 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Publication testpub5 Owner | All tables | Inserts | Updates | Deletes | Truncates | Via root --------------------------+------------+---------+---------+---------+-----------+---------- @@ -321,6 +357,10 @@ "public.testpub_rf_tbl3" WHERE ((e > 1000) AND (e < 2000)) \d testpub_rf_tbl3 +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 Table "public.testpub_rf_tbl3" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -330,6 +370,8 @@ ALTER PUBLICATION testpub5 DROP TABLE testpub_rf_tbl2; \dRp+ testpub5 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Publication testpub5 Owner | All tables | Inserts | Updates | Deletes | Truncates | Via root --------------------------+------------+---------+---------+---------+-----------+---------- @@ -341,6 +383,8 @@ -- remove testpub_rf_tbl1 and add testpub_rf_tbl3 again (another WHERE expression) ALTER PUBLICATION testpub5 SET TABLE testpub_rf_tbl3 WHERE (e > 300 AND e < 500); \dRp+ testpub5 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Publication testpub5 Owner | All tables | Inserts | Updates | Deletes | Truncates | Via root --------------------------+------------+---------+---------+---------+-----------+---------- @@ -349,6 +393,10 @@ "public.testpub_rf_tbl3" WHERE ((e > 300) AND (e < 500)) \d testpub_rf_tbl3 +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 Table "public.testpub_rf_tbl3" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -362,6 +410,10 @@ CREATE PUBLICATION testpub_rf_no FOR TABLE testpub_rf_tbl1; RESET client_min_messages; \d testpub_rf_tbl1 +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 Table "public.testpub_rf_tbl1" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -377,6 +429,8 @@ CREATE PUBLICATION testpub_syntax1 FOR TABLE testpub_rf_tbl1, ONLY testpub_rf_tbl3 WHERE (e < 999) WITH (publish = 'insert'); RESET client_min_messages; \dRp+ testpub_syntax1 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Publication testpub_syntax1 Owner | All tables | Inserts | Updates | Deletes | Truncates | Via root --------------------------+------------+---------+---------+---------+-----------+---------- @@ -390,6 +444,8 @@ CREATE PUBLICATION testpub_syntax2 FOR TABLE testpub_rf_tbl1, testpub_rf_schema1.testpub_rf_tbl5 WHERE (h < 999) WITH (publish = 'insert'); RESET client_min_messages; \dRp+ testpub_syntax2 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Publication testpub_syntax2 Owner | All tables | Inserts | Updates | Deletes | Truncates | Via root --------------------------+------------+---------+---------+---------+-----------+---------- @@ -508,6 +564,8 @@ ALTER PUBLICATION testpub6 SET TABLES IN SCHEMA testpub_rf_schema2, TABLE testpub_rf_schema2.testpub_rf_tbl6 WHERE (i < 99); RESET client_min_messages; \dRp+ testpub6 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Publication testpub6 Owner | All tables | Inserts | Updates | Deletes | Truncates | Via root --------------------------+------------+---------+---------+---------+-----------+---------- @@ -725,6 +783,8 @@ RESET client_min_messages; ALTER PUBLICATION testpub_table_ins ADD TABLE testpub_tbl5 (a); -- ok \dRp+ testpub_table_ins +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Publication testpub_table_ins Owner | All tables | Inserts | Updates | Deletes | Truncates | Via root --------------------------+------------+---------+---------+---------+-----------+---------- @@ -756,6 +816,12 @@ CREATE TABLE testpub_tbl7 (a int primary key, b text, c text); ALTER PUBLICATION testpub_fortable ADD TABLE testpub_tbl7 (a, b); \d+ testpub_tbl7 +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 Table "public.testpub_tbl7" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+----------+--------------+------------- @@ -770,6 +836,12 @@ -- ok: the column list is the same, we should skip this table (or at least not fail) ALTER PUBLICATION testpub_fortable SET TABLE testpub_tbl7 (a, b); \d+ testpub_tbl7 +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 Table "public.testpub_tbl7" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+----------+--------------+------------- @@ -784,6 +856,12 @@ -- ok: the column list changes, make sure the catalog gets updated ALTER PUBLICATION testpub_fortable SET TABLE testpub_tbl7 (a, c); \d+ testpub_tbl7 +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 Table "public.testpub_tbl7" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+----------+--------------+------------- @@ -912,6 +990,8 @@ ALTER TABLE testpub_tbl_both_filters REPLICA IDENTITY USING INDEX testpub_tbl_both_filters_pkey; ALTER PUBLICATION testpub_both_filters ADD TABLE testpub_tbl_both_filters (a,c) WHERE (c != 1); \dRp+ testpub_both_filters +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Publication testpub_both_filters Owner | All tables | Inserts | Updates | Deletes | Truncates | Via root --------------------------+------------+---------+---------+---------+-----------+---------- @@ -920,6 +1000,12 @@ "public.testpub_tbl_both_filters" (a, c) WHERE (c <> 1) \d+ testpub_tbl_both_filters +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 Table "public.testpub_tbl_both_filters" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- @@ -1120,6 +1206,8 @@ CREATE PUBLICATION testpub_fortbl FOR TABLE testpub_tbl1; ERROR: publication "testpub_fortbl" already exists \dRp+ testpub_fortbl +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Publication testpub_fortbl Owner | All tables | Inserts | Updates | Deletes | Truncates | Via root --------------------------+------------+---------+---------+---------+-----------+---------- @@ -1137,6 +1225,11 @@ ALTER PUBLICATION testpub_default ADD TABLE pub_test.testpub_nopk; ALTER PUBLICATION testpib_ins_trunct ADD TABLE pub_test.testpub_nopk, testpub_tbl1; \d+ pub_test.testpub_nopk +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 Table "pub_test.testpub_nopk" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- @@ -1148,6 +1241,12 @@ "testpub_fortbl" \d+ testpub_tbl1 +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 Table "public.testpub_tbl1" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+------------------------------------------+----------+--------------+------------- @@ -1163,6 +1262,8 @@ "testpub_tbl1_id_not_null" NOT NULL "id" \dRp+ testpub_default +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Publication testpub_default Owner | All tables | Inserts | Updates | Deletes | Truncates | Via root --------------------------+------------+---------+---------+---------+-----------+---------- @@ -1176,6 +1277,12 @@ ALTER PUBLICATION testpub_default DROP TABLE pub_test.testpub_nopk; ERROR: relation "testpub_nopk" is not part of the publication \d+ testpub_tbl1 +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 Table "public.testpub_tbl1" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+------------------------------------------+----------+--------------+------------- @@ -1246,6 +1353,8 @@ DROP TABLE testpub_parted; DROP TABLE testpub_tbl1; \dRp+ testpub_default +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Publication testpub_default Owner | All tables | Inserts | Updates | Deletes | Truncates | Via root --------------------------+------------+---------+---------+---------+-----------+---------- @@ -1314,6 +1423,8 @@ CREATE PUBLICATION testpub_fortable FOR TABLE "CURRENT_SCHEMA"."CURRENT_SCHEMA"; RESET client_min_messages; \dRp+ testpub3_forschema +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Publication testpub3_forschema Owner | All tables | Inserts | Updates | Deletes | Truncates | Via root --------------------------+------------+---------+---------+---------+-----------+---------- @@ -1322,6 +1433,8 @@ "public" \dRp+ testpub4_forschema +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Publication testpub4_forschema Owner | All tables | Inserts | Updates | Deletes | Truncates | Via root --------------------------+------------+---------+---------+---------+-----------+---------- @@ -1330,6 +1443,8 @@ "CURRENT_SCHEMA" \dRp+ testpub5_forschema +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Publication testpub5_forschema Owner | All tables | Inserts | Updates | Deletes | Truncates | Via root --------------------------+------------+---------+---------+---------+-----------+---------- @@ -1339,6 +1454,8 @@ "public" \dRp+ testpub6_forschema +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Publication testpub6_forschema Owner | All tables | Inserts | Updates | Deletes | Truncates | Via root --------------------------+------------+---------+---------+---------+-----------+---------- @@ -1348,6 +1465,8 @@ "public" \dRp+ testpub_fortable +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Publication testpub_fortable Owner | All tables | Inserts | Updates | Deletes | Truncates | Via root --------------------------+------------+---------+---------+---------+-----------+---------- @@ -1385,6 +1504,8 @@ -- dropping the schema should reflect the change in publication DROP SCHEMA pub_test3; \dRp+ testpub2_forschema +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Publication testpub2_forschema Owner | All tables | Inserts | Updates | Deletes | Truncates | Via root --------------------------+------------+---------+---------+---------+-----------+---------- @@ -1396,6 +1517,8 @@ -- renaming the schema should reflect the change in publication ALTER SCHEMA pub_test1 RENAME to pub_test1_renamed; \dRp+ testpub2_forschema +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Publication testpub2_forschema Owner | All tables | Inserts | Updates | Deletes | Truncates | Via root --------------------------+------------+---------+---------+---------+-----------+---------- @@ -1406,6 +1529,8 @@ ALTER SCHEMA pub_test1_renamed RENAME to pub_test1; \dRp+ testpub2_forschema +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Publication testpub2_forschema Owner | All tables | Inserts | Updates | Deletes | Truncates | Via root --------------------------+------------+---------+---------+---------+-----------+---------- @@ -1417,6 +1542,8 @@ -- alter publication add schema ALTER PUBLICATION testpub1_forschema ADD TABLES IN SCHEMA pub_test2; \dRp+ testpub1_forschema +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Publication testpub1_forschema Owner | All tables | Inserts | Updates | Deletes | Truncates | Via root --------------------------+------------+---------+---------+---------+-----------+---------- @@ -1429,6 +1556,8 @@ ALTER PUBLICATION testpub1_forschema ADD TABLES IN SCHEMA non_existent_schema; ERROR: schema "non_existent_schema" does not exist \dRp+ testpub1_forschema +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Publication testpub1_forschema Owner | All tables | Inserts | Updates | Deletes | Truncates | Via root --------------------------+------------+---------+---------+---------+-----------+---------- @@ -1441,6 +1570,8 @@ ALTER PUBLICATION testpub1_forschema ADD TABLES IN SCHEMA pub_test1; ERROR: schema "pub_test1" is already member of publication "testpub1_forschema" \dRp+ testpub1_forschema +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Publication testpub1_forschema Owner | All tables | Inserts | Updates | Deletes | Truncates | Via root --------------------------+------------+---------+---------+---------+-----------+---------- @@ -1452,6 +1583,8 @@ -- alter publication drop schema ALTER PUBLICATION testpub1_forschema DROP TABLES IN SCHEMA pub_test2; \dRp+ testpub1_forschema +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Publication testpub1_forschema Owner | All tables | Inserts | Updates | Deletes | Truncates | Via root --------------------------+------------+---------+---------+---------+-----------+---------- @@ -1463,6 +1596,8 @@ ALTER PUBLICATION testpub1_forschema DROP TABLES IN SCHEMA pub_test2; ERROR: tables from schema "pub_test2" are not part of the publication \dRp+ testpub1_forschema +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Publication testpub1_forschema Owner | All tables | Inserts | Updates | Deletes | Truncates | Via root --------------------------+------------+---------+---------+---------+-----------+---------- @@ -1474,6 +1609,8 @@ ALTER PUBLICATION testpub1_forschema DROP TABLES IN SCHEMA non_existent_schema; ERROR: schema "non_existent_schema" does not exist \dRp+ testpub1_forschema +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Publication testpub1_forschema Owner | All tables | Inserts | Updates | Deletes | Truncates | Via root --------------------------+------------+---------+---------+---------+-----------+---------- @@ -1484,6 +1621,8 @@ -- drop all schemas ALTER PUBLICATION testpub1_forschema DROP TABLES IN SCHEMA pub_test1; \dRp+ testpub1_forschema +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Publication testpub1_forschema Owner | All tables | Inserts | Updates | Deletes | Truncates | Via root --------------------------+------------+---------+---------+---------+-----------+---------- @@ -1493,6 +1632,8 @@ -- alter publication set multiple schema ALTER PUBLICATION testpub1_forschema SET TABLES IN SCHEMA pub_test1, pub_test2; \dRp+ testpub1_forschema +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Publication testpub1_forschema Owner | All tables | Inserts | Updates | Deletes | Truncates | Via root --------------------------+------------+---------+---------+---------+-----------+---------- @@ -1505,6 +1646,8 @@ ALTER PUBLICATION testpub1_forschema SET TABLES IN SCHEMA non_existent_schema; ERROR: schema "non_existent_schema" does not exist \dRp+ testpub1_forschema +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Publication testpub1_forschema Owner | All tables | Inserts | Updates | Deletes | Truncates | Via root --------------------------+------------+---------+---------+---------+-----------+---------- @@ -1517,6 +1660,8 @@ -- removing the duplicate schemas ALTER PUBLICATION testpub1_forschema SET TABLES IN SCHEMA pub_test1, pub_test1; \dRp+ testpub1_forschema +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Publication testpub1_forschema Owner | All tables | Inserts | Updates | Deletes | Truncates | Via root --------------------------+------------+---------+---------+---------+-----------+---------- @@ -1599,6 +1744,8 @@ CREATE PUBLICATION testpub3_forschema; RESET client_min_messages; \dRp+ testpub3_forschema +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Publication testpub3_forschema Owner | All tables | Inserts | Updates | Deletes | Truncates | Via root --------------------------+------------+---------+---------+---------+-----------+---------- @@ -1607,6 +1754,8 @@ ALTER PUBLICATION testpub3_forschema SET TABLES IN SCHEMA pub_test1; \dRp+ testpub3_forschema +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Publication testpub3_forschema Owner | All tables | Inserts | Updates | Deletes | Truncates | Via root --------------------------+------------+---------+---------+---------+-----------+---------- @@ -1620,6 +1769,8 @@ CREATE PUBLICATION testpub_fortable_forschema FOR TABLE pub_test2.tbl1, TABLES IN SCHEMA pub_test1; RESET client_min_messages; \dRp+ testpub_forschema_fortable +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Publication testpub_forschema_fortable Owner | All tables | Inserts | Updates | Deletes | Truncates | Via root --------------------------+------------+---------+---------+---------+-----------+---------- @@ -1630,6 +1781,8 @@ "pub_test1" \dRp+ testpub_fortable_forschema +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Publication testpub_fortable_forschema Owner | All tables | Inserts | Updates | Deletes | Truncates | Via root --------------------------+------------+---------+---------+---------+-----------+---------- diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/subscription.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/subscription.out --- /tmp/cirrus-ci-build/src/test/regress/expected/subscription.out 2024-03-19 15:41:21.045890000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/subscription.out 2024-03-19 15:51:28.025974000 +0000 @@ -42,6 +42,7 @@ -- Check if the subscription stats are created and stats_reset is updated -- by pg_stat_reset_subscription_stats(). SELECT subname, stats_reset IS NULL stats_reset_is_null FROM pg_stat_subscription_stats WHERE subname = 'regress_testsub'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree subname | stats_reset_is_null -----------------+--------------------- regress_testsub | t @@ -54,6 +55,7 @@ (1 row) SELECT subname, stats_reset IS NULL stats_reset_is_null FROM pg_stat_subscription_stats WHERE subname = 'regress_testsub'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree subname | stats_reset_is_null -----------------+--------------------- regress_testsub | f @@ -61,6 +63,7 @@ -- Reset the stats again and check if the new reset_stats is updated. SELECT stats_reset as prev_stats_reset FROM pg_stat_subscription_stats WHERE subname = 'regress_testsub' \gset +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT pg_stat_reset_subscription_stats(oid) FROM pg_subscription WHERE subname = 'regress_testsub'; pg_stat_reset_subscription_stats ---------------------------------- @@ -68,6 +71,7 @@ (1 row) SELECT :'prev_stats_reset' < stats_reset FROM pg_stat_subscription_stats WHERE subname = 'regress_testsub'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ?column? ---------- t diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/select_views.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/select_views.out --- /tmp/cirrus-ci-build/src/test/regress/expected/select_views.out 2024-03-19 15:41:21.045386000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/select_views.out 2024-03-19 15:51:29.162750000 +0000 @@ -3,6 +3,7 @@ -- test the views defined in CREATE_VIEWS -- SELECT * FROM street; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree name | thepath | cname ------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------- Access Rd 25 | [(-121.9283,37.894),(-121.9283,37.9)] | Oakland @@ -341,6 +342,7 @@ (333 rows) SELECT name, #thepath FROM iexit ORDER BY name COLLATE "C", 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree name | ?column? ------------------------------------+---------- I- 580 | 2 @@ -1242,6 +1244,7 @@ (896 rows) SELECT * FROM toyemp WHERE name = 'sharon'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree name | age | location | annualsal --------+-----+----------+----------- sharon | 25 | (15,12) | 12000 @@ -1274,10 +1277,12 @@ VALUES (101, 'regress_alice', '+81-12-3456-7890', 'passwd123'), (102, 'regress_bob', '+01-234-567-8901', 'beafsteak'), (103, 'regress_eve', '+49-8765-43210', 'hamburger'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO credit_card VALUES (101, '1111-2222-3333-4444', 4000), (102, '5555-6666-7777-8888', 3000), (103, '9801-2345-6789-0123', 2000); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO credit_usage VALUES (101, '2011-09-15', 120), (101, '2011-10-05', 90), @@ -1288,6 +1293,7 @@ (102, '2011-10-12', 120), (102, '2011-10-28', 200), (103, '2011-10-15', 480); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE VIEW my_property_normal AS SELECT * FROM customer WHERE name = current_user; CREATE VIEW my_property_secure WITH (security_barrier) AS @@ -1317,6 +1323,7 @@ -- prior to the security policy of the view. -- SELECT * FROM my_property_normal WHERE f_leak(passwd); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: f_leak => passwd123 NOTICE: f_leak => beafsteak NOTICE: f_leak => hamburger @@ -1333,6 +1340,7 @@ (2 rows) SELECT * FROM my_property_secure WHERE f_leak(passwd); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: f_leak => passwd123 cid | name | tel | passwd -----+---------------+------------------+----------- @@ -1354,6 +1362,7 @@ -- SELECT * FROM my_property_normal v WHERE f_leak('passwd') AND f_leak(passwd); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: f_leak => passwd NOTICE: f_leak => passwd123 NOTICE: f_leak => passwd @@ -1375,6 +1384,7 @@ SELECT * FROM my_property_secure v WHERE f_leak('passwd') AND f_leak(passwd); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: f_leak => passwd NOTICE: f_leak => passwd123 NOTICE: f_leak => passwd @@ -1400,6 +1410,7 @@ -- possible as we can. -- SELECT * FROM my_credit_card_normal WHERE f_leak(cnum); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: f_leak => 1111-2222-3333-4444 NOTICE: f_leak => 5555-6666-7777-8888 NOTICE: f_leak => 9801-2345-6789-0123 @@ -1421,6 +1432,7 @@ (7 rows) SELECT * FROM my_credit_card_secure WHERE f_leak(cnum); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: f_leak => 1111-2222-3333-4444 cid | name | tel | passwd | cnum | climit -----+---------------+------------------+-----------+---------------------+-------- @@ -1447,6 +1459,7 @@ -- SELECT * FROM my_credit_card_usage_normal WHERE f_leak(cnum) AND ymd >= '2011-10-01' AND ymd < '2011-11-01'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: f_leak => 1111-2222-3333-4444 cid | name | tel | passwd | cnum | climit | ymd | usage -----+---------------+------------------+-----------+---------------------+--------+------------+------- @@ -1476,6 +1489,7 @@ SELECT * FROM my_credit_card_usage_secure WHERE f_leak(cnum) AND ymd >= '2011-10-01' AND ymd < '2011-11-01'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: f_leak => 1111-2222-3333-4444 NOTICE: f_leak => 1111-2222-3333-4444 NOTICE: f_leak => 1111-2222-3333-4444 @@ -1510,8 +1524,11 @@ -- and planner stage. -- PREPARE p1 AS SELECT * FROM my_property_normal WHERE f_leak(passwd); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree PREPARE p2 AS SELECT * FROM my_property_secure WHERE f_leak(passwd); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree EXECUTE p1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: f_leak => passwd123 NOTICE: f_leak => beafsteak NOTICE: f_leak => hamburger @@ -1521,6 +1538,7 @@ (1 row) EXECUTE p2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: f_leak => passwd123 cid | name | tel | passwd -----+---------------+------------------+----------- @@ -1532,6 +1550,7 @@ ALTER VIEW my_property_secure SET (security_barrier=false); SET SESSION AUTHORIZATION regress_alice; EXECUTE p1; -- To be perform as a view with security-barrier +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: f_leak => passwd123 cid | name | tel | passwd -----+---------------+------------------+----------- @@ -1539,6 +1558,7 @@ (1 row) EXECUTE p2; -- To be perform as a view without security-barrier +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: f_leak => passwd123 NOTICE: f_leak => beafsteak NOTICE: f_leak => hamburger diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/foreign_key.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/foreign_key.out --- /tmp/cirrus-ci-build/src/test/regress/expected/foreign_key.out 2024-03-19 15:41:21.018306000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/foreign_key.out 2024-03-19 15:51:31.495015000 +0000 @@ -151,7 +151,9 @@ UPDATE FKTABLE SET ftest1 = 1 WHERE ftest1 = 1; -- Try altering the column type where foreign keys are involved ALTER TABLE PKTABLE ALTER COLUMN ptest1 TYPE bigint; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE FKTABLE ALTER COLUMN ftest1 TYPE bigint; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM PKTABLE; ptest1 | ptest2 | ptest3 --------+--------+--------- @@ -349,6 +351,7 @@ INSERT INTO PKTABLE VALUES (1, 2); INSERT INTO FKTABLE VALUES (1, NULL); ALTER TABLE FKTABLE ADD FOREIGN KEY(ftest1, ftest2) REFERENCES PKTABLE MATCH FULL; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: insert or update on table "fktable" violates foreign key constraint "fktable_ftest1_ftest2_fkey" DETAIL: MATCH FULL does not allow mixing of null and nonnull key values. DROP TABLE FKTABLE; @@ -782,9 +785,11 @@ (2 rows) INSERT INTO PKTABLE VALUES (1, 0), (1, 1), (1, 2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO FKTABLE VALUES (1, 1, 1, NULL), (1, 2, NULL, 2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree DELETE FROM PKTABLE WHERE id = 1 OR id = 2; SELECT * FROM FKTABLE ORDER BY id; tid | id | fk_id_del_set_null | fk_id_del_set_default @@ -1174,20 +1179,26 @@ -- int4 promotes to real ALTER TABLE fktable ADD CONSTRAINT fk_1_3 FOREIGN KEY (x1) REFERENCES pktable(id3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- text is compatible with varchar ALTER TABLE fktable ADD CONSTRAINT fk_4_2 FOREIGN KEY (x4) REFERENCES pktable(id2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- int2 is part of integer opfamily as of 8.0 ALTER TABLE fktable ADD CONSTRAINT fk_5_1 FOREIGN KEY (x5) REFERENCES pktable(id1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- check multikey cases, especially out-of-order column lists -- these should work ALTER TABLE fktable ADD CONSTRAINT fk_123_123 FOREIGN KEY (x1,x2,x3) REFERENCES pktable(id1,id2,id3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE fktable ADD CONSTRAINT fk_213_213 FOREIGN KEY (x2,x1,x3) REFERENCES pktable(id2,id1,id3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE fktable ADD CONSTRAINT fk_253_213 FOREIGN KEY (x2,x5,x3) REFERENCES pktable(id2,id1,id3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- these should fail ALTER TABLE fktable ADD CONSTRAINT fk_123_231 FOREIGN KEY (x1,x2,x3) REFERENCES pktable(id2,id3,id1); @@ -1362,6 +1373,7 @@ values (0, 0), (1, 1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree begin; update selfref set a = 123 where a = 0; select a, b from selfref; @@ -1387,6 +1399,7 @@ create temp table defc (f1 int default 0 references defp on delete set default); insert into defp values (0), (1), (2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into defc values (2); select * from defc; f1 @@ -1581,9 +1594,11 @@ ALTER TABLE fk_partitioned_fk_1 DROP COLUMN fdrop1, DROP COLUMN fdrop2, DROP COLUMN fdrop3; ALTER TABLE fk_partitioned_fk ATTACH PARTITION fk_partitioned_fk_1 FOR VALUES FROM (0,0) TO (1000,1000); ALTER TABLE fk_partitioned_fk ADD FOREIGN KEY (a, b) REFERENCES fk_notpartitioned_pk; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE TABLE fk_partitioned_fk_2 (b int, fdrop1 int, fdrop2 int, a int); ALTER TABLE fk_partitioned_fk_2 DROP COLUMN fdrop1, DROP COLUMN fdrop2; ALTER TABLE fk_partitioned_fk ATTACH PARTITION fk_partitioned_fk_2 FOR VALUES FROM (1000,1000) TO (2000,2000); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE TABLE fk_partitioned_fk_3 (fdrop1 int, fdrop2 int, fdrop3 int, fdrop4 int, b int, a int) PARTITION BY HASH (a); ALTER TABLE fk_partitioned_fk_3 DROP COLUMN fdrop1, DROP COLUMN fdrop2, @@ -1592,6 +1607,8 @@ CREATE TABLE fk_partitioned_fk_3_1 PARTITION OF fk_partitioned_fk_3 FOR VALUES WITH (MODULUS 5, REMAINDER 1); ALTER TABLE fk_partitioned_fk ATTACH PARTITION fk_partitioned_fk_3 FOR VALUES FROM (2000,2000) TO (3000,3000); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- Creating a foreign key with ONLY on a partitioned table referencing -- a non-partitioned table fails. ALTER TABLE ONLY fk_partitioned_fk ADD FOREIGN KEY (a, b) @@ -1632,6 +1649,7 @@ -- but if we insert the values that make them valid, then they work INSERT INTO fk_notpartitioned_pk VALUES (500, 501), (1500, 1501), (2500, 2502), (2501, 2503); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO fk_partitioned_fk (a,b) VALUES (500, 501); INSERT INTO fk_partitioned_fk (a,b) VALUES (1500, 1501); INSERT INTO fk_partitioned_fk (a,b) VALUES (2500, 2502); @@ -1655,6 +1673,13 @@ DETAIL: Key (a, b)=(2500, 2502) is still referenced from table "fk_partitioned_fk". -- check psql behavior \d fk_notpartitioned_pk +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Table "public.fk_notpartitioned_pk" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -1676,6 +1701,7 @@ INSERT INTO fk_notpartitioned_pk VALUES (1); INSERT INTO fk_partitioned_fk VALUES (1); ALTER TABLE fk_notpartitioned_pk ALTER COLUMN a TYPE bigint; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree DELETE FROM fk_notpartitioned_pk WHERE a = 1; ERROR: update or delete on table "fk_notpartitioned_pk" violates foreign key constraint "fk_partitioned_fk_a_fkey" on table "fk_partitioned_fk" DETAIL: Key (a)=(1) is still referenced from table "fk_partitioned_fk". @@ -1688,9 +1714,11 @@ ALTER TABLE fk_partitioned_fk ADD FOREIGN KEY (a, b) REFERENCES fk_notpartitioned_pk MATCH SIMPLE ON DELETE SET NULL ON UPDATE SET NULL; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE TABLE fk_partitioned_fk_2 PARTITION OF fk_partitioned_fk FOR VALUES IN (1500,1502); CREATE TABLE fk_partitioned_fk_3 (a int, b int); ALTER TABLE fk_partitioned_fk ATTACH PARTITION fk_partitioned_fk_3 FOR VALUES IN (2500,2501,2502,2503); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- this insert fails INSERT INTO fk_partitioned_fk (a, b) VALUES (2502, 2503); ERROR: insert or update on table "fk_partitioned_fk_3" violates foreign key constraint "fk_partitioned_fk_a_b_fkey" @@ -1712,10 +1740,12 @@ CREATE TABLE fk_partitioned_fk_full_1 PARTITION OF fk_partitioned_fk_full DEFAULT; INSERT INTO fk_partitioned_fk_full VALUES (1, NULL); ALTER TABLE fk_partitioned_fk_full ADD FOREIGN KEY (x, y) REFERENCES fk_notpartitioned_pk MATCH FULL; -- fails +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: insert or update on table "fk_partitioned_fk_full_1" violates foreign key constraint "fk_partitioned_fk_full_x_y_fkey" DETAIL: MATCH FULL does not allow mixing of null and nonnull key values. TRUNCATE fk_partitioned_fk_full; ALTER TABLE fk_partitioned_fk_full ADD FOREIGN KEY (x, y) REFERENCES fk_notpartitioned_pk MATCH FULL; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO fk_partitioned_fk_full VALUES (1, NULL); -- fails ERROR: insert or update on table "fk_partitioned_fk_full_1" violates foreign key constraint "fk_partitioned_fk_full_x_y_fkey" DETAIL: MATCH FULL does not allow mixing of null and nonnull key values. @@ -1757,6 +1787,9 @@ ALTER TABLE fk_partitioned_fk ADD FOREIGN KEY (a, b) REFERENCES fk_notpartitioned_pk ON DELETE SET DEFAULT ON UPDATE SET DEFAULT; +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 INSERT INTO fk_notpartitioned_pk VALUES (2502, 2503); INSERT INTO fk_partitioned_fk_3 (a, b) VALUES (2502, 2503); -- this fails, because the defaults for the referencing table are not present @@ -1778,6 +1811,9 @@ ALTER TABLE fk_partitioned_fk ADD FOREIGN KEY (a, b) REFERENCES fk_notpartitioned_pk ON DELETE SET NULL (a); +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 BEGIN; DELETE FROM fk_notpartitioned_pk WHERE b = 142857; SELECT * FROM fk_partitioned_fk WHERE a IS NOT NULL OR b IS NOT NULL ORDER BY a NULLS LAST; @@ -1793,10 +1829,14 @@ ALTER TABLE fk_partitioned_fk ADD FOREIGN KEY (a, b) REFERENCES fk_notpartitioned_pk ON DELETE SET DEFAULT (a); +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 BEGIN; DELETE FROM fk_partitioned_fk; DELETE FROM fk_notpartitioned_pk; INSERT INTO fk_notpartitioned_pk VALUES (500, 100000), (2501, 100000); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO fk_partitioned_fk VALUES (500, 100000); DELETE FROM fk_notpartitioned_pk WHERE a = 500; SELECT * FROM fk_partitioned_fk ORDER BY a; @@ -1811,6 +1851,9 @@ ALTER TABLE fk_partitioned_fk ADD FOREIGN KEY (a, b) REFERENCES fk_notpartitioned_pk ON DELETE CASCADE ON UPDATE CASCADE; +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 UPDATE fk_notpartitioned_pk SET a = 2502 WHERE a = 2501; SELECT * FROM fk_partitioned_fk WHERE b = 142857; a | b @@ -1842,6 +1885,12 @@ DROP TABLE fk_partitioned_fk; -- constraint should still be there \d fk_partitioned_fk_2; +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 Table "public.fk_partitioned_fk_2" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -1859,6 +1908,14 @@ ALTER TABLE fk_partitioned_fk ATTACH PARTITION fk_partitioned_fk_2 FOR VALUES IN (1500,1502); -- should have only one constraint \d fk_partitioned_fk_2 +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Table "public.fk_partitioned_fk_2" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -1873,11 +1930,20 @@ CREATE TABLE fk_partitioned_fk_4_1 PARTITION OF fk_partitioned_fk_4 FOR VALUES FROM (1,1) TO (100,100); CREATE TABLE fk_partitioned_fk_4_2 (a int, b int, FOREIGN KEY (a, b) REFERENCES fk_notpartitioned_pk(a, b) ON UPDATE SET NULL); ALTER TABLE fk_partitioned_fk_4 ATTACH PARTITION fk_partitioned_fk_4_2 FOR VALUES FROM (100,100) TO (1000,1000); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE fk_partitioned_fk ATTACH PARTITION fk_partitioned_fk_4 FOR VALUES IN (3500,3502); ALTER TABLE fk_partitioned_fk DETACH PARTITION fk_partitioned_fk_4; ALTER TABLE fk_partitioned_fk ATTACH PARTITION fk_partitioned_fk_4 FOR VALUES IN (3500,3502); -- should only have one constraint \d fk_partitioned_fk_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 +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 Partitioned table "public.fk_partitioned_fk_4" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -1890,6 +1956,14 @@ Number of partitions: 2 (Use \d+ to list them.) \d fk_partitioned_fk_4_1 +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Table "public.fk_partitioned_fk_4_1" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -1901,6 +1975,14 @@ -- this one has an FK with mismatched properties \d fk_partitioned_fk_4_2 +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Table "public.fk_partitioned_fk_4_2" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -1918,11 +2000,22 @@ CREATE TABLE fk_partitioned_fk_5_1 (a int, b int, FOREIGN KEY (a, b) REFERENCES fk_notpartitioned_pk); ALTER TABLE fk_partitioned_fk ATTACH PARTITION fk_partitioned_fk_5 FOR VALUES IN (4500); ALTER TABLE fk_partitioned_fk_5 ATTACH PARTITION fk_partitioned_fk_5_1 FOR VALUES FROM (0) TO (10); +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 ALTER TABLE fk_partitioned_fk DETACH PARTITION fk_partitioned_fk_5; ALTER TABLE fk_partitioned_fk ATTACH PARTITION fk_partitioned_fk_5 FOR VALUES IN (4500); -- this one has two constraints, similar but not quite the one in the parent, -- so it gets a new one \d fk_partitioned_fk_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 +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 Partitioned table "public.fk_partitioned_fk_5" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -1941,6 +2034,14 @@ ALTER TABLE fk_partitioned_fk_5 DETACH PARTITION fk_partitioned_fk_5_1; ALTER TABLE fk_partitioned_fk_5 ATTACH PARTITION fk_partitioned_fk_5_1 FOR VALUES FROM (0) TO (10); \d fk_partitioned_fk_5_1 +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Table "public.fk_partitioned_fk_5_1" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -1959,13 +2060,18 @@ CREATE TABLE fk_partitioned_fk_2_1 PARTITION OF fk_partitioned_fk_2 FOR VALUES FROM (0) TO (1000); CREATE TABLE fk_partitioned_fk_2_2 PARTITION OF fk_partitioned_fk_2 FOR VALUES FROM (1000) TO (2000); INSERT INTO fk_partitioned_fk_2 VALUES (1600, 601), (1600, 1601); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE fk_partitioned_fk ATTACH PARTITION fk_partitioned_fk_2 FOR VALUES IN (1600); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: insert or update on table "fk_partitioned_fk_2_1" violates foreign key constraint "fk_partitioned_fk_a_b_fkey" DETAIL: Key (a, b)=(1600, 601) is not present in table "fk_notpartitioned_pk". INSERT INTO fk_notpartitioned_pk VALUES (1600, 601), (1600, 1601); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE fk_partitioned_fk ATTACH PARTITION fk_partitioned_fk_2 FOR VALUES IN (1600); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- leave these tables around intentionally -- test the case when the referenced table is owned by a different user create role regress_other_partitioned_fk_owner; @@ -1976,6 +2082,7 @@ for values in (2048); insert into other_partitioned_fk select 2048, x from generate_series(1,10) x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- this should fail alter table other_partitioned_fk add foreign key (a, b) references fk_notpartitioned_pk(a, b); @@ -1985,6 +2092,7 @@ reset role; insert into fk_notpartitioned_pk (a, b) select 2048, x from generate_series(1,10) x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree set role regress_other_partitioned_fk_owner; alter table other_partitioned_fk add foreign key (a, b) references fk_notpartitioned_pk(a, b); @@ -2008,6 +2116,7 @@ id_abc bigint ); ALTER TABLE parted_self_fk ATTACH PARTITION part1_self_fk FOR VALUES FROM (0) TO (10); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE TABLE part2_self_fk PARTITION OF parted_self_fk FOR VALUES FROM (10) TO (20); CREATE TABLE part3_self_fk ( -- a partitioned partition id bigint NOT NULL PRIMARY KEY, @@ -2015,11 +2124,13 @@ ) PARTITION BY RANGE (id); CREATE TABLE part32_self_fk PARTITION OF part3_self_fk FOR VALUES FROM (20) TO (30); ALTER TABLE parted_self_fk ATTACH PARTITION part3_self_fk FOR VALUES FROM (20) TO (40); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE TABLE part33_self_fk ( id bigint NOT NULL PRIMARY KEY, id_abc bigint ); ALTER TABLE part3_self_fk ATTACH PARTITION part33_self_fk FOR VALUES FROM (30) TO (40); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT cr.relname, co.conname, co.contype, co.convalidated, p.conname AS conparent, p.convalidated, cf.relname AS foreignrel FROM pg_constraint co @@ -2028,6 +2139,7 @@ LEFT JOIN pg_constraint p ON p.oid = co.conparentid WHERE cr.oid IN (SELECT relid FROM pg_partition_tree('parted_self_fk')) ORDER BY co.contype, cr.relname, co.conname, p.conname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | conname | contype | convalidated | conparent | convalidated | foreignrel ----------------+----------------------------+---------+--------------+----------------------------+--------------+---------------- part1_self_fk | parted_self_fk_id_abc_fkey | f | t | parted_self_fk_id_abc_fkey | t | parted_self_fk @@ -2063,6 +2175,7 @@ LEFT JOIN pg_constraint p ON p.oid = co.conparentid WHERE cr.oid IN (SELECT relid FROM pg_partition_tree('parted_self_fk')) ORDER BY co.contype, cr.relname, co.conname, p.conname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | conname | contype | convalidated | conparent | convalidated | foreignrel ----------------+----------------------------+---------+--------------+----------------------------+--------------+---------------- part1_self_fk | parted_self_fk_id_abc_fkey | f | t | parted_self_fk_id_abc_fkey | t | parted_self_fk @@ -2100,6 +2213,14 @@ create table fk_part_23_2 partition of fk_part_23 for values in (2); alter table fkpart0.fk_part add foreign key (a) references fkpart0.pkey; \d fkpart0.fk_part_1 \\ -- should have only one FK +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Table "fkpart0.fk_part_1" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -2111,6 +2232,14 @@ alter table fkpart0.fk_part_1 drop constraint fk_part_1_a_fkey; ERROR: cannot drop inherited constraint "fk_part_1_a_fkey" of relation "fk_part_1" \d fkpart0.fk_part_23 \\ -- should have only one FK +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Partitioned table "fkpart0.fk_part_23" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -2122,6 +2251,14 @@ Number of partitions: 1 (Use \d+ to list them.) \d fkpart0.fk_part_23_2 \\ -- should have only one FK +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Table "fkpart0.fk_part_23_2" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -2136,6 +2273,14 @@ ERROR: cannot drop inherited constraint "fk_part_23_a_fkey" of relation "fk_part_23_2" create table fkpart0.fk_part_4 partition of fkpart0.fk_part for values in (4); \d fkpart0.fk_part_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 +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 Table "fkpart0.fk_part_4" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -2151,6 +2296,14 @@ create table fkpart0.fk_part_56_5 partition of fkpart0.fk_part_56 for values in (5); \d fkpart0.fk_part_56 +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Partitioned table "fkpart0.fk_part_56" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -2173,6 +2326,7 @@ create table fk_part_1 partition of fk_part for values in (1) partition by list (a) create table fk_part_1_1 partition of fk_part_1 for values in (1); alter table fkpart1.fk_part add foreign key (a) references fkpart1.pkey; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into fkpart1.fk_part values (1); -- should fail ERROR: insert or update on table "fk_part_1_1" violates foreign key constraint "fk_part_a_fkey" DETAIL: Key (a)=(1) is not present in table "pkey". @@ -2249,9 +2403,11 @@ CREATE TABLE fk (a int) PARTITION BY RANGE (a); CREATE TABLE fk1 PARTITION OF fk FOR VALUES FROM (0) TO (750); ALTER TABLE fk ADD FOREIGN KEY (a) REFERENCES pk; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE TABLE fk2 (b int, a int) ; ALTER TABLE fk2 DROP COLUMN b; ALTER TABLE fk ATTACH PARTITION fk2 FOR VALUES FROM (750) TO (3500); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE TABLE pk3 PARTITION OF pk FOR VALUES FROM (2000) TO (3000); CREATE TABLE pk4 (LIKE pk); ALTER TABLE pk ATTACH PARTITION pk4 FOR VALUES FROM (3000) TO (4000); @@ -2282,7 +2438,9 @@ DETAIL: Key (a)=(4500) is not present in table "pk". -- insert into the referenced table, now they should work INSERT into pk VALUES (1), (1000), (2000), (3000), (4000), (4500); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT into fk VALUES (1), (1000), (2000), (3000), (4000), (4500); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- should fail: referencing value present DELETE FROM pk WHERE a = 1; ERROR: update or delete on table "pk1" violates foreign key constraint "fk_a_fkey1" on table "fk" @@ -2346,22 +2504,29 @@ CREATE TABLE droppk21 PARTITION OF droppk2 FOR VALUES FROM (1000) TO (1400); CREATE TABLE droppk2_d PARTITION OF droppk2 DEFAULT; INSERT into droppk VALUES (1), (1000), (1500), (2000); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE TABLE dropfk (a int REFERENCES droppk); INSERT into dropfk VALUES (1), (1000), (1500), (2000); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- these should all fail ALTER TABLE droppk DETACH PARTITION droppk_d; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: removing partition "droppk_d" violates foreign key constraint "dropfk_a_fkey5" DETAIL: Key (a)=(2000) is still referenced from table "dropfk". ALTER TABLE droppk2 DETACH PARTITION droppk2_d; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: removing partition "droppk2_d" violates foreign key constraint "dropfk_a_fkey4" DETAIL: Key (a)=(1500) is still referenced from table "dropfk". ALTER TABLE droppk DETACH PARTITION droppk1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: removing partition "droppk1" violates foreign key constraint "dropfk_a_fkey1" DETAIL: Key (a)=(1) is still referenced from table "dropfk". ALTER TABLE droppk DETACH PARTITION droppk2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: removing partition "droppk2" violates foreign key constraint "dropfk_a_fkey2" DETAIL: Key (a)=(1000) is still referenced from table "dropfk". ALTER TABLE droppk2 DETACH PARTITION droppk21; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: removing partition "droppk21" violates foreign key constraint "dropfk_a_fkey3" DETAIL: Key (a)=(1000) is still referenced from table "dropfk". -- dropping partitions is disallowed @@ -2401,6 +2566,7 @@ HINT: Use DROP ... CASCADE to drop the dependent objects too. -- but DETACH is allowed, and DROP afterwards works ALTER TABLE droppk2 DETACH PARTITION droppk21; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree DROP TABLE droppk2; ERROR: cannot drop table droppk2 because other objects depend on it DETAIL: constraint dropfk_a_fkey on table dropfk depends on table droppk2 @@ -2415,6 +2581,7 @@ CREATE TABLE fk1 PARTITION OF fk FOR VALUES IN (1) PARTITION BY LIST (a); CREATE TABLE fk11 PARTITION OF fk1 FOR VALUES IN (1); ALTER TABLE fk ADD FOREIGN KEY (a) REFERENCES pk; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE TABLE pk2 PARTITION OF pk FOR VALUES IN (2); CREATE TABLE pk3 (a int NOT NULL) PARTITION BY LIST (a); CREATE TABLE pk31 PARTITION OF pk3 FOR VALUES IN (31); @@ -2426,11 +2593,13 @@ CREATE TABLE fk3 (b int, a int); ALTER TABLE fk3 DROP COLUMN b; ALTER TABLE fk ATTACH PARTITION fk3 FOR VALUES IN (3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT pg_describe_object('pg_constraint'::regclass, oid, 0), confrelid::regclass, CASE WHEN conparentid <> 0 THEN pg_describe_object('pg_constraint'::regclass, conparentid, 0) ELSE 'TOP' END FROM pg_catalog.pg_constraint WHERE conrelid IN (SELECT relid FROM pg_partition_tree('fk')) ORDER BY conrelid::regclass::text, conname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree pg_describe_object | confrelid | case ------------------------------------+-----------+----------------------------------- constraint fk_a_fkey on table fk | pk | TOP @@ -2449,6 +2618,7 @@ CREATE TABLE fk4 (LIKE fk); INSERT INTO fk4 VALUES (50); ALTER TABLE fk ATTACH PARTITION fk4 FOR VALUES IN (50); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: insert or update on table "fk4" violates foreign key constraint "fk_a_fkey" DETAIL: Key (a)=(50) is not present in table "pk". -- Verify constraint deferrability @@ -2486,6 +2656,8 @@ CREATE TABLE ref1 PARTITION OF ref FOR VALUES IN (1); CREATE TABLE ref2 PARTITION OF ref FOR VALUES in (2); ALTER TABLE ref ADD FOREIGN KEY(f1,f2) REFERENCES pt; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE ref ALTER CONSTRAINT ref_f1_f2_fkey DEFERRABLE INITIALLY DEFERRED; INSERT INTO pt VALUES(1,2,3); @@ -2504,6 +2676,8 @@ CREATE TABLE ref2 PARTITION OF ref1_2 FOR VALUES IN (2) PARTITION BY list (f2); CREATE TABLE ref22 PARTITION OF ref2 FOR VALUES IN (2); ALTER TABLE ref ADD FOREIGN KEY(f1,f2) REFERENCES pt; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO pt VALUES(1,2,3); INSERT INTO ref VALUES(1,2,3); ALTER TABLE ref22 ALTER CONSTRAINT ref_f1_f2_fkey @@ -2525,6 +2699,7 @@ CREATE TABLE pt2 PARTITION OF pt FOR VALUES IN (2); CREATE TABLE ref(f1 int, f2 int, f3 int); ALTER TABLE ref ADD FOREIGN KEY(f1,f2) REFERENCES pt; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE ref ALTER CONSTRAINT ref_f1_f2_fkey DEFERRABLE INITIALLY DEFERRED; INSERT INTO pt VALUES(1,2,3); @@ -2542,6 +2717,7 @@ CREATE TABLE pt2 PARTITION OF pt1_2 FOR VALUES IN (2); CREATE TABLE ref(f1 int, f2 int, f3 int); ALTER TABLE ref ADD FOREIGN KEY(f1,f2) REFERENCES pt; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE ref ALTER CONSTRAINT ref_f1_f2_fkey1 DEFERRABLE INITIALLY DEFERRED; -- fails ERROR: cannot alter constraint "ref_f1_f2_fkey1" on relation "ref" @@ -2572,6 +2748,8 @@ CREATE TABLE fk11 PARTITION OF fk1 FOR VALUES FROM (1) TO (10); CREATE TABLE fk12 PARTITION OF fk1 FOR VALUES FROM (10) TO (100); ALTER TABLE fk ADD FOREIGN KEY (a) REFERENCES pk ON UPDATE CASCADE ON DELETE CASCADE; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE TABLE fk_d PARTITION OF fk DEFAULT; INSERT INTO pk VALUES (1); INSERT INTO fk VALUES (1); @@ -2591,13 +2769,17 @@ DROP TABLE fk; TRUNCATE TABLE pk; INSERT INTO pk VALUES (20), (50); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE TABLE fk (a int) PARTITION BY RANGE (a); CREATE TABLE fk1 PARTITION OF fk FOR VALUES FROM (1) TO (100) PARTITION BY RANGE (a); CREATE TABLE fk11 PARTITION OF fk1 FOR VALUES FROM (1) TO (10); CREATE TABLE fk12 PARTITION OF fk1 FOR VALUES FROM (10) TO (100); ALTER TABLE fk ADD FOREIGN KEY (a) REFERENCES pk ON UPDATE SET NULL ON DELETE SET NULL; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE TABLE fk_d PARTITION OF fk DEFAULT; INSERT INTO fk VALUES (20), (50); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree UPDATE pk SET a = 21 WHERE a = 20; DELETE FROM pk WHERE a = 50; SELECT tableoid::regclass, * FROM fk; @@ -2610,13 +2792,17 @@ DROP TABLE fk; TRUNCATE TABLE pk; INSERT INTO pk VALUES (20), (30), (50); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE TABLE fk (id int, a int DEFAULT 50) PARTITION BY RANGE (a); CREATE TABLE fk1 PARTITION OF fk FOR VALUES FROM (1) TO (100) PARTITION BY RANGE (a); CREATE TABLE fk11 PARTITION OF fk1 FOR VALUES FROM (1) TO (10); CREATE TABLE fk12 PARTITION OF fk1 FOR VALUES FROM (10) TO (100); ALTER TABLE fk ADD FOREIGN KEY (a) REFERENCES pk ON UPDATE SET DEFAULT ON DELETE SET DEFAULT; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE TABLE fk_d PARTITION OF fk DEFAULT; INSERT INTO fk VALUES (1, 20), (2, 30); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree DELETE FROM pk WHERE a = 20 RETURNING *; a ---- @@ -2639,13 +2825,17 @@ DROP TABLE fk; TRUNCATE TABLE pk; INSERT INTO pk VALUES (20), (30); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE TABLE fk (a int DEFAULT 50) PARTITION BY RANGE (a); CREATE TABLE fk1 PARTITION OF fk FOR VALUES FROM (1) TO (100) PARTITION BY RANGE (a); CREATE TABLE fk11 PARTITION OF fk1 FOR VALUES FROM (1) TO (10); CREATE TABLE fk12 PARTITION OF fk1 FOR VALUES FROM (10) TO (100); ALTER TABLE fk ADD FOREIGN KEY (a) REFERENCES pk ON UPDATE RESTRICT ON DELETE RESTRICT; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE TABLE fk_d PARTITION OF fk DEFAULT; INSERT INTO fk VALUES (20), (30); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree DELETE FROM pk WHERE a = 20; ERROR: update or delete on table "pk11" violates foreign key constraint "fk_a_fkey2" on table "fk" DETAIL: Key (a)=(20) is still referenced from table "fk". @@ -2725,13 +2915,18 @@ CREATE TABLE tbl3_p2 PARTITION OF tbl3 FOR VALUES FROM (1) TO (maxvalue) CREATE TABLE tbl4(f1 int REFERENCES tbl3 DEFERRABLE INITIALLY DEFERRED); INSERT INTO fkpart10.tbl1 VALUES (0), (1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO fkpart10.tbl2 VALUES (0), (1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO fkpart10.tbl3 VALUES (-2), (-1), (0); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO fkpart10.tbl4 VALUES (-2), (-1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree BEGIN; DELETE FROM fkpart10.tbl1 WHERE f1 = 0; UPDATE fkpart10.tbl1 SET f1 = 2 WHERE f1 = 1; INSERT INTO fkpart10.tbl1 VALUES (0), (1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree COMMIT; -- test that cross-partition updates correctly enforces the foreign key -- restriction (specifically testing INITIAILLY DEFERRED) @@ -2755,11 +2950,13 @@ UPDATE fkpart10.tbl1 SET f1 = 3 WHERE f1 = 0; INSERT INTO fkpart10.tbl1 VALUES (0); INSERT INTO fkpart10.tbl3 VALUES (-2), (-1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree COMMIT; -- test where the updated table now has both an IMMEDIATE and a DEFERRED -- constraint pointing into it CREATE TABLE fkpart10.tbl5(f1 int REFERENCES fkpart10.tbl3); INSERT INTO fkpart10.tbl5 VALUES (-2), (-1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree BEGIN; UPDATE fkpart10.tbl3 SET f1 = f1 * -3; ERROR: update or delete on table "tbl3" violates foreign key constraint "tbl5_f1_fkey" on table "tbl5" @@ -2810,9 +3007,13 @@ ALTER TABLE fkpart11.pk12 DROP c; ALTER TABLE fkpart11.pk1 ATTACH PARTITION fkpart11.pk12 FOR VALUES IN (2); INSERT INTO fkpart11.pk VALUES (1, 'xxx'), (3, 'yyy'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO fkpart11.fk VALUES (1), (3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO fkpart11.fk_parted VALUES (1), (3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO fkpart11.fk_another VALUES (1), (3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- moves 2 rows from one leaf partition to another, with both updates being -- cascaded to fk and fk_parted. Updates of fk_parted, of which one is -- cross-partition (3 -> 4), are further cascaded to fk_another. @@ -2853,6 +3054,7 @@ ALTER TABLE fkpart11.fk DROP CONSTRAINT fkey; DELETE FROM fkpart11.fk WHERE a = 4; ALTER TABLE fkpart11.fk ADD CONSTRAINT fkey FOREIGN KEY (a) REFERENCES fkpart11.pk1 (a) ON UPDATE CASCADE ON DELETE CASCADE; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree UPDATE fkpart11.pk SET a = a - 1; ERROR: cannot move tuple across partitions when a non-root ancestor of the source partition is directly referenced in a foreign key DETAIL: A foreign key points to ancestor "pk1" but not the root ancestor "pk". @@ -2892,6 +3094,7 @@ -- is allowed to succeed ALTER TABLE fkpart11.fk DROP CONSTRAINT fkey; ALTER TABLE fkpart11.fk ADD CONSTRAINT fkey FOREIGN KEY (a) REFERENCES fkpart11.pk11 (a) ON UPDATE CASCADE ON DELETE CASCADE; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- will delete (1) from p11 which is cascaded to fk UPDATE fkpart11.pk SET a = a + 1 WHERE a = 1; SELECT tableoid::pg_catalog.regclass, * FROM fkpart11.fk; diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/cluster.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/cluster.out --- /tmp/cirrus-ci-build/src/test/regress/expected/cluster.out 2024-03-19 15:41:21.017319000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/cluster.out 2024-03-19 15:51:29.779294000 +0000 @@ -14,10 +14,15 @@ CREATE INDEX clstr_tst_b_c ON clstr_tst (b,c); INSERT INTO clstr_tst_s (b) VALUES (0); INSERT INTO clstr_tst_s (b) SELECT b FROM clstr_tst_s; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO clstr_tst_s (b) SELECT b FROM clstr_tst_s; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO clstr_tst_s (b) SELECT b FROM clstr_tst_s; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO clstr_tst_s (b) SELECT b FROM clstr_tst_s; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO clstr_tst_s (b) SELECT b FROM clstr_tst_s; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE TABLE clstr_tst_inh () INHERITS (clstr_tst); INSERT INTO clstr_tst (b, c) VALUES (11, 'once'); INSERT INTO clstr_tst (b, c) VALUES (10, 'diez'); @@ -330,6 +335,7 @@ SELECT * FROM clstr_1 UNION ALL SELECT * FROM clstr_2 UNION ALL SELECT * FROM clstr_3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a --- 1 @@ -359,6 +365,7 @@ SELECT * FROM clstr_1 UNION ALL SELECT * FROM clstr_2 UNION ALL SELECT * FROM clstr_3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a --- 1 @@ -434,6 +441,7 @@ -- check that temp tables can be clustered create temp table clstr_temp (col1 int primary key, col2 text); insert into clstr_temp values (2, 'two'), (1, 'one'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree cluster clstr_temp using clstr_temp_pkey; select * from clstr_temp; col1 | col2 @@ -464,9 +472,12 @@ CREATE INDEX clstrpart_idx ON clstrpart (a); -- Check that clustering sets new relfilenodes: CREATE TEMP TABLE old_cluster_info AS SELECT relname, level, relfilenode, relkind FROM pg_partition_tree('clstrpart'::regclass) AS tree JOIN pg_class c ON c.oid=tree.relid ; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CLUSTER clstrpart USING clstrpart_idx; CREATE TEMP TABLE new_cluster_info AS SELECT relname, level, relfilenode, relkind FROM pg_partition_tree('clstrpart'::regclass) AS tree JOIN pg_class c ON c.oid=tree.relid ; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT relname, old.level, old.relkind, old.relfilenode = new.relfilenode FROM old_cluster_info AS old JOIN new_cluster_info AS new USING (relname) ORDER BY relname COLLATE "C"; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | level | relkind | ?column? -------------+-------+---------+---------- clstrpart | 0 | p | t @@ -480,6 +491,13 @@ -- Partitioned indexes aren't and can't be marked un/clustered: \d clstrpart +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Partitioned table "public.clstrpart" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -511,12 +529,14 @@ CREATE TEMP TABLE ptnowner_oldnodes AS SELECT oid, relname, relfilenode FROM pg_partition_tree('ptnowner') AS tree JOIN pg_class AS c ON c.oid=tree.relid; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SET SESSION AUTHORIZATION regress_ptnowner; CLUSTER ptnowner USING ptnowner_i_idx; WARNING: permission denied to cluster "ptnowner2", skipping it RESET SESSION AUTHORIZATION; SELECT a.relname, a.relfilenode=b.relfilenode FROM pg_class a JOIN ptnowner_oldnodes b USING (oid) ORDER BY a.relname COLLATE "C"; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | ?column? -----------+---------- ptnowner | t @@ -539,6 +559,7 @@ thousand, lag(thousand) over () as lthousand, tenthous, lag(tenthous) over () as ltenthous from clstr_4) ss where row(hundred, thousand, tenthous) <= row(lhundred, lthousand, ltenthous); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree hundred | lhundred | thousand | lthousand | tenthous | ltenthous ---------+----------+----------+-----------+----------+----------- (0 rows) @@ -548,6 +569,7 @@ -- test CLUSTER on expression index CREATE TABLE clstr_expression(id serial primary key, a int, b text COLLATE "C"); INSERT INTO clstr_expression(a, b) SELECT g.i % 42, 'prefix'||g.i FROM generate_series(1, 133) g(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE INDEX clstr_expression_minus_a ON clstr_expression ((-a), b); CREATE INDEX clstr_expression_upper_b ON clstr_expression ((upper(b))); -- verify indexes work before cluster @@ -588,6 +610,7 @@ WITH rows AS (SELECT ctid, lag(a) OVER (ORDER BY ctid) AS la, a FROM clstr_expression) SELECT * FROM rows WHERE la < a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ctid | la | a ------+----+--- (0 rows) @@ -629,6 +652,7 @@ WITH rows AS (SELECT ctid, lag(b) OVER (ORDER BY ctid) AS lb, b FROM clstr_expression) SELECT * FROM rows WHERE upper(lb) > upper(b); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ctid | lb | b ------+----+--- (0 rows) diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/dependency.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/dependency.out --- /tmp/cirrus-ci-build/src/test/regress/expected/dependency.out 2024-03-19 15:41:21.017944000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/dependency.out 2024-03-19 15:51:29.236593000 +0000 @@ -67,6 +67,7 @@ GRANT ALL ON deptest1 TO regress_dep_user2; RESET SESSION AUTHORIZATION; \z deptest1 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Access privileges Schema | Name | Type | Access privileges | Column privileges | Policies --------+----------+-------+------------------------------------------------------+-------------------+---------- @@ -78,6 +79,7 @@ DROP OWNED BY regress_dep_user1; -- all grants revoked \z deptest1 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Access privileges Schema | Name | Type | Access privileges | Column privileges | Policies --------+----------+-------+----------------------------------------------+-------------------+---------- @@ -86,6 +88,7 @@ -- table was dropped \d deptest +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- Test REASSIGN OWNED GRANT ALL ON deptest1 TO regress_dep_user1; GRANT CREATE ON DATABASE regression TO regress_dep_user1; @@ -108,6 +111,7 @@ CREATE TYPE deptest_t AS (a int); SELECT typowner = relowner FROM pg_type JOIN pg_class c ON typrelid = c.oid WHERE typname = 'deptest_t'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ?column? ---------- t @@ -116,6 +120,7 @@ RESET SESSION AUTHORIZATION; REASSIGN OWNED BY regress_dep_user1 TO regress_dep_user2; \dt deptest +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of relations Schema | Name | Type | Owner --------+---------+-------+------------------- @@ -124,6 +129,7 @@ SELECT typowner = relowner FROM pg_type JOIN pg_class c ON typrelid = c.oid WHERE typname = 'deptest_t'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ?column? ---------- t diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/guc.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/guc.out --- /tmp/cirrus-ci-build/src/test/regress/expected/guc.out 2024-03-19 15:41:21.018498000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/guc.out 2024-03-19 15:51:29.140007000 +0000 @@ -594,12 +594,14 @@ (1 row) SELECT name FROM pg_prepared_statements; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree name ------ foo (1 row) SELECT name FROM pg_cursors; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree name ------ foo @@ -632,11 +634,13 @@ (0 rows) SELECT name FROM pg_prepared_statements; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree name ------ (0 rows) SELECT name FROM pg_cursors; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree name ------ (0 rows) @@ -845,6 +849,7 @@ 'RUNTIME_COMPUTED' = ANY(flags) AS runtime_computed FROM pg_show_all_settings() AS psas, pg_settings_get_flags(psas.name) AS flags; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- Developer GUCs should be flagged with GUC_NOT_IN_SAMPLE: SELECT name FROM tab_settings_flags WHERE category = 'Developer Options' AND NOT not_in_sample diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/bitmapops.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/bitmapops.out --- /tmp/cirrus-ci-build/src/test/regress/expected/bitmapops.out 2024-03-19 15:41:21.016977000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/bitmapops.out 2024-03-19 15:51:29.448255000 +0000 @@ -12,6 +12,7 @@ INSERT INTO bmscantest SELECT (r%53), (r%59), 'foooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' FROM generate_series(1,70000) r; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE INDEX i_bmtest_a ON bmscantest(a); CREATE INDEX i_bmtest_b ON bmscantest(b); -- We want to use bitmapscans. With default settings, the planner currently diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/combocid.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/combocid.out --- /tmp/cirrus-ci-build/src/test/regress/expected/combocid.out 2024-03-19 15:41:21.017430000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/combocid.out 2024-03-19 15:51:28.953739000 +0000 @@ -5,15 +5,25 @@ BEGIN; -- a few dummy ops to push up the CommandId counter INSERT INTO combocidtest SELECT 1 LIMIT 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO combocidtest SELECT 1 LIMIT 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO combocidtest SELECT 1 LIMIT 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO combocidtest SELECT 1 LIMIT 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO combocidtest SELECT 1 LIMIT 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO combocidtest SELECT 1 LIMIT 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO combocidtest SELECT 1 LIMIT 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO combocidtest SELECT 1 LIMIT 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO combocidtest SELECT 1 LIMIT 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO combocidtest SELECT 1 LIMIT 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO combocidtest VALUES (1); INSERT INTO combocidtest VALUES (2); SELECT ctid,cmin,* FROM combocidtest; @@ -76,15 +86,25 @@ BEGIN; -- a few dummy ops to push up the CommandId counter INSERT INTO combocidtest SELECT 1 LIMIT 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO combocidtest SELECT 1 LIMIT 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO combocidtest SELECT 1 LIMIT 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO combocidtest SELECT 1 LIMIT 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO combocidtest SELECT 1 LIMIT 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO combocidtest SELECT 1 LIMIT 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO combocidtest SELECT 1 LIMIT 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO combocidtest SELECT 1 LIMIT 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO combocidtest SELECT 1 LIMIT 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO combocidtest SELECT 1 LIMIT 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO combocidtest VALUES (444); SELECT ctid,cmin,* FROM combocidtest; ctid | cmin | foobar diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/tsearch.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/tsearch.out --- /tmp/cirrus-ci-build/src/test/regress/expected/tsearch.out 2024-03-19 15:41:21.046474000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/tsearch.out 2024-03-19 15:51:29.634195000 +0000 @@ -53,6 +53,7 @@ ON (tt.cfgid=m.mapcfg AND tt.tokid=m.maptokentype) WHERE tt.cfgid IS NULL OR tt.tokid IS NULL; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree cfgid | tokid | mapcfg | maptokentype | mapseqno | mapdict -------+-------+--------+--------------+----------+--------- (0 rows) @@ -537,6 +538,11 @@ ERROR: parameter "siglen" specified more than once CREATE INDEX wowidx2 ON test_tsvector USING gist (a tsvector_ops(siglen=1)); \d test_tsvector +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 Table "public.test_tsvector" Column | Type | Collation | Nullable | Default --------+----------+-----------+----------+--------- @@ -704,6 +710,11 @@ DROP INDEX wowidx2; CREATE INDEX wowidx ON test_tsvector USING gist (a tsvector_ops(siglen=484)); \d test_tsvector +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 Table "public.test_tsvector" Column | Type | Collation | Nullable | Default --------+----------+-----------+----------+--------- @@ -1065,6 +1076,7 @@ RESET enable_seqscan; INSERT INTO test_tsvector VALUES ('???', 'DFG:1A,2B,6C,10 FGH'); SELECT * FROM ts_stat('SELECT a FROM test_tsvector') ORDER BY ndoc DESC, nentry DESC, word LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree word | ndoc | nentry ------+------+-------- qq | 108 | 108 @@ -1080,6 +1092,7 @@ (10 rows) SELECT * FROM ts_stat('SELECT a FROM test_tsvector', 'AB') ORDER BY ndoc DESC, nentry DESC, word; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree word | ndoc | nentry ------+------+-------- DFG | 1 | 2 @@ -1099,6 +1112,7 @@ (1 row) SELECT * FROM ts_token_type('default'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree tokid | alias | description -------+-----------------+------------------------------------------ 1 | asciiword | Word, all ASCII @@ -1129,6 +1143,7 @@ SELECT * FROM ts_parse('default', '345 qwe@efd.r '' http://www.com/ http://aew.werc.ewr/?ad=qwe&dw 1aew.werc.ewr/?ad=qwe&dw 2aew.werc.ewr http://3aew.werc.ewr/?ad=qwe&dw http://4aew.werc.ewr http://5aew.werc.ewr:8100/? ad=qwe&dw 6aew.werc.ewr:8100/?ad=qwe&dw 7aew.werc.ewr:8100/?ad=qwe&dw=%20%32 +4.0e-10 qwe qwe qwqwe 234.435 455 5.005 teodor@stack.net teodor@123-stack.net 123_teodor@stack.net 123-teodor@stack.net qwe-wer asdf qwer jf sdjk ewr1> ewri2 /usr/local/fff /awdf/dwqe/4325 rewt/ewr wefjn /wqe-324/ewr gist.h gist.h.c gist.c. readline 4.2 4.2. 4.2, readline-4.2 readline-4.2. 234 wow < jqw <> qwerty'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree tokid | token -------+-------------------------------------- 22 | 345 @@ -1292,6 +1307,7 @@ -- ts_debug SELECT * from ts_debug('english', 'abc&nm1;def©ghiõjkl'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree alias | description | token | dictionaries | dictionary | lexemes -----------+-----------------+----------------------------+----------------+--------------+--------- tag | XML tag | | {} | | @@ -1307,6 +1323,7 @@ -- check parsing of URLs SELECT * from ts_debug('english', 'http://www.harewoodsolutions.co.uk/press.aspx'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree alias | description | token | dictionaries | dictionary | lexemes ----------+---------------+----------------------------------------+--------------+------------+------------------------------------------ protocol | Protocol head | http:// | {} | | @@ -1317,6 +1334,7 @@ (5 rows) SELECT * from ts_debug('english', 'http://aew.wer0c.ewr/id?ad=qwe&dw'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree alias | description | token | dictionaries | dictionary | lexemes ----------+---------------+----------------------------+--------------+------------+------------------------------ protocol | Protocol head | http:// | {} | | @@ -1327,6 +1345,7 @@ (5 rows) SELECT * from ts_debug('english', 'http://5aew.werc.ewr:8100/?'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree alias | description | token | dictionaries | dictionary | lexemes ----------+---------------+----------------------+--------------+------------+------------------------ protocol | Protocol head | http:// | {} | | @@ -1336,6 +1355,7 @@ (4 rows) SELECT * from ts_debug('english', '5aew.werc.ewr:8100/?xx'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree alias | description | token | dictionaries | dictionary | lexemes ----------+-------------+------------------------+--------------+------------+-------------------------- url | URL | 5aew.werc.ewr:8100/?xx | {simple} | simple | {5aew.werc.ewr:8100/?xx} @@ -1347,6 +1367,7 @@ dictionaries, dictionaries is null as dnull, array_dims(dictionaries) as ddims, lexemes, lexemes is null as lnull, array_dims(lexemes) as ldims from ts_debug('english', 'a title'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree token | alias | dictionaries | dnull | ddims | lexemes | lnull | ldims -------+-----------+----------------+-------+-------+---------+-------+------- a | asciiword | {english_stem} | f | [1:1] | {} | f | @@ -2326,36 +2347,42 @@ (1 row) SELECT ts_rewrite( query, 'SELECT keyword, sample FROM test_tsquery' ) FROM to_tsquery('english', 'moscow') AS query; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ts_rewrite --------------------- 'moskva' | 'moscow' (1 row) SELECT ts_rewrite( query, 'SELECT keyword, sample FROM test_tsquery' ) FROM to_tsquery('english', 'moscow & hotel') AS query; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ts_rewrite ----------------------------------- 'hotel' & ( 'moskva' | 'moscow' ) (1 row) SELECT ts_rewrite( query, 'SELECT keyword, sample FROM test_tsquery' ) FROM to_tsquery('english', 'bar & qq & foo & (new <-> york)') AS query; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ts_rewrite ------------------------------------------------------------------------------------- 'citi' & 'foo' & ( 'bar' | 'qq' ) & ( 'nyc' | 'big' <-> 'appl' | 'new' <-> 'york' ) (1 row) SELECT ts_rewrite( query, 'SELECT keyword, sample FROM test_tsquery' ) FROM to_tsquery('english', 'moscow') AS query; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ts_rewrite --------------------- 'moskva' | 'moscow' (1 row) SELECT ts_rewrite( query, 'SELECT keyword, sample FROM test_tsquery' ) FROM to_tsquery('english', 'moscow & hotel') AS query; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ts_rewrite ----------------------------------- 'hotel' & ( 'moskva' | 'moscow' ) (1 row) SELECT ts_rewrite( query, 'SELECT keyword, sample FROM test_tsquery' ) FROM to_tsquery('english', 'bar & qq & foo & (new <-> york)') AS query; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ts_rewrite ------------------------------------------------------------------------------------- 'citi' & 'foo' & ( 'bar' | 'qq' ) & ( 'nyc' | 'big' <-> 'appl' | 'new' <-> 'york' ) @@ -2387,36 +2414,42 @@ (1 row) SELECT ts_rewrite( query, 'SELECT keyword, sample FROM test_tsquery' ) FROM to_tsquery('english', 'moscow') AS query; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ts_rewrite --------------------- 'moskva' | 'moscow' (1 row) SELECT ts_rewrite( query, 'SELECT keyword, sample FROM test_tsquery' ) FROM to_tsquery('english', 'moscow & hotel') AS query; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ts_rewrite ----------------------------------- 'hotel' & ( 'moskva' | 'moscow' ) (1 row) SELECT ts_rewrite( query, 'SELECT keyword, sample FROM test_tsquery' ) FROM to_tsquery('english', 'bar & qq & foo & (new <-> york)') AS query; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ts_rewrite ------------------------------------------------------------------------------------- 'citi' & 'foo' & ( 'bar' | 'qq' ) & ( 'nyc' | 'big' <-> 'appl' | 'new' <-> 'york' ) (1 row) SELECT ts_rewrite( query, 'SELECT keyword, sample FROM test_tsquery' ) FROM to_tsquery('english', 'moscow') AS query; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ts_rewrite --------------------- 'moskva' | 'moscow' (1 row) SELECT ts_rewrite( query, 'SELECT keyword, sample FROM test_tsquery' ) FROM to_tsquery('english', 'moscow & hotel') AS query; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ts_rewrite ----------------------------------- 'hotel' & ( 'moskva' | 'moscow' ) (1 row) SELECT ts_rewrite( query, 'SELECT keyword, sample FROM test_tsquery' ) FROM to_tsquery('english', 'bar & qq & foo & (new <-> york)') AS query; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ts_rewrite ------------------------------------------------------------------------------------- 'citi' & 'foo' & ( 'bar' | 'qq' ) & ( 'nyc' | 'big' <-> 'appl' | 'new' <-> 'york' ) @@ -2517,6 +2550,7 @@ -- to_tsquery(text) is not immutable, so it won't be inlined explain (costs off) select * from test_tsquery, to_tsquery('new') q where txtsample @@ q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------ Nested Loop @@ -2529,6 +2563,7 @@ -- That allows us to get rid of using function scan and join at all. explain (costs off) select * from test_tsquery, to_tsquery('english', 'new') q where txtsample @@ q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------- Seq Scan on test_tsquery diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/foreign_data.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/foreign_data.out --- /tmp/cirrus-ci-build/src/test/regress/expected/foreign_data.out 2024-03-19 15:41:21.018253000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/foreign_data.out 2024-03-19 15:51:30.421962000 +0000 @@ -60,6 +60,7 @@ DROP FOREIGN DATA WRAPPER foo; CREATE FOREIGN DATA WRAPPER foo OPTIONS (testing '1'); \dew+ +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of foreign-data wrappers Name | Owner | Handler | Validator | Access privileges | FDW options | Description ------------+---------------------------+---------+--------------------------+-------------------+---------------+------------- @@ -73,6 +74,7 @@ ERROR: option "testing" provided more than once CREATE FOREIGN DATA WRAPPER foo OPTIONS (testing '1', another '2'); \dew+ +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of foreign-data wrappers Name | Owner | Handler | Validator | Access privileges | FDW options | Description ------------+---------------------------+---------+--------------------------+-------------------+----------------------------+------------- @@ -89,6 +91,7 @@ RESET ROLE; CREATE FOREIGN DATA WRAPPER foo VALIDATOR postgresql_fdw_validator; \dew+ +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of foreign-data wrappers Name | Owner | Handler | Validator | Access privileges | FDW options | Description ------------+---------------------------+---------+--------------------------+-------------------+-------------+------------- @@ -119,6 +122,7 @@ ERROR: function bar(text[], oid) does not exist ALTER FOREIGN DATA WRAPPER foo NO VALIDATOR; \dew+ +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of foreign-data wrappers Name | Owner | Handler | Validator | Access privileges | FDW options | Description ------------+---------------------------+---------+--------------------------+-------------------+-------------+------------- @@ -134,6 +138,7 @@ ERROR: option "c" not found ALTER FOREIGN DATA WRAPPER foo OPTIONS (ADD x '1', DROP x); \dew+ +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of foreign-data wrappers Name | Owner | Handler | Validator | Access privileges | FDW options | Description ------------+---------------------------+---------+--------------------------+-------------------+----------------+------------- @@ -144,6 +149,7 @@ ALTER FOREIGN DATA WRAPPER foo OPTIONS (DROP a, SET b '3', ADD c '4'); \dew+ +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of foreign-data wrappers Name | Owner | Handler | Validator | Access privileges | FDW options | Description ------------+---------------------------+---------+--------------------------+-------------------+----------------+------------- @@ -156,6 +162,7 @@ ALTER FOREIGN DATA WRAPPER foo OPTIONS (b '4'); -- ERROR ERROR: option "b" provided more than once \dew+ +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of foreign-data wrappers Name | Owner | Handler | Validator | Access privileges | FDW options | Description ------------+---------------------------+---------+--------------------------+-------------------+-----------------------+------------- @@ -171,6 +178,7 @@ SET ROLE regress_test_role_super; ALTER FOREIGN DATA WRAPPER foo OPTIONS (ADD d '5'); \dew+ +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of foreign-data wrappers Name | Owner | Handler | Validator | Access privileges | FDW options | Description ------------+---------------------------+---------+--------------------------+-------------------+------------------------------+------------- @@ -190,6 +198,7 @@ HINT: Must be superuser to alter a foreign-data wrapper. RESET ROLE; \dew+ +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of foreign-data wrappers Name | Owner | Handler | Validator | Access privileges | FDW options | Description ------------+---------------------------+---------+--------------------------+-------------------+------------------------------+------------- @@ -200,6 +209,7 @@ ALTER FOREIGN DATA WRAPPER foo RENAME TO foo1; \dew+ +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of foreign-data wrappers Name | Owner | Handler | Validator | Access privileges | FDW options | Description ------------+---------------------------+---------+--------------------------+-------------------+------------------------------+------------- @@ -225,6 +235,7 @@ DROP FOREIGN DATA WRAPPER IF EXISTS nonexistent; NOTICE: foreign-data wrapper "nonexistent" does not exist, skipping \dew+ +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of foreign-data wrappers Name | Owner | Handler | Validator | Access privileges | FDW options | Description ------------+---------------------------+------------------+--------------------------+-------------------+------------------------------+------------- @@ -241,6 +252,7 @@ RESET ROLE; DROP ROLE regress_test_role_super; \dew+ +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of foreign-data wrappers Name | Owner | Handler | Validator | Access privileges | FDW options | Description ------------+---------------------------+---------+--------------------------+-------------------+-------------+------------- @@ -257,6 +269,7 @@ CREATE USER MAPPING IF NOT EXISTS FOR current_user SERVER s1; -- NOTICE NOTICE: user mapping for "regress_foreign_data_user" already exists for server "s1", skipping \dew+ +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of foreign-data wrappers Name | Owner | Handler | Validator | Access privileges | FDW options | Description ------------+---------------------------+---------+--------------------------+-------------------+-------------+------------- @@ -266,6 +279,7 @@ (3 rows) \des+ +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of foreign servers Name | Owner | Foreign-data wrapper | Access privileges | Type | Version | FDW options | Description ------+---------------------------+----------------------+-------------------+------+---------+-------------+---------------- @@ -273,6 +287,7 @@ (1 row) \deu+ +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of user mappings Server | User name | FDW options --------+---------------------------+------------- @@ -293,6 +308,7 @@ DETAIL: drop cascades to server s1 drop cascades to user mapping for regress_foreign_data_user on server s1 \dew+ +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of foreign-data wrappers Name | Owner | Handler | Validator | Access privileges | FDW options | Description ------------+---------------------------+---------+--------------------------+-------------------+-------------+------------- @@ -301,12 +317,14 @@ (2 rows) \des+ +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of foreign servers Name | Owner | Foreign-data wrapper | Access privileges | Type | Version | FDW options | Description ------+-------+----------------------+-------------------+------+---------+-------------+------------- (0 rows) \deu+ +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of user mappings Server | User name | FDW options --------+-----------+------------- @@ -331,6 +349,7 @@ ERROR: invalid option "foo" CREATE SERVER s8 FOREIGN DATA WRAPPER postgresql OPTIONS (host 'localhost', dbname 's8db'); \des+ +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of foreign servers Name | Owner | Foreign-data wrapper | Access privileges | Type | Version | FDW options | Description ------+---------------------------+----------------------+-------------------+--------+---------+-----------------------------------+------------- @@ -353,6 +372,7 @@ CREATE SERVER t1 FOREIGN DATA WRAPPER foo; RESET ROLE; \des+ +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of foreign servers Name | Owner | Foreign-data wrapper | Access privileges | Type | Version | FDW options | Description ------+---------------------------+----------------------+-------------------+--------+---------+-----------------------------------+------------- @@ -377,6 +397,7 @@ SET ROLE regress_test_role; CREATE SERVER t2 FOREIGN DATA WRAPPER foo; \des+ +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of foreign servers Name | Owner | Foreign-data wrapper | Access privileges | Type | Version | FDW options | Description ------+---------------------------+----------------------+-------------------+--------+---------+-----------------------------------+------------- @@ -407,6 +428,7 @@ GRANT USAGE ON FOREIGN SERVER s1 TO regress_test_role; GRANT USAGE ON FOREIGN SERVER s6 TO regress_test_role2 WITH GRANT OPTION; \des+ +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of foreign servers Name | Owner | Foreign-data wrapper | Access privileges | Type | Version | FDW options | Description ------+---------------------------+----------------------+-------------------------------------------------------+--------+---------+-----------------------------------+------------- @@ -457,6 +479,7 @@ DETAIL: privileges for foreign-data wrapper foo owner of server s1 \des+ +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of foreign servers Name | Owner | Foreign-data wrapper | Access privileges | Type | Version | FDW options | Description ------+---------------------------+----------------------+-------------------------------------------------------+--------+---------+--------------------------------------+------------- @@ -475,6 +498,7 @@ ALTER SERVER s8 RENAME to s8new; \des+ +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of foreign servers Name | Owner | Foreign-data wrapper | Access privileges | Type | Version | FDW options | Description -------+---------------------------+----------------------+-------------------------------------------------------+--------+---------+--------------------------------------+------------- @@ -498,6 +522,7 @@ DROP SERVER IF EXISTS nonexistent; NOTICE: server "nonexistent" does not exist, skipping \des +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of foreign servers Name | Owner | Foreign-data wrapper ------+---------------------------+---------------------- @@ -519,6 +544,7 @@ DROP SERVER s1; RESET ROLE; \des +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of foreign servers Name | Owner | Foreign-data wrapper ------+---------------------------+---------------------- @@ -538,6 +564,7 @@ DROP SERVER s2; RESET ROLE; \des +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of foreign servers Name | Owner | Foreign-data wrapper ------+---------------------------+---------------------- @@ -553,6 +580,7 @@ CREATE USER MAPPING FOR current_user SERVER s3; \deu +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of user mappings Server | User name --------+--------------------------- @@ -566,6 +594,7 @@ DROP SERVER s3 CASCADE; NOTICE: drop cascades to user mapping for regress_foreign_data_user on server s3 \des +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of foreign servers Name | Owner | Foreign-data wrapper ------+---------------------------+---------------------- @@ -579,6 +608,7 @@ (7 rows) \deu +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of user mappings Server | User name --------+----------- @@ -613,6 +643,7 @@ CREATE USER MAPPING FOR public SERVER t1; RESET ROLE; \deu +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of user mappings Server | User name --------+--------------------------- @@ -643,6 +674,7 @@ ALTER USER MAPPING FOR public SERVER t1 OPTIONS (ADD modified '1'); RESET ROLE; \deu+ +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of user mappings Server | User name | FDW options --------+---------------------------+---------------------------------- @@ -675,6 +707,7 @@ RESET ROLE; DROP SERVER s7; \deu +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of user mappings Server | User name --------+--------------------------- @@ -733,6 +766,13 @@ COMMENT ON FOREIGN TABLE ft1 IS 'ft1'; COMMENT ON COLUMN ft1.c1 IS 'ft1.c1'; \d+ ft1 +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Foreign table "public.ft1" Column | Type | Collation | Nullable | Default | FDW options | Storage | Stats target | Description --------+---------+-----------+----------+---------+--------------------------------+----------+--------------+------------- @@ -748,6 +788,7 @@ FDW options: (delimiter ',', quote '"', "be quoted" 'value') \det+ +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of foreign tables Schema | Table | Server | FDW options | Description --------+-------+--------+-------------------------------------------------+------------- @@ -850,6 +891,13 @@ ALTER FOREIGN TABLE ft1 ALTER COLUMN c8 SET STATISTICS -1; ALTER FOREIGN TABLE ft1 ALTER COLUMN c8 SET STORAGE PLAIN; \d+ ft1 +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Foreign table "public.ft1" Column | Type | Collation | Nullable | Default | FDW options | Storage | Stats target | Description --------+---------+-----------+----------+---------+--------------------------------+----------+--------------+------------- @@ -903,6 +951,12 @@ ALTER FOREIGN TABLE foreign_schema.ft1 RENAME c1 TO foreign_column_1; ALTER FOREIGN TABLE foreign_schema.ft1 RENAME TO foreign_table_1; \d foreign_schema.foreign_table_1 +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 "foreign_schema.foreign_table_1" Column | Type | Collation | Nullable | Default | FDW options ------------------+---------+-----------+----------+---------+-------------------------------- @@ -967,6 +1021,7 @@ NOTICE: relation "doesnt_exist_ft1" does not exist, skipping -- Information schema SELECT * FROM information_schema.foreign_data_wrappers ORDER BY 1, 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree foreign_data_wrapper_catalog | foreign_data_wrapper_name | authorization_identifier | library_name | foreign_data_wrapper_language ------------------------------+---------------------------+---------------------------+--------------+------------------------------- regression | dummy | regress_foreign_data_user | | c @@ -975,12 +1030,14 @@ (3 rows) SELECT * FROM information_schema.foreign_data_wrapper_options ORDER BY 1, 2, 3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree foreign_data_wrapper_catalog | foreign_data_wrapper_name | option_name | option_value ------------------------------+---------------------------+--------------+-------------- regression | foo | test wrapper | true (1 row) SELECT * FROM information_schema.foreign_servers ORDER BY 1, 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree foreign_server_catalog | foreign_server_name | foreign_data_wrapper_catalog | foreign_data_wrapper_name | foreign_server_type | foreign_server_version | authorization_identifier ------------------------+---------------------+------------------------------+---------------------------+---------------------+------------------------+--------------------------- regression | s0 | regression | dummy | | | regress_foreign_data_user @@ -993,6 +1050,7 @@ (7 rows) SELECT * FROM information_schema.foreign_server_options ORDER BY 1, 2, 3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree foreign_server_catalog | foreign_server_name | option_name | option_value ------------------------+---------------------+-----------------+-------------- regression | s4 | dbname | b @@ -1004,6 +1062,7 @@ (6 rows) SELECT * FROM information_schema.user_mappings ORDER BY lower(authorization_identifier), 2, 3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree authorization_identifier | foreign_server_catalog | foreign_server_name ---------------------------+------------------------+--------------------- PUBLIC | regression | s4 @@ -1017,6 +1076,7 @@ (8 rows) SELECT * FROM information_schema.user_mapping_options ORDER BY lower(authorization_identifier), 2, 3, 4; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree authorization_identifier | foreign_server_catalog | foreign_server_name | option_name | option_value ---------------------------+------------------------+---------------------+--------------+-------------- PUBLIC | regression | s4 | this mapping | is public @@ -1029,6 +1089,7 @@ (7 rows) SELECT * FROM information_schema.usage_privileges WHERE object_type LIKE 'FOREIGN%' AND object_name IN ('s6', 'foo') ORDER BY 1, 2, 3, 4, 5; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree grantor | grantee | object_catalog | object_schema | object_name | object_type | privilege_type | is_grantable ---------------------------+---------------------------+----------------+---------------+-------------+----------------------+----------------+-------------- regress_foreign_data_user | regress_foreign_data_user | regression | | foo | FOREIGN DATA WRAPPER | USAGE | YES @@ -1038,6 +1099,7 @@ (4 rows) SELECT * FROM information_schema.role_usage_grants WHERE object_type LIKE 'FOREIGN%' AND object_name IN ('s6', 'foo') ORDER BY 1, 2, 3, 4, 5; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree grantor | grantee | object_catalog | object_schema | object_name | object_type | privilege_type | is_grantable ---------------------------+---------------------------+----------------+---------------+-------------+----------------------+----------------+-------------- regress_foreign_data_user | regress_foreign_data_user | regression | | foo | FOREIGN DATA WRAPPER | USAGE | YES @@ -1047,12 +1109,14 @@ (4 rows) SELECT * FROM information_schema.foreign_tables ORDER BY 1, 2, 3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree foreign_table_catalog | foreign_table_schema | foreign_table_name | foreign_server_catalog | foreign_server_name -----------------------+----------------------+--------------------+------------------------+--------------------- regression | foreign_schema | foreign_table_1 | regression | s0 (1 row) SELECT * FROM information_schema.foreign_table_options ORDER BY 1, 2, 3, 4; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree foreign_table_catalog | foreign_table_schema | foreign_table_name | option_name | option_value -----------------------+----------------------+--------------------+-------------+-------------- regression | foreign_schema | foreign_table_1 | be quoted | value @@ -1062,6 +1126,7 @@ SET ROLE regress_test_role; SELECT * FROM information_schema.user_mapping_options ORDER BY 1, 2, 3, 4; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree authorization_identifier | foreign_server_catalog | foreign_server_name | option_name | option_value --------------------------+------------------------+---------------------+-------------+-------------- PUBLIC | regression | t1 | modified | 1 @@ -1072,6 +1137,7 @@ (5 rows) SELECT * FROM information_schema.usage_privileges WHERE object_type LIKE 'FOREIGN%' AND object_name IN ('s6', 'foo') ORDER BY 1, 2, 3, 4, 5; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree grantor | grantee | object_catalog | object_schema | object_name | object_type | privilege_type | is_grantable ---------------------------+-----------------------+----------------+---------------+-------------+----------------------+----------------+-------------- regress_foreign_data_user | regress_test_indirect | regression | | foo | FOREIGN DATA WRAPPER | USAGE | NO @@ -1080,6 +1146,7 @@ (3 rows) SELECT * FROM information_schema.role_usage_grants WHERE object_type LIKE 'FOREIGN%' AND object_name IN ('s6', 'foo') ORDER BY 1, 2, 3, 4, 5; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree grantor | grantee | object_catalog | object_schema | object_name | object_type | privilege_type | is_grantable ---------------------------+-----------------------+----------------+---------------+-------------+----------------------+----------------+-------------- regress_foreign_data_user | regress_test_indirect | regression | | foo | FOREIGN DATA WRAPPER | USAGE | NO @@ -1090,6 +1157,7 @@ DROP USER MAPPING FOR current_user SERVER t1; SET ROLE regress_test_role2; SELECT * FROM information_schema.user_mapping_options ORDER BY 1, 2, 3, 4; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree authorization_identifier | foreign_server_catalog | foreign_server_name | option_name | option_value --------------------------+------------------------+---------------------+-------------+-------------- regress_test_role | regression | s6 | username | @@ -1113,6 +1181,7 @@ SELECT has_foreign_data_wrapper_privilege( (SELECT oid FROM pg_roles WHERE rolname='regress_test_role'), (SELECT oid FROM pg_foreign_data_wrapper WHERE fdwname='foo'), 'USAGE'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree has_foreign_data_wrapper_privilege ------------------------------------ t @@ -1127,6 +1196,7 @@ SELECT has_foreign_data_wrapper_privilege( (SELECT oid FROM pg_roles WHERE rolname='regress_test_role'), 'foo', 'USAGE'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree has_foreign_data_wrapper_privilege ------------------------------------ t @@ -1162,6 +1232,7 @@ SELECT has_server_privilege( (SELECT oid FROM pg_roles WHERE rolname='regress_test_role'), (SELECT oid FROM pg_foreign_server WHERE srvname='s8'), 'USAGE'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree has_server_privilege ---------------------- f @@ -1176,6 +1247,7 @@ SELECT has_server_privilege( (SELECT oid FROM pg_roles WHERE rolname='regress_test_role'), 's8', 'USAGE'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree has_server_privilege ---------------------- f @@ -1297,6 +1369,7 @@ CREATE USER MAPPING FOR regress_unprivileged_role SERVER s10 OPTIONS (user 'secret'); -- owner of server can see some option fields \deu+ +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of user mappings Server | User name | FDW options --------+---------------------------+------------------- @@ -1314,6 +1387,7 @@ RESET ROLE; -- superuser can see all option fields \deu+ +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of user mappings Server | User name | FDW options --------+---------------------------+--------------------- @@ -1331,6 +1405,7 @@ -- unprivileged user cannot see any option field SET ROLE regress_unprivileged_role; \deu+ +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of user mappings Server | User name | FDW options --------+---------------------------+------------- @@ -1403,6 +1478,11 @@ CREATE FOREIGN TABLE ft2 () INHERITS (fd_pt1) SERVER s0 OPTIONS (delimiter ',', quote '"', "be quoted" 'value'); \d+ fd_pt1 +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 Table "public.fd_pt1" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+----------+--------------+------------- @@ -1414,6 +1494,13 @@ Child tables: ft2, FOREIGN \d+ ft2 +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Foreign table "public.ft2" Column | Type | Collation | Nullable | Default | FDW options | Storage | Stats target | Description --------+---------+-----------+----------+---------+-------------+----------+--------------+------------- @@ -1428,6 +1515,11 @@ DROP FOREIGN TABLE ft2; \d+ fd_pt1 +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 Table "public.fd_pt1" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+----------+--------------+------------- @@ -1443,6 +1535,13 @@ c3 date ) SERVER s0 OPTIONS (delimiter ',', quote '"', "be quoted" 'value'); \d+ ft2 +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Foreign table "public.ft2" Column | Type | Collation | Nullable | Default | FDW options | Storage | Stats target | Description --------+---------+-----------+----------+---------+-------------+----------+--------------+------------- @@ -1456,6 +1555,11 @@ ALTER FOREIGN TABLE ft2 INHERIT fd_pt1; \d+ fd_pt1 +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 Table "public.fd_pt1" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+----------+--------------+------------- @@ -1467,6 +1571,13 @@ Child tables: ft2, FOREIGN \d+ ft2 +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Foreign table "public.ft2" Column | Type | Collation | Nullable | Default | FDW options | Storage | Stats target | Description --------+---------+-----------+----------+---------+-------------+----------+--------------+------------- @@ -1490,6 +1601,13 @@ NOTICE: merging column "c2" with inherited definition NOTICE: merging column "c3" with inherited definition \d+ ft2 +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Foreign table "public.ft2" Column | Type | Collation | Nullable | Default | FDW options | Storage | Stats target | Description --------+---------+-----------+----------+---------+-------------+----------+--------------+------------- @@ -1505,6 +1623,11 @@ ft3, FOREIGN \d+ ct3 +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 Table "public.ct3" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+----------+--------------+------------- @@ -1516,6 +1639,13 @@ Inherits: ft2 \d+ ft3 +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Foreign table "public.ft3" Column | Type | Collation | Nullable | Default | FDW options | Storage | Stats target | Description --------+---------+-----------+----------+---------+-------------+----------+--------------+------------- @@ -1534,6 +1664,11 @@ ALTER TABLE fd_pt1 ADD COLUMN c7 integer NOT NULL; ALTER TABLE fd_pt1 ADD COLUMN c8 integer; \d+ fd_pt1 +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 Table "public.fd_pt1" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+----------+--------------+------------- @@ -1551,6 +1686,13 @@ Child tables: ft2, FOREIGN \d+ ft2 +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Foreign table "public.ft2" Column | Type | Collation | Nullable | Default | FDW options | Storage | Stats target | Description --------+---------+-----------+----------+---------+-------------+----------+--------------+------------- @@ -1572,6 +1714,11 @@ ft3, FOREIGN \d+ ct3 +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 Table "public.ct3" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+----------+--------------+------------- @@ -1589,6 +1736,13 @@ Inherits: ft2 \d+ ft3 +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Foreign table "public.ft3" Column | Type | Collation | Nullable | Default | FDW options | Storage | Stats target | Description --------+---------+-----------+----------+---------+-------------+----------+--------------+------------- @@ -1620,6 +1774,11 @@ ALTER TABLE fd_pt1 ALTER COLUMN c8 SET STATISTICS -1; ALTER TABLE fd_pt1 ALTER COLUMN c8 SET STORAGE EXTERNAL; \d+ fd_pt1 +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 Table "public.fd_pt1" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+----------+--------------+------------- @@ -1637,6 +1796,13 @@ Child tables: ft2, FOREIGN \d+ ft2 +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Foreign table "public.ft2" Column | Type | Collation | Nullable | Default | FDW options | Storage | Stats target | Description --------+---------+-----------+----------+---------+-------------+----------+--------------+------------- @@ -1664,6 +1830,11 @@ ALTER TABLE fd_pt1 DROP COLUMN c7; ALTER TABLE fd_pt1 DROP COLUMN c8; \d+ fd_pt1 +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 Table "public.fd_pt1" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+----------+--------------+------------- @@ -1675,6 +1846,13 @@ Child tables: ft2, FOREIGN \d+ ft2 +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Foreign table "public.ft2" Column | Type | Collation | Nullable | Default | FDW options | Storage | Stats target | Description --------+---------+-----------+----------+---------+-------------+----------+--------------+------------- @@ -1697,6 +1875,7 @@ FROM pg_class AS pc JOIN pg_constraint AS pgc ON (conrelid = pc.oid) WHERE pc.relname = 'fd_pt1' ORDER BY 1,2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | conname | contype | conislocal | coninhcount | connoinherit ---------+--------------------+---------+------------+-------------+-------------- fd_pt1 | fd_pt1_c1_not_null | n | t | 0 | f @@ -1706,6 +1885,11 @@ -- child does not inherit NO INHERIT constraints \d+ fd_pt1 +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 Table "public.fd_pt1" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+----------+--------------+------------- @@ -1720,6 +1904,13 @@ Child tables: ft2, FOREIGN \d+ ft2 +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Foreign table "public.ft2" Column | Type | Collation | Nullable | Default | FDW options | Storage | Stats target | Description --------+---------+-----------+----------+---------+-------------+----------+--------------+------------- @@ -1757,6 +1948,11 @@ ALTER FOREIGN TABLE ft2 INHERIT fd_pt1; -- child does not inherit NO INHERIT constraints \d+ fd_pt1 +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 Table "public.fd_pt1" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+----------+--------------+------------- @@ -1771,6 +1967,13 @@ Child tables: ft2, FOREIGN \d+ ft2 +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Foreign table "public.ft2" Column | Type | Collation | Nullable | Default | FDW options | Storage | Stats target | Description --------+---------+-----------+----------+---------+-------------+----------+--------------+------------- @@ -1792,6 +1995,11 @@ INSERT INTO fd_pt1 VALUES (1, 'fd_pt1'::text, '1994-01-01'::date); ALTER TABLE fd_pt1 ADD CONSTRAINT fd_pt1chk3 CHECK (c2 <> '') NOT VALID; \d+ fd_pt1 +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 Table "public.fd_pt1" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+----------+--------------+------------- @@ -1805,6 +2013,13 @@ Child tables: ft2, FOREIGN \d+ ft2 +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Foreign table "public.ft2" Column | Type | Collation | Nullable | Default | FDW options | Storage | Stats target | Description --------+---------+-----------+----------+---------+-------------+----------+--------------+------------- @@ -1823,6 +2038,11 @@ -- VALIDATE CONSTRAINT need do nothing on foreign tables ALTER TABLE fd_pt1 VALIDATE CONSTRAINT fd_pt1chk3; \d+ fd_pt1 +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 Table "public.fd_pt1" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+----------+--------------+------------- @@ -1836,6 +2056,13 @@ Child tables: ft2, FOREIGN \d+ ft2 +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Foreign table "public.ft2" Column | Type | Collation | Nullable | Default | FDW options | Storage | Stats target | Description --------+---------+-----------+----------+---------+-------------+----------+--------------+------------- @@ -1858,6 +2085,11 @@ -- changes name of a constraint recursively ALTER TABLE fd_pt1 RENAME CONSTRAINT fd_pt1chk3 TO f2_check; \d+ fd_pt1 +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 Table "public.fd_pt1" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+----------+--------------+------------- @@ -1871,6 +2103,13 @@ Child tables: ft2, FOREIGN \d+ ft2 +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Foreign table "public.ft2" Column | Type | Collation | Nullable | Default | FDW options | Storage | Stats target | Description --------+---------+-----------+----------+---------+-------------+----------+--------------+------------- @@ -1921,6 +2160,13 @@ CREATE FOREIGN TABLE fd_pt2_1 PARTITION OF fd_pt2 FOR VALUES IN (1) SERVER s0 OPTIONS (delimiter ',', quote '"', "be quoted" 'value'); \d+ fd_pt2 +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Partitioned table "public.fd_pt2" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+----------+--------------+------------- @@ -1933,6 +2179,14 @@ Partitions: fd_pt2_1 FOR VALUES IN (1), FOREIGN \d+ fd_pt2_1 +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Foreign table "public.fd_pt2_1" Column | Type | Collation | Nullable | Default | FDW options | Storage | Stats target | Description --------+---------+-----------+----------+---------+-------------+----------+--------------+------------- @@ -1955,6 +2209,13 @@ c4 char ) SERVER s0 OPTIONS (delimiter ',', quote '"', "be quoted" 'value'); \d+ fd_pt2_1 +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Foreign table "public.fd_pt2_1" Column | Type | Collation | Nullable | Default | FDW options | Storage | Stats target | Description --------+--------------+-----------+----------+---------+-------------+----------+--------------+------------- @@ -1972,6 +2233,13 @@ DETAIL: The new partition may contain only the columns present in parent. DROP FOREIGN TABLE fd_pt2_1; \d+ fd_pt2 +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Partitioned table "public.fd_pt2" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+----------+--------------+------------- @@ -1989,6 +2257,13 @@ c3 date ) SERVER s0 OPTIONS (delimiter ',', quote '"', "be quoted" 'value'); \d+ fd_pt2_1 +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Foreign table "public.fd_pt2_1" Column | Type | Collation | Nullable | Default | FDW options | Storage | Stats target | Description --------+---------+-----------+----------+---------+-------------+----------+--------------+------------- @@ -2003,6 +2278,13 @@ -- no attach partition validation occurs for foreign tables ALTER TABLE fd_pt2 ATTACH PARTITION fd_pt2_1 FOR VALUES IN (1); \d+ fd_pt2 +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Partitioned table "public.fd_pt2" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+----------+--------------+------------- @@ -2015,6 +2297,14 @@ Partitions: fd_pt2_1 FOR VALUES IN (1), FOREIGN \d+ fd_pt2_1 +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Foreign table "public.fd_pt2_1" Column | Type | Collation | Nullable | Default | FDW options | Storage | Stats target | Description --------+---------+-----------+----------+---------+-------------+----------+--------------+------------- @@ -2035,6 +2325,13 @@ ALTER TABLE fd_pt2_1 ALTER c3 SET NOT NULL; ALTER TABLE fd_pt2_1 ADD CONSTRAINT p21chk CHECK (c2 <> ''); \d+ fd_pt2 +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Partitioned table "public.fd_pt2" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+----------+--------------+------------- @@ -2047,6 +2344,14 @@ Partitions: fd_pt2_1 FOR VALUES IN (1), FOREIGN \d+ fd_pt2_1 +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Foreign table "public.fd_pt2_1" Column | Type | Collation | Nullable | Default | FDW options | Storage | Stats target | Description --------+---------+-----------+----------+---------+-------------+----------+--------------+------------- @@ -2070,6 +2375,13 @@ ALTER TABLE fd_pt2 DETACH PARTITION fd_pt2_1; ALTER TABLE fd_pt2 ALTER c2 SET NOT NULL; \d+ fd_pt2 +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Partitioned table "public.fd_pt2" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+----------+--------------+------------- @@ -2083,6 +2395,13 @@ Number of partitions: 0 \d+ fd_pt2_1 +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Foreign table "public.fd_pt2_1" Column | Type | Collation | Nullable | Default | FDW options | Storage | Stats target | Description --------+---------+-----------+----------+---------+-------------+----------+--------------+------------- @@ -2104,6 +2423,13 @@ ALTER TABLE fd_pt2 DETACH PARTITION fd_pt2_1; ALTER TABLE fd_pt2 ADD CONSTRAINT fd_pt2chk1 CHECK (c1 > 0); \d+ fd_pt2 +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Partitioned table "public.fd_pt2" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+----------+--------------+------------- @@ -2119,6 +2445,13 @@ Number of partitions: 0 \d+ fd_pt2_1 +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Foreign table "public.fd_pt2_1" Column | Type | Collation | Nullable | Default | FDW options | Storage | Stats target | Description --------+---------+-----------+----------+---------+-------------+----------+--------------+------------- diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/window.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/window.out --- /tmp/cirrus-ci-build/src/test/regress/expected/window.out 2024-03-19 15:41:21.047057000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/window.out 2024-03-19 15:51:29.658566000 +0000 @@ -18,6 +18,7 @@ ('sales', 3, 4800, '2007-08-01'), ('develop', 8, 6000, '2006-10-01'), ('develop', 11, 5200, '2007-08-15'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT depname, empno, salary, sum(salary) OVER (PARTITION BY depname) FROM empsalary ORDER BY depname, salary; depname | empno | salary | sum -----------+-------+--------+------- @@ -409,6 +410,7 @@ SELECT last_value(ten) OVER (PARTITION BY four), ten, four FROM (SELECT * FROM tenk1 WHERE unique2 < 10 ORDER BY four, ten)s ORDER BY four, ten; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree last_value | ten | four ------------+-----+------ 4 | 0 | 0 @@ -425,6 +427,7 @@ SELECT nth_value(ten, four + 1) OVER (PARTITION BY four), ten, four FROM (SELECT * FROM tenk1 WHERE unique2 < 10 ORDER BY four, ten)s; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree nth_value | ten | four -----------+-----+------ 0 | 0 | 0 @@ -456,6 +459,7 @@ (10 rows) SELECT count(*) OVER (PARTITION BY four), four FROM (SELECT * FROM tenk1 WHERE two = 1)s WHERE unique2 < 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count | four -------+------ 4 | 1 @@ -492,6 +496,7 @@ FROM tenk1 )sub WHERE total <> fourcount + twosum; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree total | fourcount | twosum -------+-----------+-------- (0 rows) @@ -575,6 +580,7 @@ -- empty table SELECT count(*) OVER (PARTITION BY four) FROM (SELECT * FROM tenk1 WHERE FALSE)s; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- (0 rows) @@ -603,6 +609,7 @@ AVG(salary) OVER (PARTITION BY depname) < salary THEN 200 END AS depadj FROM empsalary )s; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree empno | depname | salary | bonus | depadj | min | max -------+-----------+--------+-------+--------+------+----- 1 | sales | 5000 | 1000 | 200 | 1000 | 200 @@ -649,6 +656,7 @@ select first_value(max(x)) over (), y from (select unique1 as x, ten+four as y from tenk1) ss group by y; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------- WindowAgg @@ -660,6 +668,7 @@ -- window functions returning pass-by-ref values from different rows select x, lag(x, 1) over (order by x), lead(x, 3) over (order by x) from (select x::numeric as x from generate_series(1,10) x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | lag | lead ----+-----+------ 1 | | 4 @@ -679,6 +688,7 @@ sum(ten) over (partition by four order by ten), last_value(ten) over (partition by four order by ten) FROM (select distinct ten, four from tenk1) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree four | ten | sum | last_value ------+-----+-----+------------ 0 | 0 | 0 | 0 @@ -707,6 +717,7 @@ sum(ten) over (partition by four order by ten range between unbounded preceding and current row), last_value(ten) over (partition by four order by ten range between unbounded preceding and current row) FROM (select distinct ten, four from tenk1) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree four | ten | sum | last_value ------+-----+-----+------------ 0 | 0 | 0 | 0 @@ -735,6 +746,7 @@ sum(ten) over (partition by four order by ten range between unbounded preceding and unbounded following), last_value(ten) over (partition by four order by ten range between unbounded preceding and unbounded following) FROM (select distinct ten, four from tenk1) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree four | ten | sum | last_value ------+-----+-----+------------ 0 | 0 | 20 | 8 @@ -763,6 +775,7 @@ sum(ten/4) over (partition by four order by ten/4 range between unbounded preceding and current row), last_value(ten/4) over (partition by four order by ten/4 range between unbounded preceding and current row) FROM (select distinct ten, four from tenk1) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree four | two | sum | last_value ------+-----+-----+------------ 0 | 0 | 0 | 0 @@ -791,6 +804,7 @@ sum(ten/4) over (partition by four order by ten/4 rows between unbounded preceding and current row), last_value(ten/4) over (partition by four order by ten/4 rows between unbounded preceding and current row) FROM (select distinct ten, four from tenk1) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree four | two | sum | last_value ------+-----+-----+------------ 0 | 0 | 0 | 0 @@ -1197,6 +1211,7 @@ SELECT i, sum(i) over (order by i rows between 1 preceding and 1 following) as sum_rows FROM generate_series(1, 10) i; SELECT * FROM v_window; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | sum_rows ----+---------- 1 | 3 @@ -1223,6 +1238,7 @@ SELECT i, sum(i) over (order by i rows between 1 preceding and 1 following exclude current row) as sum_rows FROM generate_series(1, 10) i; SELECT * FROM v_window; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | sum_rows ----+---------- 1 | 2 @@ -1249,6 +1265,7 @@ SELECT i, sum(i) over (order by i rows between 1 preceding and 1 following exclude group) as sum_rows FROM generate_series(1, 10) i; SELECT * FROM v_window; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | sum_rows ----+---------- 1 | 2 @@ -1275,6 +1292,7 @@ SELECT i, sum(i) over (order by i rows between 1 preceding and 1 following exclude ties) as sum_rows FROM generate_series(1, 10) i; SELECT * FROM v_window; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | sum_rows ----+---------- 1 | 3 @@ -1301,6 +1319,7 @@ SELECT i, sum(i) over (order by i rows between 1 preceding and 1 following exclude no others) as sum_rows FROM generate_series(1, 10) i; SELECT * FROM v_window; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | sum_rows ----+---------- 1 | 3 @@ -1326,6 +1345,7 @@ CREATE OR REPLACE TEMP VIEW v_window AS SELECT i, sum(i) over (order by i groups between 1 preceding and 1 following) as sum_rows FROM generate_series(1, 10) i; SELECT * FROM v_window; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | sum_rows ----+---------- 1 | 3 @@ -1785,6 +1805,7 @@ union all select null, 43) ss window w as (order by x asc nulls first range between 2 preceding and 2 following); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | y | first_value | last_value ---+----+-------------+------------ | 42 | 42 | 43 @@ -1805,6 +1826,7 @@ union all select null, 43) ss window w as (order by x asc nulls last range between 2 preceding and 2 following); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | y | first_value | last_value ---+----+-------------+------------ 1 | 1 | 1 | 3 @@ -1825,6 +1847,7 @@ union all select null, 43) ss window w as (order by x desc nulls first range between 2 preceding and 2 following); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | y | first_value | last_value ---+----+-------------+------------ | 43 | 43 | 42 @@ -1845,6 +1868,7 @@ union all select null, 43) ss window w as (order by x desc nulls last range between 2 preceding and 2 following); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | y | first_value | last_value ---+----+-------------+------------ 5 | 5 | 5 | 3 @@ -1877,6 +1901,7 @@ $$; -- These will apply the argument to the window specification inside the function. SELECT * FROM unbounded_syntax_test1a(2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c ----+---+--- 7 | 4 | 0 @@ -1892,6 +1917,7 @@ (10 rows) SELECT * FROM unbounded_syntax_test1b(2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c ----+---+--- 7 | 4 | 0 @@ -1922,6 +1948,7 @@ $$; -- These will not apply the argument but instead treat UNBOUNDED as a keyword. SELECT * FROM unbounded_syntax_test2a(2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c ----+---+--- 45 | 4 | 0 @@ -1937,6 +1964,7 @@ (10 rows) SELECT * FROM unbounded_syntax_test2b(2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c ----+---+--- 45 | 4 | 0 @@ -1999,6 +2027,7 @@ -- Check overflow behavior for various integer sizes select x, last_value(x) over (order by x::smallint range between current row and 2147450884 following) from generate_series(32764, 32766) x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | last_value -------+------------ 32764 | 32766 @@ -2008,6 +2037,7 @@ select x, last_value(x) over (order by x::smallint desc range between current row and 2147450885 following) from generate_series(-32766, -32764) x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | last_value --------+------------ -32764 | -32766 @@ -2017,6 +2047,7 @@ select x, last_value(x) over (order by x range between current row and 4 following) from generate_series(2147483644, 2147483646) x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | last_value ------------+------------ 2147483644 | 2147483646 @@ -2026,6 +2057,7 @@ select x, last_value(x) over (order by x desc range between current row and 5 following) from generate_series(-2147483646, -2147483644) x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | last_value -------------+------------- -2147483644 | -2147483646 @@ -2035,6 +2067,7 @@ select x, last_value(x) over (order by x range between current row and 4 following) from generate_series(9223372036854775804, 9223372036854775806) x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | last_value ---------------------+--------------------- 9223372036854775804 | 9223372036854775806 @@ -2044,6 +2077,7 @@ select x, last_value(x) over (order by x desc range between current row and 5 following) from generate_series(-9223372036854775806, -9223372036854775804) x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | last_value ----------------------+---------------------- -9223372036854775804 | -9223372036854775806 @@ -2069,6 +2103,7 @@ (7, 100, 100, 100), (8, 'infinity', 'infinity', 'infinity'), (9, 'NaN', 'NaN', 'NaN'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select id, f_float4, first_value(id) over w, last_value(id) over w from numerics window w as (order by f_float4 range between @@ -2384,6 +2419,7 @@ (9, '19:00', '19:00 BST', '9 years', '2007-10-19 10:23:54+01', '2007-10-19 10:23:54'), (10, '20:00', '20:00 BST', '10 years', '2008-10-19 10:23:54+01', '2008-10-19 10:23:54'), (11, '21:00', '21:00 BST', 'infinity', 'infinity', 'infinity'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select id, f_time, first_value(id) over w, last_value(id) over w from datetimes window w as (order by f_time range between @@ -3329,6 +3365,7 @@ SELECT x, (sum(x) over w) FROM cte WINDOW w AS (ORDER BY x rows between 1 preceding and 1 following); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | sum ----+----- 1 | 4 @@ -3357,6 +3394,7 @@ SELECT x, (sum(x) over w) FROM cte WINDOW w AS (ORDER BY x range between 1 preceding and 1 following); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | sum ----+----- 1 | 1 @@ -3385,6 +3423,7 @@ SELECT x, (sum(x) over w) FROM cte WINDOW w AS (ORDER BY x groups between 1 preceding and 1 following); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | sum ----+----- 1 | 4 @@ -3414,6 +3453,7 @@ SELECT x, (sum(x) over w) FROM cte WINDOW w AS (ORDER BY x rows between 1 preceding and 1 following); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | sum ----+----- 1 | 2 @@ -3451,6 +3491,7 @@ SELECT x, (sum(x) over w) FROM cte WINDOW w AS (ORDER BY x range between 1 preceding and 1 following); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | sum ----+----- 1 | 3 @@ -3488,6 +3529,7 @@ SELECT x, (sum(x) over w) FROM cte WINDOW w AS (ORDER BY x groups between 1 preceding and 1 following); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | sum ----+----- 1 | 8 @@ -3520,6 +3562,7 @@ -- with UNION SELECT count(*) OVER (PARTITION BY four) FROM (SELECT * FROM tenk1 UNION ALL SELECT * FROM tenk2)s LIMIT 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- (0 rows) @@ -3527,6 +3570,7 @@ -- check some degenerate cases create temp table t1 (f1 int, f2 int8); insert into t1 values (1,1),(1,2),(2,2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select f1, sum(f1) over (partition by f1 range between 1 preceding and 1 following) from t1 where f1 = f2; -- error, must have order by @@ -3777,6 +3821,7 @@ min(salary) OVER (PARTITION BY depname || 'A', depname) depminsalary FROM empsalary) emp WHERE depname = 'sales'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------------- Subquery Scan on emp @@ -3796,6 +3841,7 @@ min(salary) OVER (PARTITION BY depname) depminsalary FROM empsalary) emp WHERE depname = 'sales'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------- Subquery Scan on emp @@ -3817,6 +3863,7 @@ row_number() OVER (ORDER BY empno) rn FROM empsalary) emp WHERE rn < 3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------- WindowAgg @@ -3832,6 +3879,7 @@ row_number() OVER (ORDER BY empno) rn FROM empsalary) emp WHERE rn < 3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree empno | rn -------+---- 1 | 1 @@ -3843,6 +3891,7 @@ row_number() OVER (ORDER BY empno) rn FROM empsalary) emp WHERE 3 > rn; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree empno | rn -------+---- 1 | 1 @@ -3854,6 +3903,7 @@ row_number() OVER (ORDER BY empno) rn FROM empsalary) emp WHERE 2 >= rn; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree empno | rn -------+---- 1 | 1 @@ -3868,6 +3918,7 @@ rank() OVER (ORDER BY salary DESC) r FROM empsalary) emp WHERE r <= 3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------- WindowAgg @@ -3883,6 +3934,7 @@ rank() OVER (ORDER BY salary DESC) r FROM empsalary) emp WHERE r <= 3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree empno | salary | r -------+--------+--- 8 | 6000 | 1 @@ -3898,6 +3950,7 @@ dense_rank() OVER (ORDER BY salary DESC) dr FROM empsalary) emp WHERE dr = 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------- Subquery Scan on emp @@ -3915,6 +3968,7 @@ dense_rank() OVER (ORDER BY salary DESC) dr FROM empsalary) emp WHERE dr = 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree empno | salary | dr -------+--------+---- 8 | 6000 | 1 @@ -3928,6 +3982,7 @@ count(*) OVER (ORDER BY salary DESC) c FROM empsalary) emp WHERE c <= 3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------- WindowAgg @@ -3943,6 +3998,7 @@ count(*) OVER (ORDER BY salary DESC) c FROM empsalary) emp WHERE c <= 3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree empno | salary | c -------+--------+--- 8 | 6000 | 1 @@ -3957,6 +4013,7 @@ count(empno) OVER (ORDER BY salary DESC) c FROM empsalary) emp WHERE c <= 3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------------------- WindowAgg @@ -3972,6 +4029,7 @@ count(empno) OVER (ORDER BY salary DESC) c FROM empsalary) emp WHERE c <= 3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree empno | salary | c -------+--------+--- 8 | 6000 | 1 @@ -3986,6 +4044,7 @@ count(*) OVER (ORDER BY salary DESC ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) c FROM empsalary) emp WHERE c >= 3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------- WindowAgg @@ -4002,6 +4061,7 @@ count(*) OVER () c FROM empsalary) emp WHERE 11 <= c; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------- WindowAgg @@ -4017,6 +4077,7 @@ dense_rank() OVER (ORDER BY salary DESC) dr FROM empsalary) emp WHERE dr = 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------- Subquery Scan on emp @@ -4036,6 +4097,7 @@ row_number() OVER (PARTITION BY depname ORDER BY empno) rn FROM empsalary) emp WHERE rn < 3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------ WindowAgg @@ -4052,6 +4114,7 @@ row_number() OVER (PARTITION BY depname ORDER BY empno) rn FROM empsalary) emp WHERE rn < 3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree empno | depname | rn -------+-----------+---- 7 | develop | 1 @@ -4071,6 +4134,7 @@ row_number() OVER (PARTITION BY depname ORDER BY empno) rn FROM empsalary) emp WHERE rn < 3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------ Subquery Scan on emp @@ -4090,6 +4154,7 @@ count(empno) OVER (PARTITION BY depname ORDER BY salary DESC) c FROM empsalary) emp WHERE c <= 3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------ WindowAgg @@ -4107,6 +4172,7 @@ count(empno) OVER (PARTITION BY depname ORDER BY salary DESC) c FROM empsalary) emp WHERE c <= 3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree empno | depname | salary | c -------+-----------+--------+--- 8 | develop | 6000 | 1 @@ -4129,6 +4195,7 @@ count(empno) OVER () c FROM empsalary) emp WHERE c = 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------- WindowAgg @@ -4147,6 +4214,7 @@ ntile(2) OVER (PARTITION BY depname) nt -- w2 FROM empsalary ) e WHERE rn <= 1 AND c1 <= 3 AND nt < 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------------------------------------- Subquery Scan on e @@ -4175,6 +4243,7 @@ ntile(2) OVER (PARTITION BY depname) nt -- w2 FROM empsalary ) e WHERE rn <= 1 AND c1 <= 3 AND nt < 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree depname | empno | salary | enroll_date | c1 | rn | c2 | c3 | nt -----------+-------+--------+-------------+----+----+----+----+---- personnel | 5 | 3500 | 12-10-2007 | 2 | 1 | 2 | 2 | 1 @@ -4189,6 +4258,7 @@ FROM empsalary e1 LEFT JOIN empsalary e2 ON TRUE WHERE e1.empno = e2.empno) s WHERE s.c = 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------------------- Subquery Scan on s @@ -4218,6 +4288,7 @@ count(*) OVER (ORDER BY salary DESC ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) c FROM empsalary) emp WHERE c <= 3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------- Subquery Scan on emp @@ -4237,6 +4308,7 @@ count(*) OVER (ORDER BY salary) c FROM empsalary) emp WHERE 3 <= c; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------ Subquery Scan on emp @@ -4256,6 +4328,7 @@ count(random()) OVER (ORDER BY empno DESC) c FROM empsalary) emp WHERE c = 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------- Subquery Scan on emp @@ -4274,6 +4347,7 @@ count((SELECT 1)) OVER (ORDER BY empno DESC) c FROM empsalary) emp WHERE c = 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------- Subquery Scan on emp @@ -4294,6 +4368,7 @@ min(salary) OVER (PARTITION BY depname, empno order by enroll_date) depminsalary FROM empsalary) emp WHERE depname = 'sales'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------------- Subquery Scan on emp @@ -4431,6 +4506,7 @@ row_number() OVER (PARTITION BY depname ORDER BY enroll_date DESC) AS last_emp FROM empsalary) emp WHERE first_emp = 1 OR last_emp = 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------------------------- Subquery Scan on emp @@ -4454,6 +4530,7 @@ row_number() OVER (PARTITION BY depname ORDER BY enroll_date DESC) AS last_emp FROM empsalary) emp WHERE first_emp = 1 OR last_emp = 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree depname | empno | salary | enroll_date | first_emp | last_emp -----------+-------+--------+-------------+-----------+---------- develop | 8 | 6000 | 10-01-2006 | 1 | 5 @@ -4471,6 +4548,7 @@ LANGUAGE internal WINDOW IMMUTABLE STRICT AS 'window_nth_value'; SELECT nth_value_def(n := 2, val := ten) OVER (PARTITION BY four), ten, four FROM (SELECT * FROM tenk1 WHERE unique2 < 10 ORDER BY four, ten) s; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree nth_value_def | ten | four ---------------+-----+------ 0 | 0 | 0 @@ -4487,6 +4565,7 @@ SELECT nth_value_def(ten) OVER (PARTITION BY four), ten, four FROM (SELECT * FROM tenk1 WHERE unique2 < 10 ORDER BY four, ten) s; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree nth_value_def | ten | four ---------------+-----+------ 0 | 0 | 0 @@ -4580,6 +4659,7 @@ ) AS t(p, i, v) WINDOW wnd AS (PARTITION BY P ORDER BY i ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) ORDER BY p, i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree row | nstrict | nstrict_init | strict | strict_init ----------+-----------------------------------------------+-------------------------------------------------+-----------+---------------- 1,1:NULL | +NULL | MI+NULL | | MI @@ -4614,6 +4694,7 @@ ) AS t(p, i, f, v) WINDOW wnd AS (PARTITION BY p ORDER BY i ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) ORDER BY p, i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree row | nstrict_filt | nstrict_init_filt | strict_filt | strict_init_filt ----------+--------------+-------------------+-------------+------------------ 1,1:NULL | +NULL | MI+NULL | | MI @@ -4641,6 +4722,7 @@ ) AS t(i, v) WINDOW wnd AS (ORDER BY i ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) ORDER BY i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree row | inverse | noinverse -----+---------------+----------- 1:a | a | a @@ -4661,6 +4743,7 @@ ) AS t(i, v) WINDOW wnd AS (ORDER BY i ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) ORDER BY i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree row | inverse | noinverse -----+---------------+----------- 1:a | a | a @@ -4678,6 +4761,7 @@ ) AS t(i, v) WINDOW wnd AS (ORDER BY i ROWS BETWEEN CURRENT ROW AND CURRENT ROW) ORDER BY i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree logging_agg_strict -------------------- a @@ -4719,6 +4803,7 @@ WINDOW fwd AS ( ORDER BY vs.i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING ); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree eq1 | eq2 | eq3 -----+-----+----- t | t | t @@ -4730,6 +4815,7 @@ -- test inverse transition functions handle NULLs properly SELECT i,AVG(v::bigint) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,1),(2,2),(3,NULL),(4,NULL)) t(i,v); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | avg ---+-------------------- 1 | 1.5000000000000000 @@ -4740,6 +4826,7 @@ SELECT i,AVG(v::int) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,1),(2,2),(3,NULL),(4,NULL)) t(i,v); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | avg ---+-------------------- 1 | 1.5000000000000000 @@ -4750,6 +4837,7 @@ SELECT i,AVG(v::smallint) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,1),(2,2),(3,NULL),(4,NULL)) t(i,v); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | avg ---+-------------------- 1 | 1.5000000000000000 @@ -4760,6 +4848,7 @@ SELECT i,AVG(v::numeric) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,1.5),(2,2.5),(3,NULL),(4,NULL)) t(i,v); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | avg ---+-------------------- 1 | 2.0000000000000000 @@ -4770,6 +4859,7 @@ SELECT i,AVG(v::interval) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,'1 sec'),(2,'2 sec'),(3,NULL),(4,NULL)) t(i,v); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | avg ---+------------ 1 | @ 1.5 secs @@ -4794,6 +4884,7 @@ ('7 days'::interval), (NULL::interval), ('-infinity'::interval)) v(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | curr_next_avg | prev_curr_avg | curr_next_sum | prev_curr_sum ------------------------------------------------------------------------------+-------------------+-------------------+---------------+--------------- | infinity | | infinity | @@ -4815,6 +4906,7 @@ ('infinity'::timestamptz - now()), ('6 days'::interval), ('-infinity'::interval)) v(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: interval out of range. --should fail. SELECT x, sum(x) OVER(ROWS BETWEEN CURRENT ROW AND 2 FOLLOWING) @@ -4823,9 +4915,11 @@ ('infinity'::timestamptz - now()), ('6 days'::interval), ('-infinity'::interval)) v(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: interval out of range. SELECT i,SUM(v::smallint) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,1),(2,2),(3,NULL),(4,NULL)) t(i,v); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | sum ---+----- 1 | 3 @@ -4836,6 +4930,7 @@ SELECT i,SUM(v::int) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,1),(2,2),(3,NULL),(4,NULL)) t(i,v); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | sum ---+----- 1 | 3 @@ -4846,6 +4941,7 @@ SELECT i,SUM(v::bigint) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,1),(2,2),(3,NULL),(4,NULL)) t(i,v); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | sum ---+----- 1 | 3 @@ -4856,6 +4952,7 @@ SELECT i,SUM(v::money) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,'1.10'),(2,'2.20'),(3,NULL),(4,NULL)) t(i,v); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | sum ---+------- 1 | $3.30 @@ -4866,6 +4963,7 @@ SELECT i,SUM(v::interval) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,'1 sec'),(2,'2 sec'),(3,NULL),(4,NULL)) t(i,v); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | sum ---+---------- 1 | @ 3 secs @@ -4876,6 +4974,7 @@ SELECT i,SUM(v::numeric) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,1.1),(2,2.2),(3,NULL),(4,NULL)) t(i,v); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | sum ---+----- 1 | 3.3 @@ -4886,6 +4985,7 @@ SELECT SUM(n::numeric) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,1.01),(2,2),(3,3)) v(i,n); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree sum ------ 6.01 @@ -4895,6 +4995,7 @@ SELECT i,COUNT(v) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,1),(2,2),(3,NULL),(4,NULL)) t(i,v); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | count ---+------- 1 | 2 @@ -4905,6 +5006,7 @@ SELECT i,COUNT(*) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,1),(2,2),(3,NULL),(4,NULL)) t(i,v); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | count ---+------- 1 | 4 @@ -4915,6 +5017,7 @@ SELECT VAR_POP(n::bigint) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,600),(2,470),(3,170),(4,430),(5,300)) r(i,n); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree var_pop ----------------------- 21704.000000000000 @@ -4926,6 +5029,7 @@ SELECT VAR_POP(n::int) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,600),(2,470),(3,170),(4,430),(5,300)) r(i,n); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree var_pop ----------------------- 21704.000000000000 @@ -4937,6 +5041,7 @@ SELECT VAR_POP(n::smallint) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,600),(2,470),(3,170),(4,430),(5,300)) r(i,n); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree var_pop ----------------------- 21704.000000000000 @@ -4948,6 +5053,7 @@ SELECT VAR_POP(n::numeric) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,600),(2,470),(3,170),(4,430),(5,300)) r(i,n); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree var_pop ----------------------- 21704.000000000000 @@ -4959,6 +5065,7 @@ SELECT VAR_SAMP(n::bigint) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,600),(2,470),(3,170),(4,430),(5,300)) r(i,n); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree var_samp ----------------------- 27130.000000000000 @@ -4970,6 +5077,7 @@ SELECT VAR_SAMP(n::int) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,600),(2,470),(3,170),(4,430),(5,300)) r(i,n); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree var_samp ----------------------- 27130.000000000000 @@ -4981,6 +5089,7 @@ SELECT VAR_SAMP(n::smallint) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,600),(2,470),(3,170),(4,430),(5,300)) r(i,n); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree var_samp ----------------------- 27130.000000000000 @@ -4992,6 +5101,7 @@ SELECT VAR_SAMP(n::numeric) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,600),(2,470),(3,170),(4,430),(5,300)) r(i,n); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree var_samp ----------------------- 27130.000000000000 @@ -5003,6 +5113,7 @@ SELECT VARIANCE(n::bigint) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,600),(2,470),(3,170),(4,430),(5,300)) r(i,n); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree variance ----------------------- 27130.000000000000 @@ -5014,6 +5125,7 @@ SELECT VARIANCE(n::int) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,600),(2,470),(3,170),(4,430),(5,300)) r(i,n); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree variance ----------------------- 27130.000000000000 @@ -5025,6 +5137,7 @@ SELECT VARIANCE(n::smallint) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,600),(2,470),(3,170),(4,430),(5,300)) r(i,n); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree variance ----------------------- 27130.000000000000 @@ -5036,6 +5149,7 @@ SELECT VARIANCE(n::numeric) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,600),(2,470),(3,170),(4,430),(5,300)) r(i,n); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree variance ----------------------- 27130.000000000000 @@ -5047,6 +5161,7 @@ SELECT STDDEV_POP(n::bigint) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,NULL),(2,600),(3,470),(4,170),(5,430),(6,300)) r(i,n); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree stddev_pop --------------------- 147.322774885623 @@ -5059,6 +5174,7 @@ SELECT STDDEV_POP(n::int) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,NULL),(2,600),(3,470),(4,170),(5,430),(6,300)) r(i,n); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree stddev_pop --------------------- 147.322774885623 @@ -5071,6 +5187,7 @@ SELECT STDDEV_POP(n::smallint) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,NULL),(2,600),(3,470),(4,170),(5,430),(6,300)) r(i,n); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree stddev_pop --------------------- 147.322774885623 @@ -5083,6 +5200,7 @@ SELECT STDDEV_POP(n::numeric) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,NULL),(2,600),(3,470),(4,170),(5,430),(6,300)) r(i,n); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree stddev_pop --------------------- 147.322774885623 @@ -5095,6 +5213,7 @@ SELECT STDDEV_SAMP(n::bigint) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,NULL),(2,600),(3,470),(4,170),(5,430),(6,300)) r(i,n); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree stddev_samp --------------------- 164.711869639076 @@ -5107,6 +5226,7 @@ SELECT STDDEV_SAMP(n::int) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,NULL),(2,600),(3,470),(4,170),(5,430),(6,300)) r(i,n); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree stddev_samp --------------------- 164.711869639076 @@ -5119,6 +5239,7 @@ SELECT STDDEV_SAMP(n::smallint) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,NULL),(2,600),(3,470),(4,170),(5,430),(6,300)) r(i,n); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree stddev_samp --------------------- 164.711869639076 @@ -5131,6 +5252,7 @@ SELECT STDDEV_SAMP(n::numeric) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,NULL),(2,600),(3,470),(4,170),(5,430),(6,300)) r(i,n); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree stddev_samp --------------------- 164.711869639076 @@ -5143,6 +5265,7 @@ SELECT STDDEV(n::bigint) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(0,NULL),(1,600),(2,470),(3,170),(4,430),(5,300)) r(i,n); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree stddev --------------------- 164.711869639076 @@ -5155,6 +5278,7 @@ SELECT STDDEV(n::int) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(0,NULL),(1,600),(2,470),(3,170),(4,430),(5,300)) r(i,n); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree stddev --------------------- 164.711869639076 @@ -5167,6 +5291,7 @@ SELECT STDDEV(n::smallint) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(0,NULL),(1,600),(2,470),(3,170),(4,430),(5,300)) r(i,n); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree stddev --------------------- 164.711869639076 @@ -5179,6 +5304,7 @@ SELECT STDDEV(n::numeric) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(0,NULL),(1,600),(2,470),(3,170),(4,430),(5,300)) r(i,n); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree stddev --------------------- 164.711869639076 @@ -5192,6 +5318,7 @@ -- test that inverse transition functions work with various frame options SELECT i,SUM(v::int) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND CURRENT ROW) FROM (VALUES(1,1),(2,2),(3,NULL),(4,NULL)) t(i,v); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | sum ---+----- 1 | 1 @@ -5202,6 +5329,7 @@ SELECT i,SUM(v::int) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND 1 FOLLOWING) FROM (VALUES(1,1),(2,2),(3,NULL),(4,NULL)) t(i,v); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | sum ---+----- 1 | 3 @@ -5212,6 +5340,7 @@ SELECT i,SUM(v::int) OVER (ORDER BY i ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) FROM (VALUES(1,1),(2,2),(3,3),(4,4)) t(i,v); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | sum ---+----- 1 | 3 @@ -5224,6 +5353,7 @@ SELECT a, b, SUM(b) OVER(ORDER BY A ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) FROM (VALUES(1,1::numeric),(2,2),(3,'NaN'),(4,3),(5,4)) t(a,b); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | sum ---+-----+----- 1 | 1 | 1 @@ -5239,6 +5369,7 @@ -- hard about it. SELECT to_char(SUM(n::float8) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND 1 FOLLOWING),'999999999999999999999D9') FROM (VALUES(1,1e20),(2,1)) n(i,n); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree to_char -------------------------- 100000000000000000000 @@ -5248,6 +5379,7 @@ SELECT i, b, bool_and(b) OVER w, bool_or(b) OVER w FROM (VALUES (1,true), (2,true), (3,false), (4,false), (5,true)) v(i,b) WINDOW w AS (ORDER BY i ROWS BETWEEN CURRENT ROW AND 1 FOLLOWING); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | b | bool_and | bool_or ---+---+----------+--------- 1 | t | t | t @@ -5267,6 +5399,7 @@ SELECT COUNT(*) OVER (ORDER BY t1.unique1) FROM tenk1 t1 INNER JOIN tenk1 t2 ON t1.unique1 = t2.tenthous LIMIT 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------------- Limit @@ -5285,6 +5418,7 @@ FROM tenk1 t1 INNER JOIN tenk1 t2 ON t1.unique1 = t2.tenthous WHERE t2.two = 1 LIMIT 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------- Limit @@ -5303,6 +5437,7 @@ SELECT COUNT(*) OVER (ORDER BY t1.unique1 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM tenk1 t1 INNER JOIN tenk1 t2 ON t1.unique1 = t2.tenthous LIMIT 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------------------- Limit @@ -5321,6 +5456,7 @@ SELECT COUNT(*) OVER (ORDER BY t1.unique1 ROWS BETWEEN UNBOUNDED PRECEDING AND 10000 FOLLOWING) FROM tenk1 t1 INNER JOIN tenk1 t2 ON t1.unique1 = t2.tenthous LIMIT 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------------------- Limit @@ -5339,6 +5475,7 @@ SELECT array_agg(i) OVER w FROM generate_series(1,5) i WINDOW w AS (ORDER BY i ROWS BETWEEN (('foo' < 'foobar')::integer) PRECEDING AND CURRENT ROW); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree array_agg ----------- {1} @@ -5355,7 +5492,10 @@ FROM generate_series(1,5) s WINDOW w AS (ORDER BY s ROWS BETWEEN CURRENT ROW AND GROUP_SIZE FOLLOWING) $$ LANGUAGE SQL STABLE; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree EXPLAIN (costs off) SELECT * FROM pg_temp.f(2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------ Subquery Scan on f @@ -5366,6 +5506,8 @@ (5 rows) SELECT * FROM pg_temp.f(2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f --------- {1,2,3} diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/xmlmap.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/xmlmap.out --- /tmp/cirrus-ci-build/src/test/regress/expected/xmlmap.out 2024-03-19 15:41:21.047334000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/xmlmap.out 2024-03-19 15:51:29.044552000 +0000 @@ -1,6 +1,7 @@ CREATE SCHEMA testxmlschema; CREATE TABLE testxmlschema.test1 (a int, b text); INSERT INTO testxmlschema.test1 VALUES (1, 'one'), (2, 'two'), (-1, null); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE DOMAIN testxmldomain AS varchar; CREATE TABLE testxmlschema.test2 (z int, y varchar(500), x char(6), w numeric(9,2), v smallint, u bigint, t real, diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/functional_deps.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/functional_deps.out --- /tmp/cirrus-ci-build/src/test/regress/expected/functional_deps.out 2024-03-19 15:41:21.018320000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/functional_deps.out 2024-03-19 15:51:29.151543000 +0000 @@ -67,6 +67,7 @@ FROM articles AS a JOIN articles_in_category AS aic ON a.id = aic.article_id WHERE aic.category_id in (14,62,70,53,138) GROUP BY a.id; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id | keywords | title | body | created ----+----------+-------+------+--------- (0 rows) @@ -84,6 +85,7 @@ FROM articles AS a JOIN articles_in_category AS aic ON a.id = aic.article_id WHERE aic.category_id in (14,62,70,53,138) GROUP BY aic.category_id, aic.article_id; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree changed --------- (0 rows) @@ -103,6 +105,7 @@ SELECT product_id, p.name, (sum(s.units) * p.price) AS sales FROM products p LEFT JOIN sales s USING (product_id) GROUP BY product_id, p.name, p.price; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree product_id | name | sales ------------+------+------- (0 rows) @@ -119,6 +122,7 @@ SELECT product_id, p.name, (sum(s.units) * p.price) AS sales FROM products p LEFT JOIN sales s USING (product_id) GROUP BY product_id; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree product_id | name | sales ------------+------+------- (0 rows) @@ -148,6 +152,7 @@ INNER JOIN users u ON u.uid = n.uid WHERE n.type = 'blog' AND n.status = 1 GROUP BY u.uid, u.name; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree uid | name -----+------ (0 rows) @@ -157,6 +162,7 @@ INNER JOIN users u ON u.uid = n.uid WHERE n.type = 'blog' AND n.status = 1 GROUP BY u.uid; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree uid | name -----+------ (0 rows) diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/advisory_lock.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/advisory_lock.out --- /tmp/cirrus-ci-build/src/test/regress/expected/advisory_lock.out 2024-03-19 15:41:21.016719000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/advisory_lock.out 2024-03-19 15:51:28.833689000 +0000 @@ -14,6 +14,7 @@ SELECT locktype, classid, objid, objsubid, mode, granted FROM pg_locks WHERE locktype = 'advisory' AND database = :datoid ORDER BY classid, objid, objsubid; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree locktype | classid | objid | objsubid | mode | granted ----------+---------+-------+----------+---------------+--------- advisory | 0 | 1 | 1 | ExclusiveLock | t @@ -30,6 +31,7 @@ (1 row) SELECT count(*) FROM pg_locks WHERE locktype = 'advisory' AND database = :datoid; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 4 @@ -51,6 +53,7 @@ -- automatically release xact locks at commit COMMIT; SELECT count(*) FROM pg_locks WHERE locktype = 'advisory' AND database = :datoid; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 0 @@ -69,6 +72,7 @@ SELECT locktype, classid, objid, objsubid, mode, granted FROM pg_locks WHERE locktype = 'advisory' AND database = :datoid ORDER BY classid, objid, objsubid; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree locktype | classid | objid | objsubid | mode | granted ----------+---------+-------+----------+---------------+--------- advisory | 0 | 1 | 1 | ExclusiveLock | t @@ -89,6 +93,7 @@ SELECT locktype, classid, objid, objsubid, mode, granted FROM pg_locks WHERE locktype = 'advisory' AND database = :datoid ORDER BY classid, objid, objsubid; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree locktype | classid | objid | objsubid | mode | granted ----------+---------+-------+----------+---------------+--------- advisory | 0 | 1 | 1 | ExclusiveLock | t @@ -113,6 +118,7 @@ (1 row) SELECT count(*) FROM pg_locks WHERE locktype = 'advisory' AND database = :datoid; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 0 @@ -131,6 +137,7 @@ SELECT locktype, classid, objid, objsubid, mode, granted FROM pg_locks WHERE locktype = 'advisory' AND database = :datoid ORDER BY classid, objid, objsubid; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree locktype | classid | objid | objsubid | mode | granted ----------+---------+-------+----------+---------------+--------- advisory | 0 | 1 | 1 | ExclusiveLock | t @@ -151,6 +158,7 @@ SELECT locktype, classid, objid, objsubid, mode, granted FROM pg_locks WHERE locktype = 'advisory' AND database = :datoid ORDER BY classid, objid, objsubid; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree locktype | classid | objid | objsubid | mode | granted ----------+---------+-------+----------+---------------+--------- advisory | 0 | 1 | 1 | ExclusiveLock | t @@ -167,6 +175,7 @@ (1 row) SELECT count(*) FROM pg_locks WHERE locktype = 'advisory' AND database = :datoid; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 0 @@ -187,6 +196,7 @@ SELECT locktype, classid, objid, objsubid, mode, granted FROM pg_locks WHERE locktype = 'advisory' AND database = :datoid ORDER BY classid, objid, objsubid; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree locktype | classid | objid | objsubid | mode | granted ----------+---------+-------+----------+---------------+--------- advisory | 0 | 1 | 1 | ExclusiveLock | t @@ -197,6 +207,7 @@ COMMIT; SELECT count(*) FROM pg_locks WHERE locktype = 'advisory' AND database = :datoid; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 0 @@ -216,6 +227,7 @@ SELECT locktype, classid, objid, objsubid, mode, granted FROM pg_locks WHERE locktype = 'advisory' AND database = :datoid ORDER BY classid, objid, objsubid; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree locktype | classid | objid | objsubid | mode | granted ----------+---------+-------+----------+---------------+--------- advisory | 0 | 1 | 1 | ExclusiveLock | t @@ -235,6 +247,7 @@ (1 row) SELECT count(*) FROM pg_locks WHERE locktype = 'advisory' AND database = :datoid; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 0 @@ -254,6 +267,7 @@ SELECT locktype, classid, objid, objsubid, mode, granted FROM pg_locks WHERE locktype = 'advisory' AND database = :datoid ORDER BY classid, objid, objsubid; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree locktype | classid | objid | objsubid | mode | granted ----------+---------+-------+----------+---------------+--------- advisory | 0 | 1 | 1 | ExclusiveLock | t @@ -269,6 +283,7 @@ (1 row) SELECT count(*) FROM pg_locks WHERE locktype = 'advisory' AND database = :datoid; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 0 diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/equivclass.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/equivclass.out --- /tmp/cirrus-ci-build/src/test/regress/expected/equivclass.out 2024-03-19 15:41:21.018027000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/equivclass.out 2024-03-19 15:51:29.228561000 +0000 @@ -206,6 +206,7 @@ union all select ff + 4 as x from ec1) as ss1 where ss1.x = ec1.f1 and ec1.ff = 42::int8; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------- Nested Loop @@ -229,6 +230,7 @@ union all select ff + 4 as x from ec1) as ss1 where ss1.x = ec1.f1 and ec1.ff = 42::int8 and ec1.ff = ec1.f1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------- Nested Loop @@ -260,6 +262,7 @@ union all select ff + 4 as x from ec1) as ss2 where ss1.x = ec1.f1 and ss1.x = ss2.x and ec1.ff = 42::int8; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------------------------------- Nested Loop @@ -300,6 +303,7 @@ union all select ff + 4 as x from ec1) as ss2 where ss1.x = ec1.f1 and ss1.x = ss2.x and ec1.ff = 42::int8; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------- Merge Join @@ -336,6 +340,7 @@ union all select ff + 4 as x from ec1) as ss1 where ss1.x = ec1.f1 and ec1.ff = 42::int8; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------- Nested Loop @@ -362,6 +367,7 @@ union all select ff + 4 as x from ec1) as ss1 where ss1.x = ec1.f1 and ec1.ff = 42::int8; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------- Merge Join @@ -438,6 +444,7 @@ explain (costs off) select * from ec0 m join ec0 n on m.ff = n.ff join ec1 p on m.ff + n.ff = p.f1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------- Nested Loop @@ -450,6 +457,7 @@ explain (costs off) select * from ec0 m join ec0 n on m.ff = n.ff join ec1 p on p.f1::int8 = (m.ff + n.ff)::int8alias1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------------------------- Nested Loop diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/json.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/json.out --- /tmp/cirrus-ci-build/src/test/regress/expected/json.out 2024-03-19 15:41:21.019302000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/json.out 2024-03-19 15:51:31.766800000 +0000 @@ -334,6 +334,7 @@ (1 row) select * from pg_input_error_info('{"a":true', 'json'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code ------------------------------------+--------------------------------------+------+---------------- invalid input syntax for type json | The input string ended unexpectedly. | | 22P02 @@ -348,12 +349,14 @@ (1 row) SELECT array_to_json(array_agg(q),false) from (select x as b, x * 2 as c from generate_series(1,3) x) q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree array_to_json --------------------------------------------- [{"b":1,"c":2},{"b":2,"c":4},{"b":3,"c":6}] (1 row) SELECT array_to_json(array_agg(q),true) from (select x as b, x * 2 as c from generate_series(1,3) x) q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree array_to_json ----------------- [{"b":1,"c":2},+ @@ -367,12 +370,14 @@ ROW(y.*,ARRAY[4,5,6])] AS z FROM generate_series(1,2) x, generate_series(4,5) y) q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree array_to_json ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [{"b":"a1","c":4,"z":[{"f1":1,"f2":[1,2,3]},{"f1":4,"f2":[4,5,6]}]},{"b":"a1","c":5,"z":[{"f1":1,"f2":[1,2,3]},{"f1":5,"f2":[4,5,6]}]},{"b":"a2","c":4,"z":[{"f1":2,"f2":[1,2,3]},{"f1":4,"f2":[4,5,6]}]},{"b":"a2","c":5,"z":[{"f1":2,"f2":[1,2,3]},{"f1":5,"f2":[4,5,6]}]}] (1 row) SELECT array_to_json(array_agg(x),false) from generate_series(5,10) x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree array_to_json ---------------- [5,6,7,8,9,10] @@ -398,6 +403,7 @@ ROW(y.*,ARRAY[4,5,6])] AS z FROM generate_series(1,2) x, generate_series(4,5) y) q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree row_to_json -------------------------------------------------------------------- {"b":"a1","c":4,"z":[{"f1":1,"f2":[1,2,3]},{"f1":4,"f2":[4,5,6]}]} @@ -413,6 +419,7 @@ ROW(y.*,ARRAY[4,5,6])] AS z FROM generate_series(1,2) x, generate_series(4,5) y) q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree row_to_json ----------------------------------------------------- {"b":"a1", + @@ -432,6 +439,7 @@ CREATE TEMP TABLE rows AS SELECT x, 'txt' || x as y FROM generate_series(1,3) AS x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT row_to_json(q,true) FROM rows q; row_to_json @@ -445,6 +453,7 @@ (3 rows) SELECT row_to_json(row((select array_agg(x) as d from generate_series(5,10) x)),false); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree row_to_json ----------------------- {"f1":[5,6,7,8,9,10]} @@ -457,6 +466,7 @@ where tablename = 'rows' and schemaname = pg_my_temp_schema()::regnamespace::text order by 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree attname | histogram_bounds ---------+------------------------ x | [1,2,3] @@ -535,6 +545,7 @@ ROW(y.*,ARRAY[4,5,6])] AS z FROM generate_series(1,2) x, generate_series(4,5) y) q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree json_agg ----------------------------------------------------------------------- [{"b":"a1","c":4,"z":[{"f1":1,"f2":[1,2,3]},{"f1":4,"f2":[4,5,6]}]}, + @@ -565,6 +576,7 @@ -- non-numeric output SELECT row_to_json(q) FROM (SELECT 'NaN'::float8 AS "float8field") q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree row_to_json ----------------------- {"float8field":"NaN"} @@ -572,6 +584,7 @@ SELECT row_to_json(q) FROM (SELECT 'Infinity'::float8 AS "float8field") q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree row_to_json ---------------------------- {"float8field":"Infinity"} @@ -579,6 +592,7 @@ SELECT row_to_json(q) FROM (SELECT '-Infinity'::float8 AS "float8field") q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree row_to_json ----------------------------- {"float8field":"-Infinity"} @@ -587,6 +601,7 @@ -- json input SELECT row_to_json(q) FROM (SELECT '{"a":1,"b": [2,3,4,"d","e","f"],"c":{"p":1,"q":2}}'::json AS "jsonfield") q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree row_to_json ------------------------------------------------------------------ {"jsonfield":{"a":1,"b": [2,3,4,"d","e","f"],"c":{"p":1,"q":2}}} @@ -601,6 +616,7 @@ ('scalar','"a scalar"'), ('array','["zero", "one","two",null,"four","five", [1,2,3],{"f1":9}]'), ('object','{"field1":"val1","field2":"val2","field3":null, "field4": 4, "field5": [1,2,3], "field6": {"f1":9}}'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT test_json -> 'x' FROM test_json WHERE json_type = 'scalar'; @@ -737,6 +753,7 @@ (select json_object_keys(json_object(array_agg(g))) from (select unnest(array['f'||n,n::text])as g from generate_series(1,300) as n) x ) y; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 300 @@ -941,6 +958,7 @@ (3 rows) select * from json_each('{"f1":[1,2,3],"f2":{"f3":1},"f4":null,"f5":99,"f6":"stringy"}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree key | value -----+----------- f1 | [1,2,3] @@ -960,6 +978,7 @@ (4 rows) select * from json_each_text('{"f1":[1,2,3],"f2":{"f3":1},"f4":null,"f5":99,"f6":"stringy"}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree key | value -----+---------- f1 | [1,2,3] @@ -1347,6 +1366,7 @@ (7 rows) select * from json_array_elements('[1,true,[1,[2,3]],null,{"f1":1,"f2":[7,8,9]},false,"stringy"]') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree value ----------------------- 1 @@ -1371,6 +1391,7 @@ (7 rows) select * from json_array_elements_text('[1,true,[1,[2,3]],null,{"f1":1,"f2":[7,8,9]},false,"stringy"]') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree value ----------------------- 1 @@ -1412,392 +1433,471 @@ i js_int_not_null ); select * from json_populate_record(null::jpop,'{"a":"blurfl","x":43.2}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c --------+---+--- blurfl | | (1 row) select * from json_populate_record(row('x',3,'2012-12-31 15:30:56')::jpop,'{"a":"blurfl","x":43.2}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c --------+---+-------------------------- blurfl | 3 | Mon Dec 31 15:30:56 2012 (1 row) select * from json_populate_record(null::jpop,'{"a":"blurfl","x":43.2}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c --------+---+--- blurfl | | (1 row) select * from json_populate_record(row('x',3,'2012-12-31 15:30:56')::jpop,'{"a":"blurfl","x":43.2}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c --------+---+-------------------------- blurfl | 3 | Mon Dec 31 15:30:56 2012 (1 row) select * from json_populate_record(null::jpop,'{"a":[100,200,false],"x":43.2}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c -----------------+---+--- [100,200,false] | | (1 row) select * from json_populate_record(row('x',3,'2012-12-31 15:30:56')::jpop,'{"a":[100,200,false],"x":43.2}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c -----------------+---+-------------------------- [100,200,false] | 3 | Mon Dec 31 15:30:56 2012 (1 row) select * from json_populate_record(row('x',3,'2012-12-31 15:30:56')::jpop,'{"c":[100,200,false],"x":43.2}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: invalid input syntax for type timestamp: "[100,200,false]" select * from json_populate_record(row('x',3,'2012-12-31 15:30:56')::jpop,'{}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c ---+---+-------------------------- x | 3 | Mon Dec 31 15:30:56 2012 (1 row) SELECT i FROM json_populate_record(NULL::jsrec_i_not_null, '{"x": 43.2}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: domain js_int_not_null does not allow null values SELECT i FROM json_populate_record(NULL::jsrec_i_not_null, '{"i": null}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: domain js_int_not_null does not allow null values SELECT i FROM json_populate_record(NULL::jsrec_i_not_null, '{"i": 12345}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i ------- 12345 (1 row) SELECT ia FROM json_populate_record(NULL::jsrec, '{"ia": null}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ia ---- (1 row) SELECT ia FROM json_populate_record(NULL::jsrec, '{"ia": 123}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: expected JSON array HINT: See the value of key "ia". SELECT ia FROM json_populate_record(NULL::jsrec, '{"ia": [1, "2", null, 4]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ia -------------- {1,2,NULL,4} (1 row) SELECT ia FROM json_populate_record(NULL::jsrec, '{"ia": [[1, 2], [3, 4]]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ia --------------- {{1,2},{3,4}} (1 row) SELECT ia FROM json_populate_record(NULL::jsrec, '{"ia": [[1], 2]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: expected JSON array HINT: See the array element [1] of key "ia". SELECT ia FROM json_populate_record(NULL::jsrec, '{"ia": [[1], [2, 3]]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: malformed JSON array DETAIL: Multidimensional arrays must have sub-arrays with matching dimensions. SELECT ia FROM json_populate_record(NULL::jsrec, '{"ia": "{1,2,3}"}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ia --------- {1,2,3} (1 row) SELECT ia1 FROM json_populate_record(NULL::jsrec, '{"ia1": null}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ia1 ----- (1 row) SELECT ia1 FROM json_populate_record(NULL::jsrec, '{"ia1": 123}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: expected JSON array HINT: See the value of key "ia1". SELECT ia1 FROM json_populate_record(NULL::jsrec, '{"ia1": [1, "2", null, 4]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ia1 -------------- {1,2,NULL,4} (1 row) SELECT ia1 FROM json_populate_record(NULL::jsrec, '{"ia1": [[1, 2, 3]]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ia1 ----------- {{1,2,3}} (1 row) SELECT ia1d FROM json_populate_record(NULL::jsrec, '{"ia1d": null}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ia1d ------ (1 row) SELECT ia1d FROM json_populate_record(NULL::jsrec, '{"ia1d": 123}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: expected JSON array HINT: See the value of key "ia1d". SELECT ia1d FROM json_populate_record(NULL::jsrec, '{"ia1d": [1, "2", null, 4]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: value for domain js_int_array_1d violates check constraint "js_int_array_1d_check" SELECT ia1d FROM json_populate_record(NULL::jsrec, '{"ia1d": [1, "2", null]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ia1d ------------ {1,2,NULL} (1 row) SELECT ia2 FROM json_populate_record(NULL::jsrec, '{"ia2": [1, "2", null, 4]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ia2 -------------- {1,2,NULL,4} (1 row) SELECT ia2 FROM json_populate_record(NULL::jsrec, '{"ia2": [[1, 2], [null, 4]]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ia2 ------------------ {{1,2},{NULL,4}} (1 row) SELECT ia2 FROM json_populate_record(NULL::jsrec, '{"ia2": [[], []]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ia2 ----- {} (1 row) SELECT ia2 FROM json_populate_record(NULL::jsrec, '{"ia2": [[1, 2], [3]]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: malformed JSON array DETAIL: Multidimensional arrays must have sub-arrays with matching dimensions. SELECT ia2 FROM json_populate_record(NULL::jsrec, '{"ia2": [[1, 2], 3, 4]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: expected JSON array HINT: See the array element [1] of key "ia2". SELECT ia2d FROM json_populate_record(NULL::jsrec, '{"ia2d": [[1, "2"], [null, 4]]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: value for domain js_int_array_2d violates check constraint "js_int_array_2d_check" SELECT ia2d FROM json_populate_record(NULL::jsrec, '{"ia2d": [[1, "2", 3], [null, 5, 6]]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ia2d ---------------------- {{1,2,3},{NULL,5,6}} (1 row) SELECT ia3 FROM json_populate_record(NULL::jsrec, '{"ia3": [1, "2", null, 4]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ia3 -------------- {1,2,NULL,4} (1 row) SELECT ia3 FROM json_populate_record(NULL::jsrec, '{"ia3": [[1, 2], [null, 4]]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ia3 ------------------ {{1,2},{NULL,4}} (1 row) SELECT ia3 FROM json_populate_record(NULL::jsrec, '{"ia3": [ [[], []], [[], []], [[], []] ]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ia3 ----- {} (1 row) SELECT ia3 FROM json_populate_record(NULL::jsrec, '{"ia3": [ [[1, 2]], [[3, 4]] ]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ia3 ------------------- {{{1,2}},{{3,4}}} (1 row) SELECT ia3 FROM json_populate_record(NULL::jsrec, '{"ia3": [ [[1, 2], [3, 4]], [[5, 6], [7, 8]] ]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ia3 ------------------------------- {{{1,2},{3,4}},{{5,6},{7,8}}} (1 row) SELECT ia3 FROM json_populate_record(NULL::jsrec, '{"ia3": [ [[1, 2], [3, 4]], [[5, 6], [7, 8], [9, 10]] ]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: malformed JSON array DETAIL: Multidimensional arrays must have sub-arrays with matching dimensions. SELECT ta FROM json_populate_record(NULL::jsrec, '{"ta": null}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ta ---- (1 row) SELECT ta FROM json_populate_record(NULL::jsrec, '{"ta": 123}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: expected JSON array HINT: See the value of key "ta". SELECT ta FROM json_populate_record(NULL::jsrec, '{"ta": [1, "2", null, 4]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ta -------------- {1,2,NULL,4} (1 row) SELECT ta FROM json_populate_record(NULL::jsrec, '{"ta": [[1, 2, 3], {"k": "v"}]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: expected JSON array HINT: See the array element [1] of key "ta". SELECT c FROM json_populate_record(NULL::jsrec, '{"c": null}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c --- (1 row) SELECT c FROM json_populate_record(NULL::jsrec, '{"c": "aaa"}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c ------------ aaa (1 row) SELECT c FROM json_populate_record(NULL::jsrec, '{"c": "aaaaaaaaaa"}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c ------------ aaaaaaaaaa (1 row) SELECT c FROM json_populate_record(NULL::jsrec, '{"c": "aaaaaaaaaaaaa"}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: value too long for type character(10) SELECT ca FROM json_populate_record(NULL::jsrec, '{"ca": null}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ca ---- (1 row) SELECT ca FROM json_populate_record(NULL::jsrec, '{"ca": 123}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: expected JSON array HINT: See the value of key "ca". SELECT ca FROM json_populate_record(NULL::jsrec, '{"ca": [1, "2", null, 4]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ca ----------------------------------------------- {"1 ","2 ",NULL,"4 "} (1 row) SELECT ca FROM json_populate_record(NULL::jsrec, '{"ca": ["aaaaaaaaaaaaaaaa"]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: value too long for type character(10) SELECT ca FROM json_populate_record(NULL::jsrec, '{"ca": [[1, 2, 3], {"k": "v"}]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: expected JSON array HINT: See the array element [1] of key "ca". SELECT js FROM json_populate_record(NULL::jsrec, '{"js": null}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree js ---- (1 row) SELECT js FROM json_populate_record(NULL::jsrec, '{"js": true}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree js ------ true (1 row) SELECT js FROM json_populate_record(NULL::jsrec, '{"js": 123.45}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree js -------- 123.45 (1 row) SELECT js FROM json_populate_record(NULL::jsrec, '{"js": "123.45"}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree js ---------- "123.45" (1 row) SELECT js FROM json_populate_record(NULL::jsrec, '{"js": "abc"}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree js ------- "abc" (1 row) SELECT js FROM json_populate_record(NULL::jsrec, '{"js": [123, "123", null, {"key": "value"}]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree js -------------------------------------- [123, "123", null, {"key": "value"}] (1 row) SELECT js FROM json_populate_record(NULL::jsrec, '{"js": {"a": "bbb", "b": null, "c": 123.45}}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree js -------------------------------------- {"a": "bbb", "b": null, "c": 123.45} (1 row) SELECT jsb FROM json_populate_record(NULL::jsrec, '{"jsb": null}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree jsb ----- (1 row) SELECT jsb FROM json_populate_record(NULL::jsrec, '{"jsb": true}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree jsb ------ true (1 row) SELECT jsb FROM json_populate_record(NULL::jsrec, '{"jsb": 123.45}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree jsb -------- 123.45 (1 row) SELECT jsb FROM json_populate_record(NULL::jsrec, '{"jsb": "123.45"}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree jsb ---------- "123.45" (1 row) SELECT jsb FROM json_populate_record(NULL::jsrec, '{"jsb": "abc"}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree jsb ------- "abc" (1 row) SELECT jsb FROM json_populate_record(NULL::jsrec, '{"jsb": [123, "123", null, {"key": "value"}]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree jsb -------------------------------------- [123, "123", null, {"key": "value"}] (1 row) SELECT jsb FROM json_populate_record(NULL::jsrec, '{"jsb": {"a": "bbb", "b": null, "c": 123.45}}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree jsb -------------------------------------- {"a": "bbb", "b": null, "c": 123.45} (1 row) SELECT jsa FROM json_populate_record(NULL::jsrec, '{"jsa": null}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree jsa ----- (1 row) SELECT jsa FROM json_populate_record(NULL::jsrec, '{"jsa": 123}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: expected JSON array HINT: See the value of key "jsa". SELECT jsa FROM json_populate_record(NULL::jsrec, '{"jsa": [1, "2", null, 4]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree jsa -------------------- {1,"\"2\"",NULL,4} (1 row) SELECT jsa FROM json_populate_record(NULL::jsrec, '{"jsa": ["aaa", null, [1, 2, "3", {}], { "k" : "v" }]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree jsa ---------------------------------------------------------- {"\"aaa\"",NULL,"[1, 2, \"3\", {}]","{ \"k\" : \"v\" }"} (1 row) SELECT rec FROM json_populate_record(NULL::jsrec, '{"rec": 123}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: cannot call populate_composite on a scalar SELECT rec FROM json_populate_record(NULL::jsrec, '{"rec": [1, 2]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: cannot call populate_composite on an array SELECT rec FROM json_populate_record(NULL::jsrec, '{"rec": {"a": "abc", "c": "01.02.2003", "x": 43.2}}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree rec ----------------------------------- (abc,,"Thu Jan 02 00:00:00 2003") (1 row) SELECT rec FROM json_populate_record(NULL::jsrec, '{"rec": "(abc,42,01.02.2003)"}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree rec ------------------------------------- (abc,42,"Thu Jan 02 00:00:00 2003") (1 row) SELECT reca FROM json_populate_record(NULL::jsrec, '{"reca": 123}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: expected JSON array HINT: See the value of key "reca". SELECT reca FROM json_populate_record(NULL::jsrec, '{"reca": [1, 2]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: cannot call populate_composite on a scalar SELECT reca FROM json_populate_record(NULL::jsrec, '{"reca": [{"a": "abc", "b": 456}, null, {"c": "01.02.2003", "x": 43.2}]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree reca -------------------------------------------------------- {"(abc,456,)",NULL,"(,,\"Thu Jan 02 00:00:00 2003\")"} (1 row) SELECT reca FROM json_populate_record(NULL::jsrec, '{"reca": ["(abc,42,01.02.2003)"]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree reca ------------------------------------------- {"(abc,42,\"Thu Jan 02 00:00:00 2003\")"} (1 row) SELECT reca FROM json_populate_record(NULL::jsrec, '{"reca": "{\"(abc,42,01.02.2003)\"}"}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree reca ------------------------------------------- {"(abc,42,\"Thu Jan 02 00:00:00 2003\")"} @@ -1808,6 +1908,7 @@ row('x',3,'2012-12-31 15:30:56')::jpop,NULL)::jsrec, '{"rec": {"a": "abc", "c": "01.02.2003", "x": 43.2}}' ) q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree rec ------------------------------------ (abc,3,"Thu Jan 02 00:00:00 2003") @@ -1825,6 +1926,7 @@ SELECT * FROM json_populate_record(null::record, '{"x": 776}') AS (x int, y int); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | y -----+--- 776 | @@ -1847,6 +1949,7 @@ ERROR: value for domain j_ordered_pair violates check constraint "j_ordered_pair_check" -- populate_recordset select * from json_populate_recordset(null::jpop,'[{"a":"blurfl","x":43.2},{"b":3,"c":"2012-01-20 10:42:53"}]') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c --------+---+-------------------------- blurfl | | @@ -1854,6 +1957,7 @@ (2 rows) select * from json_populate_recordset(row('def',99,null)::jpop,'[{"a":"blurfl","x":43.2},{"b":3,"c":"2012-01-20 10:42:53"}]') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c --------+----+-------------------------- blurfl | 99 | @@ -1861,6 +1965,7 @@ (2 rows) select * from json_populate_recordset(null::jpop,'[{"a":"blurfl","x":43.2},{"b":3,"c":"2012-01-20 10:42:53"}]') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c --------+---+-------------------------- blurfl | | @@ -1868,6 +1973,7 @@ (2 rows) select * from json_populate_recordset(row('def',99,null)::jpop,'[{"a":"blurfl","x":43.2},{"b":3,"c":"2012-01-20 10:42:53"}]') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c --------+----+-------------------------- blurfl | 99 | @@ -1875,6 +1981,7 @@ (2 rows) select * from json_populate_recordset(row('def',99,null)::jpop,'[{"a":[100,200,300],"x":43.2},{"a":{"z":true},"b":3,"c":"2012-01-20 10:42:53"}]') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c ---------------+----+-------------------------- [100,200,300] | 99 | @@ -1882,15 +1989,18 @@ (2 rows) select * from json_populate_recordset(row('def',99,null)::jpop,'[{"c":[100,200,300],"x":43.2},{"a":{"z":true},"b":3,"c":"2012-01-20 10:42:53"}]') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: invalid input syntax for type timestamp: "[100,200,300]" create type jpop2 as (a int, b json, c int, d int); select * from json_populate_recordset(null::jpop2, '[{"a":2,"c":3,"b":{"z":4},"d":6}]') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c | d ---+---------+---+--- 2 | {"z":4} | 3 | 6 (1 row) select * from json_populate_recordset(null::jpop,'[{"a":"blurfl","x":43.2},{"b":3,"c":"2012-01-20 10:42:53"}]') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c --------+---+-------------------------- blurfl | | @@ -1898,6 +2008,7 @@ (2 rows) select * from json_populate_recordset(row('def',99,null)::jpop,'[{"a":"blurfl","x":43.2},{"b":3,"c":"2012-01-20 10:42:53"}]') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c --------+----+-------------------------- blurfl | 99 | @@ -1905,6 +2016,7 @@ (2 rows) select * from json_populate_recordset(row('def',99,null)::jpop,'[{"a":[100,200,300],"x":43.2},{"a":{"z":true},"b":3,"c":"2012-01-20 10:42:53"}]') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c ---------------+----+-------------------------- [100,200,300] | 99 | @@ -1923,6 +2035,7 @@ SELECT i, json_populate_recordset(row(i,50), '[{"f1":"42"},{"f2":"43"}]') FROM (VALUES (1),(2)) v(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | json_populate_recordset ---+------------------------- 1 | (42,50) @@ -1933,6 +2046,7 @@ SELECT * FROM json_populate_recordset(null::record, '[{"x": 776}]') AS (x int, y int); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | y -----+--- 776 | @@ -1948,12 +2062,14 @@ (0 rows) SELECT * FROM json_populate_recordset(NULL::jpop,'[]') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c ---+---+--- (0 rows) SELECT * FROM json_populate_recordset(null::record, '[]') AS (x int, y int); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | y ---+--- (0 rows) @@ -1976,15 +2092,19 @@ ERROR: value for domain j_ordered_pair violates check constraint "j_ordered_pair_check" -- negative cases where the wrong record type is supplied select * from json_populate_recordset(row(0::int),'[{"a":"1","b":"2"},{"a":"3"}]') q (a text, b text); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: function return row and query-specified return row do not match DETAIL: Returned row contains 1 attribute, but query expects 2. select * from json_populate_recordset(row(0::int,0::int),'[{"a":"1","b":"2"},{"a":"3"}]') q (a text, b text); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: function return row and query-specified return row do not match DETAIL: Returned type integer at ordinal position 1, but query expects text. select * from json_populate_recordset(row(0::int,0::int,0::int),'[{"a":"1","b":"2"},{"a":"3"}]') q (a text, b text); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: function return row and query-specified return row do not match DETAIL: Returned row contains 3 attributes, but query expects 2. select * from json_populate_recordset(row(1000000000::int,50::int),'[{"b":"2"},{"a":"3"}]') q (a text, b text); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: function return row and query-specified return row do not match DETAIL: Returned type integer at ordinal position 1, but query expects text. -- test type info caching in json_populate_record() @@ -1996,6 +2116,7 @@ "reca": [{"a": "abc", "b": 456}, null, {"c": "01.02.2003", "x": 43.2}] }'::json FROM generate_series(1, 3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT (json_populate_record(NULL::jsrec, js)).* FROM jspoptest; i | ia | ia1 | ia2 | ia3 | ia1d | ia2d | t | ta | c | ca | ts | js | jsb | jsa | rec | reca ---+----+-----+-----+-----+------+------+---+----+---+----+----+----+-----+--------------------+-----------------------------------+-------------------------------------------------------- @@ -2025,6 +2146,7 @@ (json '{}'), (NULL::json)) as data(value); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree value | json_typeof ----------------------+------------- 123.4 | number @@ -2105,6 +2227,7 @@ 'a', json_build_object('b',false,'c',99), 'd', json_build_object('e',array[9,8,7]::int[], 'f', (select row_to_json(r) from ( select relkind, oid::regclass as name from pg_class where relname = 'pg_class') r))); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree json_build_object ------------------------------------------------------------------------------------------------- {"a" : {"b" : false, "c" : 99}, "d" : {"e" : [9,8,7], "f" : {"relkind":"r","name":"pg_class"}}} @@ -2191,6 +2314,7 @@ SELECT json_build_object(null,2); ERROR: null value not allowed for object key SELECT json_build_object(r,2) FROM (SELECT 1 AS a, 2 AS b) r; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: key value must be scalar, not array, composite, or json SELECT json_build_object(json '{"a":1,"b":2}', 3); ERROR: key value must be scalar, not array, composite, or json @@ -2285,6 +2409,7 @@ -- json_to_record and json_to_recordset select * from json_to_record('{"a":1,"b":"foo","c":"bar"}') as x(a int, b text, d text); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | d ---+-----+--- 1 | foo | @@ -2292,6 +2417,7 @@ select * from json_to_recordset('[{"a":1,"b":"foo","d":false},{"a":2,"b":"bar","c":true}]') as x(a int, b text, c boolean); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c ---+-----+--- 1 | foo | @@ -2300,6 +2426,7 @@ select * from json_to_recordset('[{"a":1,"b":{"d":"foo"},"c":true},{"a":2,"c":false,"b":{"d":"bar"}}]') as x(a int, b json, c boolean); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c ---+-------------+--- 1 | {"d":"foo"} | t @@ -2309,6 +2436,7 @@ select *, c is null as c_is_null from json_to_record('{"a":1, "b":{"c":16, "d":2}, "x":8, "ca": ["1 2", 3], "ia": [[1,2],[3,4]], "r": {"a": "aaa", "b": 123}}'::json) as t(a int, b json, c text, x int, ca char(5)[], ia int[][], r jpop); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c | x | ca | ia | r | c_is_null ---+-----------------+---+---+-------------------+---------------+------------+----------- 1 | {"c":16, "d":2} | | 8 | {"1 2 ","3 "} | {{1,2},{3,4}} | (aaa,123,) | t @@ -2317,87 +2445,103 @@ select *, c is null as c_is_null from json_to_recordset('[{"a":1, "b":{"c":16, "d":2}, "x":8}]'::json) as t(a int, b json, c text, x int); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c | x | c_is_null ---+-----------------+---+---+----------- 1 | {"c":16, "d":2} | | 8 | t (1 row) select * from json_to_record('{"ia": null}') as x(ia _int4); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ia ---- (1 row) select * from json_to_record('{"ia": 123}') as x(ia _int4); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: expected JSON array HINT: See the value of key "ia". select * from json_to_record('{"ia": [1, "2", null, 4]}') as x(ia _int4); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ia -------------- {1,2,NULL,4} (1 row) select * from json_to_record('{"ia": [[1, 2], [3, 4]]}') as x(ia _int4); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ia --------------- {{1,2},{3,4}} (1 row) select * from json_to_record('{"ia": [[1], 2]}') as x(ia _int4); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: expected JSON array HINT: See the array element [1] of key "ia". select * from json_to_record('{"ia": [[1], [2, 3]]}') as x(ia _int4); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: malformed JSON array DETAIL: Multidimensional arrays must have sub-arrays with matching dimensions. select * from json_to_record('{"ia2": [1, 2, 3]}') as x(ia2 int[][]); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ia2 --------- {1,2,3} (1 row) select * from json_to_record('{"ia2": [[1, 2], [3, 4]]}') as x(ia2 int4[][]); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ia2 --------------- {{1,2},{3,4}} (1 row) select * from json_to_record('{"ia2": [[[1], [2], [3]]]}') as x(ia2 int4[][]); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ia2 ----------------- {{{1},{2},{3}}} (1 row) select * from json_to_record('{"out": {"key": 1}}') as x(out json); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree out ------------ {"key": 1} (1 row) select * from json_to_record('{"out": [{"key": 1}]}') as x(out json); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree out -------------- [{"key": 1}] (1 row) select * from json_to_record('{"out": "{\"key\": 1}"}') as x(out json); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree out ---------------- "{\"key\": 1}" (1 row) select * from json_to_record('{"out": {"key": 1}}') as x(out jsonb); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree out ------------ {"key": 1} (1 row) select * from json_to_record('{"out": [{"key": 1}]}') as x(out jsonb); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree out -------------- [{"key": 1}] (1 row) select * from json_to_record('{"out": "{\"key\": 1}"}') as x(out jsonb); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree out ---------------- "{\"key\": 1}" diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/jsonb.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/jsonb.out --- /tmp/cirrus-ci-build/src/test/regress/expected/jsonb.out 2024-03-19 15:41:21.019400000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/jsonb.out 2024-03-19 15:51:31.964737000 +0000 @@ -324,12 +324,14 @@ (1 row) select * from pg_input_error_info('{"a":true', 'jsonb'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code ------------------------------------+--------------------------------------+------+---------------- invalid input syntax for type json | The input string ended unexpectedly. | | 22P02 (1 row) select * from pg_input_error_info('{"a":1e1000000}', 'jsonb'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code --------------------------------+--------+------+---------------- value overflows numeric format | | | 22003 @@ -346,12 +348,14 @@ CREATE TEMP TABLE rows AS SELECT x, 'txt' || x as y FROM generate_series(1,3) AS x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree analyze rows; select attname, to_jsonb(histogram_bounds) histogram_bounds from pg_stats where tablename = 'rows' and schemaname = pg_my_temp_schema()::regnamespace::text order by 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree attname | histogram_bounds ---------+-------------------------- x | [1, 2, 3] @@ -430,6 +434,7 @@ ROW(y.*,ARRAY[4,5,6])] AS z FROM generate_series(1,2) x, generate_series(4,5) y) q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree jsonb_agg -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [{"b": "a1", "c": 4, "z": [{"f1": 1, "f2": [1, 2, 3]}, {"f1": 4, "f2": [4, 5, 6]}]}, {"b": "a1", "c": 5, "z": [{"f1": 1, "f2": [1, 2, 3]}, {"f1": 5, "f2": [4, 5, 6]}]}, {"b": "a2", "c": 4, "z": [{"f1": 2, "f2": [1, 2, 3]}, {"f1": 4, "f2": [4, 5, 6]}]}, {"b": "a2", "c": 5, "z": [{"f1": 2, "f2": [1, 2, 3]}, {"f1": 5, "f2": [4, 5, 6]}]}] @@ -459,6 +464,7 @@ ('scalar','"a scalar"'), ('array','["zero", "one","two",null,"four","five", [1,2,3],{"f1":9}]'), ('object','{"field1":"val1","field2":"val2","field3":null, "field4": 4, "field5": [1,2,3], "field6": {"f1":9}}'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT test_json -> 'x' FROM test_jsonb WHERE json_type = 'scalar'; ?column? ---------- @@ -1059,6 +1065,7 @@ (5 rows) SELECT * FROM jsonb_each('{"f1":[1,2,3],"f2":{"f3":1},"f4":null,"f5":99,"f6":"stringy"}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree key | value -----+----------- f1 | [1, 2, 3] @@ -1069,6 +1076,7 @@ (5 rows) SELECT * FROM jsonb_each('{"a":{"b":"c","c":"b","1":"first"},"b":[1,2],"c":"cc","1":"first","n":null}'::jsonb) AS q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree key | value -----+------------------------------------ 1 | "first" @@ -1098,6 +1106,7 @@ (5 rows) SELECT * FROM jsonb_each_text('{"f1":[1,2,3],"f2":{"f3":1},"f4":null,"f5":99,"f6":"stringy"}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree key | value -----+----------- f1 | [1, 2, 3] @@ -1108,6 +1117,7 @@ (5 rows) SELECT * FROM jsonb_each_text('{"a":{"b":"c","c":"b","1":"first"},"b":[1,2],"c":"cc","1":"first","n":null}'::jsonb) AS q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree key | value -----+------------------------------------ 1 | first @@ -1470,6 +1480,7 @@ 'a', jsonb_build_object('b',false,'c',99), 'd', jsonb_build_object('e',array[9,8,7]::int[], 'f', (select row_to_json(r) from ( select relkind, oid::regclass as name from pg_class where relname = 'pg_class') r))); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree jsonb_build_object ------------------------------------------------------------------------------------------------ {"a": {"b": false, "c": 99}, "d": {"e": [9, 8, 7], "f": {"name": "pg_class", "relkind": "r"}}} @@ -1556,6 +1567,7 @@ SELECT jsonb_build_object(null,2); ERROR: argument 1: key must not be null SELECT jsonb_build_object(r,2) FROM (SELECT 1 AS a, 2 AS b) r; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: key value must be scalar, not array, composite, or json SELECT jsonb_build_object(json '{"a":1,"b":2}', 3); ERROR: key value must be scalar, not array, composite, or json @@ -2040,6 +2052,7 @@ (6 rows) SELECT * FROM jsonb_array_elements('[1,true,[1,[2,3]],null,{"f1":1,"f2":[7,8,9]},false]') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree value ---------------------------- 1 @@ -2063,6 +2076,7 @@ (7 rows) SELECT * FROM jsonb_array_elements_text('[1,true,[1,[2,3]],null,{"f1":1,"f2":[7,8,9]},false,"stringy"]') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree value ---------------------------- 1 @@ -2104,392 +2118,471 @@ i jsb_int_not_null ); SELECT * FROM jsonb_populate_record(NULL::jbpop,'{"a":"blurfl","x":43.2}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c --------+---+--- blurfl | | (1 row) SELECT * FROM jsonb_populate_record(row('x',3,'2012-12-31 15:30:56')::jbpop,'{"a":"blurfl","x":43.2}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c --------+---+-------------------------- blurfl | 3 | Mon Dec 31 15:30:56 2012 (1 row) SELECT * FROM jsonb_populate_record(NULL::jbpop,'{"a":"blurfl","x":43.2}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c --------+---+--- blurfl | | (1 row) SELECT * FROM jsonb_populate_record(row('x',3,'2012-12-31 15:30:56')::jbpop,'{"a":"blurfl","x":43.2}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c --------+---+-------------------------- blurfl | 3 | Mon Dec 31 15:30:56 2012 (1 row) SELECT * FROM jsonb_populate_record(NULL::jbpop,'{"a":[100,200,false],"x":43.2}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c -------------------+---+--- [100, 200, false] | | (1 row) SELECT * FROM jsonb_populate_record(row('x',3,'2012-12-31 15:30:56')::jbpop,'{"a":[100,200,false],"x":43.2}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c -------------------+---+-------------------------- [100, 200, false] | 3 | Mon Dec 31 15:30:56 2012 (1 row) SELECT * FROM jsonb_populate_record(row('x',3,'2012-12-31 15:30:56')::jbpop,'{"c":[100,200,false],"x":43.2}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: invalid input syntax for type timestamp: "[100, 200, false]" SELECT * FROM jsonb_populate_record(row('x',3,'2012-12-31 15:30:56')::jbpop, '{}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c ---+---+-------------------------- x | 3 | Mon Dec 31 15:30:56 2012 (1 row) SELECT i FROM jsonb_populate_record(NULL::jsbrec_i_not_null, '{"x": 43.2}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: domain jsb_int_not_null does not allow null values SELECT i FROM jsonb_populate_record(NULL::jsbrec_i_not_null, '{"i": null}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: domain jsb_int_not_null does not allow null values SELECT i FROM jsonb_populate_record(NULL::jsbrec_i_not_null, '{"i": 12345}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i ------- 12345 (1 row) SELECT ia FROM jsonb_populate_record(NULL::jsbrec, '{"ia": null}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ia ---- (1 row) SELECT ia FROM jsonb_populate_record(NULL::jsbrec, '{"ia": 123}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: expected JSON array HINT: See the value of key "ia". SELECT ia FROM jsonb_populate_record(NULL::jsbrec, '{"ia": [1, "2", null, 4]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ia -------------- {1,2,NULL,4} (1 row) SELECT ia FROM jsonb_populate_record(NULL::jsbrec, '{"ia": [[1, 2], [3, 4]]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ia --------------- {{1,2},{3,4}} (1 row) SELECT ia FROM jsonb_populate_record(NULL::jsbrec, '{"ia": [[1], 2]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: expected JSON array HINT: See the array element [1] of key "ia". SELECT ia FROM jsonb_populate_record(NULL::jsbrec, '{"ia": [[1], [2, 3]]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: malformed JSON array DETAIL: Multidimensional arrays must have sub-arrays with matching dimensions. SELECT ia FROM jsonb_populate_record(NULL::jsbrec, '{"ia": "{1,2,3}"}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ia --------- {1,2,3} (1 row) SELECT ia1 FROM jsonb_populate_record(NULL::jsbrec, '{"ia1": null}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ia1 ----- (1 row) SELECT ia1 FROM jsonb_populate_record(NULL::jsbrec, '{"ia1": 123}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: expected JSON array HINT: See the value of key "ia1". SELECT ia1 FROM jsonb_populate_record(NULL::jsbrec, '{"ia1": [1, "2", null, 4]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ia1 -------------- {1,2,NULL,4} (1 row) SELECT ia1 FROM jsonb_populate_record(NULL::jsbrec, '{"ia1": [[1, 2, 3]]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ia1 ----------- {{1,2,3}} (1 row) SELECT ia1d FROM jsonb_populate_record(NULL::jsbrec, '{"ia1d": null}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ia1d ------ (1 row) SELECT ia1d FROM jsonb_populate_record(NULL::jsbrec, '{"ia1d": 123}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: expected JSON array HINT: See the value of key "ia1d". SELECT ia1d FROM jsonb_populate_record(NULL::jsbrec, '{"ia1d": [1, "2", null, 4]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: value for domain jsb_int_array_1d violates check constraint "jsb_int_array_1d_check" SELECT ia1d FROM jsonb_populate_record(NULL::jsbrec, '{"ia1d": [1, "2", null]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ia1d ------------ {1,2,NULL} (1 row) SELECT ia2 FROM jsonb_populate_record(NULL::jsbrec, '{"ia2": [1, "2", null, 4]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ia2 -------------- {1,2,NULL,4} (1 row) SELECT ia2 FROM jsonb_populate_record(NULL::jsbrec, '{"ia2": [[1, 2], [null, 4]]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ia2 ------------------ {{1,2},{NULL,4}} (1 row) SELECT ia2 FROM jsonb_populate_record(NULL::jsbrec, '{"ia2": [[], []]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ia2 ----- {} (1 row) SELECT ia2 FROM jsonb_populate_record(NULL::jsbrec, '{"ia2": [[1, 2], [3]]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: malformed JSON array DETAIL: Multidimensional arrays must have sub-arrays with matching dimensions. SELECT ia2 FROM jsonb_populate_record(NULL::jsbrec, '{"ia2": [[1, 2], 3, 4]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: expected JSON array HINT: See the array element [1] of key "ia2". SELECT ia2d FROM jsonb_populate_record(NULL::jsbrec, '{"ia2d": [[1, "2"], [null, 4]]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: value for domain jsb_int_array_2d violates check constraint "jsb_int_array_2d_check" SELECT ia2d FROM jsonb_populate_record(NULL::jsbrec, '{"ia2d": [[1, "2", 3], [null, 5, 6]]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ia2d ---------------------- {{1,2,3},{NULL,5,6}} (1 row) SELECT ia3 FROM jsonb_populate_record(NULL::jsbrec, '{"ia3": [1, "2", null, 4]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ia3 -------------- {1,2,NULL,4} (1 row) SELECT ia3 FROM jsonb_populate_record(NULL::jsbrec, '{"ia3": [[1, 2], [null, 4]]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ia3 ------------------ {{1,2},{NULL,4}} (1 row) SELECT ia3 FROM jsonb_populate_record(NULL::jsbrec, '{"ia3": [ [[], []], [[], []], [[], []] ]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ia3 ----- {} (1 row) SELECT ia3 FROM jsonb_populate_record(NULL::jsbrec, '{"ia3": [ [[1, 2]], [[3, 4]] ]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ia3 ------------------- {{{1,2}},{{3,4}}} (1 row) SELECT ia3 FROM jsonb_populate_record(NULL::jsbrec, '{"ia3": [ [[1, 2], [3, 4]], [[5, 6], [7, 8]] ]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ia3 ------------------------------- {{{1,2},{3,4}},{{5,6},{7,8}}} (1 row) SELECT ia3 FROM jsonb_populate_record(NULL::jsbrec, '{"ia3": [ [[1, 2], [3, 4]], [[5, 6], [7, 8], [9, 10]] ]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: malformed JSON array DETAIL: Multidimensional arrays must have sub-arrays with matching dimensions. SELECT ta FROM jsonb_populate_record(NULL::jsbrec, '{"ta": null}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ta ---- (1 row) SELECT ta FROM jsonb_populate_record(NULL::jsbrec, '{"ta": 123}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: expected JSON array HINT: See the value of key "ta". SELECT ta FROM jsonb_populate_record(NULL::jsbrec, '{"ta": [1, "2", null, 4]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ta -------------- {1,2,NULL,4} (1 row) SELECT ta FROM jsonb_populate_record(NULL::jsbrec, '{"ta": [[1, 2, 3], {"k": "v"}]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: expected JSON array HINT: See the array element [1] of key "ta". SELECT c FROM jsonb_populate_record(NULL::jsbrec, '{"c": null}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c --- (1 row) SELECT c FROM jsonb_populate_record(NULL::jsbrec, '{"c": "aaa"}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c ------------ aaa (1 row) SELECT c FROM jsonb_populate_record(NULL::jsbrec, '{"c": "aaaaaaaaaa"}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c ------------ aaaaaaaaaa (1 row) SELECT c FROM jsonb_populate_record(NULL::jsbrec, '{"c": "aaaaaaaaaaaaa"}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: value too long for type character(10) SELECT ca FROM jsonb_populate_record(NULL::jsbrec, '{"ca": null}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ca ---- (1 row) SELECT ca FROM jsonb_populate_record(NULL::jsbrec, '{"ca": 123}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: expected JSON array HINT: See the value of key "ca". SELECT ca FROM jsonb_populate_record(NULL::jsbrec, '{"ca": [1, "2", null, 4]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ca ----------------------------------------------- {"1 ","2 ",NULL,"4 "} (1 row) SELECT ca FROM jsonb_populate_record(NULL::jsbrec, '{"ca": ["aaaaaaaaaaaaaaaa"]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: value too long for type character(10) SELECT ca FROM jsonb_populate_record(NULL::jsbrec, '{"ca": [[1, 2, 3], {"k": "v"}]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: expected JSON array HINT: See the array element [1] of key "ca". SELECT js FROM jsonb_populate_record(NULL::jsbrec, '{"js": null}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree js ---- (1 row) SELECT js FROM jsonb_populate_record(NULL::jsbrec, '{"js": true}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree js ------ true (1 row) SELECT js FROM jsonb_populate_record(NULL::jsbrec, '{"js": 123.45}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree js -------- 123.45 (1 row) SELECT js FROM jsonb_populate_record(NULL::jsbrec, '{"js": "123.45"}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree js ---------- "123.45" (1 row) SELECT js FROM jsonb_populate_record(NULL::jsbrec, '{"js": "abc"}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree js ------- "abc" (1 row) SELECT js FROM jsonb_populate_record(NULL::jsbrec, '{"js": [123, "123", null, {"key": "value"}]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree js -------------------------------------- [123, "123", null, {"key": "value"}] (1 row) SELECT js FROM jsonb_populate_record(NULL::jsbrec, '{"js": {"a": "bbb", "b": null, "c": 123.45}}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree js -------------------------------------- {"a": "bbb", "b": null, "c": 123.45} (1 row) SELECT jsb FROM jsonb_populate_record(NULL::jsbrec, '{"jsb": null}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree jsb ----- (1 row) SELECT jsb FROM jsonb_populate_record(NULL::jsbrec, '{"jsb": true}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree jsb ------ true (1 row) SELECT jsb FROM jsonb_populate_record(NULL::jsbrec, '{"jsb": 123.45}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree jsb -------- 123.45 (1 row) SELECT jsb FROM jsonb_populate_record(NULL::jsbrec, '{"jsb": "123.45"}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree jsb ---------- "123.45" (1 row) SELECT jsb FROM jsonb_populate_record(NULL::jsbrec, '{"jsb": "abc"}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree jsb ------- "abc" (1 row) SELECT jsb FROM jsonb_populate_record(NULL::jsbrec, '{"jsb": [123, "123", null, {"key": "value"}]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree jsb -------------------------------------- [123, "123", null, {"key": "value"}] (1 row) SELECT jsb FROM jsonb_populate_record(NULL::jsbrec, '{"jsb": {"a": "bbb", "b": null, "c": 123.45}}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree jsb -------------------------------------- {"a": "bbb", "b": null, "c": 123.45} (1 row) SELECT jsa FROM jsonb_populate_record(NULL::jsbrec, '{"jsa": null}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree jsa ----- (1 row) SELECT jsa FROM jsonb_populate_record(NULL::jsbrec, '{"jsa": 123}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: expected JSON array HINT: See the value of key "jsa". SELECT jsa FROM jsonb_populate_record(NULL::jsbrec, '{"jsa": [1, "2", null, 4]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree jsa -------------------- {1,"\"2\"",NULL,4} (1 row) SELECT jsa FROM jsonb_populate_record(NULL::jsbrec, '{"jsa": ["aaa", null, [1, 2, "3", {}], { "k" : "v" }]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree jsa ------------------------------------------------------- {"\"aaa\"",NULL,"[1, 2, \"3\", {}]","{\"k\": \"v\"}"} (1 row) SELECT rec FROM jsonb_populate_record(NULL::jsbrec, '{"rec": 123}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: cannot call populate_composite on a scalar SELECT rec FROM jsonb_populate_record(NULL::jsbrec, '{"rec": [1, 2]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: cannot call populate_composite on an array SELECT rec FROM jsonb_populate_record(NULL::jsbrec, '{"rec": {"a": "abc", "c": "01.02.2003", "x": 43.2}}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree rec ----------------------------------- (abc,,"Thu Jan 02 00:00:00 2003") (1 row) SELECT rec FROM jsonb_populate_record(NULL::jsbrec, '{"rec": "(abc,42,01.02.2003)"}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree rec ------------------------------------- (abc,42,"Thu Jan 02 00:00:00 2003") (1 row) SELECT reca FROM jsonb_populate_record(NULL::jsbrec, '{"reca": 123}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: expected JSON array HINT: See the value of key "reca". SELECT reca FROM jsonb_populate_record(NULL::jsbrec, '{"reca": [1, 2]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: cannot call populate_composite on a scalar SELECT reca FROM jsonb_populate_record(NULL::jsbrec, '{"reca": [{"a": "abc", "b": 456}, null, {"c": "01.02.2003", "x": 43.2}]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree reca -------------------------------------------------------- {"(abc,456,)",NULL,"(,,\"Thu Jan 02 00:00:00 2003\")"} (1 row) SELECT reca FROM jsonb_populate_record(NULL::jsbrec, '{"reca": ["(abc,42,01.02.2003)"]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree reca ------------------------------------------- {"(abc,42,\"Thu Jan 02 00:00:00 2003\")"} (1 row) SELECT reca FROM jsonb_populate_record(NULL::jsbrec, '{"reca": "{\"(abc,42,01.02.2003)\"}"}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree reca ------------------------------------------- {"(abc,42,\"Thu Jan 02 00:00:00 2003\")"} @@ -2500,6 +2593,7 @@ row('x',3,'2012-12-31 15:30:56')::jbpop,NULL)::jsbrec, '{"rec": {"a": "abc", "c": "01.02.2003", "x": 43.2}}' ) q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree rec ------------------------------------ (abc,3,"Thu Jan 02 00:00:00 2003") @@ -2515,6 +2609,7 @@ (1 row) select * from jsonb_populate_record(NULL::jsb_char2, '{"a": "aaa"}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: value too long for type character(2) select jsonb_populate_record_valid(NULL::jsb_char2, '{"a": "aa"}'); jsonb_populate_record_valid @@ -2523,6 +2618,7 @@ (1 row) select * from jsonb_populate_record(NULL::jsb_char2, '{"a": "aa"}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a ---- aa @@ -2538,6 +2634,7 @@ (1 row) select * from jsonb_populate_record(NULL::jsb_ia, '{"a": 43.2}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: expected JSON array HINT: See the value of key "a". select jsonb_populate_record_valid(NULL::jsb_ia, '{"a": [1, 2]}'); @@ -2547,6 +2644,7 @@ (1 row) select * from jsonb_populate_record(NULL::jsb_ia, '{"a": [1, 2]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a ------- {1,2} @@ -2559,6 +2657,7 @@ (1 row) select * from jsonb_populate_record(NULL::jsb_ia2, '{"a": [[1], [2, 3]]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: malformed JSON array DETAIL: Multidimensional arrays must have sub-arrays with matching dimensions. select jsonb_populate_record_valid(NULL::jsb_ia2, '{"a": [[1, 0], [2, 3]]}'); @@ -2568,6 +2667,7 @@ (1 row) select * from jsonb_populate_record(NULL::jsb_ia2, '{"a": [[1, 0], [2, 3]]}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a --------------- {{1,0},{2,3}} @@ -2585,6 +2685,7 @@ (1 row) select * from jsonb_populate_record(NULL::jsb_i_not_null_rec, '{"a": null}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: domain jsb_i_not_null does not allow null values select jsonb_populate_record_valid(NULL::jsb_i_not_null_rec, '{"a": 1}'); jsonb_populate_record_valid @@ -2593,6 +2694,7 @@ (1 row) select * from jsonb_populate_record(NULL::jsb_i_not_null_rec, '{"a": 1}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a --- 1 @@ -2605,6 +2707,7 @@ (1 row) select * from jsonb_populate_record(NULL::jsb_i_gt_1_rec, '{"a": 1}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: value for domain jsb_i_gt_1 violates check constraint "jsb_i_gt_1_check" select jsonb_populate_record_valid(NULL::jsb_i_gt_1_rec, '{"a": 2}'); jsonb_populate_record_valid @@ -2613,6 +2716,7 @@ (1 row) select * from jsonb_populate_record(NULL::jsb_i_gt_1_rec, '{"a": 2}') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a --- 2 @@ -2632,6 +2736,7 @@ SELECT * FROM jsonb_populate_record(null::record, '{"x": 776}') AS (x int, y int); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | y -----+--- 776 | @@ -2654,6 +2759,7 @@ ERROR: value for domain jb_ordered_pair violates check constraint "jb_ordered_pair_check" -- populate_recordset SELECT * FROM jsonb_populate_recordset(NULL::jbpop,'[{"a":"blurfl","x":43.2},{"b":3,"c":"2012-01-20 10:42:53"}]') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c --------+---+-------------------------- blurfl | | @@ -2661,6 +2767,7 @@ (2 rows) SELECT * FROM jsonb_populate_recordset(row('def',99,NULL)::jbpop,'[{"a":"blurfl","x":43.2},{"b":3,"c":"2012-01-20 10:42:53"}]') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c --------+----+-------------------------- blurfl | 99 | @@ -2668,6 +2775,7 @@ (2 rows) SELECT * FROM jsonb_populate_recordset(NULL::jbpop,'[{"a":"blurfl","x":43.2},{"b":3,"c":"2012-01-20 10:42:53"}]') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c --------+---+-------------------------- blurfl | | @@ -2675,6 +2783,7 @@ (2 rows) SELECT * FROM jsonb_populate_recordset(row('def',99,NULL)::jbpop,'[{"a":"blurfl","x":43.2},{"b":3,"c":"2012-01-20 10:42:53"}]') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c --------+----+-------------------------- blurfl | 99 | @@ -2682,6 +2791,7 @@ (2 rows) SELECT * FROM jsonb_populate_recordset(row('def',99,NULL)::jbpop,'[{"a":[100,200,300],"x":43.2},{"a":{"z":true},"b":3,"c":"2012-01-20 10:42:53"}]') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c -----------------+----+-------------------------- [100, 200, 300] | 99 | @@ -2689,8 +2799,10 @@ (2 rows) SELECT * FROM jsonb_populate_recordset(row('def',99,NULL)::jbpop,'[{"c":[100,200,300],"x":43.2},{"a":{"z":true},"b":3,"c":"2012-01-20 10:42:53"}]') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: invalid input syntax for type timestamp: "[100, 200, 300]" SELECT * FROM jsonb_populate_recordset(NULL::jbpop,'[{"a":"blurfl","x":43.2},{"b":3,"c":"2012-01-20 10:42:53"}]') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c --------+---+-------------------------- blurfl | | @@ -2698,6 +2810,7 @@ (2 rows) SELECT * FROM jsonb_populate_recordset(row('def',99,NULL)::jbpop,'[{"a":"blurfl","x":43.2},{"b":3,"c":"2012-01-20 10:42:53"}]') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c --------+----+-------------------------- blurfl | 99 | @@ -2705,6 +2818,7 @@ (2 rows) SELECT * FROM jsonb_populate_recordset(row('def',99,NULL)::jbpop,'[{"a":[100,200,300],"x":43.2},{"a":{"z":true},"b":3,"c":"2012-01-20 10:42:53"}]') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c -----------------+----+-------------------------- [100, 200, 300] | 99 | @@ -2723,6 +2837,7 @@ SELECT i, jsonb_populate_recordset(row(i,50), '[{"f1":"42"},{"f2":"43"}]') FROM (VALUES (1),(2)) v(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | jsonb_populate_recordset ---+-------------------------- 1 | (42,50) @@ -2733,6 +2848,7 @@ SELECT * FROM jsonb_populate_recordset(null::record, '[{"x": 776}]') AS (x int, y int); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | y -----+--- 776 | @@ -2748,12 +2864,14 @@ (0 rows) SELECT * FROM jsonb_populate_recordset(NULL::jbpop,'[]') q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c ---+---+--- (0 rows) SELECT * FROM jsonb_populate_recordset(null::record, '[]') AS (x int, y int); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | y ---+--- (0 rows) @@ -2776,20 +2894,25 @@ ERROR: value for domain jb_ordered_pair violates check constraint "jb_ordered_pair_check" -- negative cases where the wrong record type is supplied select * from jsonb_populate_recordset(row(0::int),'[{"a":"1","b":"2"},{"a":"3"}]') q (a text, b text); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: function return row and query-specified return row do not match DETAIL: Returned row contains 1 attribute, but query expects 2. select * from jsonb_populate_recordset(row(0::int,0::int),'[{"a":"1","b":"2"},{"a":"3"}]') q (a text, b text); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: function return row and query-specified return row do not match DETAIL: Returned type integer at ordinal position 1, but query expects text. select * from jsonb_populate_recordset(row(0::int,0::int,0::int),'[{"a":"1","b":"2"},{"a":"3"}]') q (a text, b text); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: function return row and query-specified return row do not match DETAIL: Returned row contains 3 attributes, but query expects 2. select * from jsonb_populate_recordset(row(1000000000::int,50::int),'[{"b":"2"},{"a":"3"}]') q (a text, b text); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: function return row and query-specified return row do not match DETAIL: Returned type integer at ordinal position 1, but query expects text. -- jsonb_to_record and jsonb_to_recordset select * from jsonb_to_record('{"a":1,"b":"foo","c":"bar"}') as x(a int, b text, d text); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | d ---+-----+--- 1 | foo | @@ -2797,6 +2920,7 @@ select * from jsonb_to_recordset('[{"a":1,"b":"foo","d":false},{"a":2,"b":"bar","c":true}]') as x(a int, b text, c boolean); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c ---+-----+--- 1 | foo | @@ -2806,6 +2930,7 @@ select *, c is null as c_is_null from jsonb_to_record('{"a":1, "b":{"c":16, "d":2}, "x":8, "ca": ["1 2", 3], "ia": [[1,2],[3,4]], "r": {"a": "aaa", "b": 123}}'::jsonb) as t(a int, b jsonb, c text, x int, ca char(5)[], ia int[][], r jbpop); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c | x | ca | ia | r | c_is_null ---+-------------------+---+---+-------------------+---------------+------------+----------- 1 | {"c": 16, "d": 2} | | 8 | {"1 2 ","3 "} | {{1,2},{3,4}} | (aaa,123,) | t @@ -2814,87 +2939,103 @@ select *, c is null as c_is_null from jsonb_to_recordset('[{"a":1, "b":{"c":16, "d":2}, "x":8}]'::jsonb) as t(a int, b jsonb, c text, x int); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c | x | c_is_null ---+-------------------+---+---+----------- 1 | {"c": 16, "d": 2} | | 8 | t (1 row) select * from jsonb_to_record('{"ia": null}') as x(ia _int4); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ia ---- (1 row) select * from jsonb_to_record('{"ia": 123}') as x(ia _int4); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: expected JSON array HINT: See the value of key "ia". select * from jsonb_to_record('{"ia": [1, "2", null, 4]}') as x(ia _int4); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ia -------------- {1,2,NULL,4} (1 row) select * from jsonb_to_record('{"ia": [[1, 2], [3, 4]]}') as x(ia _int4); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ia --------------- {{1,2},{3,4}} (1 row) select * from jsonb_to_record('{"ia": [[1], 2]}') as x(ia _int4); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: expected JSON array HINT: See the array element [1] of key "ia". select * from jsonb_to_record('{"ia": [[1], [2, 3]]}') as x(ia _int4); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: malformed JSON array DETAIL: Multidimensional arrays must have sub-arrays with matching dimensions. select * from jsonb_to_record('{"ia2": [1, 2, 3]}') as x(ia2 int[][]); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ia2 --------- {1,2,3} (1 row) select * from jsonb_to_record('{"ia2": [[1, 2], [3, 4]]}') as x(ia2 int4[][]); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ia2 --------------- {{1,2},{3,4}} (1 row) select * from jsonb_to_record('{"ia2": [[[1], [2], [3]]]}') as x(ia2 int4[][]); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ia2 ----------------- {{{1},{2},{3}}} (1 row) select * from jsonb_to_record('{"out": {"key": 1}}') as x(out json); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree out ------------ {"key": 1} (1 row) select * from jsonb_to_record('{"out": [{"key": 1}]}') as x(out json); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree out -------------- [{"key": 1}] (1 row) select * from jsonb_to_record('{"out": "{\"key\": 1}"}') as x(out json); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree out ---------------- "{\"key\": 1}" (1 row) select * from jsonb_to_record('{"out": {"key": 1}}') as x(out jsonb); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree out ------------ {"key": 1} (1 row) select * from jsonb_to_record('{"out": [{"key": 1}]}') as x(out jsonb); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree out -------------- [{"key": 1}] (1 row) select * from jsonb_to_record('{"out": "{\"key\": 1}"}') as x(out jsonb); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree out ---------------- "{\"key\": 1}" @@ -2909,6 +3050,7 @@ "reca": [{"a": "abc", "b": 456}, null, {"c": "01.02.2003", "x": 43.2}] }'::jsonb FROM generate_series(1, 3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT (jsonb_populate_record(NULL::jsbrec, js)).* FROM jsbpoptest; i | ia | ia1 | ia2 | ia3 | ia1d | ia2d | t | ta | c | ca | ts | js | jsb | jsa | rec | reca ---+----+-----+-----+-----+------+------+---+----+---+----+----+----+-----+--------------------+-----------------------------------+-------------------------------------------------------- @@ -3377,12 +3519,14 @@ RESET enable_seqscan; SELECT count(*) FROM (SELECT (jsonb_each(j)).key FROM testjsonb) AS wow; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 4791 (1 row) SELECT key, count(*) FROM (SELECT (jsonb_each(j)).key FROM testjsonb) AS wow GROUP BY key ORDER BY count DESC, key; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree key | count -----------+------- line | 884 @@ -3422,6 +3566,7 @@ SET enable_hashagg = off; SELECT count(*) FROM (SELECT j FROM (SELECT * FROM testjsonb UNION ALL SELECT * FROM testjsonb) js GROUP BY j) js2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 894 @@ -3430,12 +3575,14 @@ SET enable_hashagg = on; SET enable_sort = off; SELECT count(*) FROM (SELECT j FROM (SELECT * FROM testjsonb UNION ALL SELECT * FROM testjsonb) js GROUP BY j) js2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 894 (1 row) SELECT distinct * FROM (values (jsonb '{}' || ''::text),('{}')) v(j); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree j ---- {} @@ -5090,6 +5237,7 @@ insert into test_jsonb_subscript values (1, '{}'), -- empty jsonb (2, '{"key": "value"}'); -- jsonb with data +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- update empty jsonb update test_jsonb_subscript set test_json['a'] = '1' where id = 1; select * from test_jsonb_subscript; @@ -5355,6 +5503,7 @@ insert into test_jsonb_subscript values('foo', '{"foo": "bar"}'); insert into test_jsonb_subscript select s, ('{"' || s || '": "bar"}')::jsonb from repeat('xyzzy', 500) s; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select length(id), test_json[id] from test_jsonb_subscript; length | test_json --------+----------- diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/json_encoding.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/json_encoding.out --- /tmp/cirrus-ci-build/src/test/regress/expected/json_encoding.out 2024-03-19 15:41:21.019317000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/json_encoding.out 2024-03-19 15:51:31.629227000 +0000 @@ -262,6 +262,7 @@ -- soft error for input-time failure select * from pg_input_error_info('{ "a": "\ud83d\ude04\ud83d\udc36" }', 'jsonb'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code ---------+--------+------+---------------- | | | diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/jsonpath.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/jsonpath.out --- /tmp/cirrus-ci-build/src/test/regress/expected/jsonpath.out 2024-03-19 15:41:21.019481000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/jsonpath.out 2024-03-19 15:51:31.658354000 +0000 @@ -1285,6 +1285,7 @@ '00', '1a']) str, LATERAL pg_input_error_info(str, 'jsonpath') as errinfo; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree jsonpath | ok | sql_error_code | message | detail | hint -------------------------------------------+----+----------------+-----------------------------------------------------------------------+----------------------------------------------------------+------ $ ? (@ like_regex "pattern" flag "smixq") | t | | | | diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/jsonb_jsonpath.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/jsonb_jsonpath.out --- /tmp/cirrus-ci-build/src/test/regress/expected/jsonb_jsonpath.out 2024-03-19 15:41:21.019462000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/jsonb_jsonpath.out 2024-03-19 15:51:31.779173000 +0000 @@ -480,37 +480,45 @@ (0 rows) select * from jsonb_path_query('{"a": 10}', '$'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree jsonb_path_query ------------------ {"a": 10} (1 row) select * from jsonb_path_query('{"a": 10}', '$ ? (@.a < $value)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: could not find jsonpath variable "value" select * from jsonb_path_query('{"a": 10}', '$ ? (@.a < $value)', '1'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: "vars" argument is not an object DETAIL: Jsonpath parameters should be encoded as key-value pairs of "vars" object. select * from jsonb_path_query('{"a": 10}', '$ ? (@.a < $value)', '[{"value" : 13}]'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: "vars" argument is not an object DETAIL: Jsonpath parameters should be encoded as key-value pairs of "vars" object. select * from jsonb_path_query('{"a": 10}', '$ ? (@.a < $value)', '{"value" : 13}'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree jsonb_path_query ------------------ {"a": 10} (1 row) select * from jsonb_path_query('{"a": 10}', '$ ? (@.a < $value)', '{"value" : 8}'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree jsonb_path_query ------------------ (0 rows) select * from jsonb_path_query('{"a": 10}', '$.a ? (@ < $value)', '{"value" : 13}'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree jsonb_path_query ------------------ 10 (1 row) select * from jsonb_path_query('[10,11,12,13,14,15]', '$[*] ? (@ < $value)', '{"value" : 13}'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree jsonb_path_query ------------------ 10 @@ -519,6 +527,7 @@ (3 rows) select * from jsonb_path_query('[10,11,12,13,14,15]', '$[0,1] ? (@ < $x.value)', '{"x": {"value" : 13}}'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree jsonb_path_query ------------------ 10 @@ -526,6 +535,7 @@ (2 rows) select * from jsonb_path_query('[10,11,12,13,14,15]', '$[0 to 2] ? (@ < $value)', '{"value" : 15}'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree jsonb_path_query ------------------ 10 @@ -534,24 +544,28 @@ (3 rows) select * from jsonb_path_query('[1,"1",2,"2",null]', '$[*] ? (@ == "1")'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree jsonb_path_query ------------------ "1" (1 row) select * from jsonb_path_query('[1,"1",2,"2",null]', '$[*] ? (@ == $value)', '{"value" : "1"}'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree jsonb_path_query ------------------ "1" (1 row) select * from jsonb_path_query('[1,"1",2,"2",null]', '$[*] ? (@ == $value)', '{"value" : null}'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree jsonb_path_query ------------------ null (1 row) select * from jsonb_path_query('[1, "2", null]', '$[*] ? (@ != null)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree jsonb_path_query ------------------ 1 @@ -559,17 +573,20 @@ (2 rows) select * from jsonb_path_query('[1, "2", null]', '$[*] ? (@ == null)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree jsonb_path_query ------------------ null (1 row) select * from jsonb_path_query('{}', '$ ? (@ == @)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree jsonb_path_query ------------------ (0 rows) select * from jsonb_path_query('[]', 'strict $ ? (@ == @)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree jsonb_path_query ------------------ (0 rows) @@ -856,6 +873,7 @@ from (values (jsonb 'true'), ('false'), ('"null"')) x(x), (values (jsonb 'true'), ('false'), ('"null"')) y(y); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | y | x && y --------+--------+-------- true | true | true @@ -881,6 +899,7 @@ from (values (jsonb 'true'), ('false'), ('"null"')) x(x), (values (jsonb 'true'), ('false'), ('"null"')) y(y); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | y | x || y --------+--------+-------- true | true | true @@ -4236,6 +4255,7 @@ jsonb_path_query_first(s1.j, '$.s > $s', vars => s2.j) gt FROM str s1, str s2 ORDER BY s1.num, s2.num; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree j | j | lt | le | eq | ge | gt ---------------+---------------+-------+-------+-------+-------+------- {"s": ""} | {"s": ""} | false | true | true | true | false diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/sqljson.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/sqljson.out --- /tmp/cirrus-ci-build/src/test/regress/expected/sqljson.out 2024-03-19 15:41:21.045456000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/sqljson.out 2024-03-19 15:51:31.700078000 +0000 @@ -707,12 +707,14 @@ (1 row) SELECT JSON_ARRAY(SELECT i FROM (VALUES (1), (2), (NULL), (4)) foo(i)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree json_array ------------ [1, 2, 4] (1 row) SELECT JSON_ARRAY(SELECT i FROM (VALUES (NULL::int[]), ('{1,2}'), (NULL), (NULL), ('{3,4}'), (NULL)) foo(i)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree json_array ------------ [[1,2], + @@ -720,6 +722,7 @@ (1 row) SELECT JSON_ARRAY(SELECT i FROM (VALUES (NULL::int[]), ('{1,2}'), (NULL), (NULL), ('{3,4}'), (NULL)) foo(i) RETURNING jsonb); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree json_array ------------------ [[1, 2], [3, 4]] @@ -728,6 +731,7 @@ --SELECT JSON_ARRAY(SELECT i FROM (VALUES (NULL::int[]), ('{1,2}'), (NULL), (NULL), ('{3,4}'), (NULL)) foo(i) NULL ON NULL); --SELECT JSON_ARRAY(SELECT i FROM (VALUES (NULL::int[]), ('{1,2}'), (NULL), (NULL), ('{3,4}'), (NULL)) foo(i) NULL ON NULL RETURNING jsonb); SELECT JSON_ARRAY(SELECT i FROM (VALUES (3), (1), (NULL), (2)) foo(i) ORDER BY i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree json_array ------------ [1, 2, 3] @@ -750,6 +754,7 @@ SELECT JSON_ARRAYAGG(i) IS NULL, JSON_ARRAYAGG(i RETURNING jsonb) IS NULL FROM generate_series(1, 0) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ?column? | ?column? ----------+---------- t | t @@ -758,6 +763,7 @@ SELECT JSON_ARRAYAGG(i), JSON_ARRAYAGG(i RETURNING jsonb) FROM generate_series(1, 5) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree json_arrayagg | json_arrayagg -----------------+----------------- [1, 2, 3, 4, 5] | [1, 2, 3, 4, 5] @@ -765,6 +771,7 @@ SELECT JSON_ARRAYAGG(i ORDER BY i DESC) FROM generate_series(1, 5) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree json_arrayagg ----------------- [5, 4, 3, 2, 1] @@ -772,6 +779,7 @@ SELECT JSON_ARRAYAGG(i::text::json) FROM generate_series(1, 5) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree json_arrayagg ----------------- [1, 2, 3, 4, 5] @@ -779,6 +787,7 @@ SELECT JSON_ARRAYAGG(JSON_ARRAY(i, i + 1 RETURNING text) FORMAT JSON) FROM generate_series(1, 5) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree json_arrayagg ------------------------------------------ [[1, 2], [2, 3], [3, 4], [4, 5], [5, 6]] @@ -787,6 +796,7 @@ SELECT JSON_ARRAYAGG(NULL), JSON_ARRAYAGG(NULL RETURNING jsonb) FROM generate_series(1, 5); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree json_arrayagg | json_arrayagg ---------------+--------------- [] | [] @@ -795,6 +805,7 @@ SELECT JSON_ARRAYAGG(NULL NULL ON NULL), JSON_ARRAYAGG(NULL NULL ON NULL RETURNING jsonb) FROM generate_series(1, 5); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree json_arrayagg | json_arrayagg --------------------------------+-------------------------------- [null, null, null, null, null] | [null, null, null, null, null] @@ -814,6 +825,7 @@ JSON_ARRAYAGG(foo ORDER BY bar RETURNING jsonb) FILTER (WHERE bar > 2) as row_filtered_agg_returning_jsonb FROM (VALUES (NULL), (3), (1), (NULL), (NULL), (5), (2), (4), (NULL)) foo(bar); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]--------------------+------------------------------------------------------------------------------------------------------------------------- no_options | [1, 2, 3, 4, 5] returning_jsonb | [1, 2, 3, 4, 5] @@ -841,6 +853,7 @@ bar, JSON_ARRAYAGG(bar) FILTER (WHERE bar > 2) OVER (PARTITION BY foo.bar % 2) FROM (VALUES (NULL), (3), (1), (NULL), (NULL), (5), (2), (4), (NULL), (5), (4)) foo(bar); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree bar | json_arrayagg -----+--------------- 4 | [4, 4] @@ -876,6 +889,7 @@ JSON_OBJECTAGG(i: i RETURNING jsonb) FROM generate_series(1, 5) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree json_objectagg | json_objectagg -------------------------------------------------+------------------------------------------ { "1" : 1, "2" : 2, "3" : 3, "4" : 4, "5" : 5 } | {"1": 1, "2": 2, "3": 3, "4": 4, "5": 5} @@ -890,6 +904,7 @@ JSON_OBJECTAGG(k: v ABSENT ON NULL RETURNING jsonb) FROM (VALUES (1, 1), (1, NULL), (2, NULL), (3, 3)) foo(k, v); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree json_objectagg | json_objectagg | json_objectagg | json_objectagg | json_objectagg | json_objectagg ----------------------------------------------+----------------------------------------------+----------------------+--------------------------------+--------------------------------+------------------ { "1" : 1, "1" : null, "2" : null, "3" : 3 } | { "1" : 1, "1" : null, "2" : null, "3" : 3 } | { "1" : 1, "3" : 3 } | {"1": null, "2": null, "3": 3} | {"1": null, "2": null, "3": 3} | {"1": 1, "3": 3} @@ -897,12 +912,15 @@ SELECT JSON_OBJECTAGG(k: v WITH UNIQUE KEYS) FROM (VALUES (1, 1), (1, NULL), (2, 2)) foo(k, v); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: duplicate JSON object key value: "1" SELECT JSON_OBJECTAGG(k: v ABSENT ON NULL WITH UNIQUE KEYS) FROM (VALUES (1, 1), (1, NULL), (2, 2)) foo(k, v); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: duplicate JSON object key value: "1" SELECT JSON_OBJECTAGG(k: v ABSENT ON NULL WITH UNIQUE KEYS) FROM (VALUES (1, 1), (0, NULL), (3, NULL), (2, 2), (4, NULL)) foo(k, v); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree json_objectagg ---------------------- { "1" : 1, "2" : 2 } @@ -910,12 +928,15 @@ SELECT JSON_OBJECTAGG(k: v WITH UNIQUE KEYS RETURNING jsonb) FROM (VALUES (1, 1), (1, NULL), (2, 2)) foo(k, v); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: duplicate JSON object key value SELECT JSON_OBJECTAGG(k: v ABSENT ON NULL WITH UNIQUE KEYS RETURNING jsonb) FROM (VALUES (1, 1), (1, NULL), (2, 2)) foo(k, v); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: duplicate JSON object key value SELECT JSON_OBJECTAGG(k: v ABSENT ON NULL WITH UNIQUE KEYS RETURNING jsonb) FROM (VALUES (1, 1), (0, NULL),(4, null), (5, null),(6, null),(2, 2)) foo(k, v); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree json_objectagg ------------------ {"1": 1, "2": 2} @@ -933,11 +954,13 @@ CREATE VIEW json_object_view AS SELECT JSON_OBJECT('foo' : '1' FORMAT JSON, 'bar' : 'baz' RETURNING json); \sv json_object_view +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE OR REPLACE VIEW public.json_object_view AS SELECT JSON_OBJECT('foo' : '1'::text FORMAT JSON, 'bar' : 'baz'::text RETURNING json) AS "json_object" DROP VIEW json_object_view; SELECT to_json(a) AS a, JSON_OBJECTAGG(k : v WITH UNIQUE KEYS) OVER (ORDER BY k) FROM (VALUES (1,1), (2,2)) a(k,v); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | json_objectagg ---------------+---------------------- {"k":1,"v":1} | { "1" : 1 } @@ -946,14 +969,17 @@ SELECT to_json(a) AS a, JSON_OBJECTAGG(k : v WITH UNIQUE KEYS) OVER (ORDER BY k) FROM (VALUES (1,1), (1,2), (2,2)) a(k,v); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: duplicate JSON object key value: "1" SELECT to_json(a) AS a, JSON_OBJECTAGG(k : v ABSENT ON NULL WITH UNIQUE KEYS) OVER (ORDER BY k) FROM (VALUES (1,1), (1,null), (2,2)) a(k,v); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: duplicate JSON object key value: "1" SELECT to_json(a) AS a, JSON_OBJECTAGG(k : v ABSENT ON NULL) OVER (ORDER BY k) FROM (VALUES (1,1), (1,null), (2,2)) a(k,v); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | json_objectagg ------------------+---------------------- {"k":1,"v":1} | { "1" : 1 } @@ -964,6 +990,7 @@ SELECT to_json(a) AS a, JSON_OBJECTAGG(k : v ABSENT ON NULL) OVER (ORDER BY k RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM (VALUES (1,1), (1,null), (2,2)) a(k,v); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | json_objectagg ------------------+---------------------- {"k":1,"v":1} | { "1" : 1, "2" : 2 } @@ -983,6 +1010,7 @@ CREATE VIEW json_array_view AS SELECT JSON_ARRAY('1' FORMAT JSON, 2 RETURNING json); \sv json_array_view +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE OR REPLACE VIEW public.json_array_view AS SELECT JSON_ARRAY('1'::text FORMAT JSON, 2 RETURNING json) AS "json_array" DROP VIEW json_array_view; @@ -990,6 +1018,7 @@ EXPLAIN (VERBOSE, COSTS OFF) SELECT JSON_OBJECTAGG(i: ('111' || i)::bytea FORMAT JSON WITH UNIQUE RETURNING text) FILTER (WHERE i > 3) FROM generate_series(1,5) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------------------------------------------------------------------------- Aggregate @@ -1002,6 +1031,7 @@ EXPLAIN (VERBOSE, COSTS OFF) SELECT JSON_OBJECTAGG(i: ('111' || i)::bytea FORMAT JSON WITH UNIQUE RETURNING text) OVER (PARTITION BY i % 2) FROM generate_series(1,5) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------------------------------------------------------------------------- WindowAgg @@ -1018,6 +1048,7 @@ SELECT JSON_OBJECTAGG(i: ('111' || i)::bytea FORMAT JSON WITH UNIQUE RETURNING text) FILTER (WHERE i > 3) FROM generate_series(1,5) i; \sv json_objectagg_view +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE OR REPLACE VIEW public.json_objectagg_view AS SELECT JSON_OBJECTAGG(i : ('111'::text || i)::bytea FORMAT JSON WITH UNIQUE KEYS RETURNING text) FILTER (WHERE i > 3) AS "json_objectagg" FROM generate_series(1, 5) i(i) @@ -1026,6 +1057,7 @@ EXPLAIN (VERBOSE, COSTS OFF) SELECT JSON_ARRAYAGG(('111' || i)::bytea FORMAT JSON NULL ON NULL RETURNING text) FILTER (WHERE i > 3) FROM generate_series(1,5) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------------------------------------------------------------------- Aggregate @@ -1038,6 +1070,7 @@ EXPLAIN (VERBOSE, COSTS OFF) SELECT JSON_ARRAYAGG(('111' || i)::bytea FORMAT JSON NULL ON NULL RETURNING text) OVER (PARTITION BY i % 2) FROM generate_series(1,5) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------------------------------------------------------------- WindowAgg @@ -1054,6 +1087,7 @@ SELECT JSON_ARRAYAGG(('111' || i)::bytea FORMAT JSON NULL ON NULL RETURNING text) FILTER (WHERE i > 3) FROM generate_series(1,5) i; \sv json_arrayagg_view +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE OR REPLACE VIEW public.json_arrayagg_view AS SELECT JSON_ARRAYAGG(('111'::text || i)::bytea FORMAT JSON NULL ON NULL RETURNING text) FILTER (WHERE i > 3) AS "json_arrayagg" FROM generate_series(1, 5) i(i) @@ -1061,6 +1095,7 @@ -- Test JSON_ARRAY(subquery) deparsing EXPLAIN (VERBOSE, COSTS OFF) SELECT JSON_ARRAY(SELECT i FROM (VALUES (1), (2), (NULL), (4)) foo(i) RETURNING jsonb); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------------------------------- Result @@ -1075,6 +1110,7 @@ CREATE VIEW json_array_subquery_view AS SELECT JSON_ARRAY(SELECT i FROM (VALUES (1), (2), (NULL), (4)) foo(i) RETURNING jsonb); \sv json_array_subquery_view +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE OR REPLACE VIEW public.json_array_subquery_view AS SELECT ( SELECT JSON_ARRAYAGG(q.a RETURNING jsonb) AS "json_arrayagg" FROM ( SELECT foo.i @@ -1145,6 +1181,7 @@ ('aaa'), ('{a:1}'), ('["a",]'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT js, js IS JSON "IS JSON", @@ -1189,6 +1226,7 @@ js IS JSON WITH UNIQUE KEYS "WITH UNIQUE" FROM (SELECT js::json FROM test_is_json WHERE js IS JSON) foo(js); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree js | IS JSON | IS NOT JSON | IS VALUE | IS OBJECT | IS ARRAY | IS SCALAR | WITHOUT UNIQUE | WITH UNIQUE -----------------------------------------------+---------+-------------+----------+-----------+----------+-----------+----------------+------------- 123 | t | f | t | f | f | t | t | t @@ -1216,6 +1254,7 @@ js IS JSON WITH UNIQUE KEYS "WITH UNIQUE" FROM (SELECT js, js::bytea FROM test_is_json WHERE js IS JSON) foo(js0, js); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree js0 | IS JSON | IS NOT JSON | IS VALUE | IS OBJECT | IS ARRAY | IS SCALAR | WITHOUT UNIQUE | WITH UNIQUE -----------------------------------------------+---------+-------------+----------+-----------+----------+-----------+----------------+------------- 123 | t | f | t | f | f | t | t | t @@ -1243,6 +1282,7 @@ js IS JSON WITH UNIQUE KEYS "WITH UNIQUE" FROM (SELECT js::jsonb FROM test_is_json WHERE js IS JSON) foo(js); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree js | IS JSON | IS NOT JSON | IS VALUE | IS OBJECT | IS ARRAY | IS SCALAR | WITHOUT UNIQUE | WITH UNIQUE -------------------------------------+---------+-------------+----------+-----------+----------+-----------+----------------+------------- 123 | t | f | t | f | f | t | t | t @@ -1261,6 +1301,7 @@ -- Test IS JSON deparsing EXPLAIN (VERBOSE, COSTS OFF) SELECT '1' IS JSON AS "any", ('1' || i) IS JSON SCALAR AS "scalar", '[]' IS NOT JSON ARRAY AS "array", '{}' IS JSON OBJECT WITH UNIQUE AS "object" FROM generate_series(1, 3) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------------------------------------------------------------------------------------------------- Function Scan on pg_catalog.generate_series i @@ -1271,6 +1312,7 @@ CREATE VIEW is_json_view AS SELECT '1' IS JSON AS "any", ('1' || i) IS JSON SCALAR AS "scalar", '[]' IS NOT JSON ARRAY AS "array", '{}' IS JSON OBJECT WITH UNIQUE AS "object" FROM generate_series(1, 3) i; \sv is_json_view +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE OR REPLACE VIEW public.is_json_view AS SELECT '1'::text IS JSON AS "any", ('1'::text || i) IS JSON SCALAR AS scalar, diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/plancache.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/plancache.out --- /tmp/cirrus-ci-build/src/test/regress/expected/plancache.out 2024-03-19 15:41:21.043670000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/plancache.out 2024-03-19 15:51:32.658019000 +0000 @@ -80,6 +80,7 @@ CREATE TEMP VIEW pcacheview AS SELECT * FROM pcachetest; PREPARE vprep AS SELECT * FROM pcacheview; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree EXECUTE vprep; q1 | q2 ------------------+------------------- @@ -93,6 +94,7 @@ CREATE OR REPLACE TEMP VIEW pcacheview AS SELECT q1, q2/2 AS q2 FROM pcachetest; EXECUTE vprep; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree q1 | q2 ------------------+------------------- 4567890123456789 | -2283945061728394 @@ -142,6 +144,7 @@ return f1 from v1; end$$ language plpgsql; select cache_test_2(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree cache_test_2 -------------- 4 @@ -150,6 +153,7 @@ create or replace temp view v1 as select 2+2+4 as f1; select cache_test_2(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree cache_test_2 -------------- 8 @@ -158,6 +162,7 @@ create or replace temp view v1 as select 2+2+4+(select max(unique1) from tenk1) as f1; select cache_test_2(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree cache_test_2 -------------- 10007 @@ -234,6 +239,8 @@ end$$ language plpgsql; select cachebug(); NOTICE: table "temptable" does not exist, skipping +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: 1 NOTICE: 2 NOTICE: 3 @@ -244,6 +251,7 @@ select cachebug(); NOTICE: drop cascades to view vv +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: 1 NOTICE: 2 NOTICE: 3 @@ -281,11 +289,13 @@ -- Test plan_cache_mode create table test_mode (a int); insert into test_mode select 1 from generate_series(1,1000) union all select 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree create index on test_mode (a); analyze test_mode; prepare test_mode_pp (int) as select count(*) from test_mode where a = $1; select name, generic_plans, custom_plans from pg_prepared_statements where name = 'test_mode_pp'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree name | generic_plans | custom_plans --------------+---------------+-------------- test_mode_pp | 0 | 0 @@ -303,6 +313,7 @@ select name, generic_plans, custom_plans from pg_prepared_statements where name = 'test_mode_pp'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree name | generic_plans | custom_plans --------------+---------------+-------------- test_mode_pp | 0 | 1 @@ -320,6 +331,7 @@ select name, generic_plans, custom_plans from pg_prepared_statements where name = 'test_mode_pp'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree name | generic_plans | custom_plans --------------+---------------+-------------- test_mode_pp | 1 | 1 @@ -353,6 +365,7 @@ select name, generic_plans, custom_plans from pg_prepared_statements where name = 'test_mode_pp'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree name | generic_plans | custom_plans --------------+---------------+-------------- test_mode_pp | 1 | 5 @@ -366,6 +379,7 @@ select name, generic_plans, custom_plans from pg_prepared_statements where name = 'test_mode_pp'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree name | generic_plans | custom_plans --------------+---------------+-------------- test_mode_pp | 2 | 5 @@ -392,6 +406,7 @@ select name, generic_plans, custom_plans from pg_prepared_statements where name = 'test_mode_pp'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree name | generic_plans | custom_plans --------------+---------------+-------------- test_mode_pp | 3 | 6 diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/limit.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/limit.out --- /tmp/cirrus-ci-build/src/test/regress/expected/limit.out 2024-03-19 15:41:21.019554000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/limit.out 2024-03-19 15:51:32.544978000 +0000 @@ -346,6 +346,7 @@ (SELECT n FROM generate_series(1,10) AS n ORDER BY n LIMIT 1 OFFSET s-1) AS y) AS z FROM generate_series(1,10) AS s; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree z ---- 1 @@ -633,6 +634,8 @@ CREATE VIEW limit_thousand_v_1 AS SELECT thousand FROM onek WHERE thousand < 995 ORDER BY thousand FETCH FIRST 5 ROWS WITH TIES OFFSET 10; \d+ limit_thousand_v_1 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree View "public.limit_thousand_v_1" Column | Type | Collation | Nullable | Default | Storage | Description ----------+---------+-----------+----------+---------+---------+------------- @@ -648,6 +651,8 @@ CREATE VIEW limit_thousand_v_2 AS SELECT thousand FROM onek WHERE thousand < 995 ORDER BY thousand OFFSET 10 FETCH FIRST 5 ROWS ONLY; \d+ limit_thousand_v_2 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree View "public.limit_thousand_v_2" Column | Type | Collation | Nullable | Default | Storage | Description ----------+---------+-----------+----------+---------+---------+------------- @@ -666,6 +671,8 @@ CREATE VIEW limit_thousand_v_3 AS SELECT thousand FROM onek WHERE thousand < 995 ORDER BY thousand FETCH FIRST (NULL+1) ROWS WITH TIES; \d+ limit_thousand_v_3 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree View "public.limit_thousand_v_3" Column | Type | Collation | Nullable | Default | Storage | Description ----------+---------+-----------+----------+---------+---------+------------- @@ -680,6 +687,8 @@ CREATE VIEW limit_thousand_v_4 AS SELECT thousand FROM onek WHERE thousand < 995 ORDER BY thousand FETCH FIRST NULL ROWS ONLY; \d+ limit_thousand_v_4 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree View "public.limit_thousand_v_4" Column | Type | Collation | Nullable | Default | Storage | Description ----------+---------+-----------+----------+---------+---------+------------- diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/plpgsql.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/plpgsql.out --- /tmp/cirrus-ci-build/src/test/regress/expected/plpgsql.out 2024-03-19 15:41:21.043803000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/plpgsql.out 2024-03-19 15:51:34.479295000 +0000 @@ -1471,6 +1471,7 @@ -- Now we take a look at the patchfield -- select * from PField_v1 where pfname = 'PF0_1' order by slotname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree pfname | slotname | backside | patch --------+----------------------+----------------------------------------------------------+----------------------------------------------- PF0_1 | PS.base.a1 | WS.001.1a in room 001 -> Phone PH.hc001 (Hicom standard) | PS.base.ta1 -> Phone line -0 (Central call) @@ -1494,6 +1495,7 @@ (18 rows) select * from PField_v1 where pfname = 'PF0_2' order by slotname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree pfname | slotname | backside | patch --------+----------------------+--------------------------------+------------------------------------------------------------------------ PF0_2 | PS.base.ta1 | Phone line -0 (Central call) | PS.base.a1 -> WS.001.1a in room 001 -> Phone PH.hc001 (Hicom standard) @@ -1639,6 +1641,7 @@ RETURN; END;' language plpgsql; select * from test_table_func_rec(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a ----- 2 @@ -1659,6 +1662,7 @@ RETURN; END;' language plpgsql; select * from test_table_func_row(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a ----- 2 @@ -1679,6 +1683,7 @@ RETURN; END;' language plpgsql; select * from test_ret_set_scalar(1,10); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree test_ret_set_scalar --------------------- 2 @@ -1709,6 +1714,7 @@ RETURN; END;' language plpgsql; SELECT * FROM test_ret_set_rec_dyn(1500) AS (a int, b int, c int); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c ---+----+---- 5 | 10 | 15 @@ -1716,6 +1722,7 @@ (2 rows) SELECT * FROM test_ret_set_rec_dyn(5) AS (a int, b numeric, c text); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c ----+---+----- 50 | 5 | xxx @@ -1735,12 +1742,14 @@ END IF; END;' language plpgsql; SELECT * FROM test_ret_rec_dyn(1500) AS (a int, b int, c int); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c ---+----+---- 5 | 10 | 15 (1 row) SELECT * FROM test_ret_rec_dyn(5) AS (a int, b numeric, c text); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c ----+---+----- 50 | 5 | xxx @@ -1878,6 +1887,7 @@ end$$ language plpgsql; select x, pg_typeof(x), y, pg_typeof(y) from f1(11, array[1, 2], 42, 34.5); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | pg_typeof | y | pg_typeof ----------+-----------+-----------+----------- {11,1,2} | integer[] | {42,34.5} | numeric[] @@ -1885,6 +1895,7 @@ select x, pg_typeof(x), y, pg_typeof(y) from f1(11, array[1, 2], point(1,2), point(3,4)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | pg_typeof | y | pg_typeof ----------+-----------+-------------------+----------- {11,1,2} | integer[] | {"(1,2)","(3,4)"} | point[] @@ -1892,6 +1903,7 @@ select x, pg_typeof(x), y, pg_typeof(y) from f1(11, '{1,2}', point(1,2), '(3,4)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | pg_typeof | y | pg_typeof ----------+-----------+-------------------+----------- {11,1,2} | integer[] | {"(1,2)","(3,4)"} | point[] @@ -1929,6 +1941,7 @@ (1 row) select * from f1(42); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree j ---- 43 @@ -1945,6 +1958,7 @@ (1 row) select * from f1(42); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i ---- 43 @@ -1960,6 +1974,7 @@ return; end$$ language plpgsql; select * from f1(42); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree j ---- 43 @@ -1980,6 +1995,7 @@ (1 row) select * from f1(42); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree j | k ----+----- 43 | foo @@ -1996,6 +2012,7 @@ return next; end$$ language plpgsql; select * from f1(42); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree j | k ----+------ 43 | foo @@ -2010,12 +2027,14 @@ return; end$$ language plpgsql; select * from duplic(42); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree j | k ----+--------- 42 | {42,42} (1 row) select * from duplic('foo'::text); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree j | k -----+----------- foo | {foo,foo} @@ -2029,12 +2048,14 @@ return; end$$ language plpgsql; select * from duplic(int4range(42,49)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree j | k ----+--------- 42 | {42,49} (1 row) select * from duplic(textrange('aaa', 'bbb')); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree j | k -----+----------- aaa | {aaa,bbb} @@ -2580,6 +2601,7 @@ return _v; end; $$ language plpgsql; select execute_into_test('eifoo'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: 10 1 NOTICE: 10 15 NOTICE: 10 15 20 @@ -2707,6 +2729,7 @@ -- create temp table foo (f1 int, f2 int); insert into foo values (1,2), (3,4); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree create or replace function stricttest() returns void as $$ declare x record; begin @@ -2729,6 +2752,7 @@ raise notice 'x.f1 = %, x.f2 = %', x.f1, x.f2; end$$ language plpgsql; select stricttest(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: query returned more than one row HINT: Make sure the query returns a single row, or use LIMIT 1. CONTEXT: PL/pgSQL function stricttest() line 5 at SQL statement @@ -2754,6 +2778,7 @@ raise notice 'x.f1 = %, x.f2 = %', x.f1, x.f2; end$$ language plpgsql; select stricttest(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: x.f1 = 7, x.f2 = 8 stricttest ------------ @@ -3093,6 +3118,7 @@ select v from generate_series(1,2) g(v) into x; end; $$; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: query returned more than one row HINT: Make sure the query returns a single row, or use LIMIT 1. set plpgsql.extra_errors to 'too_many_rows'; @@ -3102,6 +3128,7 @@ select v from generate_series(1,2) g(v) into x; end; $$; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: query returned more than one row HINT: Make sure the query returns a single row, or use LIMIT 1. CONTEXT: PL/pgSQL function inline_code_block line 4 at SQL statement @@ -3202,6 +3229,7 @@ end; $$ language plpgsql; select * from sc_test(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree sc_test ------------- -2147483647 @@ -3226,6 +3254,7 @@ end; $$ language plpgsql; select * from sc_test(); -- fails because of NO SCROLL specification +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: cursor can only scan forward HINT: Declare it with SCROLL option to enable backward scan. CONTEXT: PL/pgSQL function sc_test() line 7 at FETCH @@ -3244,6 +3273,7 @@ end; $$ language plpgsql; select * from sc_test(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree sc_test ------------- -2147483647 @@ -3268,6 +3298,7 @@ end; $$ language plpgsql; select * from sc_test(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree sc_test ------------- -2147483647 @@ -3291,6 +3322,7 @@ end; $$ language plpgsql; select * from sc_test(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree sc_test ------------- -2147483647 @@ -3317,6 +3349,8 @@ end; $$ language plpgsql; select * from sc_test(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree sc_test --------- 3 @@ -3339,6 +3373,8 @@ end; $$ language plpgsql; select * from sc_test(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree sc_test --------- 10 @@ -3384,6 +3420,8 @@ end; $$ language plpgsql; select * from ret_query1(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree column1 | column2 ---------+--------- -1 | -2 @@ -3409,6 +3447,8 @@ end; $$ language plpgsql; select * from ret_query2(8); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | y | z ----------------------------------+----+--- e91592205d3881e3ea35d66973bb4898 | -8 | f @@ -3434,6 +3474,7 @@ end $$ language plpgsql; select exc_using(5, 'foobar'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: 1 NOTICE: 2 NOTICE: 3 @@ -3462,6 +3503,7 @@ end; $$ language plpgsql; select exc_using(5); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: 1 NOTICE: 2 NOTICE: 3 @@ -3514,11 +3556,13 @@ end; $$ language plpgsql; select forc01(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: 5 from c NOTICE: 6 from c NOTICE: 7 from c NOTICE: 9 from c NOTICE: 10 from c +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: 41 from c2 NOTICE: 42 from c2 NOTICE: 43 from c2 @@ -3539,6 +3583,7 @@ -- try updating the cursor's current row create temp table forc_test as select n as i, n as j from generate_series(1,10) n; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree create or replace function forc01() returns void as $$ declare c cursor for select * from forc_test; @@ -3665,6 +3710,9 @@ end; $$ language plpgsql; select * from return_dquery(); +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 return_dquery --------------- 10 @@ -3677,6 +3725,7 @@ -- test RETURN QUERY with dropped columns create table tabwithcols(a int, b int, c int, d int); insert into tabwithcols values(10,20,30,40),(50,60,70,80); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree create or replace function returnqueryf() returns setof tabwithcols as $$ begin @@ -3685,6 +3734,7 @@ end; $$ language plpgsql; select * from returnqueryf(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c | d ----+----+----+---- 10 | 20 | 30 | 40 @@ -3695,6 +3745,7 @@ alter table tabwithcols drop column b; select * from returnqueryf(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | c | d ----+----+---- 10 | 30 | 40 @@ -3705,6 +3756,7 @@ alter table tabwithcols drop column d; select * from returnqueryf(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | c ----+---- 10 | 30 @@ -3715,6 +3767,7 @@ alter table tabwithcols add column d int; select * from returnqueryf(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | c | d ----+----+--- 10 | 30 | @@ -3834,6 +3887,7 @@ end; $$ language plpgsql; select * from compos(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | y ---+--------- 1 | hello @@ -3861,6 +3915,7 @@ end; $$ language plpgsql; select * from compos(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: cannot return non-composite value from function returning composite type CONTEXT: PL/pgSQL function compos() line 4 at RETURN drop function compos(); @@ -4248,6 +4303,8 @@ end; $$ language plpgsql immutable strict; select * from tftest(10); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ----+---- 10 | 11 @@ -4266,6 +4323,7 @@ end; $$ language plpgsql immutable strict; select * from tftest(10); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b -----+----- 10 | 11 @@ -4292,9 +4350,14 @@ end; $$ language plpgsql; select * from rttest(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: t 2 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: f 0 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: t 2 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: f 0 rttest -------- @@ -4312,6 +4375,7 @@ end; $$ language plpgsql; select * from rttest(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: SELECT INTO query does not return tuples CONTEXT: SQL statement "select 10 into no_such_table" PL/pgSQL function rttest() line 3 at RETURN QUERY @@ -4322,6 +4386,7 @@ end; $$ language plpgsql; select * from rttest(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: SELECT INTO query does not return tuples CONTEXT: SQL statement "select 10 into no_such_table" PL/pgSQL function rttest() line 3 at RETURN QUERY @@ -4356,12 +4421,14 @@ END; $$ LANGUAGE plpgsql; SELECT * FROM leaker_1(false); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree leaker_1 ---------- 1 (1 row) SELECT * FROM leaker_1(true); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree leaker_1 ---------- 0 @@ -4739,6 +4806,7 @@ end; $$ language plpgsql; select * from conflict_test(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: column reference "q1" is ambiguous LINE 1: select q1,q2 from int8_tbl ^ @@ -4756,6 +4824,7 @@ end; $$ language plpgsql; select * from conflict_test(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree q1 | q2 ----+------------------- 42 | 456 @@ -4776,6 +4845,7 @@ end; $$ language plpgsql; select * from conflict_test(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree q1 | q2 ------------------+------------------- 123 | 456 @@ -5116,6 +5186,7 @@ select i, a from (select returns_rw_array(1) as a offset 0) ss, lateral consumes_rw_array(a) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------- Nested Loop @@ -5130,6 +5201,7 @@ select i, a from (select returns_rw_array(1) as a offset 0) ss, lateral consumes_rw_array(a) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | a ---+------- 1 | {1,1} @@ -5137,6 +5209,7 @@ explain (verbose, costs off) select consumes_rw_array(a), a from returns_rw_array(1) a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------- Function Scan on public.returns_rw_array a @@ -5145,6 +5218,7 @@ (3 rows) select consumes_rw_array(a), a from returns_rw_array(1) a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree consumes_rw_array | a -------------------+------- 1 | {1,1} @@ -5153,6 +5227,7 @@ explain (verbose, costs off) select consumes_rw_array(a), a from (values (returns_rw_array(1)), (returns_rw_array(2))) v(a); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------------------------------- Values Scan on "*VALUES*" @@ -5161,6 +5236,7 @@ select consumes_rw_array(a), a from (values (returns_rw_array(1)), (returns_rw_array(2))) v(a); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree consumes_rw_array | a -------------------+------- 1 | {1,1} @@ -5484,10 +5560,14 @@ FOR EACH STATEMENT EXECUTE PROCEDURE transition_table_base_ins_func(); INSERT INTO transition_table_base VALUES (1, 'One'), (2, 'Two'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INFO: Named Tuplestore Scan Output: id, val INSERT INTO transition_table_base VALUES (3, 'Three'), (4, 'Four'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INFO: Named Tuplestore Scan Output: id, val @@ -5520,6 +5600,7 @@ UPDATE transition_table_base SET val = '*' || val || '*' WHERE id BETWEEN 2 AND 3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INFO: Hash Full Join Output: COALESCE(ot.id, nt.id), ot.val, nt.val Hash Cond: (ot.id = nt.id) @@ -5623,18 +5704,24 @@ -- create initial test data INSERT INTO transition_table_level1 (level1_no) SELECT generate_series(1,200); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE transition_table_level1; INSERT INTO transition_table_level2 (level2_no, parent_no) SELECT level2_no, level2_no / 50 + 1 AS parent_no FROM generate_series(1,9999) level2_no; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE transition_table_level2; INSERT INTO transition_table_status (level, node_no, status) SELECT 1, level1_no, 0 FROM transition_table_level1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO transition_table_status (level, node_no, status) SELECT 2, level2_no, 0 FROM transition_table_level2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE transition_table_status; INSERT INTO transition_table_level1(level1_no) SELECT generate_series(201,1000); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE transition_table_level1; -- behave reasonably if someone tries to modify a transition table CREATE FUNCTION transition_table_level2_bad_usage_func() @@ -5661,18 +5748,22 @@ -- attempt modifications which would break RI (should all fail) DELETE FROM transition_table_level1 WHERE level1_no = 25; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: RI error CONTEXT: PL/pgSQL function transition_table_level1_ri_parent_del_func() line 6 at RAISE UPDATE transition_table_level1 SET level1_no = -1 WHERE level1_no = 30; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: RI error CONTEXT: PL/pgSQL function transition_table_level1_ri_parent_upd_func() line 15 at RAISE INSERT INTO transition_table_level2 (level2_no, parent_no) VALUES (10000, 10000); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: RI error CONTEXT: PL/pgSQL function transition_table_level2_ri_child_insupd_func() line 8 at RAISE UPDATE transition_table_level2 SET parent_no = 2000 WHERE level2_no = 40; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: RI error CONTEXT: PL/pgSQL function transition_table_level2_ri_child_insupd_func() line 8 at RAISE -- attempt modifications which would not break RI (should all succeed) @@ -5726,8 +5817,11 @@ alter_table_under_transition_tables_upd_func(); INSERT INTO alter_table_under_transition_tables VALUES (1, '1'), (2, '2'), (3, '3'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree UPDATE alter_table_under_transition_tables SET name = name || name; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: old table = 1=1,2=2,3=3, new table = 1=11,2=22,3=33 NOTICE: one = 1 -- now change 'name' to an integer to see what happens... @@ -5735,6 +5829,8 @@ ALTER COLUMN name TYPE int USING name::integer; UPDATE alter_table_under_transition_tables SET name = (name::text || name::text)::integer; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: old table = 1=11,2=22,3=33, new table = 1=1111,2=2222,3=3333 NOTICE: one = 1 -- now drop column 'name' @@ -5765,7 +5861,9 @@ REFERENCING NEW TABLE AS new_test OLD TABLE as old_test FOR EACH STATEMENT EXECUTE PROCEDURE multi_test_trig(); UPDATE multi_test SET i = i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: count = 1 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: count union = 2 DROP TABLE multi_test; DROP FUNCTION multi_test_trig(); @@ -5789,6 +5887,7 @@ END; $$ LANGUAGE plpgsql; NOTICE: type reference partitioned_table.a%TYPE converted to integer SELECT * FROM get_from_partitioned_table(1) AS t; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+------- 1 | Row 1 @@ -5808,6 +5907,7 @@ END; $$ LANGUAGE plpgsql; NOTICE: type reference public.partitioned_table.a%TYPE converted to integer SELECT * FROM list_partitioned_table() AS t; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree t --- 1 diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/copy2.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/copy2.out --- /tmp/cirrus-ci-build/src/test/regress/expected/copy2.out 2024-03-19 15:41:21.017542000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/copy2.out 2024-03-19 15:51:33.012093000 +0000 @@ -347,6 +347,7 @@ -- test handling of nonstandard null marker that violates escaping rules CREATE TEMP TABLE testnull(a int, b text); INSERT INTO testnull VALUES (1, E'\\0'), (NULL, NULL); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree COPY testnull TO stdout WITH NULL AS E'\\0'; 1 \\0 \0 \0 @@ -588,6 +589,11 @@ end $$ language plpgsql immutable; alter table check_con_tbl add check (check_con_function(check_con_tbl.*)); \d+ check_con_tbl +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 Table "public.check_con_tbl" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/temp.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/temp.out --- /tmp/cirrus-ci-build/src/test/regress/expected/temp.out 2024-03-19 15:41:21.046026000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/temp.out 2024-03-19 15:51:32.882120000 +0000 @@ -123,6 +123,7 @@ (SELECT string_agg(g.i::text || ':' || random()::text, '|') FROM generate_series(1, 100) g(i))); end$$; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM temptest; col ----- @@ -266,6 +267,7 @@ partition of temp_parted_oncommit_test for values in (2) on commit drop; insert into temp_parted_oncommit_test values (1), (2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree commit; -- no relations remain in this case. select relname from pg_class where relname ~ '^temp_parted_oncommit_test'; @@ -285,6 +287,7 @@ partition of temp_parted_oncommit_test for values in (2) on commit drop; insert into temp_parted_oncommit_test values (1), (2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree commit; -- Data from the remaining partition is still here as its rows are -- preserved. diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/domain.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/domain.out --- /tmp/cirrus-ci-build/src/test/regress/expected/domain.out 2024-03-19 15:41:21.017968000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/domain.out 2024-03-19 15:51:33.393884000 +0000 @@ -109,24 +109,28 @@ (1 row) select * from pg_input_error_info('junk', 'positiveint'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code -----------------------------------------------+--------+------+---------------- invalid input syntax for type integer: "junk" | | | 22P02 (1 row) select * from pg_input_error_info('-1', 'positiveint'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code ----------------------------------------------------------------------------+--------+------+---------------- value for domain positiveint violates check constraint "positiveint_check" | | | 23514 (1 row) select * from pg_input_error_info('junk', 'weirdfloat'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code --------------------------------------------------------+--------+------+---------------- invalid input syntax for type double precision: "junk" | | | 22P02 (1 row) select * from pg_input_error_info('0.01', 'weirdfloat'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message | detail | hint | sql_error_code --------------------------------------------------------------------------+--------+------+---------------- value for domain weirdfloat violates check constraint "weirdfloat_check" | | | 23514 @@ -134,6 +138,7 @@ -- We currently can't trap errors raised in the CHECK expression itself select * from pg_input_error_info('0', 'weirdfloat'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: division by zero drop domain positiveint; drop domain weirdfloat; @@ -316,6 +321,12 @@ create rule silly as on delete to dcomptable do instead update dcomptable set d1.r = (d1).r - 1, d1.i = (d1).i + 1 where (d1).i > 0; \d+ dcomptable +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 Table "public.dcomptable" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+-----------+-----------+----------+---------+----------+--------------+------------- @@ -338,12 +349,14 @@ select makedcomp(2,1); -- fail ERROR: value for domain dcomptype violates check constraint "c1" select * from makedcomp(1,2) m; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree r | i ---+--- 1 | 2 (1 row) select m, m is not null from makedcomp(1,2) m; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree m | ?column? -------+---------- (1,2) | t @@ -476,6 +489,12 @@ update dcomptable set d1[1].r = d1[1].r - 1, d1[1].i = d1[1].i + 1 where d1[1].i > 0; \d+ dcomptable +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 Table "public.dcomptable" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+------------+-----------+----------+---------+----------+--------------+------------- @@ -816,6 +835,7 @@ insert into domtab (col1) values (null); insert into domtab (col1) values (5); select * from domview; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree col1 ------ @@ -824,9 +844,11 @@ alter domain dom set not null; select * from domview; -- fail +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: domain dom does not allow null values alter domain dom drop not null; select * from domview; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree col1 ------ @@ -835,9 +857,11 @@ alter domain dom add constraint domchkgt6 check(value > 6); select * from domview; --fail +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: value for domain dom violates check constraint "domchkgt6" alter domain dom drop constraint domchkgt6 restrict; select * from domview; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree col1 ------ diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/rangefuncs.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/rangefuncs.out --- /tmp/cirrus-ci-build/src/test/regress/expected/rangefuncs.out 2024-03-19 15:41:21.044515000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/rangefuncs.out 2024-03-19 15:51:33.359110000 +0000 @@ -5,6 +5,7 @@ CREATE FUNCTION rngfunct(int) returns setof rngfunc2 as 'SELECT * FROM rngfunc2 WHERE rngfuncid = $1 ORDER BY f2;' LANGUAGE SQL; -- function with ORDINALITY select * from rngfunct(1) with ordinality as z(a,b,ord); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | ord ---+-----+----- 1 | 11 | 1 @@ -12,6 +13,7 @@ (2 rows) select * from rngfunct(1) with ordinality as z(a,b,ord) where b > 100; -- ordinal 2, not 1 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | ord ---+-----+----- 1 | 111 | 2 @@ -19,6 +21,7 @@ -- ordinality vs. column names and types select a,b,ord from rngfunct(1) with ordinality as z(a,b,ord); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | ord ---+-----+----- 1 | 11 | 1 @@ -26,6 +29,7 @@ (2 rows) select a,ord from unnest(array['a','b']) with ordinality as z(a,ord); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | ord ---+----- a | 1 @@ -33,6 +37,7 @@ (2 rows) select * from unnest(array['a','b']) with ordinality as z(a,ord); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | ord ---+----- a | 1 @@ -40,18 +45,21 @@ (2 rows) select a,ord from unnest(array[1.0::float8]) with ordinality as z(a,ord); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | ord ---+----- 1 | 1 (1 row) select * from unnest(array[1.0::float8]) with ordinality as z(a,ord); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | ord ---+----- 1 | 1 (1 row) select row_to_json(s.*) from generate_series(11,14) with ordinality s; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree row_to_json ------------------------- {"s":11,"ordinality":1} @@ -63,12 +71,14 @@ -- ordinality vs. views create temporary view vw_ord as select * from (values (1)) v(n) join rngfunct(1) with ordinality as z(a,b,ord) on (n=ord); select * from vw_ord; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree n | a | b | ord ---+---+----+----- 1 | 1 | 11 | 1 (1 row) select definition from pg_views where viewname='vw_ord'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree definition ------------------------------------------------------------------------- SELECT v.n, + @@ -82,6 +92,7 @@ drop view vw_ord; -- multiple functions select * from rows from(rngfunct(1),rngfunct(2)) with ordinality as z(a,b,c,d,ord); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c | d | ord ---+-----+---+----+----- 1 | 11 | 2 | 22 | 1 @@ -90,12 +101,14 @@ create temporary view vw_ord as select * from (values (1)) v(n) join rows from(rngfunct(1),rngfunct(2)) with ordinality as z(a,b,c,d,ord) on (n=ord); select * from vw_ord; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree n | a | b | c | d | ord ---+---+----+---+----+----- 1 | 1 | 11 | 2 | 22 | 1 (1 row) select definition from pg_views where viewname='vw_ord'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree definition ------------------------------------------------------------------------------------------------------- SELECT v.n, + @@ -111,6 +124,7 @@ drop view vw_ord; -- expansions of unnest() select * from unnest(array[10,20],array['foo','bar'],array[1.0]); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree unnest | unnest | unnest --------+--------+-------- 10 | foo | 1.0 @@ -118,6 +132,7 @@ (2 rows) select * from unnest(array[10,20],array['foo','bar'],array[1.0]) with ordinality as z(a,b,c,ord); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c | ord ----+-----+-----+----- 10 | foo | 1.0 | 1 @@ -125,6 +140,7 @@ (2 rows) select * from rows from(unnest(array[10,20],array['foo','bar'],array[1.0])) with ordinality as z(a,b,c,ord); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c | ord ----+-----+-----+----- 10 | foo | 1.0 | 1 @@ -132,6 +148,7 @@ (2 rows) select * from rows from(unnest(array[10,20],array['foo','bar']), generate_series(101,102)) with ordinality as z(a,b,c,ord); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c | ord ----+-----+-----+----- 10 | foo | 101 | 1 @@ -140,6 +157,7 @@ create temporary view vw_ord as select * from unnest(array[10,20],array['foo','bar'],array[1.0]) as z(a,b,c); select * from vw_ord; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c ----+-----+----- 10 | foo | 1.0 @@ -147,6 +165,7 @@ (2 rows) select definition from pg_views where viewname='vw_ord'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree definition ---------------------------------------------------------------------------------------- SELECT a, + @@ -158,6 +177,7 @@ drop view vw_ord; create temporary view vw_ord as select * from rows from(unnest(array[10,20],array['foo','bar'],array[1.0])) as z(a,b,c); select * from vw_ord; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c ----+-----+----- 10 | foo | 1.0 @@ -165,6 +185,7 @@ (2 rows) select definition from pg_views where viewname='vw_ord'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree definition ---------------------------------------------------------------------------------------- SELECT a, + @@ -176,6 +197,7 @@ drop view vw_ord; create temporary view vw_ord as select * from rows from(unnest(array[10,20],array['foo','bar']), generate_series(1,2)) as z(a,b,c); select * from vw_ord; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c ----+-----+--- 10 | foo | 1 @@ -183,6 +205,7 @@ (2 rows) select definition from pg_views where viewname='vw_ord'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree definition ---------------------------------------------------------------------------------------------------------------------- SELECT a, + @@ -195,6 +218,7 @@ -- ordinality and multiple functions vs. rewind and reverse scan begin; declare rf_cur scroll cursor for select * from rows from(generate_series(1,5),generate_series(1,2)) with ordinality as g(i,j,o); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree fetch all from rf_cur; i | j | o ---+---+--- @@ -286,6 +310,7 @@ commit; -- function with implicit LATERAL select * from rngfunc2, rngfunct(rngfunc2.rngfuncid) z where rngfunc2.f2 = z.f2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree rngfuncid | f2 | rngfuncid | f2 -----------+-----+-----------+----- 1 | 11 | 1 | 11 @@ -295,6 +320,7 @@ -- function with implicit LATERAL and explicit ORDINALITY select * from rngfunc2, rngfunct(rngfunc2.rngfuncid) with ordinality as z(rngfuncid,f2,ord) where rngfunc2.f2 = z.f2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree rngfuncid | f2 | rngfuncid | f2 | ord -----------+-----+-----------+-----+----- 1 | 11 | 1 | 11 | 1 @@ -304,6 +330,7 @@ -- function in subselect select * from rngfunc2 where f2 in (select f2 from rngfunct(rngfunc2.rngfuncid) z where z.rngfuncid = rngfunc2.rngfuncid) ORDER BY 1,2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree rngfuncid | f2 -----------+----- 1 | 11 @@ -313,6 +340,7 @@ -- function in subselect select * from rngfunc2 where f2 in (select f2 from rngfunct(1) z where z.rngfuncid = rngfunc2.rngfuncid) ORDER BY 1,2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree rngfuncid | f2 -----------+----- 1 | 11 @@ -321,6 +349,7 @@ -- function in subselect select * from rngfunc2 where f2 in (select f2 from rngfunct(rngfunc2.rngfuncid) z where z.rngfuncid = 1) ORDER BY 1,2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree rngfuncid | f2 -----------+----- 1 | 11 @@ -329,6 +358,7 @@ -- nested functions select rngfunct.rngfuncid, rngfunct.f2 from rngfunct(sin(pi()/2)::int) ORDER BY 1,2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree rngfuncid | f2 -----------+----- 1 | 11 @@ -342,12 +372,14 @@ -- sql, proretset = f, prorettype = b CREATE FUNCTION getrngfunc1(int) RETURNS int AS 'SELECT $1;' LANGUAGE SQL; SELECT * FROM getrngfunc1(1) AS t1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree t1 ---- 1 (1 row) SELECT * FROM getrngfunc1(1) WITH ORDINALITY AS t1(v,o); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree v | o ---+--- 1 | 1 @@ -355,6 +387,7 @@ CREATE VIEW vw_getrngfunc AS SELECT * FROM getrngfunc1(1); SELECT * FROM vw_getrngfunc; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree getrngfunc1 ------------- 1 @@ -363,6 +396,7 @@ DROP VIEW vw_getrngfunc; CREATE VIEW vw_getrngfunc AS SELECT * FROM getrngfunc1(1) WITH ORDINALITY as t1(v,o); SELECT * FROM vw_getrngfunc; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree v | o ---+--- 1 | 1 @@ -372,6 +406,7 @@ -- sql, proretset = t, prorettype = b CREATE FUNCTION getrngfunc2(int) RETURNS setof int AS 'SELECT rngfuncid FROM rngfunc WHERE rngfuncid = $1;' LANGUAGE SQL; SELECT * FROM getrngfunc2(1) AS t1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree t1 ---- 1 @@ -379,6 +414,7 @@ (2 rows) SELECT * FROM getrngfunc2(1) WITH ORDINALITY AS t1(v,o); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree v | o ---+--- 1 | 1 @@ -387,6 +423,7 @@ CREATE VIEW vw_getrngfunc AS SELECT * FROM getrngfunc2(1); SELECT * FROM vw_getrngfunc; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree getrngfunc2 ------------- 1 @@ -396,6 +433,7 @@ DROP VIEW vw_getrngfunc; CREATE VIEW vw_getrngfunc AS SELECT * FROM getrngfunc2(1) WITH ORDINALITY AS t1(v,o); SELECT * FROM vw_getrngfunc; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree v | o ---+--- 1 | 1 @@ -406,6 +444,7 @@ -- sql, proretset = t, prorettype = b CREATE FUNCTION getrngfunc3(int) RETURNS setof text AS 'SELECT rngfuncname FROM rngfunc WHERE rngfuncid = $1;' LANGUAGE SQL; SELECT * FROM getrngfunc3(1) AS t1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree t1 ----- Joe @@ -413,6 +452,7 @@ (2 rows) SELECT * FROM getrngfunc3(1) WITH ORDINALITY AS t1(v,o); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree v | o -----+--- Joe | 1 @@ -421,6 +461,7 @@ CREATE VIEW vw_getrngfunc AS SELECT * FROM getrngfunc3(1); SELECT * FROM vw_getrngfunc; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree getrngfunc3 ------------- Joe @@ -430,6 +471,7 @@ DROP VIEW vw_getrngfunc; CREATE VIEW vw_getrngfunc AS SELECT * FROM getrngfunc3(1) WITH ORDINALITY AS t1(v,o); SELECT * FROM vw_getrngfunc; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree v | o -----+--- Joe | 1 @@ -440,12 +482,14 @@ -- sql, proretset = f, prorettype = c CREATE FUNCTION getrngfunc4(int) RETURNS rngfunc AS 'SELECT * FROM rngfunc WHERE rngfuncid = $1;' LANGUAGE SQL; SELECT * FROM getrngfunc4(1) AS t1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree rngfuncid | rngfuncsubid | rngfuncname -----------+--------------+------------- 1 | 1 | Joe (1 row) SELECT * FROM getrngfunc4(1) WITH ORDINALITY AS t1(a,b,c,o); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c | o ---+---+-----+--- 1 | 1 | Joe | 1 @@ -453,6 +497,7 @@ CREATE VIEW vw_getrngfunc AS SELECT * FROM getrngfunc4(1); SELECT * FROM vw_getrngfunc; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree rngfuncid | rngfuncsubid | rngfuncname -----------+--------------+------------- 1 | 1 | Joe @@ -461,6 +506,7 @@ DROP VIEW vw_getrngfunc; CREATE VIEW vw_getrngfunc AS SELECT * FROM getrngfunc4(1) WITH ORDINALITY AS t1(a,b,c,o); SELECT * FROM vw_getrngfunc; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c | o ---+---+-----+--- 1 | 1 | Joe | 1 @@ -470,6 +516,7 @@ -- sql, proretset = t, prorettype = c CREATE FUNCTION getrngfunc5(int) RETURNS setof rngfunc AS 'SELECT * FROM rngfunc WHERE rngfuncid = $1;' LANGUAGE SQL; SELECT * FROM getrngfunc5(1) AS t1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree rngfuncid | rngfuncsubid | rngfuncname -----------+--------------+------------- 1 | 1 | Joe @@ -477,6 +524,7 @@ (2 rows) SELECT * FROM getrngfunc5(1) WITH ORDINALITY AS t1(a,b,c,o); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c | o ---+---+-----+--- 1 | 1 | Joe | 1 @@ -485,6 +533,7 @@ CREATE VIEW vw_getrngfunc AS SELECT * FROM getrngfunc5(1); SELECT * FROM vw_getrngfunc; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree rngfuncid | rngfuncsubid | rngfuncname -----------+--------------+------------- 1 | 1 | Joe @@ -494,6 +543,7 @@ DROP VIEW vw_getrngfunc; CREATE VIEW vw_getrngfunc AS SELECT * FROM getrngfunc5(1) WITH ORDINALITY AS t1(a,b,c,o); SELECT * FROM vw_getrngfunc; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c | o ---+---+-----+--- 1 | 1 | Joe | 1 @@ -504,12 +554,14 @@ -- sql, proretset = f, prorettype = record CREATE FUNCTION getrngfunc6(int) RETURNS RECORD AS 'SELECT * FROM rngfunc WHERE rngfuncid = $1;' LANGUAGE SQL; SELECT * FROM getrngfunc6(1) AS t1(rngfuncid int, rngfuncsubid int, rngfuncname text); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree rngfuncid | rngfuncsubid | rngfuncname -----------+--------------+------------- 1 | 1 | Joe (1 row) SELECT * FROM ROWS FROM( getrngfunc6(1) AS (rngfuncid int, rngfuncsubid int, rngfuncname text) ) WITH ORDINALITY; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree rngfuncid | rngfuncsubid | rngfuncname | ordinality -----------+--------------+-------------+------------ 1 | 1 | Joe | 1 @@ -518,6 +570,7 @@ CREATE VIEW vw_getrngfunc AS SELECT * FROM getrngfunc6(1) AS (rngfuncid int, rngfuncsubid int, rngfuncname text); SELECT * FROM vw_getrngfunc; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree rngfuncid | rngfuncsubid | rngfuncname -----------+--------------+------------- 1 | 1 | Joe @@ -528,6 +581,7 @@ SELECT * FROM ROWS FROM( getrngfunc6(1) AS (rngfuncid int, rngfuncsubid int, rngfuncname text) ) WITH ORDINALITY; SELECT * FROM vw_getrngfunc; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree rngfuncid | rngfuncsubid | rngfuncname | ordinality -----------+--------------+-------------+------------ 1 | 1 | Joe | 1 @@ -537,6 +591,7 @@ -- sql, proretset = t, prorettype = record CREATE FUNCTION getrngfunc7(int) RETURNS setof record AS 'SELECT * FROM rngfunc WHERE rngfuncid = $1;' LANGUAGE SQL; SELECT * FROM getrngfunc7(1) AS t1(rngfuncid int, rngfuncsubid int, rngfuncname text); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree rngfuncid | rngfuncsubid | rngfuncname -----------+--------------+------------- 1 | 1 | Joe @@ -544,6 +599,7 @@ (2 rows) SELECT * FROM ROWS FROM( getrngfunc7(1) AS (rngfuncid int, rngfuncsubid int, rngfuncname text) ) WITH ORDINALITY; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree rngfuncid | rngfuncsubid | rngfuncname | ordinality -----------+--------------+-------------+------------ 1 | 1 | Joe | 1 @@ -553,6 +609,7 @@ CREATE VIEW vw_getrngfunc AS SELECT * FROM getrngfunc7(1) AS (rngfuncid int, rngfuncsubid int, rngfuncname text); SELECT * FROM vw_getrngfunc; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree rngfuncid | rngfuncsubid | rngfuncname -----------+--------------+------------- 1 | 1 | Joe @@ -564,6 +621,7 @@ SELECT * FROM ROWS FROM( getrngfunc7(1) AS (rngfuncid int, rngfuncsubid int, rngfuncname text) ) WITH ORDINALITY; SELECT * FROM vw_getrngfunc; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree rngfuncid | rngfuncsubid | rngfuncname | ordinality -----------+--------------+-------------+------------ 1 | 1 | Joe | 1 @@ -574,12 +632,14 @@ -- plpgsql, proretset = f, prorettype = b CREATE FUNCTION getrngfunc8(int) RETURNS int AS 'DECLARE rngfuncint int; BEGIN SELECT rngfuncid into rngfuncint FROM rngfunc WHERE rngfuncid = $1; RETURN rngfuncint; END;' LANGUAGE plpgsql; SELECT * FROM getrngfunc8(1) AS t1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree t1 ---- 1 (1 row) SELECT * FROM getrngfunc8(1) WITH ORDINALITY AS t1(v,o); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree v | o ---+--- 1 | 1 @@ -587,6 +647,7 @@ CREATE VIEW vw_getrngfunc AS SELECT * FROM getrngfunc8(1); SELECT * FROM vw_getrngfunc; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree getrngfunc8 ------------- 1 @@ -595,6 +656,7 @@ DROP VIEW vw_getrngfunc; CREATE VIEW vw_getrngfunc AS SELECT * FROM getrngfunc8(1) WITH ORDINALITY AS t1(v,o); SELECT * FROM vw_getrngfunc; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree v | o ---+--- 1 | 1 @@ -604,12 +666,14 @@ -- plpgsql, proretset = f, prorettype = c CREATE FUNCTION getrngfunc9(int) RETURNS rngfunc AS 'DECLARE rngfunctup rngfunc%ROWTYPE; BEGIN SELECT * into rngfunctup FROM rngfunc WHERE rngfuncid = $1; RETURN rngfunctup; END;' LANGUAGE plpgsql; SELECT * FROM getrngfunc9(1) AS t1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree rngfuncid | rngfuncsubid | rngfuncname -----------+--------------+------------- 1 | 1 | Joe (1 row) SELECT * FROM getrngfunc9(1) WITH ORDINALITY AS t1(a,b,c,o); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c | o ---+---+-----+--- 1 | 1 | Joe | 1 @@ -617,6 +681,7 @@ CREATE VIEW vw_getrngfunc AS SELECT * FROM getrngfunc9(1); SELECT * FROM vw_getrngfunc; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree rngfuncid | rngfuncsubid | rngfuncname -----------+--------------+------------- 1 | 1 | Joe @@ -625,6 +690,7 @@ DROP VIEW vw_getrngfunc; CREATE VIEW vw_getrngfunc AS SELECT * FROM getrngfunc9(1) WITH ORDINALITY AS t1(a,b,c,o); SELECT * FROM vw_getrngfunc; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c | o ---+---+-----+--- 1 | 1 | Joe | 1 @@ -637,6 +703,7 @@ getrngfunc7(1) AS (rngfuncid int, rngfuncsubid int, rngfuncname text), getrngfunc8(1),getrngfunc9(1)) with ordinality as t1(a,b,c,d,e,f,g,h,i,j,k,l,m,o,p,q,r,s,t,u); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c | d | e | f | g | h | i | j | k | l | m | o | p | q | r | s | t | u ---+---+-----+---+---+-----+---+---+-----+---+---+-----+---+---+-----+---+---+---+-----+--- 1 | 1 | Joe | 1 | 1 | Joe | 1 | 1 | Joe | 1 | 1 | Joe | 1 | 1 | Joe | 1 | 1 | 1 | Joe | 1 @@ -648,6 +715,7 @@ getrngfunc6(1) AS (rngfuncid int, rngfuncsubid int, rngfuncname text), getrngfunc5(1),getrngfunc4(1),getrngfunc3(1),getrngfunc2(1),getrngfunc1(1)) with ordinality as t1(a,b,c,d,e,f,g,h,i,j,k,l,m,o,p,q,r,s,t,u); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c | d | e | f | g | h | i | j | k | l | m | o | p | q | r | s | t | u ---+---+-----+---+---+---+-----+---+---+-----+---+---+-----+---+---+-----+-----+---+---+--- 1 | 1 | Joe | 1 | 1 | 1 | Joe | 1 | 1 | Joe | 1 | 1 | Joe | 1 | 1 | Joe | Joe | 1 | 1 | 1 @@ -660,6 +728,7 @@ getrngfunc1(1)) with ordinality as t1(a,b,c,d,e,f,g,n); select * from vw_rngfunc; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c | d | e | f | g | n ---+---+-----+---+---+-----+---+--- 1 | 1 | Joe | 1 | 1 | Joe | 1 | 1 @@ -698,6 +767,7 @@ CREATE TEMPORARY SEQUENCE rngfunc_rescan_seq2; CREATE TYPE rngfunc_rescan_t AS (i integer, s bigint); CREATE FUNCTION rngfunc_sql(int,int) RETURNS setof rngfunc_rescan_t AS 'SELECT i, nextval(''rngfunc_rescan_seq1'') FROM generate_series($1,$2) i;' LANGUAGE SQL; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- plpgsql functions use materialize mode CREATE FUNCTION rngfunc_mat(int,int) RETURNS setof rngfunc_rescan_t AS 'begin for i in $1..$2 loop return next (i, nextval(''rngfunc_rescan_seq2'')); end loop; end;' LANGUAGE plpgsql; --invokes ExecReScanFunctionScan - all these cases should materialize the function only once @@ -710,6 +780,8 @@ (1 row) SELECT * FROM (VALUES (1),(2),(3)) v(r) LEFT JOIN rngfunc_sql(11,13) ON (r+i)<100; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree r | i | s ---+----+--- 1 | 11 | 1 @@ -730,6 +802,8 @@ (1 row) SELECT * FROM (VALUES (1),(2),(3)) v(r) LEFT JOIN rngfunc_sql(11,13) WITH ORDINALITY AS f(i,s,o) ON (r+i)<100; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree r | i | s | o ---+----+---+--- 1 | 11 | 1 | 1 @@ -750,6 +824,7 @@ (1 row) SELECT * FROM (VALUES (1),(2),(3)) v(r) LEFT JOIN rngfunc_mat(11,13) ON (r+i)<100; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree r | i | s ---+----+--- 1 | 11 | 1 @@ -770,6 +845,7 @@ (1 row) SELECT * FROM (VALUES (1),(2),(3)) v(r) LEFT JOIN rngfunc_mat(11,13) WITH ORDINALITY AS f(i,s,o) ON (r+i)<100; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree r | i | s | o ---+----+---+--- 1 | 11 | 1 | 1 @@ -790,6 +866,8 @@ (1 row) SELECT * FROM (VALUES (1),(2),(3)) v(r) LEFT JOIN ROWS FROM( rngfunc_sql(11,13), rngfunc_mat(11,13) ) WITH ORDINALITY AS f(i1,s1,i2,s2,o) ON (r+i1+i2)<100; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree r | i1 | s1 | i2 | s2 | o ---+----+----+----+----+--- 1 | 11 | 1 | 11 | 1 | 1 @@ -804,6 +882,7 @@ (9 rows) SELECT * FROM (VALUES (1),(2),(3)) v(r) LEFT JOIN generate_series(11,13) f(i) ON (r+i)<100; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree r | i ---+---- 1 | 11 @@ -818,6 +897,7 @@ (9 rows) SELECT * FROM (VALUES (1),(2),(3)) v(r) LEFT JOIN generate_series(11,13) WITH ORDINALITY AS f(i,o) ON (r+i)<100; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree r | i | o ---+----+--- 1 | 11 | 1 @@ -832,6 +912,7 @@ (9 rows) SELECT * FROM (VALUES (1),(2),(3)) v(r) LEFT JOIN unnest(array[10,20,30]) f(i) ON (r+i)<100; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree r | i ---+---- 1 | 10 @@ -846,6 +927,7 @@ (9 rows) SELECT * FROM (VALUES (1),(2),(3)) v(r) LEFT JOIN unnest(array[10,20,30]) WITH ORDINALITY AS f(i,o) ON (r+i)<100; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree r | i | o ---+----+--- 1 | 10 | 1 @@ -867,6 +949,8 @@ (1 row) SELECT * FROM (VALUES (1),(2),(3)) v(r), rngfunc_sql(10+r,13); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree r | i | s ---+----+--- 1 | 11 | 1 @@ -884,6 +968,8 @@ (1 row) SELECT * FROM (VALUES (1),(2),(3)) v(r), rngfunc_sql(10+r,13) WITH ORDINALITY AS f(i,s,o); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree r | i | s | o ---+----+---+--- 1 | 11 | 1 | 1 @@ -901,6 +987,8 @@ (1 row) SELECT * FROM (VALUES (1),(2),(3)) v(r), rngfunc_sql(11,10+r); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree r | i | s ---+----+--- 1 | 11 | 1 @@ -918,6 +1006,8 @@ (1 row) SELECT * FROM (VALUES (1),(2),(3)) v(r), rngfunc_sql(11,10+r) WITH ORDINALITY AS f(i,s,o); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree r | i | s | o ---+----+---+--- 1 | 11 | 1 | 1 @@ -935,6 +1025,8 @@ (1 row) SELECT * FROM (VALUES (11,12),(13,15),(16,20)) v(r1,r2), rngfunc_sql(r1,r2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree r1 | r2 | i | s ----+----+----+---- 11 | 12 | 11 | 1 @@ -956,6 +1048,8 @@ (1 row) SELECT * FROM (VALUES (11,12),(13,15),(16,20)) v(r1,r2), rngfunc_sql(r1,r2) WITH ORDINALITY AS f(i,s,o); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree r1 | r2 | i | s | o ----+----+----+----+--- 11 | 12 | 11 | 1 | 1 @@ -977,6 +1071,7 @@ (1 row) SELECT * FROM (VALUES (1),(2),(3)) v(r), rngfunc_mat(10+r,13); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree r | i | s ---+----+--- 1 | 11 | 1 @@ -994,6 +1089,7 @@ (1 row) SELECT * FROM (VALUES (1),(2),(3)) v(r), rngfunc_mat(10+r,13) WITH ORDINALITY AS f(i,s,o); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree r | i | s | o ---+----+---+--- 1 | 11 | 1 | 1 @@ -1011,6 +1107,7 @@ (1 row) SELECT * FROM (VALUES (1),(2),(3)) v(r), rngfunc_mat(11,10+r); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree r | i | s ---+----+--- 1 | 11 | 1 @@ -1028,6 +1125,7 @@ (1 row) SELECT * FROM (VALUES (1),(2),(3)) v(r), rngfunc_mat(11,10+r) WITH ORDINALITY AS f(i,s,o); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree r | i | s | o ---+----+---+--- 1 | 11 | 1 | 1 @@ -1045,6 +1143,7 @@ (1 row) SELECT * FROM (VALUES (11,12),(13,15),(16,20)) v(r1,r2), rngfunc_mat(r1,r2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree r1 | r2 | i | s ----+----+----+---- 11 | 12 | 11 | 1 @@ -1066,6 +1165,7 @@ (1 row) SELECT * FROM (VALUES (11,12),(13,15),(16,20)) v(r1,r2), rngfunc_mat(r1,r2) WITH ORDINALITY AS f(i,s,o); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree r1 | r2 | i | s | o ----+----+----+----+--- 11 | 12 | 11 | 1 | 1 @@ -1088,6 +1188,8 @@ (1 row) SELECT * FROM (VALUES (1),(2),(3)) v(r), ROWS FROM( rngfunc_sql(11,11), rngfunc_mat(10+r,13) ); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree r | i | s | i | s ---+----+---+----+--- 1 | 11 | 1 | 11 | 1 @@ -1105,6 +1207,8 @@ (1 row) SELECT * FROM (VALUES (1),(2),(3)) v(r), ROWS FROM( rngfunc_sql(10+r,13), rngfunc_mat(11,11) ); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree r | i | s | i | s ---+----+---+----+--- 1 | 11 | 1 | 11 | 1 @@ -1122,6 +1226,8 @@ (1 row) SELECT * FROM (VALUES (1),(2),(3)) v(r), ROWS FROM( rngfunc_sql(10+r,13), rngfunc_mat(10+r,13) ); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree r | i | s | i | s ---+----+---+----+--- 1 | 11 | 1 | 11 | 1 @@ -1139,6 +1245,8 @@ (1 row) SELECT * FROM generate_series(1,2) r1, generate_series(r1,3) r2, ROWS FROM( rngfunc_sql(10+r1,13), rngfunc_mat(10+r2,13) ); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree r1 | r2 | i | s | i | s ----+----+----+----+----+--- 1 | 1 | 11 | 1 | 11 | 1 @@ -1157,6 +1265,7 @@ (13 rows) SELECT * FROM (VALUES (1),(2),(3)) v(r), generate_series(10+r,20-r) f(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree r | i ---+---- 1 | 11 @@ -1183,6 +1292,7 @@ (21 rows) SELECT * FROM (VALUES (1),(2),(3)) v(r), generate_series(10+r,20-r) WITH ORDINALITY AS f(i,o); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree r | i | o ---+----+--- 1 | 11 | 1 @@ -1209,6 +1319,7 @@ (21 rows) SELECT * FROM (VALUES (1),(2),(3)) v(r), unnest(array[r*10,r*20,r*30]) f(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree r | i ---+---- 1 | 10 @@ -1223,6 +1334,7 @@ (9 rows) SELECT * FROM (VALUES (1),(2),(3)) v(r), unnest(array[r*10,r*20,r*30]) WITH ORDINALITY AS f(i,o); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree r | i | o ---+----+--- 1 | 10 | 1 @@ -1240,6 +1352,7 @@ SELECT * FROM (VALUES (1),(2),(3)) v1(r1), LATERAL (SELECT r1, * FROM (VALUES (10),(20),(30)) v2(r2) LEFT JOIN generate_series(21,23) f(i) ON ((r2+i)<100) OFFSET 0) s1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree r1 | r1 | r2 | i ----+----+----+---- 1 | 1 | 10 | 21 @@ -1274,6 +1387,7 @@ SELECT * FROM (VALUES (1),(2),(3)) v1(r1), LATERAL (SELECT r1, * FROM (VALUES (10),(20),(30)) v2(r2) LEFT JOIN generate_series(20+r1,23) f(i) ON ((r2+i)<100) OFFSET 0) s1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree r1 | r1 | r2 | i ----+----+----+---- 1 | 1 | 10 | 21 @@ -1299,6 +1413,7 @@ SELECT * FROM (VALUES (1),(2),(3)) v1(r1), LATERAL (SELECT r1, * FROM (VALUES (10),(20),(30)) v2(r2) LEFT JOIN generate_series(r2,r2+3) f(i) ON ((r2+i)<100) OFFSET 0) s1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree r1 | r1 | r2 | i ----+----+----+---- 1 | 1 | 10 | 10 @@ -1342,6 +1457,7 @@ SELECT * FROM (VALUES (1),(2),(3)) v1(r1), LATERAL (SELECT r1, * FROM (VALUES (10),(20),(30)) v2(r2) LEFT JOIN generate_series(r1,2+r2/5) f(i) ON ((r2+i)<100) OFFSET 0) s1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree r1 | r1 | r2 | i ----+----+----+--- 1 | 1 | 10 | 1 @@ -1404,6 +1520,7 @@ ) AS ss1 ON TRUE FULL JOIN generate_series(1, v1.r1) AS gs4 ON FALSE ) AS ss0 ON TRUE; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree r1 | gs1 | gs2 | gs3 | gs4 ----+-----+-----+-----+----- 1 | | | | 1 @@ -1432,12 +1549,14 @@ (1 row) SELECT * FROM rngfunc(42); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f2 ---- 43 (1 row) SELECT * FROM rngfunc(42) AS p(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x ---- 43 @@ -1472,12 +1591,14 @@ (5 rows) SELECT * FROM rngfuncr(42); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f2 | column2 ----+--------- 41 | 42z (1 row) SELECT * FROM rngfuncr(42) AS p(a,b); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ----+----- 41 | 42z @@ -1496,12 +1617,14 @@ (5 rows) SELECT * FROM rngfuncb(42, 99); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f2 | column2 ----+--------- 98 | 42z (1 row) SELECT * FROM rngfuncb(42, 99) AS p(a,b); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ----+----- 98 | 42z @@ -1531,6 +1654,7 @@ (1 row) SELECT * FROM dup('xyz'::text); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f2 | f3 -----+----------- xyz | {xyz,xyz} @@ -1578,6 +1702,7 @@ (1 row) SELECT *, pg_typeof(f3), pg_typeof(f4) FROM dup(22, array[44::bigint]); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f3 | f4 | pg_typeof | pg_typeof ----+------+-----------+----------- 22 | {44} | bigint | bigint[] @@ -1616,7 +1741,10 @@ CREATE OR REPLACE FUNCTION rngfunc() RETURNS TABLE(a int) AS $$ SELECT a FROM generate_series(1,5) a(a) $$ LANGUAGE sql; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM rngfunc(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a --- 1 @@ -1632,7 +1760,10 @@ AS $$ SELECT a, b FROM generate_series(1,$1) a(a), generate_series(1,$1) b(b) $$ LANGUAGE sql; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM rngfunc(3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ---+--- 1 | 1 @@ -1652,6 +1783,7 @@ RETURNS TABLE(a varchar(5)) AS $$ SELECT 'hello'::varchar(5) $$ LANGUAGE sql STABLE; SELECT * FROM rngfunc() GROUP BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a ------- hello @@ -1688,7 +1820,9 @@ create or replace function insert_tt(text) returns int as $$ insert into tt(data) values($1),($1||$1) returning f1 $$ language sql; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select insert_tt('fool'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert_tt ----------- 3 @@ -1707,7 +1841,9 @@ create or replace function insert_tt2(text,text) returns setof int as $$ insert into tt(data) values($1),($2) returning f1 $$ language sql; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select insert_tt2('foolish','barrish'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert_tt2 ------------ 5 @@ -1715,6 +1851,8 @@ (2 rows) select * from insert_tt2('baz','quux'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert_tt2 ------------ 7 @@ -1736,6 +1874,7 @@ -- limit doesn't prevent execution to completion select insert_tt2('foolish','barrish') limit 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert_tt2 ------------ 9 @@ -1765,6 +1904,7 @@ create trigger tnoticetrigger after insert on tt for each row execute procedure noticetrigger(); select insert_tt2('foolme','barme') limit 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: noticetrigger 11 foolme NOTICE: noticetrigger 12 barme insert_tt2 @@ -1794,6 +1934,7 @@ create rule insert_tt_rule as on insert to tt do also insert into tt_log values(new.*); select insert_tt2('foollog','barlog') limit 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: noticetrigger 13 foollog NOTICE: noticetrigger 14 barlog insert_tt2 @@ -1834,8 +1975,11 @@ returns setof record language sql as $$ select 'foo ' || i, 'bar ' || i from generate_series(1,$1) i $$; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree set work_mem='64kB'; select t.a, t, t.a from rngfunc1(10000) t limit 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | t | a -------+-------------------+------- foo 1 | ("foo 1","bar 1") | foo 1 @@ -1843,6 +1987,8 @@ reset work_mem; select t.a, t, t.a from rngfunc1(10000) t limit 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | t | a -------+-------------------+------- foo 1 | ("foo 1","bar 1") | foo 1 @@ -1856,6 +2002,7 @@ select i AS "index", $1[i] AS "value" from generate_subscripts($1, 1) i $$ language sql strict immutable; select array_to_set(array['one', 'two']); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree array_to_set -------------- (1,one) @@ -1863,6 +2010,8 @@ (2 rows) select * from array_to_set(array['one', 'two']) as t(f1 int,f2 text); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 | f2 ----+----- 1 | one @@ -1875,6 +2024,8 @@ ^ -- after-the-fact coercion of the columns is now possible, too select * from array_to_set(array['one', 'two']) as t(f1 numeric(4,2),f2 text); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 | f2 ------+----- 1.00 | one @@ -1883,12 +2034,15 @@ -- and if it doesn't work, you get a compile-time not run-time error select * from array_to_set(array['one', 'two']) as t(f1 point,f2 text); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: return type mismatch in function declared to return record DETAIL: Final statement returns integer instead of point at column 1. CONTEXT: SQL function "array_to_set" during startup -- with "strict", this function can't be inlined in FROM explain (verbose, costs off) select * from array_to_set(array['one', 'two']) as t(f1 numeric(4,2),f2 text); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------- Function Scan on public.array_to_set t @@ -1901,6 +2055,7 @@ select i AS "index", $1[i] AS "value" from generate_subscripts($1, 1) i $$ language sql immutable; select array_to_set(array['one', 'two']); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree array_to_set -------------- (1,one) @@ -1908,6 +2063,8 @@ (2 rows) select * from array_to_set(array['one', 'two']) as t(f1 int,f2 text); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 | f2 ----+----- 1 | one @@ -1915,6 +2072,8 @@ (2 rows) select * from array_to_set(array['one', 'two']) as t(f1 numeric(4,2),f2 text); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 | f2 ------+----- 1.00 | one @@ -1922,11 +2081,15 @@ (2 rows) select * from array_to_set(array['one', 'two']) as t(f1 point,f2 text); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: return type mismatch in function declared to return record DETAIL: Final statement returns integer instead of point at column 1. CONTEXT: SQL function "array_to_set" during inlining explain (verbose, costs off) select * from array_to_set(array['one', 'two']) as t(f1 numeric(4,2),f2 text); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------- Function Scan on pg_catalog.generate_subscripts i @@ -1945,6 +2108,7 @@ (1 row) select * from testrngfunc() as t(f1 int8,f2 int8); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 | f2 ----+---- 1 | 2 @@ -1958,7 +2122,9 @@ create function testrngfunc() returns setof record as $$ insert into rngfunc values (1,2), (3,4) returning *; $$ language sql; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select testrngfunc(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree testrngfunc ------------- (1,2) @@ -1966,6 +2132,8 @@ (2 rows) select * from testrngfunc() as t(f1 int8,f2 int8); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 | f2 ----+---- 1 | 2 @@ -1998,6 +2166,7 @@ explain (verbose, costs off) select * from testrngfunc(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------- Function Scan on testrngfunc @@ -2006,6 +2175,7 @@ (3 rows) select * from testrngfunc(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 | f2 ----------+------ 7.136178 | 7.14 @@ -2030,6 +2200,7 @@ explain (verbose, costs off) select * from testrngfunc(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------- Function Scan on public.testrngfunc @@ -2038,6 +2209,7 @@ (3 rows) select * from testrngfunc(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 | f2 ----------+------ 7.136178 | 7.14 @@ -2064,6 +2236,7 @@ explain (verbose, costs off) select * from testrngfunc(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------- Result @@ -2071,6 +2244,7 @@ (2 rows) select * from testrngfunc(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 | f2 ----------+------ 7.136178 | 7.14 @@ -2096,6 +2270,7 @@ explain (verbose, costs off) select * from testrngfunc(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------- Function Scan on public.testrngfunc @@ -2104,6 +2279,7 @@ (3 rows) select * from testrngfunc(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 | f2 ----------+------ 7.136178 | 7.14 @@ -2112,6 +2288,7 @@ create or replace function testrngfunc() returns setof rngfunc_type as $$ select 1, 2 union select 3, 4 order by 1; $$ language sql immutable; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree explain (verbose, costs off) select testrngfunc(); QUERY PLAN @@ -2122,6 +2299,7 @@ (3 rows) select testrngfunc(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree testrngfunc ----------------- (1.000000,2.00) @@ -2130,6 +2308,8 @@ explain (verbose, costs off) select * from testrngfunc(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------- Subquery Scan on "*SELECT*" @@ -2147,6 +2327,8 @@ (12 rows) select * from testrngfunc(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 | f2 ----------+------ 1.000000 | 2.00 @@ -2185,6 +2367,7 @@ (1 row) SELECT * FROM get_first_user(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree userid | seq | email | moredrop | enabled --------+-----+-------+----------+--------- id | 1 | email | 11 | t @@ -2201,6 +2384,7 @@ (2 rows) SELECT * FROM get_users(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree userid | seq | email | moredrop | enabled --------+-----+--------+----------+--------- id | 1 | email | 11 | t @@ -2208,6 +2392,7 @@ (2 rows) SELECT * FROM get_users() WITH ORDINALITY; -- make sure ordinality copes +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree userid | seq | email | moredrop | enabled | ordinality --------+-----+--------+----------+---------+------------ id | 1 | email | 11 | t | 1 @@ -2216,6 +2401,7 @@ -- multiple functions vs. dropped columns SELECT * FROM ROWS FROM(generate_series(10,11), get_users()) WITH ORDINALITY; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree generate_series | userid | seq | email | moredrop | enabled | ordinality -----------------+--------+-----+--------+----------+---------+------------ 10 | id | 1 | email | 11 | t | 1 @@ -2223,6 +2409,7 @@ (2 rows) SELECT * FROM ROWS FROM(get_users(), generate_series(10,11)) WITH ORDINALITY; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree userid | seq | email | moredrop | enabled | generate_series | ordinality --------+-----+--------+----------+---------+-----------------+------------ id | 1 | email | 11 | t | 10 | 1 @@ -2233,6 +2420,7 @@ create temp view usersview as SELECT * FROM ROWS FROM(get_users(), generate_series(10,11)) WITH ORDINALITY; select * from usersview; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree userid | seq | email | moredrop | enabled | generate_series | ordinality --------+-----+--------+----------+---------+-----------------+------------ id | 1 | email | 11 | t | 10 | 1 @@ -2241,6 +2429,7 @@ alter table users add column junk text; select * from usersview; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree userid | seq | email | moredrop | enabled | generate_series | ordinality --------+-----+--------+----------+---------+-----------------+------------ id | 1 | email | 11 | t | 10 | 1 @@ -2271,6 +2460,7 @@ alter table users drop column moredrop; select * from usersview; -- expect clean failure +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: attribute 5 of type record has been dropped rollback; alter table users alter column seq type numeric; -- fail, view has reference @@ -2293,6 +2483,7 @@ alter table users alter column seq type numeric; select * from usersview; -- expect clean failure +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: attribute 2 of type record has wrong type DETAIL: Table has type numeric, but query expects integer. rollback; @@ -2304,7 +2495,9 @@ create or replace function rngfuncbar() returns setof text as $$ select 'foo'::varchar union all select 'bar'::varchar ; $$ language sql stable; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select rngfuncbar(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree rngfuncbar ------------ foo @@ -2312,6 +2505,8 @@ (2 rows) select * from rngfuncbar(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree rngfuncbar ------------ foo @@ -2320,6 +2515,8 @@ -- this function is now inlinable, too: explain (verbose, costs off) select * from rngfuncbar(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------ Result @@ -2336,6 +2533,7 @@ create or replace function rngfuncbar(out integer, out numeric) as $$ select (1, 2.1) $$ language sql; select * from rngfuncbar(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree column1 | column2 ---------+--------- 1 | 2.1 @@ -2344,11 +2542,13 @@ create or replace function rngfuncbar(out integer, out numeric) as $$ select (1, 2) $$ language sql; select * from rngfuncbar(); -- fail +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: function return row and query-specified return row do not match DETAIL: Returned type integer at ordinal position 2, but query expects numeric. create or replace function rngfuncbar(out integer, out numeric) as $$ select (1, 2.1, 3) $$ language sql; select * from rngfuncbar(); -- fail +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: function return row and query-specified return row do not match DETAIL: Returned row contains 3 attributes, but query expects 2. drop function rngfuncbar(); @@ -2358,6 +2558,7 @@ $$ language sql immutable; explain (verbose, costs off) select x from int8_tbl, extractq2(int8_tbl) f(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------ Nested Loop @@ -2370,6 +2571,7 @@ (7 rows) select x from int8_tbl, extractq2(int8_tbl) f(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x ------------------- 456 @@ -2384,6 +2586,7 @@ $$ language sql immutable; explain (verbose, costs off) select x from int8_tbl, extractq2_2(int8_tbl) f(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------- Nested Loop @@ -2395,6 +2598,7 @@ (6 rows) select x from int8_tbl, extractq2_2(int8_tbl) f(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x ------------------- 456 @@ -2410,6 +2614,7 @@ $$ language sql immutable; explain (verbose, costs off) select x from int8_tbl, extractq2_2_opt(int8_tbl) f(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------- Seq Scan on public.int8_tbl @@ -2417,6 +2622,7 @@ (2 rows) select x from int8_tbl, extractq2_2_opt(int8_tbl) f(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x ------------------- 456 @@ -2429,6 +2635,7 @@ -- check handling of nulls in SRF results (bug #7808) create type rngfunc2 as (a integer, b text); select *, row_to_json(u) from unnest(array[(1,'foo')::rngfunc2, null::rngfunc2]) u; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | row_to_json ---+-----+--------------------- 1 | foo | {"a":1,"b":"foo"} @@ -2436,6 +2643,7 @@ (2 rows) select *, row_to_json(u) from unnest(array[null::rngfunc2, null::rngfunc2]) u; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | row_to_json ---+---+--------------------- | | {"a":null,"b":null} @@ -2443,6 +2651,7 @@ (2 rows) select *, row_to_json(u) from unnest(array[null::rngfunc2, (1,'foo')::rngfunc2, null::rngfunc2]) u; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | row_to_json ---+-----+--------------------- | | {"a":null,"b":null} @@ -2451,6 +2660,7 @@ (3 rows) select *, row_to_json(u) from unnest(array[]::rngfunc2[]) u; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | row_to_json ---+---+------------- (0 rows) @@ -2463,6 +2673,7 @@ from unnest(array['{"lectures": [{"id": "1"}]}'::jsonb]) as unnested_modules(module)) as ss, jsonb_to_recordset(ss.lecture) as j (id text); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------------------------------------------------------------------------------------------- Nested Loop @@ -2480,6 +2691,7 @@ from unnest(array['{"lectures": [{"id": "1"}]}'::jsonb]) as unnested_modules(module)) as ss, jsonb_to_recordset(ss.lecture) as j (id text); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree lecture | id ---------------+---- [{"id": "1"}] | 1 @@ -2488,13 +2700,16 @@ -- check detection of mismatching record types with a const-folded expression with a(b) as (values (row(1,2,3))) select * from a, coalesce(b) as c(d int, e int); -- fail +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: function return row and query-specified return row do not match DETAIL: Returned row contains 3 attributes, but query expects 2. with a(b) as (values (row(1,2,3))) select * from a, coalesce(b) as c(d int, e int, f int, g int); -- fail +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: function return row and query-specified return row do not match DETAIL: Returned row contains 3 attributes, but query expects 4. with a(b) as (values (row(1,2,3))) select * from a, coalesce(b) as c(d int, e int, f float); -- fail +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: function return row and query-specified return row do not match DETAIL: Returned type integer at ordinal position 3, but query expects double precision. diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/prepare.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/prepare.out --- /tmp/cirrus-ci-build/src/test/regress/expected/prepare.out 2024-03-19 15:41:21.044076000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/prepare.out 2024-03-19 15:51:32.238525000 +0000 @@ -2,6 +2,7 @@ -- of the pg_prepared_statements view as prepared statements are -- created and removed. SELECT name, statement, parameter_types, result_types FROM pg_prepared_statements; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree name | statement | parameter_types | result_types ------+-----------+-----------------+-------------- (0 rows) @@ -14,6 +15,7 @@ (1 row) SELECT name, statement, parameter_types, result_types FROM pg_prepared_statements; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree name | statement | parameter_types | result_types ------+------------------------------+-----------------+-------------- q1 | PREPARE q1 AS SELECT 1 AS a; | {} | {integer} @@ -33,6 +35,7 @@ PREPARE q2 AS SELECT 2 AS b; SELECT name, statement, parameter_types, result_types FROM pg_prepared_statements; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree name | statement | parameter_types | result_types ------+------------------------------+-----------------+-------------- q1 | PREPARE q1 AS SELECT 2; | {} | {integer} @@ -42,6 +45,7 @@ -- sql92 syntax DEALLOCATE PREPARE q1; SELECT name, statement, parameter_types, result_types FROM pg_prepared_statements; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree name | statement | parameter_types | result_types ------+------------------------------+-----------------+-------------- q2 | PREPARE q2 AS SELECT 2 AS b; | {} | {integer} @@ -50,6 +54,7 @@ DEALLOCATE PREPARE q2; -- the view should return the empty set again SELECT name, statement, parameter_types, result_types FROM pg_prepared_statements; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree name | statement | parameter_types | result_types ------+-----------+-----------------+-------------- (0 rows) @@ -164,6 +169,7 @@ UPDATE tenk1 SET stringu1 = $2 WHERE unique1 = $1; SELECT name, statement, parameter_types, result_types FROM pg_prepared_statements ORDER BY name; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree name | statement | parameter_types | result_types ------+------------------------------------------------------------------+----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------- q2 | PREPARE q2(text) AS +| {text} | {name,boolean,boolean} @@ -188,6 +194,7 @@ DEALLOCATE ALL; SELECT name, statement, parameter_types FROM pg_prepared_statements ORDER BY name; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree name | statement | parameter_types ------+-----------+----------------- (0 rows) diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/conversion.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/conversion.out --- /tmp/cirrus-ci-build/src/test/regress/expected/conversion.out 2024-03-19 15:41:21.017512000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/conversion.out 2024-03-19 15:51:32.480022000 +0000 @@ -105,8 +105,11 @@ ('\xf48fbfbf', 'largest 4-byte'), ('\xf4908080', 'smallest too large'), ('\xfa9a9a8a8a', '5-byte'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- Test UTF-8 verification slow path select description, (test_conv(inbytes, 'utf8', 'utf8')).* from utf8_verification_inputs; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree description | result | errorat | error ------------------------------------+------------+--------------+---------------------------------------------------------------- NUL byte | \x66 | \x006f | invalid byte sequence for encoding "UTF8": 0x00 @@ -163,6 +166,7 @@ using (description) where p.error is distinct from b.error order by description; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree description | orig_error | error_after_padding -------------+------------+--------------------- (0 rows) @@ -190,6 +194,7 @@ using (description) where p.error is distinct from b.error order by description; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree description | orig_error | error_after_padding -------------+------------+--------------------- (0 rows) @@ -217,6 +222,7 @@ using (description) where p.error is distinct from b.error order by description; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree description | orig_error | error_after_padding -------------+------------+--------------------- (0 rows) @@ -244,6 +250,7 @@ using (description) where p.error is distinct from b.error order by description; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree description | orig_error | error_after_padding -------------+------------+--------------------- (0 rows) @@ -263,6 +270,7 @@ ('\x66006f', 'invalid, NUL byte'), ('\x666f6fe8b100', 'invalid, NUL byte'), ('\x666f6fe8b1', 'incomplete character at end'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- Test UTF-8 verification select description, (test_conv(inbytes, 'utf8', 'utf8')).* from utf8_inputs; description | result | errorat | error @@ -404,6 +412,7 @@ ('\x666f6fbe00dd', 'invalid, NUL byte'), ('\x666f6fbedd00', 'invalid, NUL byte'), ('\xbe04', 'invalid byte sequence'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- Test EUC_JIS_2004 verification select description, inbytes, (test_conv(inbytes, 'euc_jis_2004', 'euc_jis_2004')).* from euc_jis_2004_inputs; description | inbytes | result | errorat | error @@ -446,6 +455,7 @@ ('\x666f6f008fdb', 'invalid, NUL byte'), ('\x666f6f8f00db', 'invalid, NUL byte'), ('\x666f6f8fdb00', 'invalid, NUL byte'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- Test SHIFT-JIS-2004 verification select description, inbytes, (test_conv(inbytes, 'shiftjis2004', 'shiftjis2004')).* from shiftjis2004_inputs; description | inbytes | result | errorat | error @@ -503,6 +513,7 @@ ('\x666f6f84309c0a', 'incomplete char, followed by newline '), ('\x666f6f84309c3800', 'invalid, NUL byte'), ('\x666f6f84309c0038', 'invalid, NUL byte'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- Test GB18030 verification select description, inbytes, (test_conv(inbytes, 'gb18030', 'gb18030')).* from gb18030_inputs; description | inbytes | result | errorat | error @@ -541,8 +552,13 @@ ('\x00', 'invalid, NUL byte'), ('\xe400dede', 'invalid, NUL byte'), ('\xe4dede00', 'invalid, NUL byte'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- Test ISO-8859-5 verification select description, inbytes, (test_conv(inbytes, 'iso8859-5', 'iso8859-5')).* from iso8859_5_inputs; +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 description | inbytes | result | errorat | error -------------------+------------+----------+----------+------------------------------------------------------- valid, pure ASCII | \x666f6f | \x666f6f | | @@ -593,8 +609,11 @@ ('\x666f6fa27f', 'valid, no translation to UTF-8'), ('\x666f6fb60048', 'invalid, NUL byte'), ('\x666f6fb64800', 'invalid, NUL byte'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- Test Big5 verification select description, inbytes, (test_conv(inbytes, 'big5', 'big5')).* from big5_inputs; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree description | inbytes | result | errorat | error --------------------------------+----------------+--------------+----------+------------------------------------------------------ valid, pure ASCII | \x666f6f | \x666f6f | | @@ -640,6 +659,7 @@ ('\x9200bedd', 'invalid, NUL byte'), ('\x92bedd00', 'invalid, NUL byte'), ('\x8b00c68bcf8bcf', 'invalid, NUL byte'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- Test MULE_INTERNAL verification select description, inbytes, (test_conv(inbytes, 'mule_internal', 'mule_internal')).* from mic_inputs; description | inbytes | result | errorat | error diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/truncate.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/truncate.out --- /tmp/cirrus-ci-build/src/test/regress/expected/truncate.out 2024-03-19 15:41:21.046403000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/truncate.out 2024-03-19 15:51:33.184477000 +0000 @@ -70,6 +70,7 @@ NOTICE: truncate cascades to table "trunc_e" -- circular references ALTER TABLE truncate_a ADD FOREIGN KEY (col1) REFERENCES trunc_c; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- Add some data to verify that truncating actually works ... INSERT INTO trunc_c VALUES (1); INSERT INTO truncate_a VALUES (1); @@ -101,6 +102,7 @@ SELECT * FROM trunc_b UNION ALL SELECT * FROM trunc_d; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree col1 ------ (0 rows) @@ -128,6 +130,7 @@ SELECT * FROM trunc_b UNION ALL SELECT * FROM trunc_d; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree col1 ------ (0 rows) @@ -296,6 +299,7 @@ $$ LANGUAGE plpgsql; -- basic before trigger INSERT INTO trunc_trigger_test VALUES(1, 'foo', 'bar'), (2, 'baz', 'quux'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE TRIGGER t BEFORE TRUNCATE ON trunc_trigger_test FOR EACH STATEMENT @@ -328,6 +332,7 @@ truncate trunc_trigger_log; -- same test with an after trigger INSERT INTO trunc_trigger_test VALUES(1, 'foo', 'bar'), (2, 'baz', 'quux'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE TRIGGER tt AFTER TRUNCATE ON trunc_trigger_test FOR EACH STATEMENT @@ -494,6 +499,8 @@ DETAIL: Table "truncpart" references "truncprim". HINT: Truncate table "truncpart" at the same time, or use TRUNCATE ... CASCADE. select tp_ins_data(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree tp_ins_data ------------- @@ -502,11 +509,14 @@ -- should truncate everything TRUNCATE TABLE truncprim, truncpart; select * from tp_chk_data(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree pktb | pkval | fktb | fkval ------+-------+------+------- (0 rows) select tp_ins_data(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree tp_ins_data ------------- @@ -520,11 +530,14 @@ NOTICE: truncate cascades to table "truncpart_2_1" NOTICE: truncate cascades to table "truncpart_2_d" SELECT * FROM tp_chk_data(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree pktb | pkval | fktb | fkval ------+-------+------+------- (0 rows) SELECT tp_ins_data(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree tp_ins_data ------------- @@ -533,6 +546,7 @@ -- should truncate all partitions TRUNCATE TABLE truncpart; SELECT * FROM tp_chk_data(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree pktb | pkval | fktb | fkval -----------+-------+------+------- truncprim | 1 | | @@ -552,12 +566,14 @@ CREATE TABLE trunc_a2d PARTITION OF trunc_a2 DEFAULT; CREATE TABLE trunc_a3 PARTITION OF trunc_a FOR VALUES FROM (20) TO (30); INSERT INTO trunc_a VALUES (0), (5), (10), (15), (20), (25); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- truncate a partition cascading to a table CREATE TABLE ref_b ( b INT PRIMARY KEY, a INT REFERENCES trunc_a(a) ON DELETE CASCADE ); INSERT INTO ref_b VALUES (10, 0), (50, 5), (100, 10), (150, 15); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree TRUNCATE TABLE trunc_a1 CASCADE; NOTICE: truncate cascades to table "ref_b" SELECT a FROM ref_b; @@ -574,6 +590,7 @@ CREATE TABLE ref_c1 PARTITION OF ref_c FOR VALUES FROM (100) TO (200); CREATE TABLE ref_c2 PARTITION OF ref_c FOR VALUES FROM (200) TO (300); INSERT INTO ref_c VALUES (100, 10), (150, 15), (200, 20), (250, 25); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree TRUNCATE TABLE trunc_a21 CASCADE; NOTICE: truncate cascades to table "ref_c" NOTICE: truncate cascades to table "ref_c1" diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/alter_table.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/alter_table.out --- /tmp/cirrus-ci-build/src/test/regress/expected/alter_table.out 2024-03-19 15:41:21.016865000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/alter_table.out 2024-03-19 15:51:35.768341000 +0000 @@ -105,6 +105,8 @@ HINT: Alter statistics on table column instead. ALTER INDEX attmp_idx ALTER COLUMN 2 SET STATISTICS 1000; \d+ attmp_idx +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Index "public.attmp_idx" Column | Type | Key? | Definition | Storage | Stats target --------+------------------+------+------------+---------+-------------- @@ -244,6 +246,7 @@ WHERE pid = pg_backend_pid() AND locktype = 'relation' AND relation::regclass::text LIKE 'alter\_idx%' ORDER BY relation::regclass::text COLLATE "C"; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relation | mode --------------------------------+--------------------- alter_idx_rename_test_2 | AccessExclusiveLock @@ -258,6 +261,7 @@ WHERE pid = pg_backend_pid() AND locktype = 'relation' AND relation::regclass::text LIKE 'alter\_idx%' ORDER BY relation::regclass::text COLLATE "C"; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relation | mode ------------------------------------+-------------------------- alter_idx_rename_test_idx_2 | ShareUpdateExclusiveLock @@ -272,6 +276,7 @@ WHERE pid = pg_backend_pid() AND locktype = 'relation' AND relation::regclass::text LIKE 'alter\_idx%' ORDER BY relation::regclass::text COLLATE "C"; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relation | mode ------------------------------------+--------------------- alter_idx_rename_test_idx_3 | AccessExclusiveLock @@ -328,6 +333,10 @@ -- renaming constraints vs. inheritance CREATE TABLE constraint_rename_test (a int CONSTRAINT con1 CHECK (a > 0), b int, c int); \d constraint_rename_test +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 Table "public.constraint_rename_test" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -341,6 +350,10 @@ NOTICE: merging column "a" with inherited definition NOTICE: merging constraint "con1" with inherited definition \d constraint_rename_test2 +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 Table "public.constraint_rename_test2" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -358,6 +371,10 @@ ERROR: inherited constraint "con1" must be renamed in child tables too ALTER TABLE constraint_rename_test RENAME CONSTRAINT con1 TO con1foo; -- ok \d constraint_rename_test +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 Table "public.constraint_rename_test" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -369,6 +386,10 @@ Number of child tables: 1 (Use \d+ to list them.) \d constraint_rename_test2 +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 Table "public.constraint_rename_test2" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -384,6 +405,10 @@ ALTER TABLE ONLY constraint_rename_test RENAME CONSTRAINT con2 TO con2foo; -- ok ALTER TABLE constraint_rename_test RENAME CONSTRAINT con2foo TO con2bar; -- ok \d constraint_rename_test +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 Table "public.constraint_rename_test" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -396,6 +421,10 @@ Number of child tables: 1 (Use \d+ to list them.) \d constraint_rename_test2 +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 Table "public.constraint_rename_test2" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -410,6 +439,11 @@ ALTER TABLE constraint_rename_test ADD CONSTRAINT con3 PRIMARY KEY (a); ALTER TABLE constraint_rename_test RENAME CONSTRAINT con3 TO con3foo; -- ok \d constraint_rename_test +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 Table "public.constraint_rename_test" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -424,6 +458,10 @@ Number of child tables: 1 (Use \d+ to list them.) \d constraint_rename_test2 +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 Table "public.constraint_rename_test2" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -452,6 +490,11 @@ CREATE TABLE like_constraint_rename_cache (LIKE constraint_rename_cache INCLUDING ALL); \d like_constraint_rename_cache +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 Table "public.like_constraint_rename_cache" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -485,23 +528,27 @@ ERROR: column "b" referenced in foreign key constraint does not exist -- Try (and fail) to add constraint due to invalid data ALTER TABLE attmp3 add constraint attmpconstr foreign key (a) references attmp2 match full; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: insert or update on table "attmp3" violates foreign key constraint "attmpconstr" DETAIL: Key (a)=(5) is not present in table "attmp2". -- Delete failing row DELETE FROM attmp3 where a=5; -- Try (and succeed) ALTER TABLE attmp3 add constraint attmpconstr foreign key (a) references attmp2 match full; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE attmp3 drop constraint attmpconstr; INSERT INTO attmp3 values (5,50); -- Try NOT VALID and then VALIDATE CONSTRAINT, but fails. Delete failure then re-validate ALTER TABLE attmp3 add constraint attmpconstr foreign key (a) references attmp2 match full NOT VALID; ALTER TABLE attmp3 validate constraint attmpconstr; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: insert or update on table "attmp3" violates foreign key constraint "attmpconstr" DETAIL: Key (a)=(5) is not present in table "attmp2". -- Delete failing row DELETE FROM attmp3 where a=5; -- Try (and succeed) and repeat to show it works on already valid constraint ALTER TABLE attmp3 validate constraint attmpconstr; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE attmp3 validate constraint attmpconstr; -- Try a non-verified CHECK constraint ALTER TABLE attmp3 ADD CONSTRAINT b_greater_than_ten CHECK (b > 10); -- fail @@ -522,6 +569,7 @@ CREATE TABLE attmp6 () INHERITS (attmp3); CREATE TABLE attmp7 () INHERITS (attmp3); INSERT INTO attmp6 VALUES (6, 30), (7, 16); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE attmp3 ADD CONSTRAINT b_le_20 CHECK (b <= 20) NOT VALID; ALTER TABLE attmp3 VALIDATE CONSTRAINT b_le_20; -- fails ERROR: check constraint "b_le_20" of relation "attmp6" is violated by some row @@ -573,6 +621,10 @@ create table nv_parent (d date, check (false) no inherit not valid); -- not valid constraint added at creation time should automatically become valid \d nv_parent +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 Table "public.nv_parent" Column | Type | Collation | Nullable | Default --------+------+-----------+----------+--------- @@ -640,6 +692,10 @@ -- add an inherited NOT VALID constraint alter table nv_parent add check (d between '2001-01-01'::date and '2099-12-31'::date) not valid; \d nv_child_2009 +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 Table "public.nv_child_2009" Column | Type | Collation | Nullable | Default --------+------+-----------+----------+--------- @@ -670,6 +726,7 @@ -- because int=int8 exists and is a member of the integer opfamily CREATE TEMP TABLE FKTABLE (ftest1 int8); ALTER TABLE FKTABLE ADD FOREIGN KEY(ftest1) references pktable; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- Check it actually works INSERT INTO FKTABLE VALUES(42); -- should succeed INSERT INTO FKTABLE VALUES(43); -- should fail @@ -691,6 +748,7 @@ INSERT INTO PKTABLE VALUES(42); CREATE TEMP TABLE FKTABLE (ftest1 int); ALTER TABLE FKTABLE ADD FOREIGN KEY(ftest1) references pktable; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- Check it actually works INSERT INTO FKTABLE VALUES(42); -- should succeed INSERT INTO FKTABLE VALUES(43); -- should fail @@ -731,23 +789,30 @@ CREATE TEMP TABLE FKTABLE (ftest1 int); ALTER TABLE FKTABLE ADD CONSTRAINT fknd FOREIGN KEY(ftest1) REFERENCES pktable ON DELETE CASCADE ON UPDATE NO ACTION NOT DEFERRABLE; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE FKTABLE ADD CONSTRAINT fkdd FOREIGN KEY(ftest1) REFERENCES pktable ON DELETE CASCADE ON UPDATE NO ACTION DEFERRABLE INITIALLY DEFERRED; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE FKTABLE ADD CONSTRAINT fkdi FOREIGN KEY(ftest1) REFERENCES pktable ON DELETE CASCADE ON UPDATE NO ACTION DEFERRABLE INITIALLY IMMEDIATE; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE FKTABLE ADD CONSTRAINT fknd2 FOREIGN KEY(ftest1) REFERENCES pktable ON DELETE CASCADE ON UPDATE NO ACTION DEFERRABLE INITIALLY DEFERRED; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE FKTABLE ALTER CONSTRAINT fknd2 NOT DEFERRABLE; ALTER TABLE FKTABLE ADD CONSTRAINT fkdd2 FOREIGN KEY(ftest1) REFERENCES pktable ON DELETE CASCADE ON UPDATE NO ACTION NOT DEFERRABLE; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE FKTABLE ALTER CONSTRAINT fkdd2 DEFERRABLE INITIALLY DEFERRED; ALTER TABLE FKTABLE ADD CONSTRAINT fkdi2 FOREIGN KEY(ftest1) REFERENCES pktable ON DELETE CASCADE ON UPDATE NO ACTION NOT DEFERRABLE; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE FKTABLE ALTER CONSTRAINT fkdi2 DEFERRABLE INITIALLY IMMEDIATE; SELECT conname, tgfoid::regproc, tgtype, tgdeferrable, tginitdeferred FROM pg_trigger JOIN pg_constraint con ON con.oid = tgconstraint WHERE tgrelid = 'pktable'::regclass ORDER BY 1,2,3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree conname | tgfoid | tgtype | tgdeferrable | tginitdeferred ---------+------------------------+--------+--------------+---------------- fkdd | "RI_FKey_cascade_del" | 9 | f | f @@ -768,6 +833,7 @@ FROM pg_trigger JOIN pg_constraint con ON con.oid = tgconstraint WHERE tgrelid = 'fktable'::regclass ORDER BY 1,2,3; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree conname | tgfoid | tgtype | tgdeferrable | tginitdeferred ---------+---------------------+--------+--------------+---------------- fkdd | "RI_FKey_check_ins" | 5 | t | t @@ -1050,6 +1116,7 @@ create table atacc1 (a int primary key); alter table atacc1 add constraint atacc1_fkey foreign key (a) references atacc1 (a) not valid; alter table atacc1 validate constraint atacc1_fkey, alter a type bigint; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree drop table atacc1; -- we've also seen issues with check constraints being validated at the wrong -- time when there's a pending table rewrite. @@ -1119,6 +1186,11 @@ create table atacc1 (test int not null); alter table atacc1 add constraint "atacc1_pkey" primary key (test); \d atacc1 +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 Table "public.atacc1" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -1128,6 +1200,11 @@ alter table atacc1 alter column test drop not null; \d atacc1 +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 Table "public.atacc1" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -1137,6 +1214,11 @@ alter table atacc1 drop constraint "atacc1_pkey"; \d atacc1 +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 Table "public.atacc1" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -1258,6 +1340,7 @@ alter table def_view_test alter column c2 set default 'view_default'; insert into def_view_test default values; select * from def_view_test; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c1 | c2 ----+----------------- 5 | initial_default @@ -1438,6 +1521,7 @@ -- try creating a view and altering that, should fail create view myview as select * from atacc1; select * from myview; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree b | c | d ---+---+--- (0 rows) @@ -1754,6 +1838,7 @@ from pg_class join pg_attribute on (pg_class.oid = pg_attribute.attrelid) where relname in ('p1','p2','c1','gc1') and attnum > 0 and not attisdropped order by relname, attnum; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | attname | attinhcount | attislocal ---------+---------+-------------+------------ c1 | id | 1 | f @@ -1797,6 +1882,7 @@ from pg_class join pg_attribute on (pg_class.oid = pg_attribute.attrelid) where relname in ('p1','p2','c1','gc1') and attnum > 0 and not attisdropped order by relname, attnum; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | attname | attinhcount | attislocal ---------+---------+-------------+------------ c1 | id | 1 | f @@ -1991,6 +2077,11 @@ create index on anothertab(f2,f3); create unique index on anothertab(f4); \d anothertab +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 Table "public.anothertab" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -2016,6 +2107,11 @@ alter column f4 type bigint; alter table anothertab alter column f5 type bigint; \d anothertab +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 Table "public.anothertab" Column | Type | Collation | Nullable | Default --------+--------+-----------+----------+--------- @@ -2094,6 +2190,12 @@ create index on at_partitioned (b); create index on at_partitioned (a); \d at_part_1 +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 Table "public.at_part_1" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -2105,6 +2207,10 @@ "at_part_1_b_idx" btree (b) \d at_part_2 +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 Table "public.at_part_2" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -2113,6 +2219,12 @@ alter table at_partitioned attach partition at_part_2 for values from (1000) to (2000); \d at_part_2 +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 Table "public.at_part_2" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -2125,6 +2237,12 @@ alter table at_partitioned alter column b type numeric using b::numeric; \d at_part_1 +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 Table "public.at_part_1" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -2136,6 +2254,12 @@ "at_part_1_b_idx" btree (b) \d at_part_2 +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 Table "public.at_part_2" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -2178,6 +2302,7 @@ from pg_class c left join old_oids using (relname) where relname like 'at_partitioned%' order by relname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | orig_oid | storage | desc ------------------------------+----------+---------+--------------- at_partitioned | t | none | @@ -2212,6 +2337,7 @@ from pg_class c left join old_oids using (relname) where relname like 'at_partitioned%' order by relname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | orig_oid | storage | desc ------------------------------+----------+---------+-------------- at_partitioned | t | none | @@ -2283,6 +2409,12 @@ create index test_storage_idx on test_storage (b, a); alter table test_storage alter column a set storage external; \d+ test_storage +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 Table "public.test_storage" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+-------------------+----------+--------------+------------- @@ -2293,6 +2425,8 @@ "test_storage_idx" btree (b, a) \d+ test_storage_idx +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Index "public.test_storage_idx" Column | Type | Key? | Definition | Storage | Stats target --------+---------+------+------------+----------+-------------- @@ -2304,6 +2438,10 @@ CREATE TABLE test_inh_check (a float check (a > 10.2), b float); CREATE TABLE test_inh_check_child() INHERITS(test_inh_check); \d test_inh_check +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 Table "public.test_inh_check" Column | Type | Collation | Nullable | Default --------+------------------+-----------+----------+--------- @@ -2314,6 +2452,10 @@ Number of child tables: 1 (Use \d+ to list them.) \d test_inh_check_child +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 Table "public.test_inh_check_child" Column | Type | Collation | Nullable | Default --------+------------------+-----------+----------+--------- @@ -2335,6 +2477,10 @@ ALTER TABLE test_inh_check ALTER COLUMN a TYPE numeric; \d test_inh_check +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 Table "public.test_inh_check" Column | Type | Collation | Nullable | Default --------+------------------+-----------+----------+--------- @@ -2345,6 +2491,10 @@ Number of child tables: 1 (Use \d+ to list them.) \d test_inh_check_child +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 Table "public.test_inh_check_child" Column | Type | Collation | Nullable | Default --------+------------------+-----------+----------+--------- @@ -2371,6 +2521,10 @@ ALTER TABLE test_inh_check ADD CONSTRAINT bmerged CHECK (b > 1); NOTICE: merging constraint "bmerged" with inherited definition \d test_inh_check +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 Table "public.test_inh_check" Column | Type | Collation | Nullable | Default --------+------------------+-----------+----------+--------- @@ -2383,6 +2537,10 @@ Number of child tables: 1 (Use \d+ to list them.) \d test_inh_check_child +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 Table "public.test_inh_check_child" Column | Type | Collation | Nullable | Default --------+------------------+-----------+----------+--------- @@ -2411,6 +2569,10 @@ ALTER TABLE test_inh_check ALTER COLUMN b TYPE numeric; NOTICE: merging constraint "bmerged" with inherited definition \d test_inh_check +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 Table "public.test_inh_check" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -2423,6 +2585,10 @@ Number of child tables: 1 (Use \d+ to list them.) \d test_inh_check_child +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 Table "public.test_inh_check_child" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -2478,6 +2644,12 @@ ANALYZE check_fk_presence_2; ROLLBACK; \d check_fk_presence_2 +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 Table "public.check_fk_presence_2" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -2493,6 +2665,8 @@ create view at_view_1 as select * from at_base_table bt; create view at_view_2 as select *, to_json(v1) as j from at_view_1 v1; \d+ at_view_1 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree View "public.at_view_1" Column | Type | Collation | Nullable | Default | Storage | Description --------+---------+-----------+----------+---------+----------+------------- @@ -2504,6 +2678,8 @@ FROM at_base_table bt; \d+ at_view_2 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree View "public.at_view_2" Column | Type | Collation | Nullable | Default | Storage | Description --------+---------+-----------+----------+---------+----------+------------- @@ -2524,6 +2700,7 @@ (2 rows) select * from at_view_2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id | stuff | j ----+--------+---------------------------- 23 | skidoo | {"id":23,"stuff":"skidoo"} @@ -2531,6 +2708,8 @@ create or replace view at_view_1 as select *, 2+2 as more from at_base_table bt; \d+ at_view_1 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree View "public.at_view_1" Column | Type | Collation | Nullable | Default | Storage | Description --------+---------+-----------+----------+---------+----------+------------- @@ -2544,6 +2723,8 @@ FROM at_base_table bt; \d+ at_view_2 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree View "public.at_view_2" Column | Type | Collation | Nullable | Default | Storage | Description --------+---------+-----------+----------+---------+----------+------------- @@ -2564,6 +2745,7 @@ (2 rows) select * from at_view_2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id | stuff | j ----+--------+------------------------------------- 23 | skidoo | {"id":23,"stuff":"skidoo","more":4} @@ -2583,6 +2765,7 @@ create rule v1_upd_rule as on update to v1 do also insert into log values (new.*); update v2 set q1 = q1 + 1 where q1 = 123; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select * from t1; q1 | q2 ------------------+------------------- @@ -2724,6 +2907,7 @@ insert into alterlock2 values (1, 1); begin; alter table alterlock alter column f2 set statistics 150; select * from my_locks order by 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | max_lockmode -----------+-------------------------- alterlock | ShareUpdateExclusiveLock @@ -2732,6 +2916,7 @@ rollback; begin; alter table alterlock cluster on alterlock_pkey; select * from my_locks order by 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | max_lockmode ----------------+-------------------------- alterlock | ShareUpdateExclusiveLock @@ -2741,6 +2926,7 @@ commit; begin; alter table alterlock set without cluster; select * from my_locks order by 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | max_lockmode -----------+-------------------------- alterlock | ShareUpdateExclusiveLock @@ -2749,6 +2935,7 @@ commit; begin; alter table alterlock set (fillfactor = 100); select * from my_locks order by 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | max_lockmode -----------+-------------------------- alterlock | ShareUpdateExclusiveLock @@ -2758,6 +2945,7 @@ commit; begin; alter table alterlock reset (fillfactor); select * from my_locks order by 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | max_lockmode -----------+-------------------------- alterlock | ShareUpdateExclusiveLock @@ -2767,6 +2955,7 @@ commit; begin; alter table alterlock set (toast.autovacuum_enabled = off); select * from my_locks order by 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | max_lockmode -----------+-------------------------- alterlock | ShareUpdateExclusiveLock @@ -2776,6 +2965,7 @@ commit; begin; alter table alterlock set (autovacuum_enabled = off); select * from my_locks order by 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | max_lockmode -----------+-------------------------- alterlock | ShareUpdateExclusiveLock @@ -2785,6 +2975,7 @@ commit; begin; alter table alterlock alter column f2 set (n_distinct = 1); select * from my_locks order by 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | max_lockmode -----------+-------------------------- alterlock | ShareUpdateExclusiveLock @@ -2794,6 +2985,7 @@ -- test that mixing options with different lock levels works as expected begin; alter table alterlock set (autovacuum_enabled = off, fillfactor = 80); select * from my_locks order by 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | max_lockmode -----------+-------------------------- alterlock | ShareUpdateExclusiveLock @@ -2803,6 +2995,7 @@ commit; begin; alter table alterlock alter column f2 set storage extended; select * from my_locks order by 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | max_lockmode -----------+--------------------- alterlock | AccessExclusiveLock @@ -2811,6 +3004,7 @@ rollback; begin; alter table alterlock alter column f2 set default 'x'; select * from my_locks order by 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | max_lockmode -----------+--------------------- alterlock | AccessExclusiveLock @@ -2824,6 +3018,7 @@ execute procedure ttdummy (1, 1); select * from my_locks order by 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | max_lockmode -----------+----------------------- alterlock | ShareRowExclusiveLock @@ -2832,12 +3027,15 @@ rollback; begin; select * from my_locks order by 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | max_lockmode ---------+-------------- (0 rows) alter table alterlock2 add foreign key (f1) references alterlock (f1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select * from my_locks order by 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | max_lockmode -----------------+----------------------- alterlock | ShareRowExclusiveLock @@ -2851,6 +3049,7 @@ alter table alterlock2 add constraint alterlock2nv foreign key (f1) references alterlock (f1) NOT VALID; select * from my_locks order by 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | max_lockmode ------------+----------------------- alterlock | ShareRowExclusiveLock @@ -2860,7 +3059,9 @@ commit; begin; alter table alterlock2 validate constraint alterlock2nv; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select * from my_locks order by 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | max_lockmode -----------------+-------------------------- alterlock | RowShareLock @@ -2891,6 +3092,7 @@ begin; alter view my_locks set (security_barrier=off); select * from my_locks order by 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | max_lockmode ----------+--------------------- my_locks | AccessExclusiveLock @@ -2904,6 +3106,7 @@ begin; alter table my_locks set (security_barrier=off); select * from my_locks order by 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | max_lockmode ----------+--------------------- my_locks | AccessExclusiveLock @@ -3003,6 +3206,7 @@ (4 rows) select * from alter2.v1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 | f2 ----+---- 1 | 11 @@ -3038,6 +3242,8 @@ -- CREATE TYPE test_type AS (a int); \d test_type +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Composite type "public.test_type" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -3047,6 +3253,8 @@ ERROR: relation "nosuchtype" does not exist ALTER TYPE test_type ADD ATTRIBUTE b text; \d test_type +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Composite type "public.test_type" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -3057,6 +3265,8 @@ ERROR: column "b" of relation "test_type" already exists ALTER TYPE test_type ALTER ATTRIBUTE b SET DATA TYPE varchar; \d test_type +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Composite type "public.test_type" Column | Type | Collation | Nullable | Default --------+-------------------+-----------+----------+--------- @@ -3065,6 +3275,8 @@ ALTER TYPE test_type ALTER ATTRIBUTE b SET DATA TYPE integer; \d test_type +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Composite type "public.test_type" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -3073,6 +3285,8 @@ ALTER TYPE test_type DROP ATTRIBUTE b; \d test_type +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Composite type "public.test_type" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -3084,6 +3298,8 @@ NOTICE: column "c" of relation "test_type" does not exist, skipping ALTER TYPE test_type DROP ATTRIBUTE a, ADD ATTRIBUTE d boolean; \d test_type +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Composite type "public.test_type" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -3093,6 +3309,8 @@ ERROR: column "a" does not exist ALTER TYPE test_type RENAME ATTRIBUTE d TO dd; \d test_type +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Composite type "public.test_type" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -3114,6 +3332,8 @@ CREATE TABLE test_tbl2 OF test_type2; CREATE TABLE test_tbl2_subclass () INHERITS (test_tbl2); \d test_type2 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Composite type "public.test_type2" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -3121,6 +3341,10 @@ b | text | | | \d test_tbl2 +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 Table "public.test_tbl2" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -3134,6 +3358,8 @@ HINT: Use ALTER ... CASCADE to alter the typed tables too. ALTER TYPE test_type2 ADD ATTRIBUTE c text CASCADE; \d test_type2 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Composite type "public.test_type2" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -3142,6 +3368,10 @@ c | text | | | \d test_tbl2 +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 Table "public.test_tbl2" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -3156,6 +3386,8 @@ HINT: Use ALTER ... CASCADE to alter the typed tables too. ALTER TYPE test_type2 ALTER ATTRIBUTE b TYPE varchar CASCADE; \d test_type2 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Composite type "public.test_type2" Column | Type | Collation | Nullable | Default --------+-------------------+-----------+----------+--------- @@ -3164,6 +3396,10 @@ c | text | | | \d test_tbl2 +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 Table "public.test_tbl2" Column | Type | Collation | Nullable | Default --------+-------------------+-----------+----------+--------- @@ -3178,6 +3414,8 @@ HINT: Use ALTER ... CASCADE to alter the typed tables too. ALTER TYPE test_type2 DROP ATTRIBUTE b CASCADE; \d test_type2 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Composite type "public.test_type2" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -3185,6 +3423,10 @@ c | text | | | \d test_tbl2 +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 Table "public.test_tbl2" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -3198,6 +3440,8 @@ HINT: Use ALTER ... CASCADE to alter the typed tables too. ALTER TYPE test_type2 RENAME ATTRIBUTE a TO aa CASCADE; \d test_type2 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Composite type "public.test_type2" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -3205,6 +3449,10 @@ c | text | | | \d test_tbl2 +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 Table "public.test_tbl2" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -3214,6 +3462,10 @@ Typed table of type: test_type2 \d test_tbl2_subclass +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 Table "public.test_tbl2_subclass" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -3232,6 +3484,10 @@ ALTER TYPE test_typex DROP ATTRIBUTE a CASCADE; NOTICE: drop cascades to constraint test_tblx_y_check on table test_tblx \d test_tblx +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 Table "public.test_tblx" Column | Type | Collation | Nullable | Default --------+------------+-----------+----------+--------- @@ -3280,6 +3536,10 @@ ALTER TABLE tt7 OF tt_t1; -- reassign an already-typed table ALTER TABLE tt7 NOT OF; \d tt7 +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 Table "public.tt7" Column | Type | Collation | Nullable | Default --------+--------------+-----------+----------+--------- @@ -3320,6 +3580,11 @@ ALTER TABLE IF EXISTS tt8 RENAME COLUMN f TO f1; ALTER TABLE IF EXISTS tt8 SET SCHEMA alter2; \d alter2.tt8 +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 Table "alter2.tt8" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -3352,6 +3617,11 @@ ALTER TABLE tt9 ADD CONSTRAINT tt9_c_key2 CHECK(c > 6); ALTER TABLE tt9 ADD UNIQUE(c); -- picks nonconflicting name \d tt9 +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 Table "public.tt9" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -3474,8 +3744,10 @@ FROM pg_class, pg_filenode_relation(reltablespace, pg_relation_filenode(oid)) AS mapped_oid WHERE relkind IN ('r', 'i', 'S', 't', 'm') AND mapped_oid IS DISTINCT FROM oid; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT m.* FROM filenode_mapping m LEFT JOIN pg_class c ON c.oid = m.oid WHERE c.oid IS NOT NULL OR m.mapped_oid IS NOT NULL; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree oid | mapped_oid | reltablespace | relfilenode | relname -----+------------+---------------+-------------+--------- (0 rows) @@ -3502,6 +3774,7 @@ ALTER TABLE new_system_table RENAME TO old_system_table; CREATE INDEX old_system_table__othercol ON old_system_table (othercol); INSERT INTO old_system_table(othercol) VALUES ('somedata'), ('otherdata'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree UPDATE old_system_table SET id = -id; DELETE FROM old_system_table WHERE othercol = 'somedata'; TRUNCATE old_system_table; @@ -3517,6 +3790,7 @@ UNION ALL SELECT r.relname || ' toast index', ri.relkind, ri.relpersistence FROM pg_class r join pg_class t ON t.oid = r.reltoastrelid JOIN pg_index i ON i.indrelid = t.oid JOIN pg_class ri ON ri.oid = i.indexrelid WHERE r.relname ~ '^unlogged1' ORDER BY relname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | relkind | relpersistence -----------------------+---------+---------------- unlogged1 | r | u @@ -3539,6 +3813,7 @@ UNION ALL SELECT r.relname || ' toast index', ri.relkind, ri.relpersistence FROM pg_class r join pg_class t ON t.oid = r.reltoastrelid JOIN pg_index i ON i.indrelid = t.oid JOIN pg_class ri ON ri.oid = i.indexrelid WHERE r.relname ~ '^unlogged1' ORDER BY relname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | relkind | relpersistence -----------------------+---------+---------------- unlogged1 | r | p @@ -3561,6 +3836,7 @@ UNION ALL SELECT r.relname ||' toast index', ri.relkind, ri.relpersistence FROM pg_class r join pg_class t ON t.oid = r.reltoastrelid JOIN pg_index i ON i.indrelid = t.oid JOIN pg_class ri ON ri.oid = i.indexrelid WHERE r.relname ~ '^logged1' ORDER BY relname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | relkind | relpersistence ---------------------+---------+---------------- logged1 | r | p @@ -3584,6 +3860,7 @@ UNION ALL SELECT r.relname || ' toast index', ri.relkind, ri.relpersistence FROM pg_class r join pg_class t ON t.oid = r.reltoastrelid JOIN pg_index i ON i.indrelid = t.oid JOIN pg_class ri ON ri.oid = i.indexrelid WHERE r.relname ~ '^logged1' ORDER BY relname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | relkind | relpersistence ---------------------+---------+---------------- logged1 | r | u @@ -3600,6 +3877,10 @@ -- test ADD COLUMN IF NOT EXISTS CREATE TABLE test_add_column(c1 integer); \d test_add_column +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 Table "public.test_add_column" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -3608,6 +3889,10 @@ ALTER TABLE test_add_column ADD COLUMN c2 integer; \d test_add_column +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 Table "public.test_add_column" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -3621,6 +3906,10 @@ ADD COLUMN c2 integer; -- fail because c2 already exists ERROR: column "c2" of relation "test_add_column" already exists \d test_add_column +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 Table "public.test_add_column" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -3634,6 +3923,10 @@ ADD COLUMN IF NOT EXISTS c2 integer; -- skipping because c2 already exists NOTICE: column "c2" of relation "test_add_column" already exists, skipping \d test_add_column +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 Table "public.test_add_column" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -3645,6 +3938,10 @@ ADD COLUMN c3 integer primary key; ERROR: column "c2" of relation "test_add_column" already exists \d test_add_column +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 Table "public.test_add_column" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -3656,6 +3953,11 @@ ADD COLUMN c3 integer primary key; NOTICE: column "c2" of relation "test_add_column" already exists, skipping \d test_add_column +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 Table "public.test_add_column" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -3671,6 +3973,11 @@ NOTICE: column "c2" of relation "test_add_column" already exists, skipping NOTICE: column "c3" of relation "test_add_column" already exists, skipping \d test_add_column +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 Table "public.test_add_column" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -3687,6 +3994,13 @@ NOTICE: column "c2" of relation "test_add_column" already exists, skipping NOTICE: column "c3" of relation "test_add_column" already exists, skipping \d test_add_column +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Table "public.test_add_column" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -3705,6 +4019,13 @@ ADD COLUMN IF NOT EXISTS c4 integer REFERENCES test_add_column; NOTICE: column "c4" of relation "test_add_column" already exists, skipping \d test_add_column +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Table "public.test_add_column" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -3722,6 +4043,13 @@ ALTER TABLE test_add_column ADD COLUMN IF NOT EXISTS c5 SERIAL CHECK (c5 > 8); \d test_add_column +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Table "public.test_add_column" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------------------------------------------- @@ -3743,6 +4071,13 @@ ADD COLUMN IF NOT EXISTS c5 SERIAL CHECK (c5 > 10); NOTICE: column "c5" of relation "test_add_column" already exists, skipping \d test_add_column* +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Table "public.test_add_column" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------------------------------------------- @@ -3760,12 +4095,15 @@ Referenced by: TABLE "test_add_column" CONSTRAINT "test_add_column_c4_fkey" FOREIGN KEY (c4) REFERENCES test_add_column(c3) +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Sequence "public.test_add_column_c5_seq" Type | Start | Minimum | Maximum | Increment | Cycles? | Cache ---------+-------+---------+------------+-----------+---------+------- integer | 1 | 1 | 2147483647 | 1 | no | 1 Owned by: public.test_add_column.c5 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Index "public.test_add_column_pkey" Column | Type | Key? | Definition --------+---------+------+------------ @@ -3774,14 +4112,21 @@ DROP TABLE test_add_column; \d test_add_column* +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- assorted cases with multiple ALTER TABLE steps CREATE TABLE ataddindex(f1 INT); INSERT INTO ataddindex VALUES (42), (43); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE UNIQUE INDEX ataddindexi0 ON ataddindex(f1); ALTER TABLE ataddindex ADD PRIMARY KEY USING INDEX ataddindexi0, ALTER f1 TYPE BIGINT; \d ataddindex +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 Table "public.ataddindex" Column | Type | Collation | Nullable | Default --------+--------+-----------+----------+--------- @@ -3792,10 +4137,16 @@ DROP TABLE ataddindex; CREATE TABLE ataddindex(f1 VARCHAR(10)); INSERT INTO ataddindex(f1) VALUES ('foo'), ('a'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE ataddindex ALTER f1 SET DATA TYPE TEXT, ADD EXCLUDE ((f1 LIKE 'a') WITH =); \d ataddindex +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 Table "public.ataddindex" Column | Type | Collation | Nullable | Default --------+------+-----------+----------+--------- @@ -3808,7 +4159,15 @@ ALTER TABLE ataddindex ADD PRIMARY KEY (id), ADD FOREIGN KEY (ref_id) REFERENCES ataddindex; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree \d ataddindex +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Table "public.ataddindex" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -3826,7 +4185,15 @@ ALTER TABLE ataddindex ADD UNIQUE (id), ADD FOREIGN KEY (ref_id) REFERENCES ataddindex (id); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree \d ataddindex +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Table "public.ataddindex" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -3851,6 +4218,12 @@ ADD COLUMN c INT, ADD PRIMARY KEY (c); \d+ atnotnull1 +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 Table "public.atnotnull1" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- @@ -4158,6 +4531,7 @@ ALTER TABLE list_parted2 DETACH PARTITION part_7; ALTER TABLE part_7 DROP CONSTRAINT check_a; -- thusly, scan won't be skipped INSERT INTO part_7 (a, b) VALUES (8, null), (9, 'a'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT tableoid::regclass, a, b FROM part_7 order by a; tableoid | a | b ---------------+---+--- @@ -4331,6 +4705,13 @@ -- works fine ALTER TABLE range_parted2 DETACH PARTITION part_rp CONCURRENTLY; \d+ range_parted2 +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Partitioned table "public.range_parted2" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- @@ -4340,6 +4721,10 @@ -- constraint should be created \d part_rp +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 Table "public.part_rp" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -4351,6 +4736,10 @@ ALTER TABLE range_parted2 DETACH PARTITION part_rp100 CONCURRENTLY; -- redundant constraint should not be created \d part_rp100 +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 Table "public.part_rp100" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -4485,6 +4874,7 @@ create table defpart_attach_test_d (b int, a int); alter table defpart_attach_test_d drop b; insert into defpart_attach_test_d values (1), (2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- error because its constraint as the default partition would be violated -- by the row containing 1 alter table defpart_attach_test attach partition defpart_attach_test_d default; @@ -4582,6 +4972,7 @@ referencing old table as old for each statement execute procedure xtrig(); update bar1 set a = a + 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INFO: a=1, b=1 /* End test case for bug #16242 */ /* Test case for bug #17409 */ @@ -4589,13 +4980,17 @@ create table atref (c1 int references attbl(p1)); cluster attbl using pk_attbl; alter table attbl alter column p1 set data type bigint; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree alter table atref alter column c1 set data type bigint; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree drop table attbl, atref; create table attbl (p1 int constraint pk_attbl primary key); alter table attbl replica identity using index pk_attbl; create table atref (c1 int references attbl(p1)); alter table attbl alter column p1 set data type bigint; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree alter table atref alter column c1 set data type bigint; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree drop table attbl, atref; /* End test case for bug #17409 */ -- Test that ALTER TABLE rewrite preserves a clustered index @@ -4675,6 +5070,11 @@ reset client_min_messages; alter table alter1.t1 set schema alter2; \d+ alter2.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 Table "alter2.t1" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/sequence.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/sequence.out --- /tmp/cirrus-ci-build/src/test/regress/expected/sequence.out 2024-03-19 15:41:21.045413000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/sequence.out 2024-03-19 15:51:33.014312000 +0000 @@ -94,6 +94,7 @@ 9223372036854775807), ('test_min_vals', -2147483648, -32768, -32768, -9223372036854775808, -9223372036854775808); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- All these INSERTs should fail: INSERT INTO serialTest2 (f1, f3) VALUES ('bogus', -32769); @@ -479,6 +480,7 @@ SELECT * FROM information_schema.sequences WHERE sequence_name ~ ANY(ARRAY['sequence_test', 'serialtest']) ORDER BY sequence_name ASC; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree sequence_catalog | sequence_schema | sequence_name | data_type | numeric_precision | numeric_precision_radix | numeric_scale | start_value | minimum_value | maximum_value | increment | cycle_option ------------------+-----------------+--------------------+-----------+-------------------+-------------------------+---------------+-------------+----------------------+---------------------+-----------+-------------- regression | public | sequence_test10 | smallint | 16 | 2 | 0 | 1 | -20000 | 32767 | 1 | NO @@ -506,6 +508,7 @@ FROM pg_sequences WHERE sequencename ~ ANY(ARRAY['sequence_test', 'serialtest']) ORDER BY sequencename ASC; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree schemaname | sequencename | start_value | min_value | max_value | increment_by | cycle | cache_size | last_value ------------+--------------------+-------------+----------------------+---------------------+--------------+-------+------------+------------ public | sequence_test10 | 1 | -20000 | 32767 | 1 | f | 1 | @@ -530,18 +533,25 @@ (19 rows) SELECT * FROM pg_sequence_parameters('sequence_test4'::regclass); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree start_value | minimum_value | maximum_value | increment | cycle_option | cache_size | data_type -------------+----------------------+---------------+-----------+--------------+------------+----------- -1 | -9223372036854775808 | -1 | -1 | f | 1 | 20 (1 row) \d sequence_test4 +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 Sequence "public.sequence_test4" Type | Start | Minimum | Maximum | Increment | Cycles? | Cache --------+-------+----------------------+---------+-----------+---------+------- bigint | -1 | -9223372036854775808 | -1 | -1 | no | 1 \d serialtest2_f2_seq +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 Sequence "public.serialtest2_f2_seq" Type | Start | Minimum | Maximum | Increment | Cycles? | Cache ---------+-------+---------+------------+-----------+---------+------- @@ -604,6 +614,9 @@ CREATE UNLOGGED SEQUENCE sequence_test_unlogged; ALTER SEQUENCE sequence_test_unlogged SET LOGGED; \d sequence_test_unlogged +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 Sequence "public.sequence_test_unlogged" Type | Start | Minimum | Maximum | Increment | Cycles? | Cache --------+-------+---------+---------------------+-----------+---------+------- @@ -611,6 +624,9 @@ ALTER SEQUENCE sequence_test_unlogged SET UNLOGGED; \d sequence_test_unlogged +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 Unlogged sequence "public.sequence_test_unlogged" Type | Start | Minimum | Maximum | Increment | Cycles? | Cache --------+-------+---------+---------------------+-----------+---------+------- @@ -812,6 +828,7 @@ ('sequence_test2', 'serialtest2_f2_seq', 'serialtest2_f3_seq', 'serialtest2_f4_seq', 'serialtest2_f5_seq', 'serialtest2_f6_seq') ORDER BY sequence_name ASC; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree sequence_catalog | sequence_schema | sequence_name | data_type | numeric_precision | numeric_precision_radix | numeric_scale | start_value | minimum_value | maximum_value | increment | cycle_option ------------------+-----------------+----------------+-----------+-------------------+-------------------------+---------------+-------------+---------------+---------------+-----------+-------------- regression | public | sequence_test2 | bigint | 64 | 2 | 0 | 32 | 5 | 36 | 4 | YES diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/polymorphism.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/polymorphism.out --- /tmp/cirrus-ci-build/src/test/regress/expected/polymorphism.out 2024-03-19 15:41:21.043899000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/polymorphism.out 2024-03-19 15:51:33.225200000 +0000 @@ -152,6 +152,7 @@ $$ language sql; select x, pg_typeof(x), y, pg_typeof(y) from polyf(11, array[1, 2], 42, 34.5); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | pg_typeof | y | pg_typeof ----------+-----------+-----------+----------- {11,1,2} | integer[] | {42,34.5} | numeric[] @@ -159,6 +160,7 @@ select x, pg_typeof(x), y, pg_typeof(y) from polyf(11, array[1, 2], point(1,2), point(3,4)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | pg_typeof | y | pg_typeof ----------+-----------+-------------------+----------- {11,1,2} | integer[] | {"(1,2)","(3,4)"} | point[] @@ -166,6 +168,7 @@ select x, pg_typeof(x), y, pg_typeof(y) from polyf(11, '{1,2}', point(1,2), '(3,4)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | pg_typeof | y | pg_typeof ----------+-----------+-------------------+----------- {11,1,2} | integer[] | {"(1,2)","(3,4)"} | point[] @@ -834,6 +837,7 @@ ); SELECT array_larger_accum(i) FROM (VALUES (ARRAY[1,2]), (ARRAY[3,4])) as t(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree array_larger_accum -------------------- {3,4} @@ -841,6 +845,7 @@ SELECT array_larger_accum(i) FROM (VALUES (ARRAY[row(1,2),row(3,4)]), (ARRAY[row(5,6),row(7,8)])) as t(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree array_larger_accum -------------------- {"(5,6)","(7,8)"} @@ -898,18 +903,21 @@ FINALFUNC = first_el ); select first_el_agg_f8(x::float8) from generate_series(1,10) x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree first_el_agg_f8 ----------------- 1 (1 row) select first_el_agg_any(x) from generate_series(1,10) x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree first_el_agg_any ------------------ 1 (1 row) select first_el_agg_f8(x::float8) over(order by x) from generate_series(1,10) x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree first_el_agg_f8 ----------------- 1 @@ -925,6 +933,7 @@ (10 rows) select first_el_agg_any(x) over(order by x) from generate_series(1,10) x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree first_el_agg_any ------------------ 1 @@ -942,6 +951,7 @@ -- check that we can apply functions taking ANYARRAY to pg_stats select distinct array_ndims(histogram_bounds) from pg_stats where histogram_bounds is not null; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree array_ndims ------------- 1 @@ -950,6 +960,7 @@ -- such functions must protect themselves if varying element type isn't OK -- (WHERE clause here is to avoid possibly getting a collation error instead) select max(histogram_bounds) from pg_stats where tablename = 'pg_am'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: cannot compare arrays of different element types -- another corner case is the input functions for polymorphic pseudotypes select array_in('{1,2,3}','int4'::regtype,-1); -- this has historically worked @@ -969,18 +980,21 @@ select min($1[i]) from generate_subscripts($1,1) g(i) $$ language sql immutable strict; select myleast(10, 1, 20, 33); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree myleast --------- 1 (1 row) select myleast(1.1, 0.22, 0.55); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree myleast --------- 0.22 (1 row) select myleast('z'::text); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree myleast --------- z @@ -993,12 +1007,14 @@ HINT: No function matches the given name and argument types. You might need to add explicit type casts. -- test with variadic call parameter select myleast(variadic array[1,2,3,4,-1]); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree myleast --------- -1 (1 row) select myleast(variadic array[1.1, -5.5]); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree myleast --------- -5.5 @@ -1006,6 +1022,7 @@ --test with empty variadic call parameter select myleast(variadic array[]::int[]); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree myleast --------- @@ -1122,6 +1139,7 @@ (1 row) select pg_typeof(myleast(10, 1, 20, 33)); -- polymorphic input +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree pg_typeof ----------- integer @@ -1177,6 +1195,7 @@ -- verify it lists properly \df dfunc +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of functions Schema | Name | Result data type | Argument data types | Type --------+-------+------------------+-----------------------------------------------------------+------ @@ -1345,6 +1364,7 @@ ERROR: cannot remove parameter defaults from existing function HINT: Use DROP FUNCTION dfunc(integer[]) first. \df dfunc +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of functions Schema | Name | Result data type | Argument data types | Type --------+-------+------------------+-------------------------------------------------+------ @@ -1398,12 +1418,14 @@ (1 row) select * from dfunc(a := 10, b := 20); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c | d ----+----+---+--- 10 | 20 | 0 | 0 (1 row) select * from dfunc(b := 10, a := 20); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c | d ----+----+---+--- 20 | 10 | 0 | 0 @@ -1415,18 +1437,21 @@ ^ HINT: No function matches the given name and argument types. You might need to add explicit type casts. select * from dfunc(1,2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c | d ---+---+---+--- 1 | 2 | 0 | 0 (1 row) select * from dfunc(1,2,c := 3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c | d ---+---+---+--- 1 | 2 | 3 | 0 (1 row) select * from dfunc(1,2,d := 3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c | d ---+---+---+--- 1 | 2 | 0 | 3 @@ -1468,24 +1493,28 @@ (1 row) select * from dfunc('Hello World', 20, '2009-07-25'::date); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c -------------+----+------------ Hello World | 20 | 07-25-2009 (1 row) select * from dfunc(c := '2009-07-25'::date, a := 'Hello World', b := 20); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c -------------+----+------------ Hello World | 20 | 07-25-2009 (1 row) select * from dfunc('Hello World', b := 20, c := '2009-07-25'::date); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c -------------+----+------------ Hello World | 20 | 07-25-2009 (1 row) select * from dfunc('Hello World', c := '2009-07-25'::date, b := 20); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c -------------+----+------------ Hello World | 20 | 07-25-2009 @@ -1509,42 +1538,49 @@ (1 row) select * from dfunc(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree _a | _c -------+---- def a | (1 row) select * from dfunc('Hello', 100); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree _a | _c -------+----- Hello | 100 (1 row) select * from dfunc(a := 'Hello', c := 100); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree _a | _c -------+----- Hello | 100 (1 row) select * from dfunc(c := 100, a := 'Hello'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree _a | _c -------+----- Hello | 100 (1 row) select * from dfunc('Hello'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree _a | _c -------+---- Hello | (1 row) select * from dfunc('Hello', c := 100); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree _a | _c -------+----- Hello | 100 (1 row) select * from dfunc(c := 100); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree _a | _c -------+----- def a | 100 @@ -1584,6 +1620,7 @@ drop function testpolym(int); create function testpolym(a int) returns table(a int) as $$ select $1;$$ language sql; select * from testpolym(37); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a ---- 37 @@ -1783,6 +1820,7 @@ dfunc(q1, flag := q1 0)) is not null; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------- CTE Scan on cte @@ -1271,6 +1296,7 @@ select * from cte2 as t where (select * from (select c as c1) s where (select (c1).f1 > 0)) is not null; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c ------- (1,2) @@ -1312,6 +1338,7 @@ ^ -- but can be accessed with proper parens SELECT (d).a, (d).b FROM (SELECT compositetable AS d FROM compositetable) s; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b ----+---- fa | fb diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/returning.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/returning.out --- /tmp/cirrus-ci-build/src/test/regress/expected/returning.out 2024-03-19 15:41:21.044679000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/returning.out 2024-03-19 15:51:32.516312000 +0000 @@ -6,6 +6,7 @@ INSERT INTO foo (f2,f3) VALUES ('test', DEFAULT), ('More', 11), (upper('more'), 7+9) RETURNING *, f1+f3 AS sum; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 | f2 | f3 | sum ----+------+----+----- 1 | test | 42 | 43 @@ -54,6 +55,7 @@ INSERT INTO foo SELECT f1+10, f2, f3+99 FROM foo RETURNING *, f1+112 IN (SELECT q1 FROM int8_tbl) AS subplan, EXISTS(SELECT * FROM int4_tbl) AS initplan; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 | f2 | f3 | subplan | initplan ----+------+-----+---------+---------- 11 | test | 141 | t | t @@ -226,6 +228,7 @@ (4 rows) SELECT * FROM voo; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 | f2 ----+------ 2 | more @@ -238,7 +241,9 @@ UPDATE foo SET f1 = new.f1, f2 = new.f2 WHERE f1 = old.f1 RETURNING f1, f2; update voo set f1 = f1 + 1 where f2 = 'zoo2'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree update voo set f1 = f1 + 1 where f2 = 'zoo2' RETURNING *, f1*2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 | f2 | ?column? ----+------+---------- 16 | zoo2 | 32 @@ -254,6 +259,7 @@ (4 rows) SELECT * FROM voo; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 | f2 ----+------ 2 | more @@ -280,6 +286,7 @@ (2 rows) SELECT * FROM voo; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 | f2 ----+------ 2 | more @@ -294,6 +301,7 @@ CREATE TEMP VIEW joinview AS SELECT foo.*, other FROM foo JOIN joinme ON (f2 = f2j); SELECT * FROM joinview; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 | f2 | f3 | f4 | other ----+------+----+-----+------- 2 | more | 42 | 141 | 12345 @@ -305,12 +313,14 @@ FROM joinme WHERE f2 = f2j AND f2 = old.f2 RETURNING foo.*, other; UPDATE joinview SET f1 = f1 + 1 WHERE f3 = 57 RETURNING *, other + 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 | f2 | f3 | f4 | other | ?column? ----+------+----+----+-------+---------- 17 | zoo2 | 57 | 99 | 54321 | 54322 (1 row) SELECT * FROM joinview; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 | f2 | f3 | f4 | other ----+------+----+-----+------- 2 | more | 42 | 141 | 12345 @@ -325,6 +335,7 @@ (2 rows) SELECT * FROM voo; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f1 | f2 ----+------ 2 | more diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/largeobject.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/largeobject.out --- /tmp/cirrus-ci-build/src/test/regress/expected/largeobject.out 2024-03-19 15:41:21.019526000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/largeobject.out 2024-03-19 15:51:33.268738000 +0000 @@ -49,6 +49,7 @@ -- The mode arg to lo_creat is unused, some vestigal holdover from ancient times -- returns the large object id INSERT INTO lotest_stash_values (loid) SELECT lo_creat(42); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- NOTE: large objects require transactions BEGIN; -- lo_open(lobjId oid, mode integer) returns integer @@ -347,6 +348,7 @@ TRUNCATE lotest_stash_values; \set filename :abs_srcdir '/data/tenk.data' INSERT INTO lotest_stash_values (loid) SELECT lo_import(:'filename'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree BEGIN; UPDATE lotest_stash_values SET fd=lo_open(loid, CAST(x'20000' | x'40000' AS integer)); -- verify length of large object @@ -427,6 +429,7 @@ SELECT pageno, data FROM pg_largeobject WHERE loid = (SELECT loid from lotest_stash_values) EXCEPT SELECT pageno, data FROM pg_largeobject WHERE loid = :newloid; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree pageno | data --------+------ (0 rows) diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/with.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/with.out --- /tmp/cirrus-ci-build/src/test/regress/expected/with.out 2024-03-19 15:41:21.047109000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/with.out 2024-03-19 15:51:33.273635000 +0000 @@ -4,6 +4,7 @@ -- Basic WITH WITH q1(x,y) AS (SELECT 1,2) SELECT * FROM q1, q1 AS q2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | y | x | y ---+---+---+--- 1 | 2 | 1 | 2 @@ -16,6 +17,7 @@ UNION SELECT * FROM q1 ) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 5 @@ -29,6 +31,7 @@ SELECT n+1 FROM t WHERE n < 100 ) SELECT sum(n) FROM t; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree sum ------ 5050 @@ -40,6 +43,7 @@ SELECT n+1 FROM t WHERE n < 5 ) SELECT * FROM t; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree n --- 1 @@ -56,6 +60,7 @@ SELECT n || '10'::varbit FROM t WHERE n < '100'::varbit ) SELECT n FROM t; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: could not implement recursive UNION DETAIL: All column datatypes must be hashable. -- recursive view @@ -64,6 +69,7 @@ UNION ALL SELECT n+1 FROM nums WHERE n < 5; SELECT * FROM nums; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree n --- 1 @@ -78,6 +84,7 @@ UNION ALL SELECT n+1 FROM nums WHERE n < 6; SELECT * FROM nums; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree n --- 1 @@ -94,6 +101,7 @@ UNION SELECT 10-n FROM t) SELECT * FROM t; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree n --- 1 @@ -106,6 +114,7 @@ UNION ALL SELECT n+1 FROM t) SELECT * FROM t LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree n ---- 1 @@ -126,6 +135,7 @@ UNION SELECT n+1 FROM t) SELECT * FROM t LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree n ---- 1 @@ -143,6 +153,7 @@ -- Test behavior with an unknown-type literal in the WITH WITH q AS (SELECT 'foo' AS x) SELECT x, pg_typeof(x) FROM q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | pg_typeof -----+----------- foo | text @@ -154,6 +165,7 @@ SELECT n || ' bar' FROM t WHERE length(n) < 20 ) SELECT n, pg_typeof(n) FROM t; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree n | pg_typeof -------------------------+----------- foo | text @@ -195,6 +207,7 @@ SELECT * FROM w3) SELECT * FROM w2) SELECT * FROM w1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c1 ---- 1 @@ -224,6 +237,7 @@ UNION SELECT * FROM innermost1) ) SELECT * FROM outermost ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x --- 1 @@ -268,6 +282,7 @@ WHERE d.parent_department = sd.id ) SELECT * FROM subdepartment ORDER BY name; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree root_name | id | parent_department | name -----------+----+-------------------+------ A | 1 | 0 | A @@ -288,6 +303,7 @@ WHERE d.parent_department = sd.id ) SELECT * FROM subdepartment ORDER BY name; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree level | id | parent_department | name -------+----+-------------------+------ 1 | 1 | 0 | A @@ -309,6 +325,7 @@ WHERE d.parent_department = sd.id ) SELECT * FROM subdepartment WHERE level >= 2 ORDER BY name; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree level | id | parent_department | name -------+----+-------------------+------ 2 | 2 | 1 | B @@ -324,6 +341,7 @@ SELECT * FROM department WHERE name = 'A' ) SELECT * FROM subdepartment ORDER BY name; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id | parent_department | name ----+-------------------+------ 1 | 0 | A @@ -341,6 +359,7 @@ ) SELECT * FROM t WHERE n < 50000 ) AS t WHERE n < 100); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 98 @@ -351,6 +370,7 @@ SELECT hundred, sum(ten) FROM tenk1 GROUP BY hundred ) SELECT count(*) FROM q1 WHERE y > (SELECT sum(y)/100 FROM q1 qsub); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 50 @@ -369,6 +389,7 @@ ) SELECT * FROM subdepartment; SELECT * FROM vsubdepartment ORDER BY name; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id | parent_department | name ----+-------------------+------ 1 | 0 | A @@ -434,6 +455,8 @@ ) SELECT sum(n) FROM t; \d+ sums_1_100 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree View "public.sums_1_100" Column | Type | Collation | Nullable | Default | Storage | Description --------+--------+-----------+----------+---------+---------+------------- @@ -457,6 +480,7 @@ select * from x) ) select * from q limit 24; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id | parent_department | name ----+-------------------+------ 0 | | ROOT @@ -496,6 +520,7 @@ select * from x) ) select * from q limit 32; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id | parent_department | name ----+-------------------+------ 0 | | ROOT @@ -540,6 +565,7 @@ (SELECT 2 AS i UNION ALL SELECT 3 AS i) AS t2 JOIN t ON (t2.i = t.i+1)) SELECT * FROM t; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i | j ---+--- 1 | 2 @@ -557,6 +583,7 @@ INSERT INTO tree VALUES (1, NULL), (2, 1), (3,1), (4,2), (5,2), (6,2), (7,3), (8,3), (9,4), (10,4), (11,7), (12,7), (13,7), (14, 9), (15,11), (16,11); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- -- get all paths from "second level" nodes to leaf nodes -- @@ -571,6 +598,7 @@ array_upper(t1.path,1) = 1 AND array_upper(t2.path,1) > 1) ORDER BY t1.id, t2.id; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id | path | id | path ----+------+----+------------- 2 | {2} | 4 | {2,4} @@ -601,6 +629,7 @@ array_upper(t2.path,1) > 1) GROUP BY t1.id ORDER BY t1.id; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id | count ----+------- 2 | 6 @@ -616,6 +645,7 @@ ) SELECT t1.id, t2.path, t2 FROM t AS t1 JOIN t AS t2 ON (t1.id=t2.id); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id | path | t2 ----+-------------+-------------------- 1 | {} | (1,{}) @@ -642,6 +672,7 @@ with x as materialized (select unique1 from tenk1 b) select count(*) from tenk1 a where unique1 in (select * from x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------ Aggregate @@ -658,6 +689,7 @@ with x as materialized (insert into tenk1 default values returning unique1) select count(*) from tenk1 a where unique1 in (select * from x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------ Aggregate @@ -680,6 +712,7 @@ (2, 3, 'arc 2 -> 3'), (1, 4, 'arc 1 -> 4'), (4, 5, 'arc 4 -> 5'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree explain (verbose, costs off) with recursive search_graph(f, t, label) as ( select * from graph0 g @@ -689,6 +722,7 @@ where g.f = sg.t ) search depth first by f, t set seq select * from search_graph order by seq; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------------------------------------- Sort @@ -723,6 +757,7 @@ where g.f = sg.t ) search depth first by f, t set seq select * from search_graph order by seq; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f | t | label | seq ---+---+------------+------------------- 1 | 2 | arc 1 -> 2 | {"(1,2)"} @@ -742,6 +777,7 @@ where g.f = sg.t ) search depth first by f, t set seq select * from search_graph order by seq; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f | t | label | seq ---+---+------------+------------------- 1 | 2 | arc 1 -> 2 | {"(1,2)"} @@ -762,6 +798,7 @@ where g.f = sg.t ) search breadth first by f, t set seq select * from search_graph order by seq; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------------------------- Sort @@ -796,6 +833,7 @@ where g.f = sg.t ) search breadth first by f, t set seq select * from search_graph order by seq; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f | t | label | seq ---+---+------------+--------- 1 | 2 | arc 1 -> 2 | (0,1,2) @@ -815,6 +853,7 @@ where g.f = sg.t ) search breadth first by f, t set seq select * from search_graph order by seq; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f | t | label | seq ---+---+------------+--------- 1 | 2 | arc 1 -> 2 | (0,1,2) @@ -835,6 +874,7 @@ from test ) search depth first by x set y select * from test limit 5; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------------------------------- Limit @@ -856,6 +896,7 @@ from test ) search depth first by x set y select * from test limit 5; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | y ---+----------------------- 1 | {(1)} @@ -873,6 +914,7 @@ from test ) search breadth first by x set y select * from test limit 5; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------------------------------- Limit @@ -894,6 +936,7 @@ from test ) search breadth first by x set y select * from test limit 5; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | y ---+------- 1 | (0,1) @@ -1002,6 +1045,7 @@ (1 row) select * from v_search; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f | t | label ---+---+------------ 1 | 2 | arc 1 -> 2 @@ -1024,6 +1068,7 @@ (1, 4, 'arc 1 -> 4'), (4, 5, 'arc 4 -> 5'), (5, 1, 'arc 5 -> 1'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree with recursive search_graph(f, t, label, is_cycle, path) as ( select *, false, array[row(g.f, g.t)] from graph g union all @@ -1032,6 +1077,7 @@ where g.f = sg.t and not is_cycle ) select * from search_graph; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f | t | label | is_cycle | path ---+---+------------+----------+------------------------------------------- 1 | 2 | arc 1 -> 2 | f | {"(1,2)"} @@ -1070,6 +1116,7 @@ where g.f = sg.t and not is_cycle ) select * from search_graph; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f | t | label | is_cycle | path ---+---+------------+----------+------------------------------------------- 1 | 2 | arc 1 -> 2 | f | {"(1,2)"} @@ -1108,6 +1155,7 @@ where g.f = sg.t and not is_cycle ) select * from search_graph order by path; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f | t | label | is_cycle | path ---+---+------------+----------+------------------------------------------- 1 | 2 | arc 1 -> 2 | f | {"(1,2)"} @@ -1147,6 +1195,7 @@ where g.f = sg.t ) cycle f, t set is_cycle using path select * from search_graph; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- CTE Scan on search_graph @@ -1179,6 +1228,7 @@ where g.f = sg.t ) cycle f, t set is_cycle using path select * from search_graph; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f | t | label | is_cycle | path ---+---+------------+----------+------------------------------------------- 1 | 2 | arc 1 -> 2 | f | {"(1,2)"} @@ -1216,6 +1266,7 @@ where g.f = sg.t ) cycle f, t set is_cycle to 'Y' default 'N' using path select * from search_graph; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f | t | label | is_cycle | path ---+---+------------+----------+------------------------------------------- 1 | 2 | arc 1 -> 2 | N | {"(1,2)"} @@ -1253,6 +1304,7 @@ from test ) cycle x set is_cycle using path select * from test; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CTE Scan on test @@ -1273,6 +1325,7 @@ from test ) cycle x set is_cycle using path select * from test; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | is_cycle | path ---+----------+----------------------------------------------- 0 | f | {(0)} @@ -1296,6 +1349,7 @@ where not is_cycle -- redundant, but legal ) cycle x set is_cycle using path select * from test; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | is_cycle | path ---+----------+----------------------------------------------- 0 | f | {(0)} @@ -1329,6 +1383,7 @@ where g.f = sg.t ) cycle f, t set is_cycle to true default false using path select f, t, label from search_graph; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f | t | label ---+---+------------ 1 | 2 | arc 1 -> 2 @@ -1365,6 +1420,7 @@ select * from a ) cycle b set c using p select * from a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree b | c | p ---+---+----------- 1 | f | {(1)} @@ -1381,6 +1437,7 @@ ) search depth first by f, t set seq cycle f, t set is_cycle using path select * from search_graph; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f | t | label | seq | is_cycle | path ---+---+------------+-------------------------------------------+----------+------------------------------------------- 1 | 2 | arc 1 -> 2 | {"(1,2)"} | f | {"(1,2)"} @@ -1419,6 +1476,7 @@ ) search breadth first by f, t set seq cycle f, t set is_cycle using path select * from search_graph; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f | t | label | seq | is_cycle | path ---+---+------------+---------+----------+------------------------------------------- 1 | 2 | arc 1 -> 2 | (0,1,2) | f | {"(1,2)"} @@ -1612,6 +1670,7 @@ (1 row) select * from v_cycle1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f | t | label ---+---+------------ 1 | 2 | arc 1 -> 2 @@ -1642,6 +1701,7 @@ (25 rows) select * from v_cycle2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree f | t | label ---+---+------------ 1 | 2 | arc 1 -> 2 @@ -1678,6 +1738,7 @@ y (id) AS (VALUES (1)), x (id) AS (SELECT * FROM y UNION ALL SELECT id+1 FROM x WHERE id < 5) SELECT * FROM x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id ---- 1 @@ -1692,6 +1753,7 @@ x(id) AS (SELECT * FROM y UNION ALL SELECT id+1 FROM x WHERE id < 5), y(id) AS (values (1)) SELECT * FROM x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id ---- 1 @@ -1707,6 +1769,7 @@ y(id) AS (VALUES (1) UNION ALL SELECT id+1 FROM y WHERE id < 10) SELECT y.*, x.* FROM y LEFT JOIN x USING (id); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id | id ----+---- 1 | 1 @@ -1727,6 +1790,7 @@ y(id) AS (VALUES (1) UNION ALL SELECT id+1 FROM x WHERE id < 10) SELECT y.*, x.* FROM y LEFT JOIN x USING (id); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id | id ----+---- 1 | 1 @@ -1745,6 +1809,7 @@ z(id) AS (SELECT * FROM x UNION ALL SELECT id+1 FROM z WHERE id < 10) SELECT * FROM z; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id ---- 1 @@ -1784,6 +1849,7 @@ z(id) AS (SELECT * FROM y UNION ALL SELECT id+1 FROM z WHERE id < 10) SELECT * FROM z; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id ---- 1 @@ -1847,11 +1913,13 @@ -- CREATE TEMPORARY TABLE y (a INTEGER); INSERT INTO y SELECT generate_series(1, 10); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WITH t AS ( SELECT a FROM y ) INSERT INTO y SELECT a+20 FROM t RETURNING *; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a ---- 21 @@ -1895,6 +1963,7 @@ SELECT a FROM y ) UPDATE y SET a = y.a-10 FROM t WHERE y.a > 20 AND t.a = y.a RETURNING y.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a ---- 11 @@ -1940,6 +2009,7 @@ SELECT a+1 FROM t WHERE a < 50 ) DELETE FROM y USING t WHERE t.a = y.a RETURNING y.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a ---- 11 @@ -2014,6 +2084,7 @@ ^ CREATE TEMPORARY TABLE y (a INTEGER); INSERT INTO y SELECT generate_series(1, 10); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- LEFT JOIN WITH RECURSIVE x(n) AS (SELECT a FROM y WHERE a = 1 UNION ALL @@ -2159,12 +2230,14 @@ -- test for bug #4902 -- with cte(foo) as ( values(42) ) values((select foo from cte)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree column1 --------- 42 (1 row) with cte(foo) as ( select 42 ) select * from ((select foo from cte)) q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree foo ----- 42 @@ -2175,6 +2248,7 @@ select ( with cte(foo) as ( values(f1) ) select (select foo from cte) ) from int4_tbl; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree foo ------------- 0 @@ -2187,6 +2261,7 @@ select ( with cte(foo) as ( values(f1) ) values((select foo from cte)) ) from int4_tbl; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree column1 ------------- 0 @@ -2210,6 +2285,7 @@ SELECT j+1 FROM t WHERE j < 10 ) SELECT * FROM t; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree j ---- 1 @@ -2279,6 +2355,7 @@ UNION SELECT 3) ) SELECT * FROM outermost ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x --- 1 @@ -2305,6 +2382,7 @@ UNION SELECT * FROM innermost) ) SELECT * FROM outermost ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x --- 1 @@ -2332,6 +2410,7 @@ B as ( select id, row_number() over (partition by id) as r from A ), C as ( select A.id, array(select B.id from B where B.id = A.id) from A ) select * from C; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id | array -------------------+------------------------------------- 456 | {456} @@ -2369,6 +2448,7 @@ ) ) SELECT * FROM iter; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id_key | row_type | link --------+----------+------ 0 | base | 17 @@ -2405,6 +2485,7 @@ ) ) SELECT * FROM iter; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id_key | row_type | link --------+----------+------ 0 | base | 17 @@ -2436,6 +2517,7 @@ RETURNING * ) SELECT * FROM t; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a ---- 11 @@ -2482,6 +2564,7 @@ RETURNING * ) SELECT * FROM t; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a ---- 2 @@ -2538,6 +2621,7 @@ RETURNING * ) SELECT * FROM t; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a ---- 2 @@ -2578,6 +2662,7 @@ SELECT * FROM t UNION ALL SELECT * FROM t2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a ---- 11 @@ -2626,6 +2711,7 @@ DELETE FROM y RETURNING * ) SELECT * FROM t; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a ---- 42 @@ -2657,6 +2743,7 @@ -- check merging of outer CTE with CTE in a rule action CREATE TEMP TABLE bug6051 AS select i from generate_series(1,3) as t(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM bug6051; i --- @@ -2667,6 +2754,7 @@ WITH t1 AS ( DELETE FROM bug6051 RETURNING * ) INSERT INTO bug6051 SELECT * FROM t1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM bug6051; i --- @@ -2681,6 +2769,7 @@ VALUES(NEW.i); WITH t1 AS ( DELETE FROM bug6051 RETURNING * ) INSERT INTO bug6051 SELECT * FROM t1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM bug6051; i --- @@ -2705,11 +2794,13 @@ -- silly example to verify that hasModifyingCTE flag is propagated CREATE TEMP TABLE bug6051_3 AS SELECT a FROM generate_series(11,13) AS a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE RULE bug6051_3_ins AS ON INSERT TO bug6051_3 DO INSTEAD SELECT i FROM bug6051_2; BEGIN; SET LOCAL debug_parallel_query = on; WITH t1 AS ( DELETE FROM bug6051_3 RETURNING * ) INSERT INTO bug6051_3 SELECT * FROM t1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree i --- 1 @@ -2737,6 +2828,7 @@ SELECT q1, (SELECT q2 FROM t_cte WHERE t_cte.q1 = i8.q1) AS t_sub FROM int8_tbl i8 ) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------- Subquery Scan on ss @@ -2751,6 +2843,7 @@ SELECT q1, (SELECT q2 FROM t_cte WHERE t_cte.q1 = i8.q1) AS t_sub FROM int8_tbl i8 ) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree q1 ------------------ 123 @@ -2767,6 +2860,7 @@ SELECT q1, (SELECT q2 FROM t_cte WHERE t_cte.q1 = i8.q1) AS t_sub FROM int8_tbl i8 ) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------- Subquery Scan on ss @@ -2784,6 +2878,7 @@ SELECT q1, (SELECT q2 FROM t_cte WHERE t_cte.q1 = i8.q1) AS t_sub FROM int8_tbl i8 ) ss; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree q1 ------------------ 123 @@ -2803,6 +2898,7 @@ SELECT * FROM t RETURNING * ) SELECT * FROM t2 JOIN y USING (a) ORDER BY a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a --- 0 @@ -2846,6 +2942,7 @@ RETURNING * ) INSERT INTO y SELECT -a FROM t RETURNING *; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a ----- 0 @@ -2898,6 +2995,7 @@ UPDATE y SET a = a * 100 RETURNING * ) SELECT * FROM t LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a ------ 1100 @@ -2941,6 +3039,7 @@ -- data-modifying WITH containing INSERT...ON CONFLICT DO UPDATE CREATE TABLE withz AS SELECT i AS k, (i || ' v')::text v FROM generate_series(1, 16, 3) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE withz ADD UNIQUE (k); WITH t AS ( INSERT INTO withz SELECT i, 'insert' @@ -2949,6 +3048,7 @@ RETURNING * ) SELECT * FROM t JOIN y ON t.k = y.a ORDER BY a, k; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree k | v | a ---+--------+--- 0 | insert | 0 @@ -2962,6 +3062,7 @@ RETURNING * ) SELECT * FROM aa; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree k | v ---+--- (0 rows) @@ -2996,18 +3097,23 @@ WITH aa AS (SELECT 1 a, 2 b) INSERT INTO withz VALUES(1, 'insert') ON CONFLICT (k) DO UPDATE SET v = (SELECT b || ' update' FROM aa WHERE a = 1 LIMIT 1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WITH aa AS (SELECT 1 a, 2 b) INSERT INTO withz VALUES(1, 'insert') ON CONFLICT (k) DO UPDATE SET v = ' update' WHERE withz.k = (SELECT a FROM aa); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WITH aa AS (SELECT 1 a, 2 b) INSERT INTO withz VALUES(1, 'insert') ON CONFLICT (k) DO UPDATE SET v = (SELECT b || ' update' FROM aa WHERE a = 1 LIMIT 1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WITH aa AS (SELECT 'a' a, 'b' b UNION ALL SELECT 'a' a, 'b' b) INSERT INTO withz VALUES(1, 'insert') ON CONFLICT (k) DO UPDATE SET v = (SELECT b || ' update' FROM aa WHERE a = 'a' LIMIT 1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WITH aa AS (SELECT 1 a, 2 b) INSERT INTO withz VALUES(1, (SELECT b || ' insert' FROM aa WHERE a = 1 )) ON CONFLICT (k) DO UPDATE SET v = (SELECT b || ' update' FROM aa WHERE a = 1 LIMIT 1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- Update a row more than once, in different parts of a wCTE. That is -- an allowed, presumably very rare, edge case, but since it was -- broken in the past, having a test seems worthwhile. @@ -3020,6 +3126,7 @@ INSERT INTO withz VALUES(2, 'Red') ON CONFLICT (k) DO UPDATE SET (k, v) = (SELECT k, v FROM upsert_cte WHERE upsert_cte.k = withz.k) RETURNING k, v; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree k | v ---+--- (0 rows) @@ -3027,6 +3134,7 @@ DROP TABLE withz; -- WITH referenced by MERGE statement CREATE TABLE m AS SELECT i AS k, (i || ' v')::text v FROM generate_series(1, 16, 3) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE m ADD UNIQUE (k); WITH RECURSIVE cte_basic AS (SELECT 1 a, 'cte_basic val' b) MERGE INTO m USING (select 0 k, 'merge source SubPlan' v) o ON m.k=o.k @@ -3038,6 +3146,7 @@ MERGE INTO m USING (select 0 k, 'merge source SubPlan' v offset 0) o ON m.k=o.k WHEN MATCHED THEN UPDATE SET v = (SELECT b || ' merge update' FROM cte_basic WHERE cte_basic.a = m.k LIMIT 1) WHEN NOT MATCHED THEN INSERT VALUES(o.k, o.v); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- Examine SELECT * FROM m where k = 0; k | v @@ -3051,6 +3160,7 @@ MERGE INTO m USING (select 0 k, 'merge source SubPlan' v offset 0) o ON m.k=o.k WHEN MATCHED THEN UPDATE SET v = (SELECT b || ' merge update' FROM cte_basic WHERE cte_basic.a = m.k LIMIT 1) WHEN NOT MATCHED THEN INSERT VALUES(o.k, o.v); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------- Merge on public.m @@ -3081,6 +3191,7 @@ MERGE INTO m USING (select 1 k, 'merge source InitPlan' v offset 0) o ON m.k=o.k WHEN MATCHED THEN UPDATE SET v = (SELECT b || ' merge update' FROM cte_init WHERE a = 1 LIMIT 1) WHEN NOT MATCHED THEN INSERT VALUES(o.k, o.v); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- Examine SELECT * FROM m where k = 1; k | v @@ -3094,6 +3205,7 @@ MERGE INTO m USING (select 1 k, 'merge source InitPlan' v offset 0) o ON m.k=o.k WHEN MATCHED THEN UPDATE SET v = (SELECT b || ' merge update' FROM cte_init WHERE a = 1 LIMIT 1) WHEN NOT MATCHED THEN INSERT VALUES(o.k, o.v); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------- Merge on public.m @@ -3124,6 +3236,7 @@ MERGE INTO m USING (select * from merge_source_cte) o ON m.k=o.a WHEN MATCHED THEN UPDATE SET v = (SELECT b || merge_source_cte.*::text || ' merge update' FROM merge_source_cte WHERE a = 15) WHEN NOT MATCHED THEN INSERT VALUES(o.a, o.b || (SELECT merge_source_cte.*::text || ' merge insert' FROM merge_source_cte)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- Examine SELECT * FROM m where k = 15; k | v @@ -3137,6 +3250,7 @@ MERGE INTO m USING (select * from merge_source_cte) o ON m.k=o.a WHEN MATCHED THEN UPDATE SET v = (SELECT b || merge_source_cte.*::text || ' merge update' FROM merge_source_cte WHERE a = 15) WHEN NOT MATCHED THEN INSERT VALUES(o.a, o.b || (SELECT merge_source_cte.*::text || ' merge insert' FROM merge_source_cte)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------------------------------------------- Merge on public.m @@ -3165,6 +3279,7 @@ -- check that run to completion happens in proper ordering TRUNCATE TABLE y; INSERT INTO y SELECT generate_series(1, 3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE TEMPORARY TABLE yy (a INTEGER); WITH RECURSIVE t1 AS ( INSERT INTO y SELECT * FROM y RETURNING * @@ -3172,6 +3287,7 @@ INSERT INTO yy SELECT * FROM t1 RETURNING * ) SELECT 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ?column? ---------- 1 @@ -3202,6 +3318,7 @@ INSERT INTO y SELECT * FROM y RETURNING * ) SELECT 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ?column? ---------- 1 @@ -3241,6 +3358,7 @@ -- triggers TRUNCATE TABLE y; INSERT INTO y SELECT generate_series(1, 10); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE FUNCTION y_trigger() RETURNS trigger AS $$ begin raise notice 'y_trigger: a = %', new.a; @@ -3258,6 +3376,7 @@ RETURNING * ) SELECT * FROM t; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: y_trigger: a = 21 NOTICE: y_trigger: a = 22 NOTICE: y_trigger: a = 23 @@ -3298,6 +3417,7 @@ RETURNING * ) SELECT * FROM t LIMIT 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: y_trigger: a = 31 NOTICE: y_trigger: a = 32 NOTICE: y_trigger: a = 33 @@ -3345,6 +3465,7 @@ RETURNING * ) SELECT * FROM t; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: y_trigger a ---- @@ -3385,9 +3506,12 @@ CREATE TEMP TABLE child2 ( ) INHERITS ( parent ); INSERT INTO parent VALUES ( 1, 'p1' ); INSERT INTO child1 VALUES ( 11, 'c11' ),( 12, 'c12' ); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO child2 VALUES ( 23, 'c21' ),( 24, 'c22' ); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WITH rcte AS ( SELECT sum(id) AS totalid FROM parent ) UPDATE parent SET id = id + totalid FROM rcte; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM parent; id | val ----+----- @@ -3400,6 +3524,7 @@ WITH wcte AS ( INSERT INTO child1 VALUES ( 42, 'new' ) RETURNING id AS newid ) UPDATE parent SET id = id + newid FROM wcte; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM parent; id | val -----+----- @@ -3413,6 +3538,7 @@ WITH rcte AS ( SELECT max(id) AS maxid FROM parent ) DELETE FROM parent USING rcte WHERE id = maxid; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM parent; id | val -----+----- @@ -3425,6 +3551,7 @@ WITH wcte AS ( INSERT INTO child2 VALUES ( 42, 'new2' ) RETURNING id AS newid ) DELETE FROM parent USING wcte WHERE id = newid; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM parent; id | val -----+------ @@ -3439,6 +3566,7 @@ EXPLAIN (VERBOSE, COSTS OFF) WITH wcte AS ( INSERT INTO int8_tbl VALUES ( 42, 47 ) RETURNING q2 ) DELETE FROM a_star USING wcte WHERE aa = q2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------------------------------------- Delete on public.a_star @@ -3554,6 +3682,7 @@ LINE 1: create table foo (with ordinality); ^ with ordinality as (select 1 as x) select * from ordinality; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x --- 1 @@ -3569,6 +3698,7 @@ -- statements) create temp table with_test (i int); with with_test as (select 42) insert into with_test select * from with_test; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select * from with_test; i ---- diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/xml.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/xml.out --- /tmp/cirrus-ci-build/src/test/regress/expected/xml.out 2024-03-19 15:41:21.047197000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/xml.out 2024-03-19 15:51:33.179664000 +0000 @@ -32,6 +32,7 @@ (1 row) SELECT message FROM pg_input_error_info('one', 'xml'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree message ---------------------------------------------- invalid XML content: invalid XML declaration @@ -820,6 +822,7 @@ CREATE VIEW xmlview9 AS SELECT xmlserialize(content 'good' as text); SELECT table_name, view_definition FROM information_schema.views WHERE table_name LIKE 'xmlview%' ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree table_name | view_definition ------------+------------------------------------------------------------------------------------------------------------ xmlview1 | SELECT xmlcomment('test'::text) AS xmlcomment; @@ -1296,6 +1299,7 @@ size float PATH 'SIZE', unit text PATH 'SIZE/@unit', premier_name text PATH 'PREMIER_NAME' DEFAULT 'not specified'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id | _id | country_name | country_id | region_id | size | unit | premier_name ----+-----+--------------+------------+-----------+------+------+--------------- 1 | 1 | Australia | AU | 3 | | | not specified @@ -1319,6 +1323,7 @@ unit text PATH 'SIZE/@unit', premier_name text PATH 'PREMIER_NAME' DEFAULT 'not specified'); SELECT * FROM xmltableview1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id | _id | country_name | country_id | region_id | size | unit | premier_name ----+-----+--------------+------------+-----------+------+------+--------------- 1 | 1 | Australia | AU | 3 | | | not specified @@ -1330,6 +1335,7 @@ (6 rows) \sv xmltableview1 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE OR REPLACE VIEW public.xmltableview1 AS SELECT "xmltable".id, "xmltable"._id, @@ -1370,6 +1376,7 @@ '/zz:rows/zz:row' PASSING '10' COLUMNS a int PATH 'zz:a'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a ---- 10 @@ -1380,6 +1387,7 @@ PASSING '10' COLUMNS a int PATH 'zz:a'); SELECT * FROM xmltableview2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a ---- 10 @@ -1389,10 +1397,12 @@ '/rows/row' PASSING '10' COLUMNS a int PATH 'a'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: DEFAULT namespace is not supported SELECT * FROM XMLTABLE('.' PASSING '' COLUMNS a text PATH 'foo/namespace::node()'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a -------------------------------------- http://www.w3.org/XML/1998/namespace @@ -1412,6 +1422,7 @@ size float PATH 'SIZE', unit text PATH 'SIZE/@unit', premier_name text PATH 'PREMIER_NAME' DEFAULT 'not specified'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree EXECUTE pp; id | _id | country_name | country_id | region_id | size | unit | premier_name ----+-----+--------------+------------+-----------+------+------+--------------- @@ -1424,6 +1435,7 @@ (6 rows) SELECT xmltable.* FROM xmldata, LATERAL xmltable('/ROWS/ROW[COUNTRY_NAME="Japan" or COUNTRY_NAME="India"]' PASSING data COLUMNS "COUNTRY_NAME" text, "REGION_ID" int); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree COUNTRY_NAME | REGION_ID --------------+----------- India | 3 @@ -1431,6 +1443,7 @@ (2 rows) SELECT xmltable.* FROM xmldata, LATERAL xmltable('/ROWS/ROW[COUNTRY_NAME="Japan" or COUNTRY_NAME="India"]' PASSING data COLUMNS id FOR ORDINALITY, "COUNTRY_NAME" text, "REGION_ID" int); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id | COUNTRY_NAME | REGION_ID ----+--------------+----------- 1 | India | 3 @@ -1438,6 +1451,7 @@ (2 rows) SELECT xmltable.* FROM xmldata, LATERAL xmltable('/ROWS/ROW[COUNTRY_NAME="Japan" or COUNTRY_NAME="India"]' PASSING data COLUMNS id int PATH '@id', "COUNTRY_NAME" text, "REGION_ID" int); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id | COUNTRY_NAME | REGION_ID ----+--------------+----------- 4 | India | 3 @@ -1445,6 +1459,7 @@ (2 rows) SELECT xmltable.* FROM xmldata, LATERAL xmltable('/ROWS/ROW[COUNTRY_NAME="Japan" or COUNTRY_NAME="India"]' PASSING data COLUMNS id int PATH '@id'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id ---- 4 @@ -1452,6 +1467,7 @@ (2 rows) SELECT xmltable.* FROM xmldata, LATERAL xmltable('/ROWS/ROW[COUNTRY_NAME="Japan" or COUNTRY_NAME="India"]' PASSING data COLUMNS id FOR ORDINALITY); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id ---- 1 @@ -1459,6 +1475,7 @@ (2 rows) SELECT xmltable.* FROM xmldata, LATERAL xmltable('/ROWS/ROW[COUNTRY_NAME="Japan" or COUNTRY_NAME="India"]' PASSING data COLUMNS id int PATH '@id', "COUNTRY_NAME" text, "REGION_ID" int, rawdata xml PATH '.'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id | COUNTRY_NAME | REGION_ID | rawdata ----+--------------+-----------+------------------------------------------------------------------ 4 | India | 3 | + @@ -1474,6 +1491,7 @@ (2 rows) SELECT xmltable.* FROM xmldata, LATERAL xmltable('/ROWS/ROW[COUNTRY_NAME="Japan" or COUNTRY_NAME="India"]' PASSING data COLUMNS id int PATH '@id', "COUNTRY_NAME" text, "REGION_ID" int, rawdata xml PATH './*'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id | COUNTRY_NAME | REGION_ID | rawdata ----+--------------+-----------+----------------------------------------------------------------------------------------------------------------------------- 4 | India | 3 | INIndia3 @@ -1481,15 +1499,18 @@ (2 rows) SELECT * FROM xmltable('/root' passing 'a1aa2a bbbbxxxcccc' COLUMNS element text); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree element ---------------------- a1aa2a bbbbxxxcccc (1 row) SELECT * FROM xmltable('/root' passing 'a1aa2a bbbbxxxcccc' COLUMNS element text PATH 'element/text()'); -- should fail +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: more than one value returned by column XPath expression -- CDATA test select * from xmltable('d/r' passing ' &"<>!foo]]>2' columns c text); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree c ------------------------- &"<>!foo @@ -1498,6 +1519,7 @@ -- XML builtin entities SELECT * FROM xmltable('/x/a' PASSING ''"&<>' COLUMNS ent text); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ent ----- ' @@ -1508,6 +1530,7 @@ (5 rows) SELECT * FROM xmltable('/x/a' PASSING ''"&<>' COLUMNS ent xml); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ent ------------------ ' @@ -1530,6 +1553,7 @@ size float PATH 'SIZE', unit text PATH 'SIZE/@unit', premier_name text PATH 'PREMIER_NAME' DEFAULT 'not specified'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Nested Loop @@ -1543,6 +1567,7 @@ -- test qual SELECT xmltable.* FROM xmldata, LATERAL xmltable('/ROWS/ROW[COUNTRY_NAME="Japan" or COUNTRY_NAME="India"]' PASSING data COLUMNS "COUNTRY_NAME" text, "REGION_ID" int) WHERE "COUNTRY_NAME" = 'Japan'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree COUNTRY_NAME | REGION_ID --------------+----------- Japan | 3 @@ -1550,6 +1575,7 @@ EXPLAIN (VERBOSE, COSTS OFF) SELECT f.* FROM xmldata, LATERAL xmltable('/ROWS/ROW[COUNTRY_NAME="Japan" or COUNTRY_NAME="India"]' PASSING data COLUMNS "COUNTRY_NAME" text, "REGION_ID" int) AS f WHERE "COUNTRY_NAME" = 'Japan'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Nested Loop @@ -1564,6 +1590,7 @@ EXPLAIN (VERBOSE, FORMAT JSON, COSTS OFF) SELECT f.* FROM xmldata, LATERAL xmltable('/ROWS/ROW[COUNTRY_NAME="Japan" or COUNTRY_NAME="India"]' PASSING data COLUMNS "COUNTRY_NAME" text, "REGION_ID" int) AS f WHERE "COUNTRY_NAME" = 'Japan'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [ + @@ -1645,6 +1672,7 @@ size float PATH 'SIZE', unit text PATH 'SIZE/@unit', premier_name text PATH 'PREMIER_NAME' DEFAULT 'not specified'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id | _id | country_name | country_id | region_id | size | unit | premier_name ----+-----+----------------+------------+-----------+------+------+--------------- 1 | 1 | Australia | AU | 3 | | | not specified @@ -1673,6 +1701,7 @@ unit text PATH 'SIZE/@unit', premier_name text PATH 'PREMIER_NAME' DEFAULT 'not specified') WHERE region_id = 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree id | _id | country_name | country_id | region_id | size | unit | premier_name ----+-----+----------------+------------+-----------+------+------+--------------- 10 | 1 | Czech Republic | CZ | 2 | | | Milos Zeman @@ -1694,6 +1723,7 @@ unit text PATH 'SIZE/@unit', premier_name text PATH 'PREMIER_NAME' DEFAULT 'not specified') WHERE region_id = 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Nested Loop @@ -1719,6 +1749,7 @@ size float PATH 'SIZE' NOT NULL, unit text PATH 'SIZE/@unit', premier_name text PATH 'PREMIER_NAME' DEFAULT 'not specified'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: null is not allowed in column "size" -- if all is ok, then result is empty -- one line xml test @@ -1743,6 +1774,7 @@ proargtypes text)) SELECT * FROM z EXCEPT SELECT * FROM x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree proname | proowner | procost | pronargs | proargnames | proargtypes ---------+----------+---------+----------+-------------+------------- (0 rows) @@ -1769,6 +1801,7 @@ proargtypes text)) SELECT * FROM z EXCEPT SELECT * FROM x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree proname | proowner | procost | pronargs | proargnames | proargtypes ---------+----------+---------+----------+-------------+------------- (0 rows) @@ -1779,6 +1812,7 @@ INSERT INTO xmltest2 VALUES('3', 'C'); INSERT INTO xmltest2 VALUES('2', 'D'); SELECT xmltable.* FROM xmltest2, LATERAL xmltable('/d/r' PASSING x COLUMNS a int PATH '' || lower(_path) || 'c'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a --- 1 @@ -1788,6 +1822,7 @@ (4 rows) SELECT xmltable.* FROM xmltest2, LATERAL xmltable(('/d/r/' || lower(_path) || 'c') PASSING x COLUMNS a int PATH '.'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a --- 1 @@ -1797,6 +1832,7 @@ (4 rows) SELECT xmltable.* FROM xmltest2, LATERAL xmltable(('/d/r/' || lower(_path) || 'c') PASSING x COLUMNS a int PATH 'x' DEFAULT ascii(_path) - 54); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a ---- 11 @@ -1807,6 +1843,7 @@ -- XPath result can be boolean or number too SELECT * FROM XMLTABLE('*' PASSING 'a' COLUMNS a xml PATH '.', b text PATH '.', c text PATH '"hi"', d boolean PATH '. = "a"', e integer PATH 'string-length(.)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c | d | e ----------+---+----+---+--- a | a | hi | t | 1 @@ -1814,6 +1851,7 @@ \x SELECT * FROM XMLTABLE('*' PASSING 'pre&deeppost' COLUMNS x xml PATH '/e/n2', y xml PATH '/'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]----------------------------------------------------------- x | &deep y | pre&deeppost+ @@ -1821,6 +1859,7 @@ \x SELECT * FROM XMLTABLE('.' PASSING XMLELEMENT(NAME a) columns a varchar(20) PATH '""', b xml PATH '""'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b --------+-------------- | <foo/> diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/partition_join.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/partition_join.out --- /tmp/cirrus-ci-build/src/test/regress/expected/partition_join.out 2024-03-19 15:41:21.043465000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/partition_join.out 2024-03-19 15:51:37.869756000 +0000 @@ -12,6 +12,7 @@ CREATE TABLE prt1_p3 PARTITION OF prt1 FOR VALUES FROM (500) TO (600); CREATE TABLE prt1_p2 PARTITION OF prt1 FOR VALUES FROM (250) TO (500); INSERT INTO prt1 SELECT i, i % 25, to_char(i, 'FM0000') FROM generate_series(0, 599) i WHERE i % 2 = 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE INDEX iprt1_p1_a on prt1_p1(a); CREATE INDEX iprt1_p2_a on prt1_p2(a); CREATE INDEX iprt1_p3_a on prt1_p3(a); @@ -21,6 +22,7 @@ CREATE TABLE prt2_p2 PARTITION OF prt2 FOR VALUES FROM (250) TO (500); CREATE TABLE prt2_p3 PARTITION OF prt2 FOR VALUES FROM (500) TO (600); INSERT INTO prt2 SELECT i % 25, i, to_char(i, 'FM0000') FROM generate_series(0, 599) i WHERE i % 3 = 0; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE INDEX iprt2_p1_b on prt2_p1(b); CREATE INDEX iprt2_p2_b on prt2_p2(b); CREATE INDEX iprt2_p3_b on prt2_p3(b); @@ -67,6 +69,7 @@ SELECT COUNT(*) FROM prt1 t1 LEFT JOIN prt1 t2 ON t1.a = t2.a LEFT JOIN prt1 t3 ON t2.a = t3.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------- Aggregate @@ -103,6 +106,7 @@ SELECT COUNT(*) FROM prt1 t1 LEFT JOIN prt1 t2 ON t1.a = t2.a LEFT JOIN prt1 t3 ON t2.a = t3.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 300 @@ -111,6 +115,7 @@ -- left outer join, with whole-row reference; partitionwise join does not apply EXPLAIN (COSTS OFF) SELECT t1, t2 FROM prt1 t1 LEFT JOIN prt2 t2 ON t1.a = t2.b WHERE t1.b = 0 ORDER BY t1.a, t2.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------- Sort @@ -132,6 +137,7 @@ (16 rows) SELECT t1, t2 FROM prt1 t1 LEFT JOIN prt2 t2 ON t1.a = t2.b WHERE t1.b = 0 ORDER BY t1.a, t2.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree t1 | t2 --------------+-------------- (0,0,0000) | (0,0,0000) @@ -151,6 +157,7 @@ -- right outer join EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.b, t2.c FROM prt1 t1 RIGHT JOIN prt2 t2 ON t1.a = t2.b WHERE t2.a = 0 ORDER BY t1.a, t2.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------------------------- Sort @@ -176,6 +183,7 @@ (20 rows) SELECT t1.a, t1.c, t2.b, t2.c FROM prt1 t1 RIGHT JOIN prt2 t2 ON t1.a = t2.b WHERE t2.a = 0 ORDER BY t1.a, t2.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | c | b | c -----+------+-----+------ 0 | 0000 | 0 | 0000 @@ -191,6 +199,7 @@ -- full outer join, with placeholder vars EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.b, t2.c FROM (SELECT 50 phv, * FROM prt1 WHERE prt1.b = 0) t1 FULL JOIN (SELECT 75 phv, * FROM prt2 WHERE prt2.a = 0) t2 ON (t1.a = t2.b) WHERE t1.phv = t1.a OR t2.phv = t2.b ORDER BY t1.a, t2.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------- Sort @@ -223,6 +232,7 @@ (27 rows) SELECT t1.a, t1.c, t2.b, t2.c FROM (SELECT 50 phv, * FROM prt1 WHERE prt1.b = 0) t1 FULL JOIN (SELECT 75 phv, * FROM prt2 WHERE prt2.a = 0) t2 ON (t1.a = t2.b) WHERE t1.phv = t1.a OR t2.phv = t2.b ORDER BY t1.a, t2.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | c | b | c ----+------+----+------ 50 | 0050 | | @@ -254,6 +264,7 @@ -- Currently we can't do partitioned join if nullable-side partitions are pruned EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.b, t2.c FROM (SELECT * FROM prt1 WHERE a < 450) t1 LEFT JOIN (SELECT * FROM prt2 WHERE b > 250) t2 ON t1.a = t2.b WHERE t1.b = 0 ORDER BY t1.a, t2.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------- Sort @@ -274,6 +285,7 @@ (15 rows) SELECT t1.a, t1.c, t2.b, t2.c FROM (SELECT * FROM prt1 WHERE a < 450) t1 LEFT JOIN (SELECT * FROM prt2 WHERE b > 250) t2 ON t1.a = t2.b WHERE t1.b = 0 ORDER BY t1.a, t2.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | c | b | c -----+------+-----+------ 0 | 0000 | | @@ -290,6 +302,7 @@ -- Currently we can't do partitioned join if nullable-side partitions are pruned EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.b, t2.c FROM (SELECT * FROM prt1 WHERE a < 450) t1 FULL JOIN (SELECT * FROM prt2 WHERE b > 250) t2 ON t1.a = t2.b WHERE t1.b = 0 OR t2.a = 0 ORDER BY t1.a, t2.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------- Sort @@ -311,6 +324,7 @@ (16 rows) SELECT t1.a, t1.c, t2.b, t2.c FROM (SELECT * FROM prt1 WHERE a < 450) t1 FULL JOIN (SELECT * FROM prt2 WHERE b > 250) t2 ON t1.a = t2.b WHERE t1.b = 0 OR t2.a = 0 ORDER BY t1.a, t2.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | c | b | c -----+------+-----+------ 0 | 0000 | | @@ -402,6 +416,7 @@ SELECT * FROM prt1 t1 LEFT JOIN LATERAL (SELECT t2.a AS t2a, t3.a AS t3a, least(t1.a,t2.a,t3.b) FROM prt1 t2 JOIN prt2 t3 ON (t2.a = t3.b)) ss ON t1.a = ss.t2a WHERE t1.b = 0 ORDER BY t1.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------------- Sort @@ -436,6 +451,7 @@ SELECT * FROM prt1 t1 LEFT JOIN LATERAL (SELECT t2.a AS t2a, t3.a AS t3a, least(t1.a,t2.a,t3.b) FROM prt1 t2 JOIN prt2 t3 ON (t2.a = t3.b)) ss ON t1.a = ss.t2a WHERE t1.b = 0 ORDER BY t1.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c | t2a | t3a | least -----+---+------+-----+-----+------- 0 | 0 | 0000 | 0 | 0 | 0 @@ -456,6 +472,7 @@ SELECT t1.a, ss.t2a, ss.t2c FROM prt1 t1 LEFT JOIN LATERAL (SELECT t2.a AS t2a, t3.a AS t3a, t2.b t2b, t2.c t2c, least(t1.a,t2.a,t3.b) FROM prt1 t2 JOIN prt2 t3 ON (t2.a = t3.b)) ss ON t1.c = ss.t2c WHERE (t1.b + coalesce(ss.t2b, 0)) = 0 ORDER BY t1.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------- Sort @@ -489,6 +506,7 @@ SELECT t1.a, ss.t2a, ss.t2c FROM prt1 t1 LEFT JOIN LATERAL (SELECT t2.a AS t2a, t3.a AS t3a, t2.b t2b, t2.c t2c, least(t1.a,t2.a,t3.a) FROM prt1 t2 JOIN prt2 t3 ON (t2.a = t3.b)) ss ON t1.c = ss.t2c WHERE (t1.b + coalesce(ss.t2b, 0)) = 0 ORDER BY t1.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | t2a | t2c -----+-----+------ 0 | 0 | 0000 @@ -512,6 +530,7 @@ SELECT a, b FROM prt1 FULL JOIN prt2 p2(b,a,c) USING(a,b) WHERE a BETWEEN 490 AND 510 GROUP BY 1, 2 ORDER BY 1, 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------------------------------------------------------- Group @@ -562,6 +581,7 @@ SELECT a, b FROM prt1 FULL JOIN prt2 p2(b,a,c) USING(a,b) WHERE a BETWEEN 490 AND 510 GROUP BY 1, 2 ORDER BY 1, 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b -----+---- 490 | 15 @@ -590,6 +610,7 @@ CREATE TABLE prt1_e_p2 PARTITION OF prt1_e FOR VALUES FROM (250) TO (500); CREATE TABLE prt1_e_p3 PARTITION OF prt1_e FOR VALUES FROM (500) TO (600); INSERT INTO prt1_e SELECT i, i, i % 25 FROM generate_series(0, 599, 2) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE INDEX iprt1_e_p1_ab2 on prt1_e_p1(((a+b)/2)); CREATE INDEX iprt1_e_p2_ab2 on prt1_e_p2(((a+b)/2)); CREATE INDEX iprt1_e_p3_ab2 on prt1_e_p3(((a+b)/2)); @@ -599,6 +620,7 @@ CREATE TABLE prt2_e_p2 PARTITION OF prt2_e FOR VALUES FROM (250) TO (500); CREATE TABLE prt2_e_p3 PARTITION OF prt2_e FOR VALUES FROM (500) TO (600); INSERT INTO prt2_e SELECT i, i, i % 25 FROM generate_series(0, 599, 3) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE prt2_e; EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_e t1, prt2_e t2 WHERE (t1.a + t1.b)/2 = (t2.b + t2.a)/2 AND t1.c = 0 ORDER BY t1.a, t2.b; @@ -689,6 +711,7 @@ EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.b, t2.c, t3.a + t3.b, t3.c FROM (prt1 t1 LEFT JOIN prt2 t2 ON t1.a = t2.b) LEFT JOIN prt1_e t3 ON (t1.a = (t3.a + t3.b)/2) WHERE t1.b = 0 ORDER BY t1.a, t2.b, t3.a + t3.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------- Sort @@ -727,6 +750,7 @@ (33 rows) SELECT t1.a, t1.c, t2.b, t2.c, t3.a + t3.b, t3.c FROM (prt1 t1 LEFT JOIN prt2 t2 ON t1.a = t2.b) LEFT JOIN prt1_e t3 ON (t1.a = (t3.a + t3.b)/2) WHERE t1.b = 0 ORDER BY t1.a, t2.b, t3.a + t3.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | c | b | c | ?column? | c -----+------+-----+------+----------+--- 0 | 0000 | 0 | 0000 | 0 | 0 @@ -745,6 +769,7 @@ EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.b, t2.c, t3.a + t3.b, t3.c FROM (prt1 t1 LEFT JOIN prt2 t2 ON t1.a = t2.b) RIGHT JOIN prt1_e t3 ON (t1.a = (t3.a + t3.b)/2) WHERE t3.c = 0 ORDER BY t1.a, t2.b, t3.a + t3.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------- Sort @@ -780,6 +805,7 @@ (30 rows) SELECT t1.a, t1.c, t2.b, t2.c, t3.a + t3.b, t3.c FROM (prt1 t1 LEFT JOIN prt2 t2 ON t1.a = t2.b) RIGHT JOIN prt1_e t3 ON (t1.a = (t3.a + t3.b)/2) WHERE t3.c = 0 ORDER BY t1.a, t2.b, t3.a + t3.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | c | b | c | ?column? | c -----+------+-----+------+----------+--- 0 | 0000 | 0 | 0000 | 0 | 0 @@ -802,6 +828,7 @@ EXPLAIN (COSTS OFF) SELECT COUNT(*) FROM prt1 FULL JOIN prt2 p2(b,a,c) USING(a,b) FULL JOIN prt2 p3(b,a,c) USING (a, b) WHERE a BETWEEN 490 AND 510; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------------------------------------------------------------------------------- Aggregate @@ -840,6 +867,7 @@ SELECT COUNT(*) FROM prt1 FULL JOIN prt2 p2(b,a,c) USING(a,b) FULL JOIN prt2 p3(b,a,c) USING (a, b) WHERE a BETWEEN 490 AND 510; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 14 @@ -851,6 +879,7 @@ EXPLAIN (COSTS OFF) SELECT COUNT(*) FROM prt1 FULL JOIN prt2 p2(b,a,c) USING(a,b) FULL JOIN prt2 p3(b,a,c) USING (a, b) FULL JOIN prt1 p4 (a,b,c) USING (a, b) WHERE a BETWEEN 490 AND 510; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Aggregate @@ -901,6 +930,7 @@ SELECT COUNT(*) FROM prt1 FULL JOIN prt2 p2(b,a,c) USING(a,b) FULL JOIN prt2 p3(b,a,c) USING (a, b) FULL JOIN prt1 p4 (a,b,c) USING (a, b) WHERE a BETWEEN 490 AND 510; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 14 @@ -910,6 +940,7 @@ -- make sure these go to null as expected EXPLAIN (COSTS OFF) SELECT t1.a, t1.phv, t2.b, t2.phv, t3.a + t3.b, t3.phv FROM ((SELECT 50 phv, * FROM prt1 WHERE prt1.b = 0) t1 FULL JOIN (SELECT 75 phv, * FROM prt2 WHERE prt2.a = 0) t2 ON (t1.a = t2.b)) FULL JOIN (SELECT 50 phv, * FROM prt1_e WHERE prt1_e.c = 0) t3 ON (t1.a = (t3.a + t3.b)/2) WHERE t1.a = t1.phv OR t2.b = t2.phv OR (t3.a + t3.b)/2 = t3.phv ORDER BY t1.a, t2.b, t3.a + t3.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------------------------------------ Sort @@ -957,6 +988,7 @@ (42 rows) SELECT t1.a, t1.phv, t2.b, t2.phv, t3.a + t3.b, t3.phv FROM ((SELECT 50 phv, * FROM prt1 WHERE prt1.b = 0) t1 FULL JOIN (SELECT 75 phv, * FROM prt2 WHERE prt2.a = 0) t2 ON (t1.a = t2.b)) FULL JOIN (SELECT 50 phv, * FROM prt1_e WHERE prt1_e.c = 0) t3 ON (t1.a = (t3.a + t3.b)/2) WHERE t1.a = t1.phv OR t2.b = t2.phv OR (t3.a + t3.b)/2 = t3.phv ORDER BY t1.a, t2.b, t3.a + t3.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | phv | b | phv | ?column? | phv ----+-----+----+-----+----------+----- 50 | 50 | | | 100 | 50 @@ -1141,6 +1173,7 @@ EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.b, t2.c, t3.a + t3.b, t3.c FROM (prt1 t1 LEFT JOIN prt2 t2 ON t1.a = t2.b) RIGHT JOIN prt1_e t3 ON (t1.a = (t3.a + t3.b)/2) WHERE t3.c = 0 ORDER BY t1.a, t2.b, t3.a + t3.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------------------- Sort @@ -1197,6 +1230,7 @@ (51 rows) SELECT t1.a, t1.c, t2.b, t2.c, t3.a + t3.b, t3.c FROM (prt1 t1 LEFT JOIN prt2 t2 ON t1.a = t2.b) RIGHT JOIN prt1_e t3 ON (t1.a = (t3.a + t3.b)/2) WHERE t3.c = 0 ORDER BY t1.a, t2.b, t3.a + t3.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | c | b | c | ?column? | c -----+------+-----+------+----------+--- 0 | 0000 | 0 | 0000 | 0 | 0 @@ -1217,6 +1251,7 @@ -- This should generate a partitionwise join, but currently fails to EXPLAIN (COSTS OFF) SELECT t1.a, t2.b FROM (SELECT * FROM prt1 WHERE a < 450) t1 LEFT JOIN (SELECT * FROM prt2 WHERE b > 250) t2 ON t1.a = t2.b WHERE t1.b = 0 ORDER BY t1.a, t2.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------- Incremental Sort @@ -1241,6 +1276,7 @@ (19 rows) SELECT t1.a, t2.b FROM (SELECT * FROM prt1 WHERE a < 450) t1 LEFT JOIN (SELECT * FROM prt2 WHERE b > 250) t2 ON t1.a = t2.b WHERE t1.b = 0 ORDER BY t1.a, t2.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b -----+----- 0 | @@ -1298,15 +1334,18 @@ CREATE TABLE prt1_m_p2 PARTITION OF prt1_m FOR VALUES FROM (250, 250) TO (500, 500); CREATE TABLE prt1_m_p3 PARTITION OF prt1_m FOR VALUES FROM (500, 500) TO (600, 600); INSERT INTO prt1_m SELECT i, i, i % 25 FROM generate_series(0, 599, 2) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE prt1_m; CREATE TABLE prt2_m (a int, b int, c int) PARTITION BY RANGE(((b + a)/2), b); CREATE TABLE prt2_m_p1 PARTITION OF prt2_m FOR VALUES FROM (0, 0) TO (250, 250); CREATE TABLE prt2_m_p2 PARTITION OF prt2_m FOR VALUES FROM (250, 250) TO (500, 500); CREATE TABLE prt2_m_p3 PARTITION OF prt2_m FOR VALUES FROM (500, 500) TO (600, 600); INSERT INTO prt2_m SELECT i, i, i % 25 FROM generate_series(0, 599, 3) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE prt2_m; EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.b, t2.c FROM (SELECT * FROM prt1_m WHERE prt1_m.c = 0) t1 FULL JOIN (SELECT * FROM prt2_m WHERE prt2_m.c = 0) t2 ON (t1.a = (t2.b + t2.a)/2 AND t2.b = (t1.a + t1.b)/2) ORDER BY t1.a, t2.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------------------------------------------------------ Sort @@ -1336,6 +1375,7 @@ (24 rows) SELECT t1.a, t1.c, t2.b, t2.c FROM (SELECT * FROM prt1_m WHERE prt1_m.c = 0) t1 FULL JOIN (SELECT * FROM prt2_m WHERE prt2_m.c = 0) t2 ON (t1.a = (t2.b + t2.a)/2 AND t2.b = (t1.a + t1.b)/2) ORDER BY t1.a, t2.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | c | b | c -----+---+-----+--- 0 | 0 | 0 | 0 @@ -1364,12 +1404,14 @@ CREATE TABLE plt1_p2 PARTITION OF plt1 FOR VALUES IN ('0001', '0005', '0002', '0009'); CREATE TABLE plt1_p3 PARTITION OF plt1 FOR VALUES IN ('0006', '0007', '0008', '0011'); INSERT INTO plt1 SELECT i, i, to_char(i/50, 'FM0000') FROM generate_series(0, 599, 2) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE plt1; CREATE TABLE plt2 (a int, b int, c text) PARTITION BY LIST(c); CREATE TABLE plt2_p1 PARTITION OF plt2 FOR VALUES IN ('0000', '0003', '0004', '0010'); CREATE TABLE plt2_p2 PARTITION OF plt2 FOR VALUES IN ('0001', '0005', '0002', '0009'); CREATE TABLE plt2_p3 PARTITION OF plt2 FOR VALUES IN ('0006', '0007', '0008', '0011'); INSERT INTO plt2 SELECT i, i, to_char(i/50, 'FM0000') FROM generate_series(0, 599, 3) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE plt2; -- -- list partitioned by expression @@ -1379,6 +1421,7 @@ CREATE TABLE plt1_e_p2 PARTITION OF plt1_e FOR VALUES IN ('0001', '0005', '0002', '0009'); CREATE TABLE plt1_e_p3 PARTITION OF plt1_e FOR VALUES IN ('0006', '0007', '0008', '0011'); INSERT INTO plt1_e SELECT i, i, 'A' || to_char(i/50, 'FM0000') FROM generate_series(0, 599, 2) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE plt1_e; -- test partition matching with N-way join EXPLAIN (COSTS OFF) @@ -1447,6 +1490,7 @@ EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.b, t2.c FROM (SELECT * FROM prt1 WHERE a = 1 AND a = 2) t1 LEFT JOIN prt2 t2 ON t1.a = t2.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------- Result @@ -1455,6 +1499,7 @@ EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.b, t2.c FROM (SELECT * FROM prt1 WHERE a = 1 AND a = 2) t1 RIGHT JOIN prt2 t2 ON t1.a = t2.b, prt1 t3 WHERE t2.b = t3.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------- Hash Left Join @@ -1482,6 +1527,7 @@ EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.b, t2.c FROM (SELECT * FROM prt1 WHERE a = 1 AND a = 2) t1 FULL JOIN prt2 t2 ON t1.a = t2.b WHERE t2.a = 0 ORDER BY t1.a, t2.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------- Sort @@ -1508,12 +1554,14 @@ CREATE TABLE pht1_p2 PARTITION OF pht1 FOR VALUES WITH (MODULUS 3, REMAINDER 1); CREATE TABLE pht1_p3 PARTITION OF pht1 FOR VALUES WITH (MODULUS 3, REMAINDER 2); INSERT INTO pht1 SELECT i, i, to_char(i/50, 'FM0000') FROM generate_series(0, 599, 2) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE pht1; CREATE TABLE pht2 (a int, b int, c text) PARTITION BY HASH(c); CREATE TABLE pht2_p1 PARTITION OF pht2 FOR VALUES WITH (MODULUS 3, REMAINDER 0); CREATE TABLE pht2_p2 PARTITION OF pht2 FOR VALUES WITH (MODULUS 3, REMAINDER 1); CREATE TABLE pht2_p3 PARTITION OF pht2 FOR VALUES WITH (MODULUS 3, REMAINDER 2); INSERT INTO pht2 SELECT i, i, to_char(i/50, 'FM0000') FROM generate_series(0, 599, 3) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE pht2; -- -- hash partitioned by expression @@ -1523,6 +1571,7 @@ CREATE TABLE pht1_e_p2 PARTITION OF pht1_e FOR VALUES WITH (MODULUS 3, REMAINDER 1); CREATE TABLE pht1_e_p3 PARTITION OF pht1_e FOR VALUES WITH (MODULUS 3, REMAINDER 2); INSERT INTO pht1_e SELECT i, i, 'A' || to_char(i/50, 'FM0000') FROM generate_series(0, 299, 2) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE pht1_e; -- test partition matching with N-way join EXPLAIN (COSTS OFF) @@ -1617,6 +1666,7 @@ ANALYZE plt2; EXPLAIN (COSTS OFF) SELECT avg(t1.a), avg(t2.b), t1.c, t2.c FROM plt1 t1 RIGHT JOIN plt2 t2 ON t1.c = t2.c WHERE t1.a % 25 = 0 GROUP BY t1.c, t2.c ORDER BY t1.c, t2.c; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------- Sort @@ -1656,6 +1706,7 @@ CREATE TABLE prt1_l_p3_p1 PARTITION OF prt1_l_p3 FOR VALUES FROM (0) TO (13); CREATE TABLE prt1_l_p3_p2 PARTITION OF prt1_l_p3 FOR VALUES FROM (13) TO (25); INSERT INTO prt1_l SELECT i, i % 25, to_char(i % 4, 'FM0000') FROM generate_series(0, 599, 2) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE prt1_l; CREATE TABLE prt2_l (a int, b int, c varchar) PARTITION BY RANGE(b); CREATE TABLE prt2_l_p1 PARTITION OF prt2_l FOR VALUES FROM (0) TO (250); @@ -1666,6 +1717,7 @@ CREATE TABLE prt2_l_p3_p1 PARTITION OF prt2_l_p3 FOR VALUES FROM (0) TO (13); CREATE TABLE prt2_l_p3_p2 PARTITION OF prt2_l_p3 FOR VALUES FROM (13) TO (25); INSERT INTO prt2_l SELECT i % 25, i, to_char(i % 4, 'FM0000') FROM generate_series(0, 599, 3) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE prt2_l; -- inner join, qual covering only top-level partitions EXPLAIN (COSTS OFF) @@ -1714,6 +1766,7 @@ -- left join EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_l t1 LEFT JOIN prt2_l t2 ON t1.a = t2.b AND t1.c = t2.c WHERE t1.b = 0 ORDER BY t1.a, t2.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------------ Sort @@ -1748,6 +1801,7 @@ (29 rows) SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_l t1 LEFT JOIN prt2_l t2 ON t1.a = t2.b AND t1.c = t2.c WHERE t1.b = 0 ORDER BY t1.a, t2.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | c | b | c -----+------+-----+------ 0 | 0000 | 0 | 0000 @@ -1767,6 +1821,7 @@ -- right join EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_l t1 RIGHT JOIN prt2_l t2 ON t1.a = t2.b AND t1.c = t2.c WHERE t2.a = 0 ORDER BY t1.a, t2.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------------ Sort @@ -1801,6 +1856,7 @@ (29 rows) SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_l t1 RIGHT JOIN prt2_l t2 ON t1.a = t2.b AND t1.c = t2.c WHERE t2.a = 0 ORDER BY t1.a, t2.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | c | b | c -----+------+-----+------ 0 | 0000 | 0 | 0000 @@ -1816,6 +1872,7 @@ -- full join EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.b, t2.c FROM (SELECT * FROM prt1_l WHERE prt1_l.b = 0) t1 FULL JOIN (SELECT * FROM prt2_l WHERE prt2_l.a = 0) t2 ON (t1.a = t2.b AND t1.c = t2.c) ORDER BY t1.a, t2.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------------------------------------------- Sort @@ -1852,6 +1909,7 @@ (31 rows) SELECT t1.a, t1.c, t2.b, t2.c FROM (SELECT * FROM prt1_l WHERE prt1_l.b = 0) t1 FULL JOIN (SELECT * FROM prt2_l WHERE prt2_l.a = 0) t2 ON (t1.a = t2.b AND t1.c = t2.c) ORDER BY t1.a, t2.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | c | b | c -----+------+-----+------ 0 | 0000 | 0 | 0000 @@ -1877,6 +1935,7 @@ SELECT * FROM prt1_l t1 LEFT JOIN LATERAL (SELECT t2.a AS t2a, t2.c AS t2c, t2.b AS t2b, t3.b AS t3b, least(t1.a,t2.a,t3.b) FROM prt1_l t2 JOIN prt2_l t3 ON (t2.a = t3.b AND t2.c = t3.c)) ss ON t1.a = ss.t2a AND t1.c = ss.t2c WHERE t1.b = 0 ORDER BY t1.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------------------------------------- Sort @@ -1928,6 +1987,7 @@ SELECT * FROM prt1_l t1 LEFT JOIN LATERAL (SELECT t2.a AS t2a, t2.c AS t2c, t2.b AS t2b, t3.b AS t3b, least(t1.a,t2.a,t3.b) FROM prt1_l t2 JOIN prt2_l t3 ON (t2.a = t3.b AND t2.c = t3.c)) ss ON t1.a = ss.t2a AND t1.c = ss.t2c WHERE t1.b = 0 ORDER BY t1.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c | t2a | t2c | t2b | t3b | least -----+---+------+-----+------+-----+-----+------- 0 | 0 | 0000 | 0 | 0000 | 0 | 0 | 0 @@ -1947,6 +2007,7 @@ -- join with one side empty EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.b, t2.c FROM (SELECT * FROM prt1_l WHERE a = 1 AND a = 2) t1 RIGHT JOIN prt2_l t2 ON t1.a = t2.b AND t1.b = t2.a AND t1.c = t2.c; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------- Hash Left Join @@ -1973,6 +2034,7 @@ FROM int4_tbl, LATERAL (SELECT int4_tbl.f1 FROM int8_tbl LIMIT 2) ss WHERE prt1_l.c IS NULL); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------- Delete on prt1_l @@ -2002,23 +2064,27 @@ CREATE TABLE prt1_n_p1 PARTITION OF prt1_n FOR VALUES FROM ('0000') TO ('0250'); CREATE TABLE prt1_n_p2 PARTITION OF prt1_n FOR VALUES FROM ('0250') TO ('0500'); INSERT INTO prt1_n SELECT i, i, to_char(i, 'FM0000') FROM generate_series(0, 499, 2) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE prt1_n; CREATE TABLE prt2_n (a int, b int, c text) PARTITION BY LIST(c); CREATE TABLE prt2_n_p1 PARTITION OF prt2_n FOR VALUES IN ('0000', '0003', '0004', '0010', '0006', '0007'); CREATE TABLE prt2_n_p2 PARTITION OF prt2_n FOR VALUES IN ('0001', '0005', '0002', '0009', '0008', '0011'); INSERT INTO prt2_n SELECT i, i, to_char(i/50, 'FM0000') FROM generate_series(0, 599, 2) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE prt2_n; CREATE TABLE prt3_n (a int, b int, c text) PARTITION BY LIST(c); CREATE TABLE prt3_n_p1 PARTITION OF prt3_n FOR VALUES IN ('0000', '0004', '0006', '0007'); CREATE TABLE prt3_n_p2 PARTITION OF prt3_n FOR VALUES IN ('0001', '0002', '0008', '0010'); CREATE TABLE prt3_n_p3 PARTITION OF prt3_n FOR VALUES IN ('0003', '0005', '0009', '0011'); INSERT INTO prt2_n SELECT i, i, to_char(i/50, 'FM0000') FROM generate_series(0, 599, 2) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE prt3_n; CREATE TABLE prt4_n (a int, b int, c text) PARTITION BY RANGE(a); CREATE TABLE prt4_n_p1 PARTITION OF prt4_n FOR VALUES FROM (0) TO (300); CREATE TABLE prt4_n_p2 PARTITION OF prt4_n FOR VALUES FROM (300) TO (500); CREATE TABLE prt4_n_p3 PARTITION OF prt4_n FOR VALUES FROM (500) TO (600); INSERT INTO prt4_n SELECT i, i, to_char(i, 'FM0000') FROM generate_series(0, 599, 2) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE prt4_n; -- partitionwise join can not be applied if the partition ranges differ EXPLAIN (COSTS OFF) @@ -2071,6 +2137,7 @@ -- between partition keys EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.b, t2.c FROM prt1 t1 LEFT JOIN prt2 t2 ON (t1.a < t2.b); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------------------- Nested Loop Left Join @@ -2110,6 +2177,7 @@ -- partitionwise join EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_m t1 LEFT JOIN prt2_m t2 ON t1.a = t2.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------- Hash Left Join @@ -2128,6 +2196,7 @@ -- equi-join between non-key columns does not qualify for partitionwise join EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_m t1 LEFT JOIN prt2_m t2 ON t1.c = t2.c; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------- Hash Left Join @@ -2147,6 +2216,7 @@ -- partitioned tables EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_n t1 LEFT JOIN prt2_n t2 ON (t1.c = t2.c); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------- Hash Right Join @@ -2164,6 +2234,7 @@ -- partition lists EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_n t1 JOIN prt2_n t2 ON (t1.c = t2.c) JOIN plt1 t3 ON (t1.c = t3.c); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------- Hash Join @@ -2188,6 +2259,7 @@ -- non-key column EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_n t1 FULL JOIN prt1 t2 ON (t1.c = t2.c); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------- Hash Full Join @@ -2218,8 +2290,10 @@ create temp table prtx2_3 partition of prtx2 for values from (21) to (31); insert into prtx1 select 1 + i%30, i, i from generate_series(1,1000) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into prtx2 select 1 + i%30, i, i from generate_series(1,500) i, generate_series(1,10) j; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree create index on prtx2 (b); create index on prtx2 (c); analyze prtx1; @@ -2316,6 +2390,7 @@ CREATE TABLE prt1_adv_p3 PARTITION OF prt1_adv FOR VALUES FROM (300) TO (400); CREATE INDEX prt1_adv_a_idx ON prt1_adv (a); INSERT INTO prt1_adv SELECT i, i % 25, to_char(i, 'FM0000') FROM generate_series(100, 399) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE prt1_adv; CREATE TABLE prt2_adv (a int, b int, c varchar) PARTITION BY RANGE (b); CREATE TABLE prt2_adv_p1 PARTITION OF prt2_adv FOR VALUES FROM (100) TO (150); @@ -2323,12 +2398,16 @@ CREATE TABLE prt2_adv_p3 PARTITION OF prt2_adv FOR VALUES FROM (350) TO (500); CREATE INDEX prt2_adv_b_idx ON prt2_adv (b); INSERT INTO prt2_adv_p1 SELECT i % 25, i, to_char(i, 'FM0000') FROM generate_series(100, 149) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO prt2_adv_p2 SELECT i % 25, i, to_char(i, 'FM0000') FROM generate_series(200, 299) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO prt2_adv_p3 SELECT i % 25, i, to_char(i, 'FM0000') FROM generate_series(350, 499) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE prt2_adv; -- inner join EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_adv t1 INNER JOIN prt2_adv t2 ON (t1.a = t2.b) WHERE t1.b = 0 ORDER BY t1.a, t2.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------ Sort @@ -2355,6 +2434,7 @@ (21 rows) SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_adv t1 INNER JOIN prt2_adv t2 ON (t1.a = t2.b) WHERE t1.b = 0 ORDER BY t1.a, t2.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | c | b | c -----+------+-----+------ 100 | 0100 | 100 | 0100 @@ -2411,6 +2491,7 @@ -- left join EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_adv t1 LEFT JOIN prt2_adv t2 ON (t1.a = t2.b) WHERE t1.b = 0 ORDER BY t1.a, t2.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------ Sort @@ -2437,6 +2518,7 @@ (21 rows) SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_adv t1 LEFT JOIN prt2_adv t2 ON (t1.a = t2.b) WHERE t1.b = 0 ORDER BY t1.a, t2.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | c | b | c -----+------+-----+------ 100 | 0100 | 100 | 0100 @@ -2493,6 +2575,7 @@ -- full join EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.b, t2.c FROM (SELECT 175 phv, * FROM prt1_adv WHERE prt1_adv.b = 0) t1 FULL JOIN (SELECT 425 phv, * FROM prt2_adv WHERE prt2_adv.a = 0) t2 ON (t1.a = t2.b) WHERE t1.phv = t1.a OR t2.phv = t2.b ORDER BY t1.a, t2.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------------- Sort @@ -2525,6 +2608,7 @@ (27 rows) SELECT t1.a, t1.c, t2.b, t2.c FROM (SELECT 175 phv, * FROM prt1_adv WHERE prt1_adv.b = 0) t1 FULL JOIN (SELECT 425 phv, * FROM prt2_adv WHERE prt2_adv.a = 0) t2 ON (t1.a = t2.b) WHERE t1.phv = t1.a OR t2.phv = t2.b ORDER BY t1.a, t2.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | c | b | c -----+------+-----+------ 175 | 0175 | | @@ -2534,10 +2618,12 @@ -- Test cases where one side has an extra partition CREATE TABLE prt2_adv_extra PARTITION OF prt2_adv FOR VALUES FROM (500) TO (MAXVALUE); INSERT INTO prt2_adv SELECT i % 25, i, to_char(i, 'FM0000') FROM generate_series(500, 599) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE prt2_adv; -- inner join EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_adv t1 INNER JOIN prt2_adv t2 ON (t1.a = t2.b) WHERE t1.b = 0 ORDER BY t1.a, t2.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------ Sort @@ -2564,6 +2650,7 @@ (21 rows) SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_adv t1 INNER JOIN prt2_adv t2 ON (t1.a = t2.b) WHERE t1.b = 0 ORDER BY t1.a, t2.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | c | b | c -----+------+-----+------ 100 | 0100 | 100 | 0100 @@ -2620,6 +2707,7 @@ -- left join EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_adv t1 LEFT JOIN prt2_adv t2 ON (t1.a = t2.b) WHERE t1.b = 0 ORDER BY t1.a, t2.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------ Sort @@ -2646,6 +2734,7 @@ (21 rows) SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_adv t1 LEFT JOIN prt2_adv t2 ON (t1.a = t2.b) WHERE t1.b = 0 ORDER BY t1.a, t2.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | c | b | c -----+------+-----+------ 100 | 0100 | 100 | 0100 @@ -2666,6 +2755,7 @@ -- partitions on the nullable side EXPLAIN (COSTS OFF) SELECT t1.b, t1.c, t2.a, t2.c FROM prt2_adv t1 LEFT JOIN prt1_adv t2 ON (t1.b = t2.a) WHERE t1.a = 0 ORDER BY t1.b, t2.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------------------- Sort @@ -2755,6 +2845,7 @@ -- partitions on the nullable side EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.b, t2.c FROM (SELECT 175 phv, * FROM prt1_adv WHERE prt1_adv.b = 0) t1 FULL JOIN (SELECT 425 phv, * FROM prt2_adv WHERE prt2_adv.a = 0) t2 ON (t1.a = t2.b) WHERE t1.phv = t1.a OR t2.phv = t2.b ORDER BY t1.a, t2.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------- Sort @@ -2784,6 +2875,7 @@ -- 3-way join where not every pair of relations can do partitioned join EXPLAIN (COSTS OFF) SELECT t1.b, t1.c, t2.a, t2.c, t3.a, t3.c FROM prt2_adv t1 LEFT JOIN prt1_adv t2 ON (t1.b = t2.a) INNER JOIN prt1_adv t3 ON (t1.b = t3.a) WHERE t1.a = 0 ORDER BY t1.b, t2.a, t3.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------------------- Sort @@ -2820,6 +2912,7 @@ (31 rows) SELECT t1.b, t1.c, t2.a, t2.c, t3.a, t3.c FROM prt2_adv t1 LEFT JOIN prt1_adv t2 ON (t1.b = t2.a) INNER JOIN prt1_adv t3 ON (t1.b = t3.a) WHERE t1.a = 0 ORDER BY t1.b, t2.a, t3.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree b | c | a | c | a | c -----+------+-----+------+-----+------ 100 | 0100 | 100 | 0100 | 100 | 0100 @@ -2840,10 +2933,12 @@ CREATE TABLE prt2_adv_p3_1 PARTITION OF prt2_adv FOR VALUES FROM (350) TO (375); CREATE TABLE prt2_adv_p3_2 PARTITION OF prt2_adv FOR VALUES FROM (375) TO (500); INSERT INTO prt2_adv SELECT i % 25, i, to_char(i, 'FM0000') FROM generate_series(350, 499) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE prt2_adv; -- inner join EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_adv t1 INNER JOIN prt2_adv t2 ON (t1.a = t2.b) WHERE t1.b = 0 ORDER BY t1.a, t2.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------ Sort @@ -2892,6 +2987,7 @@ -- left join EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_adv t1 LEFT JOIN prt2_adv t2 ON (t1.a = t2.b) WHERE t1.b = 0 ORDER BY t1.a, t2.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------ Sort @@ -2940,6 +3036,7 @@ -- full join EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.b, t2.c FROM (SELECT 175 phv, * FROM prt1_adv WHERE prt1_adv.b = 0) t1 FULL JOIN (SELECT 425 phv, * FROM prt2_adv WHERE prt2_adv.a = 0) t2 ON (t1.a = t2.b) WHERE t1.phv = t1.a OR t2.phv = t2.b ORDER BY t1.a, t2.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------- Sort @@ -2979,6 +3076,7 @@ -- partition EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_adv t1 INNER JOIN prt2_adv t2 ON (t1.a = t2.b) WHERE t1.b = 0 ORDER BY t1.a, t2.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------ Sort @@ -2999,6 +3097,7 @@ (15 rows) SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_adv t1 INNER JOIN prt2_adv t2 ON (t1.a = t2.b) WHERE t1.b = 0 ORDER BY t1.a, t2.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | c | b | c -----+------+-----+------ 100 | 0100 | 100 | 0100 @@ -3019,6 +3118,7 @@ -- matches prt2_adv_p1 and prt2_adv_p3 EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_adv t1 INNER JOIN prt2_adv t2 ON (t1.a = t2.b) WHERE t1.b = 0 ORDER BY t1.a, t2.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------ Sort @@ -3047,6 +3147,7 @@ -- matches prt2_adv_p1 and prt2_adv_p3 EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_adv t1 INNER JOIN prt2_adv t2 ON (t1.a = t2.b) WHERE t1.b = 0 ORDER BY t1.a, t2.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------ Sort @@ -3076,10 +3177,12 @@ CREATE TABLE prt3_adv_p2 PARTITION OF prt3_adv FOR VALUES FROM (300) TO (400); CREATE INDEX prt3_adv_a_idx ON prt3_adv (a); INSERT INTO prt3_adv SELECT i, i % 25, to_char(i, 'FM0000') FROM generate_series(200, 399) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE prt3_adv; -- 3-way join to test the default partition of a join relation EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.b, t2.c, t3.a, t3.c FROM prt1_adv t1 LEFT JOIN prt2_adv t2 ON (t1.a = t2.b) LEFT JOIN prt3_adv t3 ON (t1.a = t3.a) WHERE t1.b = 0 ORDER BY t1.a, t2.b, t3.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------ Sort @@ -3108,6 +3211,7 @@ (23 rows) SELECT t1.a, t1.c, t2.b, t2.c, t3.a, t3.c FROM prt1_adv t1 LEFT JOIN prt2_adv t2 ON (t1.a = t2.b) LEFT JOIN prt3_adv t3 ON (t1.a = t3.a) WHERE t1.b = 0 ORDER BY t1.a, t2.b, t3.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | c | b | c | a | c -----+------+-----+------+-----+------ 100 | 0100 | 100 | 0100 | | @@ -3130,15 +3234,18 @@ CREATE TABLE prt1_adv_p3 PARTITION OF prt1_adv FOR VALUES FROM (300) TO (400); CREATE INDEX prt1_adv_a_idx ON prt1_adv (a); INSERT INTO prt1_adv SELECT i, i % 25, to_char(i, 'FM0000') FROM generate_series(100, 399) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE prt1_adv; CREATE TABLE prt2_adv (a int, b int, c varchar) PARTITION BY RANGE (b); CREATE TABLE prt2_adv_p1 PARTITION OF prt2_adv FOR VALUES FROM (100) TO (200); CREATE TABLE prt2_adv_p2 PARTITION OF prt2_adv FOR VALUES FROM (200) TO (400); CREATE INDEX prt2_adv_b_idx ON prt2_adv (b); INSERT INTO prt2_adv SELECT i % 25, i, to_char(i, 'FM0000') FROM generate_series(100, 399) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE prt2_adv; EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_adv t1 INNER JOIN prt2_adv t2 ON (t1.a = t2.b) WHERE t1.a < 300 AND t1.b = 0 ORDER BY t1.a, t2.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------- Sort @@ -3159,6 +3266,7 @@ (15 rows) SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_adv t1 INNER JOIN prt2_adv t2 ON (t1.a = t2.b) WHERE t1.a < 300 AND t1.b = 0 ORDER BY t1.a, t2.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | c | b | c -----+------+-----+------ 100 | 0100 | 100 | 0100 @@ -3178,6 +3286,7 @@ ANALYZE prt2_adv; EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_adv t1 INNER JOIN prt2_adv t2 ON (t1.a = t2.b) WHERE t1.a >= 100 AND t1.a < 300 AND t1.b = 0 ORDER BY t1.a, t2.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------------- Sort @@ -3198,6 +3307,7 @@ (15 rows) SELECT t1.a, t1.c, t2.b, t2.c FROM prt1_adv t1 INNER JOIN prt2_adv t2 ON (t1.a = t2.b) WHERE t1.a >= 100 AND t1.a < 300 AND t1.b = 0 ORDER BY t1.a, t2.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | c | b | c -----+------+-----+------ 100 | 0100 | 100 | 0100 @@ -3218,16 +3328,19 @@ CREATE TABLE plt1_adv_p2 PARTITION OF plt1_adv FOR VALUES IN ('0004', '0006'); CREATE TABLE plt1_adv_p3 PARTITION OF plt1_adv FOR VALUES IN ('0008', '0009'); INSERT INTO plt1_adv SELECT i, i, to_char(i % 10, 'FM0000') FROM generate_series(1, 299) i WHERE i % 10 IN (1, 3, 4, 6, 8, 9); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE plt1_adv; CREATE TABLE plt2_adv (a int, b int, c text) PARTITION BY LIST (c); CREATE TABLE plt2_adv_p1 PARTITION OF plt2_adv FOR VALUES IN ('0002', '0003'); CREATE TABLE plt2_adv_p2 PARTITION OF plt2_adv FOR VALUES IN ('0004', '0006'); CREATE TABLE plt2_adv_p3 PARTITION OF plt2_adv FOR VALUES IN ('0007', '0009'); INSERT INTO plt2_adv SELECT i, i, to_char(i % 10, 'FM0000') FROM generate_series(1, 299) i WHERE i % 10 IN (2, 3, 4, 6, 7, 9); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE plt2_adv; -- inner join EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 INNER JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------- Sort @@ -3254,6 +3367,7 @@ (21 rows) SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 INNER JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | c | a | c ---+------+---+------ 3 | 0003 | 3 | 0003 @@ -3299,6 +3413,7 @@ -- left join EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 LEFT JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------- Sort @@ -3325,6 +3440,7 @@ (21 rows) SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 LEFT JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | c | a | c ---+------+---+------ 1 | 0001 | | @@ -3373,6 +3489,7 @@ -- full join EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 FULL JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE coalesce(t1.b, 0) < 10 AND coalesce(t2.b, 0) < 10 ORDER BY t1.a, t2.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------------------------- Sort @@ -3399,6 +3516,7 @@ (21 rows) SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 FULL JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE coalesce(t1.b, 0) < 10 AND coalesce(t2.b, 0) < 10 ORDER BY t1.a, t2.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | c | a | c ---+------+---+------ 1 | 0001 | | @@ -3418,6 +3536,7 @@ -- inner join EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 INNER JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------- Sort @@ -3444,6 +3563,7 @@ (21 rows) SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 INNER JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | c | a | c ---+------+---+------ 3 | 0003 | 3 | 0003 @@ -3489,6 +3609,7 @@ -- left join EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 LEFT JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------- Sort @@ -3515,6 +3636,7 @@ (21 rows) SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 LEFT JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | c | a | c ---+------+---+------ 1 | 0001 | | @@ -3529,6 +3651,7 @@ -- partitions on the nullable side EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.a, t2.c FROM plt2_adv t1 LEFT JOIN plt1_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------------------- Sort @@ -3616,6 +3739,7 @@ -- partitions on the nullable side EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 FULL JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE coalesce(t1.b, 0) < 10 AND coalesce(t2.b, 0) < 10 ORDER BY t1.a, t2.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------- Sort @@ -3643,10 +3767,12 @@ CREATE TABLE plt2_adv_p2_1 PARTITION OF plt2_adv FOR VALUES IN ('0004'); CREATE TABLE plt2_adv_p2_2 PARTITION OF plt2_adv FOR VALUES IN ('0006'); INSERT INTO plt2_adv SELECT i, i, to_char(i % 10, 'FM0000') FROM generate_series(1, 299) i WHERE i % 10 IN (4, 6); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE plt2_adv; -- inner join EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 INNER JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------ Sort @@ -3695,6 +3821,7 @@ -- left join EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 LEFT JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------ Sort @@ -3743,6 +3870,7 @@ -- full join EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 FULL JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE coalesce(t1.b, 0) < 10 AND coalesce(t2.b, 0) < 10 ORDER BY t1.a, t2.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------- Sort @@ -3771,17 +3899,20 @@ -- Change plt1_adv_p1 to the NULL partition CREATE TABLE plt1_adv_p1_null PARTITION OF plt1_adv FOR VALUES IN (NULL, '0001', '0003'); INSERT INTO plt1_adv SELECT i, i, to_char(i % 10, 'FM0000') FROM generate_series(1, 299) i WHERE i % 10 IN (1, 3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO plt1_adv VALUES (-1, -1, NULL); ANALYZE plt1_adv; ALTER TABLE plt2_adv DETACH PARTITION plt2_adv_p3; -- Change plt2_adv_p3 to the NULL partition CREATE TABLE plt2_adv_p3_null PARTITION OF plt2_adv FOR VALUES IN (NULL, '0007', '0009'); INSERT INTO plt2_adv SELECT i, i, to_char(i % 10, 'FM0000') FROM generate_series(1, 299) i WHERE i % 10 IN (7, 9); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO plt2_adv VALUES (-1, -1, NULL); ANALYZE plt2_adv; -- inner join EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 INNER JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------- Sort @@ -3808,6 +3939,7 @@ (21 rows) SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 INNER JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | c | a | c ---+------+---+------ 3 | 0003 | 3 | 0003 @@ -3854,6 +3986,7 @@ -- left join EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 LEFT JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------- Sort @@ -3880,6 +4013,7 @@ (21 rows) SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 LEFT JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | c | a | c ----+------+---+------ -1 | | | @@ -3930,6 +4064,7 @@ -- full join EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 FULL JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE coalesce(t1.b, 0) < 10 AND coalesce(t2.b, 0) < 10 ORDER BY t1.a, t2.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------------------------- Sort @@ -3956,6 +4091,7 @@ (21 rows) SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 FULL JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE coalesce(t1.b, 0) < 10 AND coalesce(t2.b, 0) < 10 ORDER BY t1.a, t2.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | c | a | c ----+------+----+------ -1 | | | @@ -3985,6 +4121,7 @@ -- inner join EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 INNER JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------- Sort @@ -4011,6 +4148,7 @@ (21 rows) SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 INNER JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | c | a | c ---+------+---+------ 3 | 0003 | 3 | 0003 @@ -4023,6 +4161,7 @@ -- partitions on the nullable side EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 LEFT JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------------------- Sort @@ -4049,6 +4188,7 @@ -- partitions on the nullable side EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 FULL JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE coalesce(t1.b, 0) < 10 AND coalesce(t2.b, 0) < 10 ORDER BY t1.a, t2.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------- Sort @@ -4076,6 +4216,7 @@ -- inner join EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 INNER JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------- Sort @@ -4102,6 +4243,7 @@ (21 rows) SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 INNER JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | c | a | c ---+------+---+------ 3 | 0003 | 3 | 0003 @@ -4113,6 +4255,7 @@ -- left join EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 LEFT JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------------- Sort @@ -4144,6 +4287,7 @@ (26 rows) SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 LEFT JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | c | a | c ----+------+---+------ -1 | | | @@ -4158,6 +4302,7 @@ -- full join EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 FULL JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE coalesce(t1.b, 0) < 10 AND coalesce(t2.b, 0) < 10 ORDER BY t1.a, t2.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------------------------- Sort @@ -4190,6 +4335,7 @@ (27 rows) SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 FULL JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE coalesce(t1.b, 0) < 10 AND coalesce(t2.b, 0) < 10 ORDER BY t1.a, t2.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | c | a | c ----+------+----+------ -1 | | | @@ -4207,6 +4353,7 @@ -- 3-way join to test the NULL partition of a join relation EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.a, t2.c, t3.a, t3.c FROM plt1_adv t1 LEFT JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) LEFT JOIN plt1_adv t3 ON (t1.a = t3.a AND t1.c = t3.c) WHERE t1.b < 10 ORDER BY t1.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------------------- Sort @@ -4253,6 +4400,7 @@ (41 rows) SELECT t1.a, t1.c, t2.a, t2.c, t3.a, t3.c FROM plt1_adv t1 LEFT JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) LEFT JOIN plt1_adv t3 ON (t1.a = t3.a AND t1.c = t3.c) WHERE t1.b < 10 ORDER BY t1.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | c | a | c | a | c ----+------+---+------+---+------ -1 | | | | | @@ -4278,6 +4426,7 @@ -- partition EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 INNER JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------- Sort @@ -4298,6 +4447,7 @@ (15 rows) SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 INNER JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | c | a | c ---+------+---+------ 3 | 0003 | 3 | 0003 @@ -4310,11 +4460,13 @@ -- the key values CREATE TABLE plt2_adv_p2_ext PARTITION OF plt2_adv FOR VALUES IN ('0004', '0005', '0006'); INSERT INTO plt2_adv SELECT i, i, to_char(i % 10, 'FM0000') FROM generate_series(1, 299) i WHERE i % 10 IN (4, 5, 6); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE plt2_adv; -- Partitioned join can't be applied because the default partition of plt1_adv -- matches plt2_adv_p1 and plt2_adv_p2_ext EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 INNER JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------ Sort @@ -4340,6 +4492,7 @@ -- matches plt2_adv_p1 and plt2_adv_p2_ext EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 INNER JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------ Sort @@ -4365,10 +4518,12 @@ CREATE TABLE plt3_adv_p1 PARTITION OF plt3_adv FOR VALUES IN ('0004', '0006'); CREATE TABLE plt3_adv_p2 PARTITION OF plt3_adv FOR VALUES IN ('0007', '0009'); INSERT INTO plt3_adv SELECT i, i, to_char(i % 10, 'FM0000') FROM generate_series(1, 299) i WHERE i % 10 IN (4, 6, 7, 9); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE plt3_adv; -- 3-way join to test the default partition of a join relation EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.a, t2.c, t3.a, t3.c FROM plt1_adv t1 LEFT JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) LEFT JOIN plt3_adv t3 ON (t1.a = t3.a AND t1.c = t3.c) WHERE t1.b < 10 ORDER BY t1.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------------------- Sort @@ -4397,6 +4552,7 @@ (23 rows) SELECT t1.a, t1.c, t2.a, t2.c, t3.a, t3.c FROM plt1_adv t1 LEFT JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) LEFT JOIN plt3_adv t3 ON (t1.a = t3.a AND t1.c = t3.c) WHERE t1.b < 10 ORDER BY t1.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | c | a | c | a | c ---+------+---+------+---+------ 1 | 0001 | | | | @@ -4411,10 +4567,12 @@ -- Add the NULL partition to plt2_adv CREATE TABLE plt2_adv_p1_null PARTITION OF plt2_adv FOR VALUES IN (NULL, '0001', '0003'); INSERT INTO plt2_adv SELECT i, i, to_char(i % 10, 'FM0000') FROM generate_series(1, 299) i WHERE i % 10 IN (1, 3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO plt2_adv VALUES (-1, -1, NULL); ANALYZE plt2_adv; EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 INNER JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------- Sort @@ -4435,6 +4593,7 @@ (15 rows) SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 INNER JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | c | a | c ---+------+---+------ 1 | 0001 | 1 | 0001 @@ -4450,6 +4609,7 @@ ANALYZE plt2_adv; EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 INNER JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------ Sort @@ -4463,6 +4623,7 @@ (8 rows) SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 INNER JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.b < 10 ORDER BY t1.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | c | a | c ---+------+---+------ 4 | 0004 | 4 | 0004 @@ -4479,6 +4640,7 @@ CREATE TABLE plt1_adv_p3 PARTITION OF plt1_adv FOR VALUES IN ('0003'); CREATE TABLE plt1_adv_p4 PARTITION OF plt1_adv FOR VALUES IN (NULL, '0004', '0005'); INSERT INTO plt1_adv SELECT i, i, to_char(i % 10, 'FM0000') FROM generate_series(1, 299) i WHERE i % 10 IN (1, 2, 3, 4, 5); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO plt1_adv VALUES (-1, -1, NULL); ANALYZE plt1_adv; CREATE TABLE plt2_adv (a int, b int, c text) PARTITION BY LIST (c); @@ -4487,10 +4649,12 @@ CREATE TABLE plt2_adv_p3 PARTITION OF plt2_adv FOR VALUES IN ('0003'); CREATE TABLE plt2_adv_p4 PARTITION OF plt2_adv FOR VALUES IN ('0004', '0005'); INSERT INTO plt2_adv SELECT i, i, to_char(i % 10, 'FM0000') FROM generate_series(1, 299) i WHERE i % 10 IN (1, 2, 3, 4, 5); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO plt2_adv VALUES (-1, -1, NULL); ANALYZE plt2_adv; EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 INNER JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.c IN ('0003', '0004', '0005') AND t1.b < 10 ORDER BY t1.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------------------------------- Sort @@ -4511,6 +4675,7 @@ (15 rows) SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 INNER JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.c IN ('0003', '0004', '0005') AND t1.b < 10 ORDER BY t1.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | c | a | c ---+------+---+------ 3 | 0003 | 3 | 0003 @@ -4520,6 +4685,7 @@ EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 LEFT JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.c IS NULL AND t1.b < 10 ORDER BY t1.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------- Sort @@ -4533,6 +4699,7 @@ (8 rows) SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 LEFT JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.c IS NULL AND t1.b < 10 ORDER BY t1.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | c | a | c ----+---+---+--- -1 | | | @@ -4544,6 +4711,7 @@ ANALYZE plt2_adv; EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 INNER JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.c IN ('0003', '0004', '0005') AND t1.b < 10 ORDER BY t1.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------------------------------- Sort @@ -4564,6 +4732,7 @@ (15 rows) SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 INNER JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.c IN ('0003', '0004', '0005') AND t1.b < 10 ORDER BY t1.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | c | a | c ---+------+---+------ 3 | 0003 | 3 | 0003 @@ -4573,6 +4742,7 @@ EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 LEFT JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.c IS NULL AND t1.b < 10 ORDER BY t1.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------- Sort @@ -4586,6 +4756,7 @@ (8 rows) SELECT t1.a, t1.c, t2.a, t2.c FROM plt1_adv t1 LEFT JOIN plt2_adv t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE t1.c IS NULL AND t1.b < 10 ORDER BY t1.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | c | a | c ----+---+---+--- -1 | | | @@ -4598,16 +4769,19 @@ CREATE TABLE plt1_adv_p1 PARTITION OF plt1_adv FOR VALUES IN ('0000', '0001', '0002'); CREATE TABLE plt1_adv_p2 PARTITION OF plt1_adv FOR VALUES IN ('0003', '0004'); INSERT INTO plt1_adv SELECT i, i, to_char(i % 5, 'FM0000') FROM generate_series(0, 24) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE plt1_adv; CREATE TABLE plt2_adv (a int, b int, c text) PARTITION BY LIST (c); CREATE TABLE plt2_adv_p1 PARTITION OF plt2_adv FOR VALUES IN ('0002'); CREATE TABLE plt2_adv_p2 PARTITION OF plt2_adv FOR VALUES IN ('0003', '0004'); INSERT INTO plt2_adv SELECT i, i, to_char(i % 5, 'FM0000') FROM generate_series(0, 24) i WHERE i % 5 IN (2, 3, 4); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE plt2_adv; CREATE TABLE plt3_adv (a int, b int, c text) PARTITION BY LIST (c); CREATE TABLE plt3_adv_p1 PARTITION OF plt3_adv FOR VALUES IN ('0001'); CREATE TABLE plt3_adv_p2 PARTITION OF plt3_adv FOR VALUES IN ('0003', '0004'); INSERT INTO plt3_adv SELECT i, i, to_char(i % 5, 'FM0000') FROM generate_series(0, 24) i WHERE i % 5 IN (1, 3, 4); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE plt3_adv; -- This tests that when merging partitions from plt1_adv and plt2_adv in -- merge_list_bounds(), process_outer_partition() returns an already-assigned @@ -4615,6 +4789,7 @@ -- '0001' of that partition EXPLAIN (COSTS OFF) SELECT t1.a, t1.c, t2.a, t2.c, t3.a, t3.c FROM (plt1_adv t1 LEFT JOIN plt2_adv t2 ON (t1.c = t2.c)) FULL JOIN plt3_adv t3 ON (t1.c = t3.c) WHERE coalesce(t1.a, 0) % 5 != 3 AND coalesce(t1.a, 0) % 5 != 4 ORDER BY t1.c, t1.a, t2.a, t3.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------------------------------------- Sort @@ -4643,6 +4818,7 @@ (23 rows) SELECT t1.a, t1.c, t2.a, t2.c, t3.a, t3.c FROM (plt1_adv t1 LEFT JOIN plt2_adv t2 ON (t1.c = t2.c)) FULL JOIN plt3_adv t3 ON (t1.c = t3.c) WHERE coalesce(t1.a, 0) % 5 != 3 AND coalesce(t1.a, 0) % 5 != 4 ORDER BY t1.c, t1.a, t2.a, t3.a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | c | a | c | a | c ----+------+----+------+----+------ 0 | 0000 | | | | @@ -4716,7 +4892,9 @@ CREATE TABLE alpha_pos_p2 PARTITION OF alpha_pos FOR VALUES IN ('0004', '0006'); CREATE TABLE alpha_pos_p3 PARTITION OF alpha_pos FOR VALUES IN ('0008', '0009'); INSERT INTO alpha_neg SELECT -1.0, i, to_char(i % 10, 'FM0000') FROM generate_series(100, 399) i WHERE i % 10 IN (1, 3, 4, 6, 8, 9); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO alpha_pos SELECT 1.0, i, to_char(i % 10, 'FM0000') FROM generate_series(100, 399) i WHERE i % 10 IN (1, 3, 4, 6, 8, 9); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE alpha; CREATE TABLE beta (a double precision, b int, c text) PARTITION BY RANGE (a); CREATE TABLE beta_neg PARTITION OF beta FOR VALUES FROM (-10.0) TO (0) PARTITION BY RANGE (b); @@ -4728,14 +4906,21 @@ CREATE TABLE beta_pos_p2 PARTITION OF beta_pos FOR VALUES IN ('0004', '0006'); CREATE TABLE beta_pos_p3 PARTITION OF beta_pos FOR VALUES IN ('0007', '0009'); INSERT INTO beta_neg SELECT -1.0, i, to_char(i % 10, 'FM0000') FROM generate_series(100, 149) i WHERE i % 10 IN (2, 3, 4, 6, 7, 9); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO beta_neg SELECT -1.0, i, to_char(i % 10, 'FM0000') FROM generate_series(200, 299) i WHERE i % 10 IN (2, 3, 4, 6, 7, 9); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO beta_neg SELECT -1.0, i, to_char(i % 10, 'FM0000') FROM generate_series(350, 499) i WHERE i % 10 IN (2, 3, 4, 6, 7, 9); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO beta_pos SELECT 1.0, i, to_char(i % 10, 'FM0000') FROM generate_series(100, 149) i WHERE i % 10 IN (2, 3, 4, 6, 7, 9); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO beta_pos SELECT 1.0, i, to_char(i % 10, 'FM0000') FROM generate_series(200, 299) i WHERE i % 10 IN (2, 3, 4, 6, 7, 9); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO beta_pos SELECT 1.0, i, to_char(i % 10, 'FM0000') FROM generate_series(350, 499) i WHERE i % 10 IN (2, 3, 4, 6, 7, 9); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE beta; EXPLAIN (COSTS OFF) SELECT t1.*, t2.* FROM alpha t1 INNER JOIN beta t2 ON (t1.a = t2.a AND t1.b = t2.b) WHERE t1.b >= 125 AND t1.b < 225 ORDER BY t1.a, t1.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------- Sort @@ -4770,6 +4955,7 @@ (29 rows) SELECT t1.*, t2.* FROM alpha t1 INNER JOIN beta t2 ON (t1.a = t2.a AND t1.b = t2.b) WHERE t1.b >= 125 AND t1.b < 225 ORDER BY t1.a, t1.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c | a | b | c ----+-----+------+----+-----+------ -1 | 126 | 0006 | -1 | 126 | 0006 @@ -4816,6 +5002,7 @@ EXPLAIN (COSTS OFF) SELECT t1.*, t2.* FROM alpha t1 INNER JOIN beta t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE ((t1.b >= 100 AND t1.b < 110) OR (t1.b >= 200 AND t1.b < 210)) AND ((t2.b >= 100 AND t2.b < 110) OR (t2.b >= 200 AND t2.b < 210)) AND t1.c IN ('0004', '0009') ORDER BY t1.a, t1.b, t2.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------------------------------------------------------------------------- Sort @@ -4849,6 +5036,7 @@ (28 rows) SELECT t1.*, t2.* FROM alpha t1 INNER JOIN beta t2 ON (t1.a = t2.a AND t1.c = t2.c) WHERE ((t1.b >= 100 AND t1.b < 110) OR (t1.b >= 200 AND t1.b < 210)) AND ((t2.b >= 100 AND t2.b < 110) OR (t2.b >= 200 AND t2.b < 210)) AND t1.c IN ('0004', '0009') ORDER BY t1.a, t1.b, t2.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c | a | b | c ----+-----+------+----+-----+------ -1 | 104 | 0004 | -1 | 104 | 0004 @@ -4871,6 +5059,7 @@ EXPLAIN (COSTS OFF) SELECT t1.*, t2.* FROM alpha t1 INNER JOIN beta t2 ON (t1.a = t2.a AND t1.b = t2.b AND t1.c = t2.c) WHERE ((t1.b >= 100 AND t1.b < 110) OR (t1.b >= 200 AND t1.b < 210)) AND ((t2.b >= 100 AND t2.b < 110) OR (t2.b >= 200 AND t2.b < 210)) AND t1.c IN ('0004', '0009') ORDER BY t1.a, t1.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------------------------------------------------------------------- Sort @@ -4905,6 +5094,7 @@ (29 rows) SELECT t1.*, t2.* FROM alpha t1 INNER JOIN beta t2 ON (t1.a = t2.a AND t1.b = t2.b AND t1.c = t2.c) WHERE ((t1.b >= 100 AND t1.b < 110) OR (t1.b >= 200 AND t1.b < 210)) AND ((t2.b >= 100 AND t2.b < 110) OR (t2.b >= 200 AND t2.b < 210)) AND t1.c IN ('0004', '0009') ORDER BY t1.a, t1.b; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c | a | b | c ----+-----+------+----+-----+------ -1 | 104 | 0004 | -1 | 104 | 0004 @@ -4923,12 +5113,14 @@ CREATE TABLE fract_t1 PARTITION OF fract_t FOR VALUES FROM ('1000') TO ('2000'); -- insert data INSERT INTO fract_t (id) (SELECT generate_series(0, 1999)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE fract_t; -- verify plan; nested index only scans SET max_parallel_workers_per_gather = 0; SET enable_partitionwise_join = on; EXPLAIN (COSTS OFF) SELECT x.id, y.id FROM fract_t x LEFT JOIN fract_t y USING (id) ORDER BY x.id ASC LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------------- Limit @@ -4946,6 +5138,7 @@ EXPLAIN (COSTS OFF) SELECT x.id, y.id FROM fract_t x LEFT JOIN fract_t y USING (id) ORDER BY x.id DESC LIMIT 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------------------- Limit diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/partition_prune.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/partition_prune.out --- /tmp/cirrus-ci-build/src/test/regress/expected/partition_prune.out 2024-03-19 15:41:21.043572000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/partition_prune.out 2024-03-19 15:51:37.788774000 +0000 @@ -1039,6 +1039,7 @@ create table boolpart_t partition of boolpart for values in ('true'); create table boolpart_f partition of boolpart for values in ('false'); insert into boolpart values (true), (false), (null); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree explain (costs off) select * from boolpart where a in (true, false); QUERY PLAN ------------------------------------------------ @@ -1263,6 +1264,7 @@ create table iboolpart_f partition of iboolpart for values in ('true'); create table iboolpart_t partition of iboolpart for values in ('false'); insert into iboolpart values (true), (false), (null); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree explain (costs off) select * from iboolpart where a in (true, false); QUERY PLAN ------------------------------------------------- @@ -1596,6 +1598,7 @@ ALTER TABLE part_rev DROP COLUMN c; ALTER TABLE part ATTACH PARTITION part_rev FOR VALUES IN (3); -- now it's ok INSERT INTO part VALUES (-1,-1), (1,1), (2,NULL), (NULL,-2),(NULL,NULL); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree EXPLAIN (COSTS OFF) SELECT tableoid::regclass as part, a, b FROM part WHERE a IS NULL ORDER BY 1, 2, 3; QUERY PLAN --------------------------------------------------------- @@ -1628,6 +1631,7 @@ -- -- pruning won't work for mc3p, because some keys are Params explain (costs off) select * from mc2p t1, lateral (select count(*) from mc3p t2 where t2.a = t1.b and abs(t2.b) = 1 and t2.c = 1) s where t1.a = 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------------- Nested Loop @@ -1663,6 +1667,7 @@ -- pruning should work fine, because values for a prefix of keys (a, b) are -- available explain (costs off) select * from mc2p t1, lateral (select count(*) from mc3p t2 where t2.c = t1.b and abs(t2.b) = 1 and t2.a = 1) s where t1.a = 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------------- Nested Loop @@ -1685,6 +1690,7 @@ -- also here, because values for all keys are provided explain (costs off) select * from mc2p t1, lateral (select count(*) from mc3p t2 where t2.a = 1 and abs(t2.b) = 1 and t2.c = 1) s where t1.a = 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------- Nested Loop @@ -2236,6 +2242,7 @@ create table list_part3 partition of list_part for values in (3); create table list_part4 partition of list_part for values in (4); insert into list_part select generate_series(1,4); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree begin; -- Don't select an actual value out of the table as the order of the Append's -- subnodes may not be stable. @@ -2435,8 +2442,10 @@ create table lprt_a (a int not null); -- Insert some values we won't find in ab insert into lprt_a select 0 from generate_series(1,100); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- and insert some values that we should find. insert into lprt_a values(1),(1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree analyze lprt_a; create index ab_a2_b1_a_idx on ab_a2_b1 (a); create index ab_a2_b2_a_idx on ab_a2_b2 (a); @@ -2451,6 +2460,7 @@ set enable_mergejoin = 0; set enable_memoize = 0; select explain_parallel_append('select avg(ab.a) from ab inner join lprt_a a on ab.a = a.a where a.a in(0, 0, 1)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree explain_parallel_append -------------------------------------------------------------------------------------------------------- Finalize Aggregate (actual rows=N loops=N) @@ -2485,6 +2495,7 @@ -- Ensure the same partitions are pruned when we make the nested loop -- parameter an Expr rather than a plain Param. select explain_parallel_append('select avg(ab.a) from ab inner join lprt_a a on ab.a = a.a + 0 where a.a in(0, 0, 1)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree explain_parallel_append -------------------------------------------------------------------------------------------------------- Finalize Aggregate (actual rows=N loops=N) @@ -2517,7 +2528,9 @@ (27 rows) insert into lprt_a values(3),(3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select explain_parallel_append('select avg(ab.a) from ab inner join lprt_a a on ab.a = a.a where a.a in(1, 0, 3)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree explain_parallel_append -------------------------------------------------------------------------------------------------------- Finalize Aggregate (actual rows=N loops=N) @@ -2550,6 +2563,7 @@ (27 rows) select explain_parallel_append('select avg(ab.a) from ab inner join lprt_a a on ab.a = a.a where a.a in(1, 0, 0)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree explain_parallel_append -------------------------------------------------------------------------------------------------------- Finalize Aggregate (actual rows=N loops=N) @@ -2584,6 +2598,7 @@ delete from lprt_a where a = 1; select explain_parallel_append('select avg(ab.a) from ab inner join lprt_a a on ab.a = a.a where a.a in(1, 0, 0)'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree explain_parallel_append ------------------------------------------------------------------------------------------------- Finalize Aggregate (actual rows=N loops=N) @@ -2685,6 +2700,7 @@ -- Test run-time partition pruning with UNION ALL parents explain (analyze, costs off, summary off, timing off) select * from (select * from ab where a = 1 union all select * from ab) ab where b = (select 1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------- Append (actual rows=0 loops=1) @@ -2729,6 +2745,7 @@ -- A case containing a UNION ALL with a non-partitioned child. explain (analyze, costs off, summary off, timing off) select * from (select * from ab where a = 1 union all (values(10,5)) union all select * from ab) ab where b = (select 1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------- Append (actual rows=0 loops=1) @@ -2785,6 +2802,7 @@ union all select tableoid::regclass,a,b from ab ) ab where a = $1 and b = (select -10); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- Ensure the xy_1 subplan is not pruned. explain (analyze, costs off, summary off, timing off) execute ab_q6(1); QUERY PLAN @@ -2878,6 +2896,7 @@ -- Test UPDATE where source relation has run-time pruning enabled truncate ab; insert into ab values (1, 1), (1, 2), (1, 3), (2, 1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree explain (analyze, costs off, summary off, timing off) update ab_a1 set b = 3 from ab_a2 where ab_a2.b = (select 1); QUERY PLAN @@ -2916,6 +2935,7 @@ -- Join create table tbl1(col1 int); insert into tbl1 values (501), (505); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- Basic table create table tprt (col1 int) partition by range (col1); create table tprt_1 partition of tprt for values from (1) to (501); @@ -2931,10 +2951,12 @@ create index tprt5_idx on tprt_5 (col1); create index tprt6_idx on tprt_6 (col1); insert into tprt values (10), (20), (501), (502), (505), (1001), (4500); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree set enable_hashjoin = off; set enable_mergejoin = off; explain (analyze, costs off, summary off, timing off) select * from tbl1 join tprt on tbl1.col1 > tprt.col1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------------- Nested Loop (actual rows=6 loops=1) @@ -2956,6 +2978,7 @@ explain (analyze, costs off, summary off, timing off) select * from tbl1 join tprt on tbl1.col1 = tprt.col1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------------- Nested Loop (actual rows=2 loops=1) @@ -2978,6 +3001,7 @@ select tbl1.col1, tprt.col1 from tbl1 inner join tprt on tbl1.col1 > tprt.col1 order by tbl1.col1, tprt.col1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree col1 | col1 ------+------ 501 | 10 @@ -2991,6 +3015,7 @@ select tbl1.col1, tprt.col1 from tbl1 inner join tprt on tbl1.col1 = tprt.col1 order by tbl1.col1, tprt.col1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree col1 | col1 ------+------ 501 | 501 @@ -2999,8 +3024,10 @@ -- Multiple partitions insert into tbl1 values (1001), (1010), (1011); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree explain (analyze, costs off, summary off, timing off) select * from tbl1 inner join tprt on tbl1.col1 > tprt.col1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------------- Nested Loop (actual rows=23 loops=1) @@ -3022,6 +3049,7 @@ explain (analyze, costs off, summary off, timing off) select * from tbl1 inner join tprt on tbl1.col1 = tprt.col1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------------- Nested Loop (actual rows=3 loops=1) @@ -3044,6 +3072,7 @@ select tbl1.col1, tprt.col1 from tbl1 inner join tprt on tbl1.col1 > tprt.col1 order by tbl1.col1, tprt.col1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree col1 | col1 ------+------ 501 | 10 @@ -3074,6 +3103,7 @@ select tbl1.col1, tprt.col1 from tbl1 inner join tprt on tbl1.col1 = tprt.col1 order by tbl1.col1, tprt.col1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree col1 | col1 ------+------ 501 | 501 @@ -3086,6 +3116,7 @@ insert into tbl1 values (4400); explain (analyze, costs off, summary off, timing off) select * from tbl1 join tprt on tbl1.col1 < tprt.col1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------------- Nested Loop (actual rows=1 loops=1) @@ -3108,6 +3139,7 @@ select tbl1.col1, tprt.col1 from tbl1 inner join tprt on tbl1.col1 < tprt.col1 order by tbl1.col1, tprt.col1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree col1 | col1 ------+------ 4400 | 4500 @@ -3118,6 +3150,7 @@ insert into tbl1 values (10000); explain (analyze, costs off, summary off, timing off) select * from tbl1 join tprt on tbl1.col1 = tprt.col1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------- Nested Loop (actual rows=0 loops=1) @@ -3140,6 +3173,7 @@ select tbl1.col1, tprt.col1 from tbl1 inner join tprt on tbl1.col1 = tprt.col1 order by tbl1.col1, tprt.col1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree col1 | col1 ------+------ (0 rows) @@ -3355,6 +3389,7 @@ create table mc3p2 partition of mc3p for values from (2, minvalue, minvalue) to (3, maxvalue, maxvalue); insert into mc3p values (0, 1, 1), (1, 1, 1), (2, 1, 1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree explain (analyze, costs off, summary off, timing off) select * from mc3p where a < 3 and abs(b) = 1; QUERY PLAN @@ -3409,6 +3444,7 @@ -- Ensure runtime pruning works with initplans params with boolean types create table boolvalues (value bool not null); insert into boolvalues values('t'),('f'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree create table boolp (a bool) partition by list (a); create table boolp_t partition of boolp for values in('t'); create table boolp_f partition of boolp for values in('f'); @@ -3453,6 +3489,7 @@ create table ma_test_p2 partition of ma_test for values from (10) to (20); create table ma_test_p3 partition of ma_test for values from (20) to (30); insert into ma_test select x,x from generate_series(0,29) t(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree create index on ma_test (b); analyze ma_test; prepare mt_q1 (int) as select a from ma_test where a >= $1 and a % 10 = 5 order by b; @@ -3602,6 +3639,7 @@ create table pph_arrpart1 partition of pph_arrpart for values with (modulus 2, remainder 0); create table pph_arrpart2 partition of pph_arrpart for values with (modulus 2, remainder 1); insert into pph_arrpart values ('{1}'), ('{1, 2}'), ('{4, 5}'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select tableoid::regclass, * from pph_arrpart order by 1; tableoid | a --------------+------- @@ -3908,6 +3946,7 @@ select 1, 1, 1 ) s(a, b, c) where s.a = 1 and s.b = 1 and s.c = (select 1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------- Append @@ -3930,6 +3969,7 @@ select 1, 1, 1 ) s(a, b, c) where s.a = 1 and s.b = 1 and s.c = (select 1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | c ---+---+--- 1 | 1 | 1 @@ -3945,6 +3985,7 @@ select 1, 1, 1 ) s(a, b, c) where s.a = $1 and s.b = $2 and s.c = (select 1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree explain (costs off) execute q (1, 1); QUERY PLAN --------------------------------------------------------------- @@ -4062,6 +4103,7 @@ 'select * from listp where a = (select 1) union all select * from listp where a = (select 2);'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree explain_parallel_append ----------------------------------------------------------------------------------- Gather (actual rows=N loops=N) @@ -4183,6 +4225,7 @@ -- create 8 partitions select 'create table hp_prefix_test_p' || x::text || ' partition of hp_prefix_test for values with (modulus 8, remainder ' || x::text || ');' from generate_Series(0,7) x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ?column? ------------------------------------------------------------------------------------------------------ create table hp_prefix_test_p0 partition of hp_prefix_test for values with (modulus 8, remainder 0); @@ -4196,6 +4239,7 @@ (8 rows) \gexec +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree create table hp_prefix_test_p0 partition of hp_prefix_test for values with (modulus 8, remainder 0); create table hp_prefix_test_p1 partition of hp_prefix_test for values with (modulus 8, remainder 1); create table hp_prefix_test_p2 partition of hp_prefix_test for values with (modulus 8, remainder 2); @@ -4216,6 +4260,7 @@ generate_series(0,1) b, generate_Series(0,1) c, generate_Series(0,1) d; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- Ensure partition pruning works correctly for each combination of IS NULL -- and equality quals. This may seem a little excessive, but there have been -- a number of bugs in this area over the years. We make use of row only @@ -4227,6 +4272,7 @@ from (values('a',0),('b',1),('c',2),('d',3)) c(colname, colpos), generate_Series(0,15) g(s) group by g.s order by g.s; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree explain (costs off) select tableoid::regclass,* from hp_prefix_test where a is null and b is null and c is null and d is null explain (costs off) select tableoid::regclass,* from hp_prefix_test where a = 1 and b is null and c is null and d is null explain (costs off) select tableoid::regclass,* from hp_prefix_test where a is null and b = 2 and c is null and d is null @@ -4245,6 +4291,7 @@ explain (costs off) select tableoid::regclass,* from hp_prefix_test where a = 1 and b = 2 and c = 3 and d = 4 \gexec +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree explain (costs off) select tableoid::regclass,* from hp_prefix_test where a is null and b is null and c is null and d is null Seq Scan on hp_prefix_test_p0 hp_prefix_test Filter: ((a IS NULL) AND (b IS NULL) AND (c IS NULL) AND (d IS NULL)) @@ -4316,6 +4363,7 @@ from (values('a',0),('b',1),('c',2),('d',3)) c(colname, colpos), generate_Series(0,15) g(s) group by g.s order by g.s; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select tableoid::regclass,* from hp_prefix_test where a is null and b is null and c is null and d is null select tableoid::regclass,* from hp_prefix_test where a = 1 and b is null and c is null and d is null select tableoid::regclass,* from hp_prefix_test where a is null and b = 2 and c is null and d is null @@ -4334,6 +4382,7 @@ select tableoid::regclass,* from hp_prefix_test where a = 1 and b = 2 and c = 3 and d = 4 \gexec +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree select tableoid::regclass,* from hp_prefix_test where a is null and b is null and c is null and d is null hp_prefix_test_p0 | | | | diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/reloptions.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/reloptions.out --- /tmp/cirrus-ci-build/src/test/regress/expected/reloptions.out 2024-03-19 15:41:21.044638000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/reloptions.out 2024-03-19 15:51:36.155651000 +0000 @@ -111,6 +111,7 @@ (1 row) INSERT INTO reloptions_test VALUES (1, NULL), (NULL, NULL); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: null value in column "i" of relation "reloptions_test" violates not-null constraint DETAIL: Failing row contains (null, null). -- Do an aggressive vacuum to prevent page-skipping. @@ -137,6 +138,7 @@ (1 row) INSERT INTO reloptions_test VALUES (1, NULL), (NULL, NULL); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: null value in column "i" of relation "reloptions_test" violates not-null constraint DETAIL: Failing row contains (null, null). -- Do an aggressive vacuum to prevent page-skipping. diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/indexing.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/indexing.out --- /tmp/cirrus-ci-build/src/test/regress/expected/indexing.out 2024-03-19 15:41:21.018733000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/indexing.out 2024-03-19 15:51:38.076450000 +0000 @@ -12,6 +12,7 @@ -- Check that partitioned indexes are present in pg_indexes. select indexdef from pg_indexes where indexname like 'idxpart_idx%'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree indexdef ----------------------------------------------------------------- CREATE INDEX idxpart_idx ON ONLY public.idxpart USING btree (a) @@ -37,6 +38,7 @@ from pg_class left join pg_index ix on (indexrelid = oid) left join pg_inherits on (ix.indexrelid = inhrelid) where relname like 'idxpart%' order by relname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | relkind | relhassubclass | inhparent -----------------+---------+----------------+---------------- idxpart | p | t | @@ -62,6 +64,7 @@ CREATE INDEX ON idxpart (col1); CREATE TABLE idxpart_two (col2 INT); SELECT col2 FROM idxpart_two fk LEFT OUTER JOIN idxpart pk ON (col1 = col2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree col2 ------ (0 rows) @@ -73,6 +76,7 @@ CREATE TABLE idxpart1 PARTITION OF idxpart FOR VALUES FROM (MINVALUE) TO (MAXVALUE); CREATE INDEX partidx_abc_idx ON idxpart (a, b, c); INSERT INTO idxpart (a, b, c) SELECT i, i, i FROM generate_series(1, 50) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE idxpart ALTER COLUMN c TYPE numeric; DROP TABLE idxpart; -- If a table without index is attached as partition to a table with @@ -82,6 +86,10 @@ create index idxparti2 on idxpart (b, c); create table idxpart1 (like idxpart); \d idxpart1 +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 Table "public.idxpart1" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -91,6 +99,12 @@ alter table idxpart attach partition idxpart1 for values from (0) to (10); \d idxpart1 +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 Table "public.idxpart1" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -103,6 +117,9 @@ "idxpart1_b_c_idx" btree (b, c) \d+ idxpart1_a_idx +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 Index "public.idxpart1_a_idx" Column | Type | Key? | Definition | Storage | Stats target --------+---------+------+------------+---------+-------------- @@ -112,6 +129,9 @@ btree, for table "public.idxpart1" \d+ idxpart1_b_c_idx +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 Index "public.idxpart1_b_c_idx" Column | Type | Key? | Definition | Storage | Stats target --------+---------+------+------------+----------+-------------- @@ -146,6 +166,12 @@ create index on idxpart1 (a, b); create index on idxpart (a, b); \d idxpart1 +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 Table "public.idxpart1" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -159,6 +185,7 @@ from pg_class left join pg_index ix on (indexrelid = oid) left join pg_inherits on (ix.indexrelid = inhrelid) where relname like 'idxpart%' order by relname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | relkind | relhassubclass | inhparent ------------------+---------+----------------+----------------- idxpart | p | t | @@ -267,6 +294,12 @@ create index on idxpart (a); alter table idxpart attach partition idxpart1 for values from (0) to (1000); \d idxpart1 +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 Table "public.idxpart1" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -296,6 +329,12 @@ -- Here we expect that idxpart1 and idxpart2 have a new index, but idxpart21 -- does not; also, idxpart22 is not attached. \d idxpart1 +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 Table "public.idxpart1" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -305,6 +344,14 @@ "idxpart1_a_idx" btree (a) \d idxpart2 +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Partitioned table "public.idxpart2" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -316,6 +363,11 @@ Number of partitions: 2 (Use \d+ to list them.) \d idxpart21 +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 Table "public.idxpart21" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -326,6 +378,7 @@ from pg_index idx left join pg_inherits inh on (idx.indexrelid = inh.inhrelid) where indexrelid::regclass::text like 'idxpart%' order by indexrelid::regclass::text collate "C"; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree indexrelid | indrelid | inhparent -----------------+-----------+--------------- idxpart1_a_idx | idxpart1 | idxpart_a_idx @@ -339,6 +392,7 @@ from pg_index idx left join pg_inherits inh on (idx.indexrelid = inh.inhrelid) where indexrelid::regclass::text like 'idxpart%' order by indexrelid::regclass::text collate "C"; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree indexrelid | indrelid | inhparent -----------------+-----------+---------------- idxpart1_a_idx | idxpart1 | idxpart_a_idx @@ -350,6 +404,14 @@ -- attaching idxpart22 is not enough to set idxpart22_a_idx valid ... alter index idxpart2_a_idx attach partition idxpart22_a_idx; \d idxpart2 +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Partitioned table "public.idxpart2" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -364,6 +426,14 @@ create index on idxpart21 (a); alter index idxpart2_a_idx attach partition idxpart21_a_idx; \d idxpart2 +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Partitioned table "public.idxpart2" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -383,6 +453,11 @@ create index idxparti2 on idxpart (b, c); create table idxpart1 (like idxpart including indexes); \d idxpart1 +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 Table "public.idxpart1" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -398,6 +473,7 @@ from pg_class left join pg_index ix on (indexrelid = oid) left join pg_inherits on (ix.indexrelid = inhrelid) where relname like 'idxpart%' order by relname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | relkind | inhparent ------------------+---------+----------- idxpart | p | @@ -410,6 +486,12 @@ alter table idxpart attach partition idxpart1 for values from (0) to (10); \d idxpart1 +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 Table "public.idxpart1" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -426,6 +508,7 @@ from pg_class left join pg_index ix on (indexrelid = oid) left join pg_inherits on (ix.indexrelid = inhrelid) where relname like 'idxpart%' order by relname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | relkind | inhparent ------------------+---------+----------- idxpart | p | @@ -439,6 +522,12 @@ -- While here, also check matching when creating an index after the fact. create index on idxpart1 ((a+b)) where d = true; \d idxpart1 +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 Table "public.idxpart1" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -456,6 +545,7 @@ from pg_class left join pg_index ix on (indexrelid = oid) left join pg_inherits on (ix.indexrelid = inhrelid) where relname like 'idxpart%' order by relname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | relkind | inhparent -------------------+---------+----------- idxpart | p | @@ -469,6 +559,12 @@ create index idxparti3 on idxpart ((a+b)) where d = true; \d idxpart1 +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 Table "public.idxpart1" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -486,6 +582,7 @@ from pg_class left join pg_index ix on (indexrelid = oid) left join pg_inherits on (ix.indexrelid = inhrelid) where relname like 'idxpart%' order by relname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | relkind | inhparent -------------------+---------+----------- idxpart | p | @@ -511,6 +608,7 @@ -- this results in two invalid indexes: select relname, indisvalid from pg_class join pg_index on indexrelid = oid where relname like 'idxpart%' order by relname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | indisvalid ----------------+------------ idxpart1_a_idx | f @@ -521,6 +619,7 @@ alter index idxpart_a_idx attach partition idxpart1_a_idx; select relname, indisvalid from pg_class join pg_index on indexrelid = oid where relname like 'idxpart%' order by relname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | indisvalid ----------------+------------ idxpart1_a_idx | f @@ -533,6 +632,7 @@ alter index idxpart1_a_idx attach partition idxpart11_a_idx; select relname, indisvalid from pg_class join pg_index on indexrelid = oid where relname like 'idxpart%' order by relname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | indisvalid -----------------+------------ idxpart11_a_idx | t @@ -636,6 +736,11 @@ create table idxpart2 partition of idxpart for values from (250) to (500); alter table idxpart detach partition idxpart2; \d idxpart2 +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 Table "public.idxpart2" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -647,6 +752,11 @@ alter table idxpart2 drop column c; \d idxpart2 +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 Table "public.idxpart2" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -667,6 +777,7 @@ from pg_class join pg_inherits on inhrelid = oid, lateral pg_get_indexdef(pg_class.oid) where relkind in ('i', 'I') and relname like 'idxpart%' order by relname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree child | parent | childdef -------------------+------------------+--------------------------------------------------------------------------- idxpart1_expr_idx | idxpart_expr_idx | CREATE INDEX idxpart1_expr_idx ON public.idxpart1 USING btree (((a + b))) @@ -691,6 +802,7 @@ from pg_class left join pg_inherits on inhrelid = oid, lateral pg_get_indexdef(pg_class.oid) where relkind in ('i', 'I') and relname like 'idxpart%' order by relname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree child | parent | childdef -----------------+---------------+-------------------------------------------------------------------------------- idxpart1_a_idx | idxpart_a_idx | CREATE INDEX idxpart1_a_idx ON public.idxpart1 USING btree (a COLLATE "C") @@ -718,6 +830,7 @@ from pg_class left join pg_inherits on inhrelid = oid, lateral pg_get_indexdef(pg_class.oid) where relkind in ('i', 'I') and relname like 'idxpart%' order by relname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree child | parent | childdef -----------------+---------------+------------------------------------------------------------------------------------ idxpart1_a_idx | idxpart_a_idx | CREATE INDEX idxpart1_a_idx ON public.idxpart1 USING btree (a text_pattern_ops) @@ -764,6 +877,7 @@ from pg_class left join pg_inherits on inhrelid = oid, lateral pg_get_indexdef(pg_class.oid) where relkind in ('i', 'I') and relname like 'idxpart%' order by relname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree child | parent | childdef -----------------+---------------+----------------------------------------------------------------------------------------- idxpart1_1_idx | idxpart_1_idx | CREATE INDEX idxpart1_1_idx ON public.idxpart1 USING btree (b, a) @@ -790,6 +904,7 @@ from pg_class c join pg_index i on c.oid = i.indexrelid where indrelid::regclass::text like 'idxpart%' order by indexrelid::regclass::text collate "C"; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | pg_get_indexdef ------------------+--------------------------------------------------------------------- idxpart1_a_idx | CREATE INDEX idxpart1_a_idx ON public.idxpart1 USING btree (a) @@ -817,6 +932,7 @@ from pg_class c join pg_index i on c.oid = i.indexrelid where indrelid::regclass::text like 'idxpart%' order by indexrelid::regclass::text collate "C"; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | pg_get_indexdef -------------------+------------------------------------------------------------------------------ idxpart1_abs_idx | CREATE INDEX idxpart1_abs_idx ON public.idxpart1 USING btree (abs(b)) @@ -843,6 +959,7 @@ from pg_class c join pg_index i on c.oid = i.indexrelid where indrelid::regclass::text like 'idxpart%' order by indexrelid::regclass::text collate "C"; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | pg_get_indexdef ----------------+------------------------------------------------------------------------------------ idxpart1_a_idx | CREATE INDEX idxpart1_a_idx ON public.idxpart1 USING btree (a) WHERE (b > 1000) @@ -861,6 +978,13 @@ create index on idxpart (col_keep); alter table idxpart attach partition idxpart1 for values from (0) to (1000); \d idxpart +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Partitioned table "public.idxpart" Column | Type | Collation | Nullable | Default ----------+---------+-----------+----------+--------- @@ -871,6 +995,12 @@ Number of partitions: 1 (Use \d+ to list them.) \d idxpart1 +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 Table "public.idxpart1" Column | Type | Collation | Nullable | Default ----------+---------+-----------+----------+--------- @@ -904,6 +1034,13 @@ create index on idxpart (col_keep); alter table idxpart attach partition idxpart1 for values from (0) to (1000); \d idxpart +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Partitioned table "public.idxpart" Column | Type | Collation | Nullable | Default ----------+---------+-----------+----------+--------- @@ -914,6 +1051,12 @@ Number of partitions: 1 (Use \d+ to list them.) \d idxpart1 +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 Table "public.idxpart1" Column | Type | Collation | Nullable | Default ----------+---------+-----------+----------+--------- @@ -943,6 +1086,13 @@ -- Verify that it works to add primary key / unique to partitioned tables create table idxpart (a int primary key, b int) partition by range (a); \d idxpart +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Partitioned table "public.idxpart" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -961,6 +1111,12 @@ create table idxpart (a int) partition by range (a); create table idxpart1pk partition of idxpart (a primary key) for values from (0) to (100); \d idxpart1pk +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 Table "public.idxpart1pk" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -1026,6 +1182,13 @@ DETAIL: PRIMARY KEY constraint on table "idxpart" lacks column "b" which is part of the partition key. alter table idxpart add primary key (a, b); -- this works \d idxpart +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Partitioned table "public.idxpart" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -1039,6 +1202,12 @@ create table idxpart1 partition of idxpart for values from (0, 0) to (1000, 1000); \d idxpart1 +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 Table "public.idxpart1" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -1057,6 +1226,13 @@ DETAIL: UNIQUE constraint on table "idxpart" lacks column "b" which is part of the partition key. alter table idxpart add unique (b, a); -- this works \d idxpart +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Partitioned table "public.idxpart" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -1176,6 +1352,7 @@ left join pg_constraint con on (idx.indexrelid = con.conindid) where indrelid::regclass::text like 'idxpart%' order by indexrelid::regclass::text collate "C"; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree indrelid | indexrelid | inhparent | indisvalid | conname | conislocal | coninhcount | connoinherit | convalidated ----------+---------------+--------------+------------+---------------+------------+-------------+--------------+-------------- idxpart0 | idxpart0_pkey | idxpart_pkey | t | idxpart0_pkey | f | 1 | t | t @@ -1200,6 +1377,7 @@ left join pg_constraint con on (idx.indexrelid = con.conindid) where indrelid::regclass::text like 'idxpart%' order by indexrelid::regclass::text collate "C"; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree indrelid | indexrelid | inhparent | indisvalid | conname | conislocal | coninhcount | connoinherit | convalidated ----------+------------+-----------+------------+---------+------------+-------------+--------------+-------------- (0 rows) @@ -1234,6 +1412,7 @@ left join pg_constraint con on (idx.indexrelid = con.conindid) where indrelid::regclass::text like 'idxpart%' order by indexrelid::regclass::text collate "C"; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree indrelid | indexrelid | inhparent | indisvalid | conname | conislocal | coninhcount | connoinherit | convalidated ----------+---------------+-----------+------------+---------------+------------+-------------+--------------+-------------- idxpart0 | idxpart0_pkey | | t | idxpart0_pkey | t | 0 | t | t @@ -1247,6 +1426,7 @@ left join pg_constraint con on (idx.indexrelid = con.conindid) where indrelid::regclass::text like 'idxpart%' order by indexrelid::regclass::text collate "C"; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree indrelid | indexrelid | inhparent | indisvalid | conname | conislocal | coninhcount | connoinherit | convalidated ----------+---------------+--------------+------------+---------------+------------+-------------+--------------+-------------- idxpart0 | idxpart0_pkey | idxpart_pkey | t | idxpart0_pkey | f | 1 | t | t @@ -1262,6 +1442,12 @@ alter table idxpart attach partition idxpart0 default; alter table only idxpart add primary key (a); -- works, but idxpart0.a is nullable \d idxpart0 +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 Table "public.idxpart0" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -1291,6 +1477,7 @@ left join pg_constraint con on (idx.indexrelid = con.conindid) where indrelid::regclass::text like 'idxpart%' order by indexrelid::regclass::text collate "C"; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree indrelid | indexrelid | inhparent | indisvalid | conname | conislocal | coninhcount | connoinherit | convalidated ----------+----------------+--------------+------------+---------------+------------+-------------+--------------+-------------- idxpart1 | idxpart1_a_idx | | t | | | | | @@ -1318,12 +1505,16 @@ create unique index on idxpart (a); alter table idxpart attach partition idxpart2 for values from (100000) to (1000000); insert into idxpart values (0, 'zero'), (42, 'life'), (2^16, 'sixteen'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into idxpart select 2^g, format('two to power of %s', g) from generate_series(15, 17) g; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: duplicate key value violates unique constraint "idxpart1_a_idx" DETAIL: Key (a)=(65536) already exists. insert into idxpart values (16, 'sixteen'); insert into idxpart (b, a) values ('one', 142857), ('two', 285714); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree insert into idxpart select a * 2, b || b from idxpart where a between 2^16 and 2^19; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: duplicate key value violates unique constraint "idxpart2_a_idx" DETAIL: Key (a)=(285714) already exists. insert into idxpart values (572814, 'five'); @@ -1477,6 +1668,13 @@ create index on parted_index_col_drop (b, c); alter table parted_index_col_drop drop column c; \d parted_index_col_drop +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Partitioned table "public.parted_index_col_drop" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -1488,6 +1686,14 @@ Number of partitions: 2 (Use \d+ to list them.) \d parted_index_col_drop1 +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Partitioned table "public.parted_index_col_drop1" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -1500,6 +1706,14 @@ Number of partitions: 1 (Use \d+ to list them.) \d parted_index_col_drop2 +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Partitioned table "public.parted_index_col_drop2" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -1512,6 +1726,12 @@ Number of partitions: 0 \d parted_index_col_drop11 +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 Table "public.parted_index_col_drop11" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -1542,6 +1762,7 @@ pg_inherits inh on (idx.indexrelid = inh.inhrelid) where indexrelid::regclass::text like 'parted_inval%' order by indexrelid::regclass::text collate "C"; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree indexrelid | indisvalid | indrelid | inhparent ----------------------------+------------+----------------------+-------------------------- parted_inval_idx | t | parted_inval_tab | @@ -1577,6 +1798,7 @@ pg_inherits inh on (idx.indexrelid = inh.inhrelid) where indexrelid::regclass::text like 'parted_isvalid%' order by indexrelid::regclass::text collate "C"; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree indexrelid | indisvalid | indrelid | inhparent --------------------------------+------------+-----------------------+------------------------------- parted_isvalid_idx | f | parted_isvalid_tab | @@ -1608,6 +1830,7 @@ pg_inherits inh on (idx.indexrelid = inh.inhrelid) where indexrelid::regclass::text like 'parted_replica%' order by indexrelid::regclass::text collate "C"; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree indexrelid | indisvalid | indisreplident | indrelid | inhparent -----------------------+------------+----------------+-----------------------+----------- parted_replica_idx | f | f | parted_replica_tab | @@ -1624,6 +1847,7 @@ pg_inherits inh on (idx.indexrelid = inh.inhrelid) where indexrelid::regclass::text like 'parted_replica%' order by indexrelid::regclass::text collate "C"; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree indexrelid | indisvalid | indisreplident | indrelid | inhparent -----------------------+------------+----------------+-----------------------+-------------------- parted_replica_idx | f | f | parted_replica_tab | @@ -1642,6 +1866,7 @@ pg_inherits inh on (idx.indexrelid = inh.inhrelid) where indexrelid::regclass::text like 'parted_replica%' order by indexrelid::regclass::text collate "C"; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree indexrelid | indisvalid | indisreplident | indrelid | inhparent -----------------------+------------+----------------+-----------------------+---------------------- parted_replica_idx | t | f | parted_replica_tab | diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/partition_aggregate.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/partition_aggregate.out --- /tmp/cirrus-ci-build/src/test/regress/expected/partition_aggregate.out 2024-03-19 15:41:21.043287000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/partition_aggregate.out 2024-03-19 15:51:37.041253000 +0000 @@ -21,6 +21,7 @@ CREATE TABLE pagg_tab_p2 PARTITION OF pagg_tab FOR VALUES IN ('0005', '0006', '0007', '0008'); CREATE TABLE pagg_tab_p3 PARTITION OF pagg_tab FOR VALUES IN ('0009', '0010', '0011'); INSERT INTO pagg_tab SELECT i % 20, i % 30, to_char(i % 12, 'FM0000'), i % 30 FROM generate_series(0, 2999) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE pagg_tab; -- When GROUP BY clause matches; full aggregation is performed for each partition. EXPLAIN (COSTS OFF) @@ -409,7 +410,9 @@ CREATE TABLE pagg_tab2_p2 PARTITION OF pagg_tab2 FOR VALUES FROM (10) TO (20); CREATE TABLE pagg_tab2_p3 PARTITION OF pagg_tab2 FOR VALUES FROM (20) TO (30); INSERT INTO pagg_tab1 SELECT i % 30, i % 20 FROM generate_series(0, 299, 2) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO pagg_tab2 SELECT i % 20, i % 30 FROM generate_series(0, 299, 3) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE pagg_tab1; ANALYZE pagg_tab2; -- When GROUP BY clause matches; full aggregation is performed for each partition. @@ -577,6 +580,7 @@ -- GROUP BY is on nullable column EXPLAIN (COSTS OFF) SELECT b.y, sum(a.y) FROM pagg_tab1 a LEFT JOIN pagg_tab2 b ON a.x = b.y GROUP BY b.y ORDER BY 1 NULLS LAST; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------ Finalize GroupAggregate @@ -608,6 +612,7 @@ (26 rows) SELECT b.y, sum(a.y) FROM pagg_tab1 a LEFT JOIN pagg_tab2 b ON a.x = b.y GROUP BY b.y ORDER BY 1 NULLS LAST; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree y | sum ----+------ 0 | 500 @@ -622,6 +627,7 @@ -- GROUP BY is on non-nullable column EXPLAIN (COSTS OFF) SELECT b.y, sum(a.y) FROM pagg_tab1 a RIGHT JOIN pagg_tab2 b ON a.x = b.y GROUP BY b.y ORDER BY 1 NULLS LAST; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------ Sort @@ -651,6 +657,7 @@ (24 rows) SELECT b.y, sum(a.y) FROM pagg_tab1 a RIGHT JOIN pagg_tab2 b ON a.x = b.y GROUP BY b.y ORDER BY 1 NULLS LAST; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree y | sum ----+------ 0 | 500 @@ -669,6 +676,7 @@ -- GROUP BY is on nullable column EXPLAIN (COSTS OFF) SELECT a.x, sum(b.x) FROM pagg_tab1 a FULL OUTER JOIN pagg_tab2 b ON a.x = b.y GROUP BY a.x ORDER BY 1 NULLS LAST; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------ Finalize GroupAggregate @@ -700,6 +708,7 @@ (26 rows) SELECT a.x, sum(b.x) FROM pagg_tab1 a FULL OUTER JOIN pagg_tab2 b ON a.x = b.y GROUP BY a.x ORDER BY 1 NULLS LAST; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | sum ----+------ 0 | 500 @@ -726,6 +735,7 @@ -- But right now we are unable to do partitionwise join in this case. EXPLAIN (COSTS OFF) SELECT a.x, b.y, count(*) FROM (SELECT * FROM pagg_tab1 WHERE x < 20) a LEFT JOIN (SELECT * FROM pagg_tab2 WHERE y > 10) b ON a.x = b.y WHERE a.x > 5 or b.y < 20 GROUP BY a.x, b.y ORDER BY 1, 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------- Sort @@ -749,6 +759,7 @@ (18 rows) SELECT a.x, b.y, count(*) FROM (SELECT * FROM pagg_tab1 WHERE x < 20) a LEFT JOIN (SELECT * FROM pagg_tab2 WHERE y > 10) b ON a.x = b.y WHERE a.x > 5 or b.y < 20 GROUP BY a.x, b.y ORDER BY 1, 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | y | count ----+----+------- 6 | | 10 @@ -766,6 +777,7 @@ -- But right now we are unable to do partitionwise join in this case. EXPLAIN (COSTS OFF) SELECT a.x, b.y, count(*) FROM (SELECT * FROM pagg_tab1 WHERE x < 20) a FULL JOIN (SELECT * FROM pagg_tab2 WHERE y > 10) b ON a.x = b.y WHERE a.x > 5 or b.y < 20 GROUP BY a.x, b.y ORDER BY 1, 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------------------------------------- Sort @@ -789,6 +801,7 @@ (18 rows) SELECT a.x, b.y, count(*) FROM (SELECT * FROM pagg_tab1 WHERE x < 20) a FULL JOIN (SELECT * FROM pagg_tab2 WHERE y > 10) b ON a.x = b.y WHERE a.x > 5 or b.y < 20 GROUP BY a.x, b.y ORDER BY 1, 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | y | count ----+----+------- 6 | | 10 @@ -804,6 +817,7 @@ -- Empty join relation because of empty outer side, no partitionwise agg plan EXPLAIN (COSTS OFF) SELECT a.x, a.y, count(*) FROM (SELECT * FROM pagg_tab1 WHERE x = 1 AND x = 2) a LEFT JOIN pagg_tab2 b ON a.x = b.y GROUP BY a.x, a.y ORDER BY 1, 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN -------------------------------------- GroupAggregate @@ -815,6 +829,7 @@ (6 rows) SELECT a.x, a.y, count(*) FROM (SELECT * FROM pagg_tab1 WHERE x = 1 AND x = 2) a LEFT JOIN pagg_tab2 b ON a.x = b.y GROUP BY a.x, a.y ORDER BY 1, 2; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree x | y | count ---+---+------- (0 rows) @@ -825,6 +840,7 @@ CREATE TABLE pagg_tab_m_p2 PARTITION OF pagg_tab_m FOR VALUES FROM (12, 12) TO (22, 22); CREATE TABLE pagg_tab_m_p3 PARTITION OF pagg_tab_m FOR VALUES FROM (22, 22) TO (30, 30); INSERT INTO pagg_tab_m SELECT i % 30, i % 40, i % 50 FROM generate_series(0, 2999) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE pagg_tab_m; -- Partial aggregation as GROUP BY clause does not match with PARTITION KEY EXPLAIN (COSTS OFF) @@ -938,6 +954,7 @@ ALTER TABLE pagg_tab_ml_p3 ATTACH PARTITION pagg_tab_ml_p3_s1 FOR VALUES FROM (0) TO (7); ALTER TABLE pagg_tab_ml ATTACH PARTITION pagg_tab_ml_p3 FOR VALUES FROM (20) TO (30); INSERT INTO pagg_tab_ml SELECT i % 30, i % 10, to_char(i % 4, 'FM0000') FROM generate_series(0, 29999) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE pagg_tab_ml; -- For Parallel Append SET max_parallel_workers_per_gather TO 2; @@ -1339,6 +1356,7 @@ CREATE TABLE pagg_tab_para_p2 PARTITION OF pagg_tab_para FOR VALUES FROM (12) TO (22); CREATE TABLE pagg_tab_para_p3 PARTITION OF pagg_tab_para FOR VALUES FROM (22) TO (30); INSERT INTO pagg_tab_para SELECT i % 30, i % 20 FROM generate_series(0, 29999) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE pagg_tab_para; -- When GROUP BY clause matches; full aggregation is performed for each partition. EXPLAIN (COSTS OFF) diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/partition_info.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/partition_info.out --- /tmp/cirrus-ci-build/src/test/regress/expected/partition_info.out 2024-03-19 15:41:21.043337000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/partition_info.out 2024-03-19 15:51:36.309777000 +0000 @@ -2,21 +2,25 @@ -- Tests for functions providing information about partitions -- SELECT * FROM pg_partition_tree(NULL); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relid | parentrelid | isleaf | level -------+-------------+--------+------- (0 rows) SELECT * FROM pg_partition_tree(0); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relid | parentrelid | isleaf | level -------+-------------+--------+------- (0 rows) SELECT * FROM pg_partition_ancestors(NULL); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relid ------- (0 rows) SELECT * FROM pg_partition_ancestors(0); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relid ------- (0 rows) @@ -113,6 +117,7 @@ -- List all tables members of the tree SELECT relid, parentrelid, level, isleaf FROM pg_partition_tree('ptif_test'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relid | parentrelid | level | isleaf -------------+-------------+-------+-------- ptif_test | | 0 | f @@ -128,6 +133,7 @@ SELECT relid, parentrelid, level, isleaf FROM pg_partition_tree('ptif_test0') p JOIN pg_class c ON (p.relid = c.oid); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relid | parentrelid | level | isleaf -------------+-------------+-------+-------- ptif_test0 | ptif_test | 0 | f @@ -138,6 +144,7 @@ SELECT relid, parentrelid, level, isleaf FROM pg_partition_tree('ptif_test01') p JOIN pg_class c ON (p.relid = c.oid); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relid | parentrelid | level | isleaf -------------+-------------+-------+-------- ptif_test01 | ptif_test0 | 0 | t @@ -147,6 +154,7 @@ SELECT relid, parentrelid, level, isleaf FROM pg_partition_tree('ptif_test3') p JOIN pg_class c ON (p.relid = c.oid); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relid | parentrelid | level | isleaf ------------+-------------+-------+-------- ptif_test3 | ptif_test | 0 | f @@ -154,6 +162,7 @@ -- List all ancestors of root and leaf tables SELECT * FROM pg_partition_ancestors('ptif_test01'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relid ------------- ptif_test01 @@ -162,6 +171,7 @@ (3 rows) SELECT * FROM pg_partition_ancestors('ptif_test'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relid ----------- ptif_test @@ -171,6 +181,7 @@ SELECT relid, parentrelid, level, isleaf FROM pg_partition_tree(pg_partition_root('ptif_test01')) p JOIN pg_class c ON (p.relid = c.oid); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relid | parentrelid | level | isleaf -------------+-------------+-------+-------- ptif_test | | 0 | f @@ -185,6 +196,7 @@ -- List all indexes members of the tree SELECT relid, parentrelid, level, isleaf FROM pg_partition_tree('ptif_test_index'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relid | parentrelid | level | isleaf -------------------+------------------+-------+-------- ptif_test_index | | 0 | f @@ -200,6 +212,7 @@ SELECT relid, parentrelid, level, isleaf FROM pg_partition_tree('ptif_test0_index') p JOIN pg_class c ON (p.relid = c.oid); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relid | parentrelid | level | isleaf -------------------+------------------+-------+-------- ptif_test0_index | ptif_test_index | 0 | f @@ -210,6 +223,7 @@ SELECT relid, parentrelid, level, isleaf FROM pg_partition_tree('ptif_test01_index') p JOIN pg_class c ON (p.relid = c.oid); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relid | parentrelid | level | isleaf -------------------+------------------+-------+-------- ptif_test01_index | ptif_test0_index | 0 | t @@ -219,6 +233,7 @@ SELECT relid, parentrelid, level, isleaf FROM pg_partition_tree('ptif_test3_index') p JOIN pg_class c ON (p.relid = c.oid); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relid | parentrelid | level | isleaf ------------------+-----------------+-------+-------- ptif_test3_index | ptif_test_index | 0 | f @@ -228,6 +243,7 @@ SELECT relid, parentrelid, level, isleaf FROM pg_partition_tree(pg_partition_root('ptif_test01_index')) p JOIN pg_class c ON (p.relid = c.oid); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relid | parentrelid | level | isleaf -------------------+------------------+-------+-------- ptif_test_index | | 0 | f @@ -241,6 +257,7 @@ -- List all ancestors of root and leaf indexes SELECT * FROM pg_partition_ancestors('ptif_test01_index'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relid ------------------- ptif_test01_index @@ -249,6 +266,7 @@ (3 rows) SELECT * FROM pg_partition_ancestors('ptif_test_index'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relid ----------------- ptif_test_index @@ -259,11 +277,13 @@ CREATE TABLE ptif_normal_table(a int); SELECT relid, parentrelid, level, isleaf FROM pg_partition_tree('ptif_normal_table'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relid | parentrelid | level | isleaf -------+-------------+-------+-------- (0 rows) SELECT * FROM pg_partition_ancestors('ptif_normal_table'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relid ------- (0 rows) @@ -283,41 +303,49 @@ CREATE TABLE ptif_li_parent (); CREATE TABLE ptif_li_child () INHERITS (ptif_li_parent); SELECT * FROM pg_partition_tree('ptif_test_view'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relid | parentrelid | isleaf | level -------+-------------+--------+------- (0 rows) SELECT * FROM pg_partition_tree('ptif_test_matview'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relid | parentrelid | isleaf | level -------+-------------+--------+------- (0 rows) SELECT * FROM pg_partition_tree('ptif_li_parent'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relid | parentrelid | isleaf | level -------+-------------+--------+------- (0 rows) SELECT * FROM pg_partition_tree('ptif_li_child'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relid | parentrelid | isleaf | level -------+-------------+--------+------- (0 rows) SELECT * FROM pg_partition_ancestors('ptif_test_view'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relid ------- (0 rows) SELECT * FROM pg_partition_ancestors('ptif_test_matview'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relid ------- (0 rows) SELECT * FROM pg_partition_ancestors('ptif_li_parent'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relid ------- (0 rows) SELECT * FROM pg_partition_ancestors('ptif_li_child'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relid ------- (0 rows) diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/tuplesort.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/tuplesort.out --- /tmp/cirrus-ci-build/src/test/regress/expected/tuplesort.out 2024-03-19 15:41:21.046562000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/tuplesort.out 2024-03-19 15:51:37.121261000 +0000 @@ -18,6 +18,7 @@ (to_char(g.i % 10009, '00000000FM')||'-0000-0000-0000-'||to_char(g.i, '000000000000FM'))::uuid noabort_increasing, (to_char(((20000 - g.i) % 10009), '00000000FM')||'-0000-0000-0000-'||to_char(20000 - g.i, '000000000000FM'))::uuid noabort_decreasing FROM generate_series(0, 20000, 1) g(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- and a few NULLs INSERT INTO abbrev_abort_uuids(id) VALUES(0); INSERT INTO abbrev_abort_uuids DEFAULT VALUES; @@ -27,6 +28,7 @@ SELECT abort_increasing, abort_decreasing, noabort_increasing, noabort_decreasing FROM abbrev_abort_uuids WHERE (id < 10 OR id > 19990) AND id % 3 = 0 AND abort_increasing is not null; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ---- -- Check sort node uses of tuplesort wrt. abbreviated keys ---- @@ -564,6 +566,7 @@ SELECT * FROM abbrev_abort_uuids UNION ALL SELECT NULL, NULL, NULL, NULL, NULL) s; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree array_agg | array_agg | array_agg | percentile_disc | percentile_disc | percentile_disc | percentile_disc | rank --------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------+-----------------+-----------------+--------------------------------------+-----------------+------ {NULL,20010,20009,20008,20007} | {00000000-0000-0000-0000-000000020000,00000000-0000-0000-0000-000000020000,00000000-0000-0000-0000-000000019999,00000000-0000-0000-0000-000000019998,00000000-0000-0000-0000-000000019997} | {9999,9998,9997,9996,9995} | 19810 | 200 | 00000000-0000-0000-0000-000000016003 | 136 | 2 @@ -585,6 +588,7 @@ SELECT * FROM abbrev_abort_uuids UNION ALL SELECT NULL, NULL, NULL, NULL, NULL) s; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree array_agg | array_agg | array_agg | percentile_disc | percentile_disc | percentile_disc | percentile_disc | rank --------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------+-----------------+-----------------+--------------------------------------+-----------------+------ {NULL,20010,20009,20008,20007} | {00000000-0000-0000-0000-000000020000,00000000-0000-0000-0000-000000020000,00000000-0000-0000-0000-000000019999,00000000-0000-0000-0000-000000019998,00000000-0000-0000-0000-000000019997} | {9999,9998,9997,9996,9995} | 19810 | 200 | 00000000-0000-0000-0000-000000016003 | 136 | 2 @@ -598,6 +602,7 @@ -- need a few duplicates for mark/restore to matter INSERT INTO test_mark_restore(col1, col2, col12) SELECT a.i, b.i, a.i * b.i FROM generate_series(1, 500) a(i), generate_series(1, 5) b(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree BEGIN; SET LOCAL enable_nestloop = off; SET LOCAL enable_hashjoin = off; @@ -614,6 +619,7 @@ $$ AS qry \gset -- test mark/restore with in-memory sorts EXPLAIN (COSTS OFF) :qry; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Limit @@ -636,6 +642,7 @@ (17 rows) :qry; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree col12 | count | count | count | count | count -------+-------+-------+-------+-------+------- 480 | 5 | 5 | 5 | 5 | 25 @@ -653,6 +660,7 @@ -- test mark/restore with on-disk sorts SET LOCAL work_mem = '100kB'; EXPLAIN (COSTS OFF) :qry; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Limit @@ -675,6 +683,7 @@ (17 rows) :qry; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree col12 | count | count | count | count | count -------+-------+-------+-------+-------+------- 480 | 5 | 5 | 5 | 5 | 25 diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/explain.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/explain.out --- /tmp/cirrus-ci-build/src/test/regress/expected/explain.out 2024-03-19 15:41:21.018088000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/explain.out 2024-03-19 15:51:36.198632000 +0000 @@ -300,6 +300,7 @@ select true as "OK" from explain_filter('explain (settings) select * from int8_tbl i8') ln where ln ~ '^ *Settings: .*plan_cache_mode = ''force_generic_plan'''; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree OK ---- t diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/compression.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/compression.out --- /tmp/cirrus-ci-build/src/test/regress/expected/compression.out 2024-03-19 15:41:21.017451000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/compression.out 2024-03-19 15:51:36.711071000 +0000 @@ -6,6 +6,12 @@ CREATE INDEX idx ON cmdata(f1); INSERT INTO cmdata VALUES(repeat('1234567890', 1000)); \d+ cmdata +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 Table "public.cmdata" Column | Type | Collation | Nullable | Default | Storage | Compression | Stats target | Description --------+------+-----------+----------+---------+----------+-------------+--------------+------------- @@ -16,6 +22,11 @@ CREATE TABLE cmdata1(f1 TEXT COMPRESSION lz4); INSERT INTO cmdata1 VALUES(repeat('1234567890', 1004)); \d+ cmdata1 +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 Table "public.cmdata1" Column | Type | Collation | Nullable | Default | Storage | Compression | Stats target | Description --------+------+-----------+----------+---------+----------+-------------+--------------+------------- @@ -50,6 +61,11 @@ -- copy with table creation SELECT * INTO cmmove1 FROM cmdata; \d+ cmmove1 +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 Table "public.cmmove1" Column | Type | Collation | Nullable | Default | Storage | Compression | Stats target | Description --------+------+-----------+----------+---------+----------+-------------+--------------+------------- @@ -64,7 +80,9 @@ -- copy to existing table CREATE TABLE cmmove3(f1 text COMPRESSION pglz); INSERT INTO cmmove3 SELECT * FROM cmdata; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO cmmove3 SELECT * FROM cmdata1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT pg_column_compression(f1) FROM cmmove3; pg_column_compression ----------------------- @@ -75,6 +93,11 @@ -- test LIKE INCLUDING COMPRESSION CREATE TABLE cmdata2 (LIKE cmdata1 INCLUDING COMPRESSION); \d+ cmdata2 +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 Table "public.cmdata2" Column | Type | Collation | Nullable | Default | Storage | Compression | Stats target | Description --------+------+-----------+----------+---------+----------+-------------+--------------+------------- @@ -103,8 +126,11 @@ -- test externally stored compressed data CREATE OR REPLACE FUNCTION large_val() RETURNS TEXT LANGUAGE SQL AS 'select array_agg(fipshash(g::text))::text from generate_series(1, 256) g'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE TABLE cmdata2 (f1 text COMPRESSION pglz); INSERT INTO cmdata2 SELECT large_val() || repeat('a', 4000); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT pg_column_compression(f1) FROM cmdata2; pg_column_compression ----------------------- @@ -112,6 +138,8 @@ (1 row) INSERT INTO cmdata1 SELECT large_val() || repeat('a', 4000); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT pg_column_compression(f1) FROM cmdata1; pg_column_compression ----------------------- @@ -136,6 +164,11 @@ --test column type update varlena/non-varlena CREATE TABLE cmdata2 (f1 int); \d+ cmdata2 +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 Table "public.cmdata2" Column | Type | Collation | Nullable | Default | Storage | Compression | Stats target | Description --------+---------+-----------+----------+---------+---------+-------------+--------------+------------- @@ -143,6 +176,11 @@ ALTER TABLE cmdata2 ALTER COLUMN f1 TYPE varchar; \d+ cmdata2 +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 Table "public.cmdata2" Column | Type | Collation | Nullable | Default | Storage | Compression | Stats target | Description --------+-------------------+-----------+----------+---------+----------+-------------+--------------+------------- @@ -150,6 +188,11 @@ ALTER TABLE cmdata2 ALTER COLUMN f1 TYPE int USING f1::integer; \d+ cmdata2 +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 Table "public.cmdata2" Column | Type | Collation | Nullable | Default | Storage | Compression | Stats target | Description --------+---------+-----------+----------+---------+---------+-------------+--------------+------------- @@ -160,6 +203,11 @@ ALTER TABLE cmdata2 ALTER COLUMN f1 TYPE varchar; ALTER TABLE cmdata2 ALTER COLUMN f1 SET COMPRESSION pglz; \d+ cmdata2 +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 Table "public.cmdata2" Column | Type | Collation | Nullable | Default | Storage | Compression | Stats target | Description --------+-------------------+-----------+----------+---------+----------+-------------+--------------+------------- @@ -167,6 +215,11 @@ ALTER TABLE cmdata2 ALTER COLUMN f1 SET STORAGE plain; \d+ cmdata2 +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 Table "public.cmdata2" Column | Type | Collation | Nullable | Default | Storage | Compression | Stats target | Description --------+-------------------+-----------+----------+---------+---------+-------------+--------------+------------- @@ -182,6 +235,11 @@ -- test compression with materialized view CREATE MATERIALIZED VIEW compressmv(x) AS SELECT * FROM cmdata1; \d+ compressmv +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 Materialized view "public.compressmv" Column | Type | Collation | Nullable | Default | Storage | Compression | Stats target | Description --------+------+-----------+----------+---------+----------+-------------+--------------+------------- @@ -245,6 +303,12 @@ ALTER TABLE cmdata ALTER COLUMN f1 SET COMPRESSION lz4; INSERT INTO cmdata VALUES (repeat('123456789', 4004)); \d+ cmdata +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 Table "public.cmdata" Column | Type | Collation | Nullable | Default | Storage | Compression | Stats target | Description --------+------+-----------+----------+---------+----------+-------------+--------------+------------- @@ -261,6 +325,11 @@ ALTER TABLE cmdata2 ALTER COLUMN f1 SET COMPRESSION default; \d+ cmdata2 +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 Table "public.cmdata2" Column | Type | Collation | Nullable | Default | Storage | Compression | Stats target | Description --------+-------------------+-----------+----------+---------+---------+-------------+--------------+------------- @@ -269,6 +338,11 @@ -- test alter compression method for materialized views ALTER MATERIALIZED VIEW compressmv ALTER COLUMN x SET COMPRESSION lz4; \d+ compressmv +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 Materialized view "public.compressmv" Column | Type | Collation | Nullable | Default | Storage | Compression | Stats target | Description --------+------+-----------+----------+---------+----------+-------------+--------------+------------- @@ -319,6 +393,7 @@ CREATE UNIQUE INDEX idx1 ON cmdata2 ((f1 || f2)); INSERT INTO cmdata2 VALUES((SELECT array_agg(fipshash(g::TEXT))::TEXT FROM generate_series(1, 50) g), VERSION()); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- check data is ok SELECT length(f1) FROM cmdata; length diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/memoize.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/memoize.out --- /tmp/cirrus-ci-build/src/test/regress/expected/memoize.out 2024-03-19 15:41:21.019664000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/memoize.out 2024-03-19 15:51:36.441876000 +0000 @@ -35,6 +35,7 @@ SELECT COUNT(*),AVG(t1.unique1) FROM tenk1 t1 INNER JOIN tenk1 t2 ON t1.unique1 = t2.twenty WHERE t2.unique1 < 1000;', false); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree explain_memoize ------------------------------------------------------------------------------------------- Aggregate (actual rows=1 loops=N) @@ -55,6 +56,7 @@ SELECT COUNT(*),AVG(t1.unique1) FROM tenk1 t1 INNER JOIN tenk1 t2 ON t1.unique1 = t2.twenty WHERE t2.unique1 < 1000; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count | avg -------+-------------------- 1000 | 9.5000000000000000 @@ -66,6 +68,7 @@ LATERAL (SELECT t2.unique1 FROM tenk1 t2 WHERE t1.twenty = t2.unique1 OFFSET 0) t2 WHERE t1.unique1 < 1000;', false); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree explain_memoize ------------------------------------------------------------------------------------------- Aggregate (actual rows=1 loops=N) @@ -87,6 +90,7 @@ LATERAL (SELECT t2.unique1 FROM tenk1 t2 WHERE t1.twenty = t2.unique1 OFFSET 0) t2 WHERE t1.unique1 < 1000; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count | avg -------+-------------------- 1000 | 9.5000000000000000 @@ -100,6 +104,7 @@ ) t2 ON t1.two = t2.two WHERE t1.unique1 < 10;', false); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree explain_memoize ---------------------------------------------------------------------------------------------- Aggregate (actual rows=1 loops=N) @@ -124,6 +129,7 @@ ) t2 ON t1.two = t2.two WHERE t1.unique1 < 10; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count | avg -------+------------------------ 20 | 0.50000000000000000000 @@ -136,14 +142,17 @@ SELECT d1::numeric, d1::text FROM ( SELECT round((d / pi())::numeric, 7) AS d1 FROM generate_series(1, 20) AS d ) t; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- duplicate rows so we get some cache hits INSERT INTO expr_key SELECT * FROM expr_key; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE INDEX expr_key_idx_x_t ON expr_key (x, t); VACUUM ANALYZE expr_key; -- Ensure we get we get a cache miss and hit for each of the 20 distinct values SELECT explain_memoize(' SELECT * FROM expr_key t1 INNER JOIN expr_key t2 ON t1.x = t2.t::numeric AND t1.t::numeric = t2.x;', false); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree explain_memoize ------------------------------------------------------------------------------------------- Nested Loop (actual rows=80 loops=N) @@ -169,6 +178,7 @@ SELECT COUNT(*),AVG(t1.unique1) FROM tenk1 t1 INNER JOIN tenk1 t2 ON t1.unique1 = t2.thousand WHERE t2.unique1 < 1200;', true); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree explain_memoize ------------------------------------------------------------------------------------------- Aggregate (actual rows=1 loops=N) @@ -188,11 +198,13 @@ CREATE TABLE flt (f float); CREATE INDEX flt_f_idx ON flt (f); INSERT INTO flt VALUES('-0.0'::float),('+0.0'::float); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE flt; SET enable_seqscan TO off; -- Ensure memoize operates in logical mode SELECT explain_memoize(' SELECT * FROM flt f1 INNER JOIN flt f2 ON f1.f = f2.f;', false); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree explain_memoize ------------------------------------------------------------------------------- Nested Loop (actual rows=4 loops=N) @@ -210,6 +222,7 @@ -- Ensure memoize operates in binary mode SELECT explain_memoize(' SELECT * FROM flt f1 INNER JOIN flt f2 ON f1.f >= f2.f;', false); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree explain_memoize ------------------------------------------------------------------------------- Nested Loop (actual rows=4 loops=N) @@ -231,12 +244,15 @@ CREATE INDEX strtest_n_idx ON strtest (n); CREATE INDEX strtest_t_idx ON strtest (t); INSERT INTO strtest VALUES('one','one'),('two','two'),('three',repeat(fipshash('three'),100)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- duplicate rows so we get some cache hits INSERT INTO strtest SELECT * FROM strtest; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ANALYZE strtest; -- Ensure we get 3 hits and 3 misses SELECT explain_memoize(' SELECT * FROM strtest s1 INNER JOIN strtest s2 ON s1.n >= s2.n;', false); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree explain_memoize ---------------------------------------------------------------------------------- Nested Loop (actual rows=24 loops=N) @@ -252,6 +268,7 @@ -- Ensure we get 3 hits and 3 misses SELECT explain_memoize(' SELECT * FROM strtest s1 INNER JOIN strtest s2 ON s1.t >= s2.t;', false); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree explain_memoize ---------------------------------------------------------------------------------- Nested Loop (actual rows=24 loops=N) @@ -271,12 +288,15 @@ CREATE TABLE prt_p1 PARTITION OF prt FOR VALUES FROM (0) TO (10); CREATE TABLE prt_p2 PARTITION OF prt FOR VALUES FROM (10) TO (20); INSERT INTO prt VALUES (0), (0), (0), (0); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree INSERT INTO prt VALUES (10), (10), (10), (10); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE INDEX iprt_p1_a ON prt_p1 (a); CREATE INDEX iprt_p2_a ON prt_p2 (a); ANALYZE prt; SELECT explain_memoize(' SELECT * FROM prt t1 INNER JOIN prt t2 ON t1.a = t2.a;', false); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree explain_memoize ------------------------------------------------------------------------------------------ Append (actual rows=32 loops=N) @@ -308,6 +328,7 @@ SELECT * FROM prt_p1 t1 INNER JOIN (SELECT * FROM prt_p1 UNION ALL SELECT * FROM prt_p2) t2 ON t1.a = t2.a;', false); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree explain_memoize ------------------------------------------------------------------------------------- Nested Loop (actual rows=16 loops=N) @@ -338,6 +359,7 @@ SELECT 1 FROM tenk1 t1 INNER JOIN tenk1 t2 ON t1.unique1 = t2.hundred WHERE t0.ten = t1.twenty AND t0.two <> t2.four OFFSET 0); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ---------------------------------------------------------------- Index Scan using tenk1_unique1 on tenk1 t0 @@ -362,6 +384,7 @@ SELECT 1 FROM tenk1 t1 INNER JOIN tenk1 t2 ON t1.unique1 = t2.hundred WHERE t0.ten = t1.twenty AND t0.two <> t2.four OFFSET 0); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree unique1 --------- 2 @@ -383,6 +406,7 @@ SELECT COUNT(*),AVG(t2.unique1) FROM tenk1 t1, LATERAL (SELECT t2.unique1 FROM tenk1 t2 WHERE t1.twenty = t2.unique1) t2 WHERE t1.unique1 < 1000; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------------------------------------- Finalize Aggregate @@ -405,6 +429,7 @@ SELECT COUNT(*),AVG(t2.unique1) FROM tenk1 t1, LATERAL (SELECT t2.unique1 FROM tenk1 t2 WHERE t1.twenty = t2.unique1) t2 WHERE t1.unique1 < 1000; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count | avg -------+-------------------- 1000 | 9.5000000000000000 diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/stats.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/stats.out --- /tmp/cirrus-ci-build/src/test/regress/expected/stats.out 2024-03-19 15:41:21.045483000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/stats.out 2024-03-19 15:51:37.314041000 +0000 @@ -113,6 +113,7 @@ SELECT relname, n_tup_ins, n_tup_upd, n_tup_del, n_live_tup, n_dead_tup FROM pg_stat_user_tables WHERE relname like 'trunc_stats_test%' order by relname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | n_tup_ins | n_tup_upd | n_tup_del | n_live_tup | n_dead_tup -------------------+-----------+-----------+-----------+------------+------------ trunc_stats_test | 3 | 0 | 0 | 0 | 0 @@ -128,6 +129,7 @@ st.idx_tup_fetch >= pr.idx_tup_fetch + 1 FROM pg_stat_user_tables AS st, pg_class AS cl, prevstats AS pr WHERE st.relname='tenk2' AND cl.relname='tenk2'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ?column? | ?column? | ?column? | ?column? ----------+----------+----------+---------- t | t | t | t @@ -137,6 +139,7 @@ st.idx_blks_read + st.idx_blks_hit >= pr.idx_blks + 1 FROM pg_statio_user_tables AS st, pg_class AS cl, prevstats AS pr WHERE st.relname='tenk2' AND cl.relname='tenk2'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ?column? | ?column? ----------+---------- t | t @@ -250,12 +253,14 @@ -- check collected stats SELECT funcname, calls FROM pg_stat_user_functions WHERE funcid = :stats_test_func1_oid; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree funcname | calls ------------------+------- stats_test_func1 | 2 (1 row) SELECT funcname, calls FROM pg_stat_user_functions WHERE funcid = :stats_test_func2_oid; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree funcname | calls ------------------+------- stats_test_func2 | 4 @@ -264,6 +269,7 @@ -- check that a rolled back drop function stats leaves stats alive BEGIN; SELECT funcname, calls FROM pg_stat_user_functions WHERE funcid = :stats_test_func1_oid; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree funcname | calls ------------------+------- stats_test_func1 | 2 @@ -272,6 +278,7 @@ DROP FUNCTION stats_test_func1(); -- shouldn't be visible via view SELECT funcname, calls FROM pg_stat_user_functions WHERE funcid = :stats_test_func1_oid; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree funcname | calls ----------+------- (0 rows) @@ -285,6 +292,7 @@ ROLLBACK; SELECT funcname, calls FROM pg_stat_user_functions WHERE funcid = :stats_test_func1_oid; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree funcname | calls ------------------+------- stats_test_func1 | 2 @@ -301,6 +309,7 @@ DROP FUNCTION stats_test_func1(); COMMIT; SELECT funcname, calls FROM pg_stat_user_functions WHERE funcid = :stats_test_func1_oid; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree funcname | calls ----------+------- (0 rows) @@ -330,6 +339,7 @@ DROP FUNCTION stats_test_func2(); COMMIT; SELECT funcname, calls FROM pg_stat_user_functions WHERE funcid = :stats_test_func2_oid; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree funcname | calls ----------+------- (0 rows) @@ -574,6 +584,7 @@ (1 row) SELECT last_seq_scan, last_idx_scan FROM pg_stat_all_tables WHERE relid = 'test_last_scan'::regclass; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree last_seq_scan | last_idx_scan ---------------+--------------- | @@ -587,6 +598,7 @@ (1 row) SELECT seq_scan, idx_scan FROM pg_stat_all_tables WHERE relid = 'test_last_scan'::regclass; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree seq_scan | idx_scan ----------+---------- 0 | 0 @@ -636,6 +648,7 @@ -- fetch timestamps from before the next test SELECT last_seq_scan AS test_last_seq, last_idx_scan AS test_last_idx FROM pg_stat_all_tables WHERE relid = 'test_last_scan'::regclass \gset +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT pg_sleep(0.1); -- assume a minimum timestamp granularity of 100ms pg_sleep ---------- @@ -671,6 +684,7 @@ -- check that just sequential scan stats were incremented SELECT seq_scan, :'test_last_seq' < last_seq_scan AS seq_ok, idx_scan, :'test_last_idx' = last_idx_scan AS idx_ok FROM pg_stat_all_tables WHERE relid = 'test_last_scan'::regclass; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree seq_scan | seq_ok | idx_scan | idx_ok ----------+--------+----------+-------- 2 | t | 1 | t @@ -679,6 +693,7 @@ -- fetch timestamps from before the next test SELECT last_seq_scan AS test_last_seq, last_idx_scan AS test_last_idx FROM pg_stat_all_tables WHERE relid = 'test_last_scan'::regclass \gset +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT pg_sleep(0.1); pg_sleep ---------- @@ -714,6 +729,7 @@ -- check that just index scan stats were incremented SELECT seq_scan, :'test_last_seq' = last_seq_scan AS seq_ok, idx_scan, :'test_last_idx' < last_idx_scan AS idx_ok FROM pg_stat_all_tables WHERE relid = 'test_last_scan'::regclass; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree seq_scan | seq_ok | idx_scan | idx_ok ----------+--------+----------+-------- 2 | t | 2 | t @@ -722,6 +738,7 @@ -- fetch timestamps from before the next test SELECT last_seq_scan AS test_last_seq, last_idx_scan AS test_last_idx FROM pg_stat_all_tables WHERE relid = 'test_last_scan'::regclass \gset +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT pg_sleep(0.1); pg_sleep ---------- @@ -759,6 +776,7 @@ -- check that just index scan stats were incremented SELECT seq_scan, :'test_last_seq' = last_seq_scan AS seq_ok, idx_scan, :'test_last_idx' < last_idx_scan AS idx_ok FROM pg_stat_all_tables WHERE relid = 'test_last_scan'::regclass; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree seq_scan | seq_ok | idx_scan | idx_ok ----------+--------+----------+-------- 2 | t | 3 | t @@ -786,6 +804,7 @@ -- check that the stats are reset. SELECT (n_tup_ins + n_tup_upd) > 0 AS has_data FROM pg_stat_all_tables WHERE relid = 'pg_shdescription'::regclass; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree has_data ---------- t @@ -799,6 +818,7 @@ SELECT (n_tup_ins + n_tup_upd) > 0 AS has_data FROM pg_stat_all_tables WHERE relid = 'pg_shdescription'::regclass; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree has_data ---------- f @@ -815,6 +835,7 @@ ----- -- Test that sessions is incremented when a new session is started in pg_stat_database SELECT sessions AS db_stat_sessions FROM pg_stat_database WHERE datname = (SELECT current_database()) \gset +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree \c SELECT pg_stat_force_next_flush(); pg_stat_force_next_flush @@ -823,6 +844,7 @@ (1 row) SELECT sessions > :db_stat_sessions FROM pg_stat_database WHERE datname = (SELECT current_database()); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ?column? ---------- t @@ -830,8 +852,10 @@ -- Test pg_stat_checkpointer checkpointer-related stats, together with pg_stat_wal SELECT num_requested AS rqst_ckpts_before FROM pg_stat_checkpointer \gset +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- Test pg_stat_wal (and make a temp table so our temp schema exists) SELECT wal_bytes AS wal_bytes_before FROM pg_stat_wal \gset +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE TEMP TABLE test_stats_temp AS SELECT 17; DROP TABLE test_stats_temp; -- Checkpoint twice: The checkpointer reports stats after reporting completion @@ -840,12 +864,14 @@ CHECKPOINT; CHECKPOINT; SELECT num_requested > :rqst_ckpts_before FROM pg_stat_checkpointer; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ?column? ---------- t (1 row) SELECT wal_bytes > :wal_bytes_before FROM pg_stat_wal; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ?column? ---------- t @@ -857,6 +883,7 @@ SELECT (current_schemas(true))[1] = ('pg_temp_' || beid::text) AS match FROM pg_stat_get_backend_idset() beid WHERE pg_stat_get_backend_pid(beid) = pg_backend_pid(); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree match ------- t @@ -867,7 +894,9 @@ ----- -- Test that reset_slru with a specified SLRU works. SELECT stats_reset AS slru_commit_ts_reset_ts FROM pg_stat_slru WHERE name = 'commit_timestamp' \gset +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT stats_reset AS slru_notify_reset_ts FROM pg_stat_slru WHERE name = 'notify' \gset +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT pg_stat_reset_slru('commit_timestamp'); pg_stat_reset_slru -------------------- @@ -875,12 +904,14 @@ (1 row) SELECT stats_reset > :'slru_commit_ts_reset_ts'::timestamptz FROM pg_stat_slru WHERE name = 'commit_timestamp'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ?column? ---------- t (1 row) SELECT stats_reset AS slru_commit_ts_reset_ts FROM pg_stat_slru WHERE name = 'commit_timestamp' \gset +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- Test that multiple SLRUs are reset when no specific SLRU provided to reset function SELECT pg_stat_reset_slru(); pg_stat_reset_slru @@ -889,12 +920,14 @@ (1 row) SELECT stats_reset > :'slru_commit_ts_reset_ts'::timestamptz FROM pg_stat_slru WHERE name = 'commit_timestamp'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ?column? ---------- t (1 row) SELECT stats_reset > :'slru_notify_reset_ts'::timestamptz FROM pg_stat_slru WHERE name = 'notify'; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ?column? ---------- t @@ -902,6 +935,7 @@ -- Test that reset_shared with archiver specified as the stats type works SELECT stats_reset AS archiver_reset_ts FROM pg_stat_archiver \gset +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT pg_stat_reset_shared('archiver'); pg_stat_reset_shared ---------------------- @@ -909,6 +943,7 @@ (1 row) SELECT stats_reset > :'archiver_reset_ts'::timestamptz FROM pg_stat_archiver; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ?column? ---------- t @@ -916,6 +951,7 @@ -- Test that reset_shared with bgwriter specified as the stats type works SELECT stats_reset AS bgwriter_reset_ts FROM pg_stat_bgwriter \gset +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT pg_stat_reset_shared('bgwriter'); pg_stat_reset_shared ---------------------- @@ -923,6 +959,7 @@ (1 row) SELECT stats_reset > :'bgwriter_reset_ts'::timestamptz FROM pg_stat_bgwriter; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ?column? ---------- t @@ -930,6 +967,7 @@ -- Test that reset_shared with checkpointer specified as the stats type works SELECT stats_reset AS checkpointer_reset_ts FROM pg_stat_checkpointer \gset +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT pg_stat_reset_shared('checkpointer'); pg_stat_reset_shared ---------------------- @@ -937,6 +975,7 @@ (1 row) SELECT stats_reset > :'checkpointer_reset_ts'::timestamptz FROM pg_stat_checkpointer; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ?column? ---------- t @@ -944,6 +983,7 @@ -- Test that reset_shared with recovery_prefetch specified as the stats type works SELECT stats_reset AS recovery_prefetch_reset_ts FROM pg_stat_recovery_prefetch \gset +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT pg_stat_reset_shared('recovery_prefetch'); pg_stat_reset_shared ---------------------- @@ -951,6 +991,7 @@ (1 row) SELECT stats_reset > :'recovery_prefetch_reset_ts'::timestamptz FROM pg_stat_recovery_prefetch; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ?column? ---------- t @@ -958,6 +999,7 @@ -- Test that reset_shared with slru specified as the stats type works SELECT max(stats_reset) AS slru_reset_ts FROM pg_stat_slru \gset +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT pg_stat_reset_shared('slru'); pg_stat_reset_shared ---------------------- @@ -965,6 +1007,7 @@ (1 row) SELECT max(stats_reset) > :'slru_reset_ts'::timestamptz FROM pg_stat_slru; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ?column? ---------- t @@ -972,6 +1015,7 @@ -- Test that reset_shared with wal specified as the stats type works SELECT stats_reset AS wal_reset_ts FROM pg_stat_wal \gset +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT pg_stat_reset_shared('wal'); pg_stat_reset_shared ---------------------- @@ -979,6 +1023,7 @@ (1 row) SELECT stats_reset > :'wal_reset_ts'::timestamptz FROM pg_stat_wal; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ?column? ---------- t @@ -997,6 +1042,7 @@ (1 row) SELECT stats_reset AS db_reset_ts FROM pg_stat_database WHERE datname = (SELECT current_database()) \gset +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT pg_stat_reset(); pg_stat_reset --------------- @@ -1004,6 +1050,7 @@ (1 row) SELECT stats_reset > :'db_reset_ts'::timestamptz FROM pg_stat_database WHERE datname = (SELECT current_database()); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ?column? ---------- t @@ -1261,11 +1308,14 @@ -- extends. SELECT sum(extends) AS io_sum_shared_before_extends FROM pg_stat_io WHERE context = 'normal' AND object = 'relation' \gset +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT sum(writes) AS writes, sum(fsyncs) AS fsyncs FROM pg_stat_io WHERE object = 'relation' \gset io_sum_shared_before_ +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE TABLE test_io_shared(a int); INSERT INTO test_io_shared SELECT i FROM generate_series(1,100)i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT pg_stat_force_next_flush(); pg_stat_force_next_flush -------------------------- @@ -1274,6 +1324,7 @@ SELECT sum(extends) AS io_sum_shared_after_extends FROM pg_stat_io WHERE context = 'normal' AND object = 'relation' \gset +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT :io_sum_shared_after_extends > :io_sum_shared_before_extends; ?column? ---------- @@ -1288,6 +1339,7 @@ SELECT sum(writes) AS writes, sum(fsyncs) AS fsyncs FROM pg_stat_io WHERE object = 'relation' \gset io_sum_shared_after_ +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT :io_sum_shared_after_writes > :io_sum_shared_before_writes; ?column? ---------- @@ -1305,6 +1357,7 @@ -- from it to cause it to be read back into shared buffers. SELECT sum(reads) AS io_sum_shared_before_reads FROM pg_stat_io WHERE context = 'normal' AND object = 'relation' \gset +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- Do this in a transaction to prevent spurious failures due to concurrent accesses to our newly -- rewritten table, e.g. by autovacuum. BEGIN; @@ -1326,6 +1379,7 @@ SELECT sum(reads) AS io_sum_shared_after_reads FROM pg_stat_io WHERE context = 'normal' AND object = 'relation' \gset +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT :io_sum_shared_after_reads > :io_sum_shared_before_reads; ?column? ---------- @@ -1334,6 +1388,7 @@ SELECT sum(hits) AS io_sum_shared_before_hits FROM pg_stat_io WHERE context = 'normal' AND object = 'relation' \gset +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- Select from the table again to count hits. -- Ensure we generate hits by forcing a nested loop self-join with no -- materialize node. The outer side's buffer will stay pinned, preventing its @@ -1343,6 +1398,7 @@ SET LOCAL enable_hashjoin TO off; SET LOCAL enable_material TO off; -- ensure plan stays as we expect it to EXPLAIN (COSTS OFF) SELECT COUNT(*) FROM test_io_shared t1 INNER JOIN test_io_shared t2 USING (a); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------- Aggregate @@ -1353,6 +1409,7 @@ (5 rows) SELECT COUNT(*) FROM test_io_shared t1 INNER JOIN test_io_shared t2 USING (a); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree count ------- 100 @@ -1367,6 +1424,7 @@ SELECT sum(hits) AS io_sum_shared_after_hits FROM pg_stat_io WHERE context = 'normal' AND object = 'relation' \gset +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT :io_sum_shared_after_hits > :io_sum_shared_before_hits; ?column? ---------- @@ -1388,10 +1446,12 @@ SELECT sum(extends) AS extends, sum(evictions) AS evictions, sum(writes) AS writes FROM pg_stat_io WHERE context = 'normal' AND object = 'temp relation' \gset io_sum_local_before_ +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- Insert tuples into the temporary table, generating extends in the stats. -- Insert enough values that we need to reuse and write out dirty local -- buffers, generating evictions and writes. INSERT INTO test_io_local SELECT generate_series(1, 5000) as id, repeat('a', 200); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- Ensure the table is large enough to exceed our temp_buffers setting. SELECT pg_relation_size('test_io_local') / current_setting('block_size')::int8 > 100; ?column? @@ -1401,6 +1461,7 @@ SELECT sum(reads) AS io_sum_local_before_reads FROM pg_stat_io WHERE context = 'normal' AND object = 'temp relation' \gset +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- Read in evicted buffers, generating reads. SELECT COUNT(*) FROM test_io_local; count @@ -1420,6 +1481,7 @@ sum(extends) AS extends FROM pg_stat_io WHERE context = 'normal' AND object = 'temp relation' \gset io_sum_local_after_ +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT :io_sum_local_after_evictions > :io_sum_local_before_evictions, :io_sum_local_after_reads > :io_sum_local_before_reads, :io_sum_local_after_writes > :io_sum_local_before_writes, @@ -1441,6 +1503,7 @@ SELECT sum(writes) AS io_sum_local_new_tblspc_writes FROM pg_stat_io WHERE context = 'normal' AND object = 'temp relation' \gset +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT :io_sum_local_new_tblspc_writes > :io_sum_local_after_writes; ?column? ---------- @@ -1463,8 +1526,10 @@ SET wal_skip_threshold = '1 kB'; SELECT sum(reuses) AS reuses, sum(reads) AS reads, sum(evictions) AS evictions FROM pg_stat_io WHERE context = 'vacuum' \gset io_sum_vac_strategy_before_ +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE TABLE test_io_vac_strategy(a int, b int) WITH (autovacuum_enabled = 'false'); INSERT INTO test_io_vac_strategy SELECT i, i from generate_series(1, 4500)i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- Ensure that the next VACUUM will need to perform IO by rewriting the table -- first with VACUUM (FULL). VACUUM (FULL) test_io_vac_strategy; @@ -1479,6 +1544,7 @@ SELECT sum(reuses) AS reuses, sum(reads) AS reads, sum(evictions) AS evictions FROM pg_stat_io WHERE context = 'vacuum' \gset io_sum_vac_strategy_after_ +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT :io_sum_vac_strategy_after_reads > :io_sum_vac_strategy_before_reads; ?column? ---------- @@ -1497,7 +1563,9 @@ -- BufferAccessStrategy, are tracked in pg_stat_io. SELECT sum(extends) AS io_sum_bulkwrite_strategy_extends_before FROM pg_stat_io WHERE context = 'bulkwrite' \gset +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE TABLE test_io_bulkwrite_strategy AS SELECT i FROM generate_series(1,100)i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT pg_stat_force_next_flush(); pg_stat_force_next_flush -------------------------- @@ -1506,6 +1574,7 @@ SELECT sum(extends) AS io_sum_bulkwrite_strategy_extends_after FROM pg_stat_io WHERE context = 'bulkwrite' \gset +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT :io_sum_bulkwrite_strategy_extends_after > :io_sum_bulkwrite_strategy_extends_before; ?column? ---------- @@ -1521,6 +1590,7 @@ SELECT sum(evictions) + sum(reuses) + sum(extends) + sum(fsyncs) + sum(reads) + sum(writes) + sum(writebacks) + sum(hits) AS io_stats_pre_reset FROM pg_stat_io \gset +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT pg_stat_reset_shared('io'); pg_stat_reset_shared ---------------------- @@ -1529,6 +1599,7 @@ SELECT sum(evictions) + sum(reuses) + sum(extends) + sum(fsyncs) + sum(reads) + sum(writes) + sum(writebacks) + sum(hits) AS io_stats_post_reset FROM pg_stat_io \gset +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT :io_stats_post_reset < :io_stats_pre_reset; ?column? ---------- @@ -1541,6 +1612,7 @@ val integer NOT NULL ) WITH (autovacuum_enabled = off, fillfactor = 70); INSERT INTO brin_hot SELECT *, 0 FROM generate_series(1, 235); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE INDEX val_brin ON brin_hot using brin(val); CREATE FUNCTION wait_for_hot_stats() RETURNS void AS $$ DECLARE @@ -1627,6 +1699,7 @@ -- https://postgr.es/m/05ebcb44-f383-86e3-4f31-0a97a55634cf@enterprisedb.com CREATE TABLE brin_hot_3 (a int, filler text) WITH (fillfactor = 10); INSERT INTO brin_hot_3 SELECT 1, repeat(' ', 500) FROM generate_series(1, 20); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE INDEX ON brin_hot_3 USING brin (a) WITH (pages_per_range = 1); UPDATE brin_hot_3 SET a = 2; EXPLAIN (COSTS OFF) SELECT * FROM brin_hot_3 WHERE a = 2; diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/predicate.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/predicate.out --- /tmp/cirrus-ci-build/src/test/regress/expected/predicate.out 2024-03-19 15:41:21.044052000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/predicate.out 2024-03-19 15:51:36.028237000 +0000 @@ -99,6 +99,7 @@ SELECT * FROM pred_tab t1 LEFT JOIN pred_tab t2 ON TRUE LEFT JOIN pred_tab t3 ON t2.a IS NOT NULL; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------- Nested Loop Left Join @@ -116,6 +117,7 @@ SELECT * FROM pred_tab t1 LEFT JOIN pred_tab t2 ON t1.a = 1 LEFT JOIN pred_tab t3 ON t2.a IS NOT NULL; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------- Nested Loop Left Join @@ -135,6 +137,7 @@ SELECT * FROM pred_tab t1 LEFT JOIN pred_tab t2 ON TRUE LEFT JOIN pred_tab t3 ON t2.a IS NULL AND t2.b = 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------------- Nested Loop Left Join @@ -153,6 +156,7 @@ SELECT * FROM pred_tab t1 LEFT JOIN pred_tab t2 ON t1.a = 1 LEFT JOIN pred_tab t3 ON t2.a IS NULL; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------- Nested Loop Left Join @@ -174,6 +178,7 @@ SELECT * FROM pred_tab t1 LEFT JOIN pred_tab t2 ON TRUE LEFT JOIN pred_tab t3 ON t2.a IS NOT NULL OR t2.b = 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN ------------------------------------------------- Nested Loop Left Join @@ -191,6 +196,7 @@ SELECT * FROM pred_tab t1 LEFT JOIN pred_tab t2 ON t1.a = 1 LEFT JOIN pred_tab t3 ON t2.a IS NOT NULL OR t2.b = 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------------- Nested Loop Left Join @@ -210,6 +216,7 @@ SELECT * FROM pred_tab t1 LEFT JOIN pred_tab t2 ON TRUE LEFT JOIN pred_tab t3 ON (t2.a IS NULL OR t2.c IS NULL) AND t2.b = 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------------- Nested Loop Left Join @@ -228,6 +235,7 @@ SELECT * FROM pred_tab t1 LEFT JOIN pred_tab t2 ON t1.a = 1 LEFT JOIN pred_tab t3 ON t2.a IS NULL OR t2.c IS NULL; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree QUERY PLAN --------------------------------------------------- Nested Loop Left Join diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/oidjoins.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/oidjoins.out --- /tmp/cirrus-ci-build/src/test/regress/expected/oidjoins.out 2024-03-19 15:41:21.042919000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/oidjoins.out 2024-03-19 15:51:38.475422000 +0000 @@ -47,6 +47,7 @@ end loop; end $doblock$; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: checking pg_proc {pronamespace} => pg_namespace {oid} NOTICE: checking pg_proc {proowner} => pg_authid {oid} NOTICE: checking pg_proc {prolang} => pg_language {oid} @@ -54,8 +55,11 @@ NOTICE: checking pg_proc {prosupport} => pg_proc {oid} NOTICE: checking pg_proc {prorettype} => pg_type {oid} NOTICE: checking pg_proc {proargtypes} => pg_type {oid} +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: checking pg_proc {proallargtypes} => pg_type {oid} +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: checking pg_proc {protrftypes} => pg_type {oid} +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: checking pg_type {typnamespace} => pg_namespace {oid} NOTICE: checking pg_type {typowner} => pg_authid {oid} NOTICE: checking pg_type {typrelid} => pg_class {oid} @@ -91,18 +95,27 @@ NOTICE: checking pg_constraint {conparentid} => pg_constraint {oid} NOTICE: checking pg_constraint {confrelid} => pg_class {oid} NOTICE: checking pg_constraint {conpfeqop} => pg_operator {oid} +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: checking pg_constraint {conppeqop} => pg_operator {oid} +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: checking pg_constraint {conffeqop} => pg_operator {oid} +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: checking pg_constraint {conexclop} => pg_operator {oid} +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: checking pg_constraint {conrelid,conkey} => pg_attribute {attrelid,attnum} +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: checking pg_constraint {confrelid,confkey} => pg_attribute {attrelid,attnum} +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: checking pg_inherits {inhrelid} => pg_class {oid} NOTICE: checking pg_inherits {inhparent} => pg_class {oid} NOTICE: checking pg_index {indexrelid} => pg_class {oid} NOTICE: checking pg_index {indrelid} => pg_class {oid} NOTICE: checking pg_index {indcollation} => pg_collation {oid} +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: checking pg_index {indclass} => pg_opclass {oid} +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: checking pg_index {indrelid,indkey} => pg_attribute {attrelid,attnum} +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: checking pg_operator {oprnamespace} => pg_namespace {oid} NOTICE: checking pg_operator {oprowner} => pg_authid {oid} NOTICE: checking pg_operator {oprleft} => pg_type {oid} @@ -167,6 +180,7 @@ NOTICE: checking pg_statistic_ext {stxnamespace} => pg_namespace {oid} NOTICE: checking pg_statistic_ext {stxowner} => pg_authid {oid} NOTICE: checking pg_statistic_ext {stxrelid,stxkeys} => pg_attribute {attrelid,attnum} +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: checking pg_statistic_ext_data {stxoid} => pg_statistic_ext {oid} NOTICE: checking pg_rewrite {ev_class} => pg_class {oid} NOTICE: checking pg_trigger {tgrelid} => pg_class {oid} @@ -176,6 +190,7 @@ NOTICE: checking pg_trigger {tgconstrindid} => pg_class {oid} NOTICE: checking pg_trigger {tgconstraint} => pg_constraint {oid} NOTICE: checking pg_trigger {tgrelid,tgattr} => pg_attribute {attrelid,attnum} +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: checking pg_event_trigger {evtowner} => pg_authid {oid} NOTICE: checking pg_event_trigger {evtfoid} => pg_proc {oid} NOTICE: checking pg_description {classoid} => pg_class {oid} @@ -221,6 +236,7 @@ NOTICE: checking pg_extension {extowner} => pg_authid {oid} NOTICE: checking pg_extension {extnamespace} => pg_namespace {oid} NOTICE: checking pg_extension {extconfig} => pg_class {oid} +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: checking pg_foreign_data_wrapper {fdwowner} => pg_authid {oid} NOTICE: checking pg_foreign_data_wrapper {fdwhandler} => pg_proc {oid} NOTICE: checking pg_foreign_data_wrapper {fdwvalidator} => pg_proc {oid} @@ -232,6 +248,7 @@ NOTICE: checking pg_foreign_table {ftserver} => pg_foreign_server {oid} NOTICE: checking pg_policy {polrelid} => pg_class {oid} NOTICE: checking pg_policy {polroles} => pg_authid {oid} +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: checking pg_default_acl {defaclrole} => pg_authid {oid} NOTICE: checking pg_default_acl {defaclnamespace} => pg_namespace {oid} NOTICE: checking pg_init_privs {classoid} => pg_class {oid} @@ -242,8 +259,11 @@ NOTICE: checking pg_partitioned_table {partrelid} => pg_class {oid} NOTICE: checking pg_partitioned_table {partdefid} => pg_class {oid} NOTICE: checking pg_partitioned_table {partclass} => pg_opclass {oid} +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: checking pg_partitioned_table {partcollation} => pg_collation {oid} +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: checking pg_partitioned_table {partrelid,partattrs} => pg_attribute {attrelid,attnum} +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: checking pg_range {rngtypid} => pg_type {oid} NOTICE: checking pg_range {rngsubtype} => pg_type {oid} NOTICE: checking pg_range {rngmultitypid} => pg_type {oid} diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/event_trigger.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/event_trigger.out --- /tmp/cirrus-ci-build/src/test/regress/expected/event_trigger.out 2024-03-19 15:41:21.018061000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/event_trigger.out 2024-03-19 15:51:38.537303000 +0000 @@ -227,6 +227,7 @@ INSERT INTO undroppable_objs VALUES ('table', 'schema_one.table_three'), ('table', 'audit_tbls.schema_two_table_three'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE TABLE dropped_objects ( type text, schema text, @@ -278,6 +279,9 @@ 'drop owned', 'drop schema', 'alter table') EXECUTE PROCEDURE test_evtrig_dropped_objects(); ALTER TABLE schema_one.table_one DROP COLUMN a; +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 DROP SCHEMA schema_one, schema_two CASCADE; NOTICE: drop cascades to 7 other objects DETAIL: drop cascades to table schema_two.table_two @@ -287,8 +291,11 @@ drop cascades to table schema_one.table_one drop cascades to table schema_one."table two" drop cascades to table schema_one.table_three +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: table "schema_two_table_two" does not exist, skipping NOTICE: table "audit_tbls_schema_two_table_three" does not exist, skipping +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: object audit_tbls.schema_two_table_three of type table cannot be dropped CONTEXT: PL/pgSQL function undroppable() line 14 at RAISE SQL statement "DROP TABLE IF EXISTS audit_tbls.schema_two_table_three" @@ -303,8 +310,11 @@ drop cascades to table schema_one.table_one drop cascades to table schema_one."table two" drop cascades to table schema_one.table_three +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: table "schema_two_table_two" does not exist, skipping NOTICE: table "audit_tbls_schema_two_table_three" does not exist, skipping +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: table "schema_one_table_one" does not exist, skipping NOTICE: table "schema_one_table two" does not exist, skipping NOTICE: table "schema_one_table_three" does not exist, skipping @@ -320,8 +330,11 @@ drop cascades to table schema_one.table_one drop cascades to table schema_one."table two" drop cascades to table schema_one.table_three +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: table "schema_two_table_two" does not exist, skipping NOTICE: table "audit_tbls_schema_two_table_three" does not exist, skipping +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: table "schema_one_table_one" does not exist, skipping NOTICE: table "schema_one_table two" does not exist, skipping NOTICE: table "schema_one_table_three" does not exist, skipping @@ -354,7 +367,10 @@ (23 rows) DROP OWNED BY regress_evt_user; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: schema "audit_tbls" does not exist, skipping +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM dropped_objects WHERE type = 'schema'; type | schema | object --------+--------+------------ @@ -404,6 +420,7 @@ CREATE INDEX one_idx ON one (col_b) CREATE TABLE two (col_c INTEGER CHECK (col_c > 0) REFERENCES one DEFAULT 42) CREATE TABLE id (col_d int NOT NULL GENERATED ALWAYS AS IDENTITY); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: END: command_tag=CREATE SCHEMA type=schema identity=evttrig NOTICE: END: command_tag=CREATE SEQUENCE type=sequence identity=evttrig.one_col_a_seq NOTICE: END: command_tag=CREATE SEQUENCE type=sequence identity=evttrig.one_col_c_seq @@ -422,6 +439,7 @@ CREATE TABLE evttrig.parted ( id int PRIMARY KEY) PARTITION BY RANGE (id); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: END: command_tag=CREATE TABLE type=table identity=evttrig.parted NOTICE: END: command_tag=ALTER TABLE type=table identity=evttrig.parted NOTICE: END: command_tag=CREATE INDEX type=index identity=evttrig.parted_pkey @@ -438,6 +456,7 @@ FOR VALUES FROM (15) TO (20); NOTICE: END: command_tag=CREATE TABLE type=table identity=evttrig.part_15_20 ALTER TABLE evttrig.two DROP COLUMN col_c; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: NORMAL: orig=t normal=f istemp=f type=table column identity=evttrig.two.col_c name={evttrig,two,col_c} args={} NOTICE: NORMAL: orig=f normal=t istemp=f type=table constraint identity=two_col_c_check on evttrig.two name={evttrig,two,two_col_c_check} args={} NOTICE: END: command_tag=ALTER TABLE type=table identity=evttrig.two @@ -465,6 +484,7 @@ drop cascades to table evttrig.two drop cascades to table evttrig.id drop cascades to table evttrig.parted +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: NORMAL: orig=t normal=f istemp=f type=schema identity=evttrig name={evttrig} args={} NOTICE: NORMAL: orig=f normal=t istemp=f type=table identity=evttrig.one name={evttrig,one} args={} NOTICE: NORMAL: orig=f normal=t istemp=f type=sequence identity=evttrig.one_col_a_seq name={evttrig,one_col_a_seq} args={} @@ -476,8 +496,11 @@ NOTICE: NORMAL: orig=f normal=t istemp=f type=table identity=evttrig.part_10_20 name={evttrig,part_10_20} args={} NOTICE: NORMAL: orig=f normal=t istemp=f type=table identity=evttrig.part_10_15 name={evttrig,part_10_15} args={} NOTICE: NORMAL: orig=f normal=t istemp=f type=table identity=evttrig.part_15_20 name={evttrig,part_15_20} args={} +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree DROP TABLE a_temp_tbl; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: NORMAL: orig=t normal=f istemp=t type=table identity=pg_temp.a_temp_tbl name={pg_temp,a_temp_tbl} args={} +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- CREATE OPERATOR CLASS without FAMILY clause should report -- both CREATE OPERATOR FAMILY and CREATE OPERATOR CLASS CREATE OPERATOR CLASS evttrigopclass FOR TYPE int USING btree AS STORAGE int; @@ -500,6 +523,7 @@ create table rewriteme (id serial primary key, foo float, bar timestamptz); insert into rewriteme select x * 1.001 from generate_series(1, 500) as t(x); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree alter table rewriteme alter column foo type numeric; ERROR: rewrites not allowed CONTEXT: PL/pgSQL function test_evtrig_no_rewrite() line 3 at RAISE @@ -592,6 +616,7 @@ -- Both start and end triggers enabled. REINDEX INDEX concur_reindex_ind; NOTICE: REINDEX START: ddl_command_start REINDEX +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: REINDEX END: command_tag=REINDEX type=index identity=public.concur_reindex_ind REINDEX TABLE concur_reindex_tab; NOTICE: REINDEX START: ddl_command_start REINDEX @@ -618,6 +643,7 @@ CREATE SCHEMA concur_reindex_schema; -- No indexes REINDEX SCHEMA concur_reindex_schema; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree REINDEX SCHEMA CONCURRENTLY concur_reindex_schema; CREATE TABLE concur_reindex_schema.tab (a int); CREATE INDEX ind ON concur_reindex_schema.tab (a); @@ -635,6 +661,7 @@ -- With a partitioned table, and nothing else. CREATE TABLE concur_reindex_part (id int) PARTITION BY RANGE (id); REINDEX TABLE concur_reindex_part; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree REINDEX TABLE CONCURRENTLY concur_reindex_part; -- Partition that would be reindexed, still nothing. CREATE TABLE concur_reindex_child PARTITION OF concur_reindex_part @@ -710,6 +737,7 @@ LATERAL pg_identify_object_as_address('pg_event_trigger'::regclass, e.oid, 0) as b, LATERAL pg_get_object_address(b.type, b.object_names, b.object_args) as a ORDER BY e.evtname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree evtname | descr | type | object_names | object_args | ident -------------------+---------------------------------+---------------+---------------------+-------------+-------------------------------------------------------- end_rls_command | event trigger end_rls_command | event trigger | {end_rls_command} | {} | ("event trigger",,end_rls_command,end_rls_command) @@ -738,6 +766,7 @@ SET event_triggers = 'on'; CREATE POLICY pguc ON event_trigger_test USING (FALSE); DROP POLICY pguc ON event_trigger_test; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree NOTICE: DROP POLICY dropped policy CREATE POLICY pguc ON event_trigger_test USING (FALSE); SET event_triggers = 'off'; diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/fast_default.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/fast_default.out --- /tmp/cirrus-ci-build/src/test/regress/expected/fast_default.out 2024-03-19 15:41:21.018119000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/fast_default.out 2024-03-19 15:51:38.899945000 +0000 @@ -49,6 +49,7 @@ $func$; CREATE TABLE has_volatile AS SELECT * FROM generate_series(1,10) id; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE EVENT TRIGGER has_volatile_rewrite ON table_rewrite EXECUTE PROCEDURE log_rewrite(); @@ -67,48 +68,61 @@ (1 row) INSERT INTO T VALUES (1), (2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE T ADD COLUMN c_bpchar BPCHAR(5) DEFAULT 'hello', ALTER COLUMN c_int SET DEFAULT 2; INSERT INTO T VALUES (3), (4); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE T ADD COLUMN c_text TEXT DEFAULT 'world', ALTER COLUMN c_bpchar SET DEFAULT 'dog'; INSERT INTO T VALUES (5), (6); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE T ADD COLUMN c_date DATE DEFAULT '2016-06-02', ALTER COLUMN c_text SET DEFAULT 'cat'; INSERT INTO T VALUES (7), (8); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE T ADD COLUMN c_timestamp TIMESTAMP DEFAULT '2016-09-01 12:00:00', ADD COLUMN c_timestamp_null TIMESTAMP, ALTER COLUMN c_date SET DEFAULT '2010-01-01'; INSERT INTO T VALUES (9), (10); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE T ADD COLUMN c_array TEXT[] DEFAULT '{"This", "is", "the", "real", "world"}', ALTER COLUMN c_timestamp SET DEFAULT '1970-12-31 11:12:13', ALTER COLUMN c_timestamp_null SET DEFAULT '2016-09-29 12:00:00'; INSERT INTO T VALUES (11), (12); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE T ADD COLUMN c_small SMALLINT DEFAULT -5, ADD COLUMN c_small_null SMALLINT, ALTER COLUMN c_array SET DEFAULT '{"This", "is", "no", "fantasy"}'; INSERT INTO T VALUES (13), (14); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE T ADD COLUMN c_big BIGINT DEFAULT 180000000000018, ALTER COLUMN c_small SET DEFAULT 9, ALTER COLUMN c_small_null SET DEFAULT 13; INSERT INTO T VALUES (15), (16); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE T ADD COLUMN c_num NUMERIC DEFAULT 1.00000000001, ALTER COLUMN c_big SET DEFAULT -9999999999999999; INSERT INTO T VALUES (17), (18); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE T ADD COLUMN c_time TIME DEFAULT '12:00:00', ALTER COLUMN c_num SET DEFAULT 2.000000000000002; INSERT INTO T VALUES (19), (20); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE T ADD COLUMN c_interval INTERVAL DEFAULT '1 day', ALTER COLUMN c_time SET DEFAULT '23:59:59'; INSERT INTO T VALUES (21), (22); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE T ADD COLUMN c_hugetext TEXT DEFAULT repeat('abcdefg',1000), ALTER COLUMN c_interval SET DEFAULT '3 hours'; INSERT INTO T VALUES (23), (24); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE T ALTER COLUMN c_interval DROP DEFAULT, ALTER COLUMN c_hugetext SET DEFAULT repeat('poiuyt', 1000); INSERT INTO T VALUES (25), (26); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE T ALTER COLUMN c_bpchar DROP DEFAULT, ALTER COLUMN c_date DROP DEFAULT, ALTER COLUMN c_text DROP DEFAULT, @@ -120,6 +134,7 @@ ALTER COLUMN c_time DROP DEFAULT, ALTER COLUMN c_hugetext DROP DEFAULT; INSERT INTO T VALUES (27), (28); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT pk, c_int, c_bpchar, c_text, c_date, c_timestamp, c_timestamp_null, c_array, c_small, c_small_null, c_big, c_num, c_time, c_interval, @@ -185,38 +200,46 @@ (1 row) INSERT INTO T VALUES (1), (2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE T ADD COLUMN c_bpchar BPCHAR(5) DEFAULT foo(4), ALTER COLUMN c_int SET DEFAULT LENGTH(foo(8)); INSERT INTO T VALUES (3), (4); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE T ADD COLUMN c_text TEXT DEFAULT foo(6), ALTER COLUMN c_bpchar SET DEFAULT foo(3); INSERT INTO T VALUES (5), (6); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE T ADD COLUMN c_date DATE DEFAULT '2016-06-02'::DATE + LENGTH(foo(10)), ALTER COLUMN c_text SET DEFAULT foo(12); INSERT INTO T VALUES (7), (8); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE T ADD COLUMN c_timestamp TIMESTAMP DEFAULT '2016-09-01'::DATE + LENGTH(foo(10)), ALTER COLUMN c_date SET DEFAULT '2010-01-01'::DATE - LENGTH(foo(4)); INSERT INTO T VALUES (9), (10); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE T ADD COLUMN c_array TEXT[] DEFAULT ('{"This", "is", "' || foo(4) || '","the", "real", "world"}')::TEXT[], ALTER COLUMN c_timestamp SET DEFAULT '1970-12-31'::DATE + LENGTH(foo(30)); INSERT INTO T VALUES (11), (12); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE T ALTER COLUMN c_int DROP DEFAULT, ALTER COLUMN c_array SET DEFAULT ('{"This", "is", "' || foo(1) || '", "fantasy"}')::text[]; INSERT INTO T VALUES (13), (14); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE T ALTER COLUMN c_bpchar DROP DEFAULT, ALTER COLUMN c_date DROP DEFAULT, ALTER COLUMN c_text DROP DEFAULT, ALTER COLUMN c_timestamp DROP DEFAULT, ALTER COLUMN c_array DROP DEFAULT; INSERT INTO T VALUES (15), (16); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM T; pk | c_int | c_bpchar | c_text | c_date | c_timestamp | c_array ----+-------+----------+--------------+------------+--------------------------+------------------------------- @@ -300,10 +323,13 @@ (1 row) INSERT INTO T SELECT * FROM generate_series(1, 10) a; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE T ADD COLUMN c_bigint BIGINT NOT NULL DEFAULT -1; INSERT INTO T SELECT b, b - 10 FROM generate_series(11, 20) a(b); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE T ADD COLUMN c_text TEXT DEFAULT 'hello'; INSERT INTO T SELECT b, b - 10, (b + 10)::text FROM generate_series(21, 30) a(b); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- WHERE clause SELECT c_bigint, c_text FROM T WHERE c_bigint = -1 LIMIT 1; c_bigint | c_text @@ -484,13 +510,17 @@ (1 row) INSERT INTO T VALUES (1), (2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE T ADD COLUMN c_int INT NOT NULL DEFAULT -1; INSERT INTO T VALUES (3), (4); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE T ADD COLUMN c_text TEXT DEFAULT 'Hello'; INSERT INTO T VALUES (5), (6); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE T ALTER COLUMN c_text SET DEFAULT 'world', ALTER COLUMN c_int SET DEFAULT 1; INSERT INTO T VALUES (7), (8); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT * FROM T ORDER BY pk; pk | c_int | c_text ----+-------+-------- @@ -527,12 +557,14 @@ CREATE TABLE t1 AS SELECT 1::int AS a , 2::int AS b FROM generate_series(1,20) q; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE t1 ADD COLUMN c text; SELECT a, stddev(cast((SELECT sum(1) FROM generate_series(1,20) x) AS float4)) OVER (PARTITION BY a,b,c ORDER BY b) AS z FROM t1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | z ---+--- 1 | 0 @@ -750,6 +782,7 @@ CREATE TABLE leader (a int PRIMARY KEY, b int); CREATE TABLE follower (a int REFERENCES leader ON DELETE CASCADE, b int); INSERT INTO leader VALUES (1, 1), (2, 2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ALTER TABLE leader ADD c int; ALTER TABLE leader DROP c; DELETE FROM leader; diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/tablespace.out /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/tablespace.out --- /tmp/cirrus-ci-build/src/test/regress/expected/tablespace.out 2024-03-19 15:41:21.046008000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/recovery/027_stream_regress/data/results/tablespace.out 2024-03-19 15:51:39.562892000 +0000 @@ -69,6 +69,7 @@ INSERT INTO regress_tblspace_test_tbl (num1, num2, t) SELECT round(random()*100), random(), 'text' FROM generate_series(1, 10) s(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE INDEX regress_tblspace_test_tbl_idx ON regress_tblspace_test_tbl (num1); -- move to global tablespace, fail REINDEX (TABLESPACE pg_global) INDEX regress_tblspace_test_tbl_idx; @@ -182,6 +183,7 @@ ALTER INDEX tbspace_reindex_part_index_0 ATTACH PARTITION tbspace_reindex_part_index_0_2; SELECT relid, parentrelid, level FROM pg_partition_tree('tbspace_reindex_part_index') ORDER BY relid, level; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relid | parentrelid | level --------------------------------+------------------------------+------- tbspace_reindex_part_index | | 0 @@ -207,6 +209,7 @@ ELSE 'reltablespace has changed' END AS tbspace FROM reindex_temp_before b JOIN pg_class a ON b.relname = a.relname ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | filenode | tbspace --------------------------------+--------------------------+---------------------------- tbspace_reindex_part_index | relfilenode is unchanged | reltablespace is unchanged @@ -260,6 +263,11 @@ -- check \d output \d testschema.foo +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 Table "testschema.foo" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -269,6 +277,8 @@ Tablespace: "regress_tblspace" \d testschema.foo_idx +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Index "testschema.foo_idx" Column | Type | Key? | Definition --------+---------+------+------------ @@ -309,6 +319,7 @@ JOIN pg_catalog.pg_namespace n ON (c.relnamespace = n.oid) LEFT JOIN pg_catalog.pg_tablespace t ON c.reltablespace = t.oid where c.relname LIKE 'part%' AND n.nspname = 'testschema' order by relname; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree relname | spcname ----------+------------------ part | @@ -338,6 +349,13 @@ (3 rows) \d testschema.part +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Partitioned table "testschema.part" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -348,6 +366,14 @@ Number of partitions: 2 (Use \d+ to list them.) \d+ testschema.part +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Partitioned table "testschema.part" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- @@ -359,6 +385,12 @@ testschema.part2 FOR VALUES IN (2) \d testschema.part1 +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 Table "testschema.part1" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- @@ -368,6 +400,13 @@ "part1_a_idx" btree (a), tablespace "regress_tblspace" \d+ testschema.part1 +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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Table "testschema.part1" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- @@ -378,6 +417,8 @@ "part1_a_idx" btree (a), tablespace "regress_tblspace" \d testschema.part_a_idx +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Partitioned index "testschema.part_a_idx" Column | Type | Key? | Definition --------+---------+------+------------ @@ -387,6 +428,8 @@ Tablespace: "regress_tblspace" \d+ testschema.part_a_idx +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Partitioned index "testschema.part_a_idx" Column | Type | Key? | Definition | Storage | Stats target --------+---------+------+------------+---------+-------------- @@ -419,6 +462,8 @@ ALTER TABLE testschema.test_default_tab ADD CONSTRAINT test_index3 PRIMARY KEY (id); ALTER TABLE testschema.test_default_tab ADD CONSTRAINT test_index4 UNIQUE (id) USING INDEX TABLESPACE regress_tblspace; \d testschema.test_index1 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Index "testschema.test_index1" Column | Type | Key? | Definition --------+--------+------+------------ @@ -426,6 +471,8 @@ btree, for table "testschema.test_default_tab" \d testschema.test_index2 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Index "testschema.test_index2" Column | Type | Key? | Definition --------+--------+------+------------ @@ -434,6 +481,8 @@ Tablespace: "regress_tblspace" \d testschema.test_index3 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Index "testschema.test_index3" Column | Type | Key? | Definition --------+--------+------+------------ @@ -441,6 +490,8 @@ primary key, btree, for table "testschema.test_default_tab" \d testschema.test_index4 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Index "testschema.test_index4" Column | Type | Key? | Definition --------+--------+------+------------ @@ -453,6 +504,8 @@ -- tablespace should not change if no rewrite ALTER TABLE testschema.test_default_tab ALTER id TYPE bigint; \d testschema.test_index1 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Index "testschema.test_index1" Column | Type | Key? | Definition --------+--------+------+------------ @@ -460,6 +513,8 @@ btree, for table "testschema.test_default_tab" \d testschema.test_index2 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Index "testschema.test_index2" Column | Type | Key? | Definition --------+--------+------+------------ @@ -468,6 +523,8 @@ Tablespace: "regress_tblspace" \d testschema.test_index3 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Index "testschema.test_index3" Column | Type | Key? | Definition --------+--------+------+------------ @@ -475,6 +532,8 @@ primary key, btree, for table "testschema.test_default_tab" \d testschema.test_index4 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Index "testschema.test_index4" Column | Type | Key? | Definition --------+--------+------+------------ @@ -491,6 +550,8 @@ -- tablespace should not change even if there is an index rewrite ALTER TABLE testschema.test_default_tab ALTER id TYPE int; \d testschema.test_index1 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Index "testschema.test_index1" Column | Type | Key? | Definition --------+---------+------+------------ @@ -498,6 +559,8 @@ btree, for table "testschema.test_default_tab" \d testschema.test_index2 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Index "testschema.test_index2" Column | Type | Key? | Definition --------+---------+------+------------ @@ -506,6 +569,8 @@ Tablespace: "regress_tblspace" \d testschema.test_index3 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Index "testschema.test_index3" Column | Type | Key? | Definition --------+---------+------+------------ @@ -513,6 +578,8 @@ primary key, btree, for table "testschema.test_default_tab" \d testschema.test_index4 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Index "testschema.test_index4" Column | Type | Key? | Definition --------+---------+------+------------ @@ -531,6 +598,8 @@ -- tablespace should not change if no rewrite ALTER TABLE testschema.test_default_tab ALTER id TYPE int; \d testschema.test_index1 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Index "testschema.test_index1" Column | Type | Key? | Definition --------+---------+------+------------ @@ -538,6 +607,8 @@ btree, for table "testschema.test_default_tab" \d testschema.test_index2 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Index "testschema.test_index2" Column | Type | Key? | Definition --------+---------+------+------------ @@ -546,6 +617,8 @@ Tablespace: "regress_tblspace" \d testschema.test_index3 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Index "testschema.test_index3" Column | Type | Key? | Definition --------+---------+------+------------ @@ -553,6 +626,8 @@ primary key, btree, for table "testschema.test_default_tab" \d testschema.test_index4 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Index "testschema.test_index4" Column | Type | Key? | Definition --------+---------+------+------------ @@ -563,6 +638,8 @@ -- tablespace should not change even if there is an index rewrite ALTER TABLE testschema.test_default_tab ALTER id TYPE bigint; \d testschema.test_index1 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Index "testschema.test_index1" Column | Type | Key? | Definition --------+--------+------+------------ @@ -570,6 +647,8 @@ btree, for table "testschema.test_default_tab" \d testschema.test_index2 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Index "testschema.test_index2" Column | Type | Key? | Definition --------+--------+------+------------ @@ -578,6 +657,8 @@ Tablespace: "regress_tblspace" \d testschema.test_index3 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Index "testschema.test_index3" Column | Type | Key? | Definition --------+--------+------+------------ @@ -585,6 +666,8 @@ primary key, btree, for table "testschema.test_default_tab" \d testschema.test_index4 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Index "testschema.test_index4" Column | Type | Key? | Definition --------+--------+------+------------ @@ -605,6 +688,8 @@ ALTER TABLE testschema.test_default_tab_p ADD CONSTRAINT test_index3 PRIMARY KEY (id); ALTER TABLE testschema.test_default_tab_p ADD CONSTRAINT test_index4 UNIQUE (id) USING INDEX TABLESPACE regress_tblspace; \d testschema.test_index1 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Partitioned index "testschema.test_index1" Column | Type | Key? | Definition --------+--------+------+------------ @@ -613,6 +698,8 @@ Number of partitions: 1 (Use \d+ to list them.) \d testschema.test_index2 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Partitioned index "testschema.test_index2" Column | Type | Key? | Definition --------+--------+------+------------ @@ -622,6 +709,8 @@ Tablespace: "regress_tblspace" \d testschema.test_index3 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Partitioned index "testschema.test_index3" Column | Type | Key? | Definition --------+--------+------+------------ @@ -630,6 +719,8 @@ Number of partitions: 1 (Use \d+ to list them.) \d testschema.test_index4 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Partitioned index "testschema.test_index4" Column | Type | Key? | Definition --------+--------+------+------------ @@ -643,6 +734,8 @@ -- tablespace should not change if no rewrite ALTER TABLE testschema.test_default_tab_p ALTER val TYPE bigint; \d testschema.test_index1 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Partitioned index "testschema.test_index1" Column | Type | Key? | Definition --------+--------+------+------------ @@ -651,6 +744,8 @@ Number of partitions: 1 (Use \d+ to list them.) \d testschema.test_index2 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Partitioned index "testschema.test_index2" Column | Type | Key? | Definition --------+--------+------+------------ @@ -660,6 +755,8 @@ Tablespace: "regress_tblspace" \d testschema.test_index3 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Partitioned index "testschema.test_index3" Column | Type | Key? | Definition --------+--------+------+------------ @@ -668,6 +765,8 @@ Number of partitions: 1 (Use \d+ to list them.) \d testschema.test_index4 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Partitioned index "testschema.test_index4" Column | Type | Key? | Definition --------+--------+------+------------ @@ -685,6 +784,8 @@ -- tablespace should not change even if there is an index rewrite ALTER TABLE testschema.test_default_tab_p ALTER val TYPE int; \d testschema.test_index1 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Partitioned index "testschema.test_index1" Column | Type | Key? | Definition --------+---------+------+------------ @@ -693,6 +794,8 @@ Number of partitions: 1 (Use \d+ to list them.) \d testschema.test_index2 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Partitioned index "testschema.test_index2" Column | Type | Key? | Definition --------+---------+------+------------ @@ -702,6 +805,8 @@ Tablespace: "regress_tblspace" \d testschema.test_index3 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Partitioned index "testschema.test_index3" Column | Type | Key? | Definition --------+--------+------+------------ @@ -710,6 +815,8 @@ Number of partitions: 1 (Use \d+ to list them.) \d testschema.test_index4 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Partitioned index "testschema.test_index4" Column | Type | Key? | Definition --------+--------+------+------------ @@ -729,6 +836,8 @@ -- tablespace should not change if no rewrite ALTER TABLE testschema.test_default_tab_p ALTER val TYPE int; \d testschema.test_index1 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Partitioned index "testschema.test_index1" Column | Type | Key? | Definition --------+---------+------+------------ @@ -737,6 +846,8 @@ Number of partitions: 1 (Use \d+ to list them.) \d testschema.test_index2 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Partitioned index "testschema.test_index2" Column | Type | Key? | Definition --------+---------+------+------------ @@ -746,6 +857,8 @@ Tablespace: "regress_tblspace" \d testschema.test_index3 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Partitioned index "testschema.test_index3" Column | Type | Key? | Definition --------+--------+------+------------ @@ -754,6 +867,8 @@ Number of partitions: 1 (Use \d+ to list them.) \d testschema.test_index4 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Partitioned index "testschema.test_index4" Column | Type | Key? | Definition --------+--------+------+------------ @@ -765,6 +880,8 @@ -- tablespace should not change even if there is an index rewrite ALTER TABLE testschema.test_default_tab_p ALTER val TYPE bigint; \d testschema.test_index1 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Partitioned index "testschema.test_index1" Column | Type | Key? | Definition --------+--------+------+------------ @@ -773,6 +890,8 @@ Number of partitions: 1 (Use \d+ to list them.) \d testschema.test_index2 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Partitioned index "testschema.test_index2" Column | Type | Key? | Definition --------+--------+------+------------ @@ -782,6 +901,8 @@ Tablespace: "regress_tblspace" \d testschema.test_index3 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Partitioned index "testschema.test_index3" Column | Type | Key? | Definition --------+--------+------+------------ @@ -790,6 +911,8 @@ Number of partitions: 1 (Use \d+ to list them.) \d testschema.test_index4 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Partitioned index "testschema.test_index4" Column | Type | Key? | Definition --------+--------+------+------------ @@ -807,6 +930,8 @@ SET default_tablespace TO ''; ALTER TABLE testschema.test_tab ADD CONSTRAINT test_tab_pkey PRIMARY KEY (id); \d testschema.test_tab_unique +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Index "testschema.test_tab_unique" Column | Type | Key? | Definition --------+---------+------+------------ @@ -815,6 +940,8 @@ Tablespace: "regress_tblspace" \d testschema.test_tab_pkey +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Index "testschema.test_tab_pkey" Column | Type | Key? | Definition --------+---------+------+------------ @@ -837,6 +964,8 @@ SET default_tablespace TO ''; CREATE INDEX test_tab_b_idx ON testschema.test_tab (b); \d testschema.test_tab_unique +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Index "testschema.test_tab_unique" Column | Type | Key? | Definition --------+---------+------+------------ @@ -845,6 +974,8 @@ Tablespace: "regress_tblspace" \d testschema.test_tab_a_idx +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Index "testschema.test_tab_a_idx" Column | Type | Key? | Definition --------+---------+------+------------ @@ -853,6 +984,8 @@ Tablespace: "regress_tblspace" \d testschema.test_tab_b_idx +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Index "testschema.test_tab_b_idx" Column | Type | Key? | Definition --------+---------+------+------------ @@ -861,6 +994,8 @@ ALTER TABLE testschema.test_tab ALTER b TYPE bigint, ADD UNIQUE (c); \d testschema.test_tab_unique +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Index "testschema.test_tab_unique" Column | Type | Key? | Definition --------+---------+------+------------ @@ -869,6 +1004,8 @@ Tablespace: "regress_tblspace" \d testschema.test_tab_a_idx +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Index "testschema.test_tab_a_idx" Column | Type | Key? | Definition --------+---------+------+------------ @@ -877,6 +1014,8 @@ Tablespace: "regress_tblspace" \d testschema.test_tab_b_idx +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Index "testschema.test_tab_b_idx" Column | Type | Key? | Definition --------+--------+------+------------ @@ -886,6 +1025,7 @@ DROP TABLE testschema.test_tab; -- let's try moving a table from one place to another CREATE TABLE testschema.atable AS VALUES (1), (2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE UNIQUE INDEX anindex ON testschema.atable(column1); ALTER TABLE testschema.atable SET TABLESPACE regress_tblspace; ALTER INDEX testschema.anindex SET TABLESPACE regress_tblspace;