diff -U3 /tmp/cirrus-ci-build/src/test/modules/test_predtest/expected/test_predtest.out /tmp/cirrus-ci-build/build/testrun/test_predtest/regress/results/test_predtest.out --- /tmp/cirrus-ci-build/src/test/modules/test_predtest/expected/test_predtest.out 2024-03-26 23:35:27.673985000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/test_predtest/regress/results/test_predtest.out 2024-03-26 23:54:00.939972000 +0000 @@ -10,12 +10,14 @@ case (i/9)%3 when 0 then true when 1 then false else null end as z, case (i/27)%3 when 0 then true when 1 then false else null end as w from generate_series(0, 3*3*3*3-1) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- all combinations of two integers 0..9, plus null create table integers as select case i%11 when 10 then null else i%11 end as x, case (i/11)%11 when 10 then null else (i/11)%11 end as y from generate_series(0, 11*11-1) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- and a simple strict function that's opaque to the optimizer create function strictf(bool, bool) returns bool language plpgsql as $$begin return $1 and not $2; end$$ strict; @@ -27,6 +29,7 @@ select x, x from booleans $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | t weak_implied_by | t @@ -41,6 +44,7 @@ select x, not x from booleans $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | f weak_implied_by | f @@ -55,6 +59,7 @@ select not x, x from booleans $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | f weak_implied_by | f @@ -69,6 +74,7 @@ select not x, not x from booleans $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | t weak_implied_by | t @@ -83,6 +89,7 @@ select x is not null, x from booleans $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | t weak_implied_by | f @@ -97,6 +104,7 @@ select x is not null, x is null from integers $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | f weak_implied_by | f @@ -111,6 +119,7 @@ select x is null, x is not null from integers $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | f weak_implied_by | f @@ -125,6 +134,7 @@ select x is not true, x from booleans $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | f weak_implied_by | f @@ -139,6 +149,7 @@ select x, x is not true from booleans $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | f weak_implied_by | f @@ -153,6 +164,7 @@ select x is false, x from booleans $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | f weak_implied_by | f @@ -167,6 +179,7 @@ select x, x is false from booleans $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | f weak_implied_by | f @@ -181,6 +194,7 @@ select x is unknown, x from booleans $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | f weak_implied_by | f @@ -195,6 +209,7 @@ select x, x is unknown from booleans $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | f weak_implied_by | f @@ -210,6 +225,7 @@ select x is null, x from booleans $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | f weak_implied_by | f @@ -224,6 +240,7 @@ select x, x is null from booleans $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | f weak_implied_by | f @@ -238,6 +255,7 @@ select strictf(x,y), x is null from booleans $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | f weak_implied_by | f @@ -252,6 +270,7 @@ select (x is not null) is not true, x from booleans $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | f weak_implied_by | f @@ -266,6 +285,7 @@ select strictf(x,y), (x is not null) is false from booleans $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | f weak_implied_by | f @@ -280,6 +300,7 @@ select x > y, (y < x) is false from integers $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | f weak_implied_by | f @@ -295,6 +316,7 @@ select x, x and y from booleans $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | t weak_implied_by | t @@ -309,6 +331,7 @@ select not x, x and y from booleans $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | f weak_implied_by | f @@ -323,6 +346,7 @@ select x, not x and y from booleans $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | f weak_implied_by | f @@ -337,6 +361,7 @@ select x or y, x from booleans $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | t weak_implied_by | t @@ -351,6 +376,7 @@ select x and y, x from booleans $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | f weak_implied_by | f @@ -365,6 +391,7 @@ select x and y, not x from booleans $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | f weak_implied_by | f @@ -379,6 +406,7 @@ select x and y, y and x from booleans $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | t weak_implied_by | t @@ -393,6 +421,7 @@ select not y, y and x from booleans $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | f weak_implied_by | f @@ -407,6 +436,7 @@ select x or y, y or x from booleans $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | t weak_implied_by | t @@ -421,6 +451,7 @@ select x or y or z, x or z from booleans $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | t weak_implied_by | t @@ -435,6 +466,7 @@ select x and z, x and y and z from booleans $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | t weak_implied_by | t @@ -449,6 +481,7 @@ select z or w, x or y from booleans $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | f weak_implied_by | f @@ -463,6 +496,7 @@ select z and w, x or y from booleans $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | f weak_implied_by | f @@ -477,6 +511,7 @@ select x, (x and y) or (x and z) from booleans $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | t weak_implied_by | t @@ -491,6 +526,7 @@ select (x and y) or z, y and x from booleans $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | t weak_implied_by | t @@ -505,6 +541,7 @@ select (not x or not y) and z, y and x from booleans $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | f weak_implied_by | f @@ -519,6 +556,7 @@ select y or x, (x or y) and z from booleans $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | t weak_implied_by | t @@ -533,6 +571,7 @@ select not x and not y, (x or y) and z from booleans $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | f weak_implied_by | f @@ -548,6 +587,7 @@ select x <= y, x < y from integers $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | t weak_implied_by | t @@ -562,6 +602,7 @@ select x <= y, x > y from integers $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | f weak_implied_by | f @@ -576,6 +617,7 @@ select x <= y, y >= x from integers $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | t weak_implied_by | t @@ -590,6 +632,7 @@ select x <= y, y > x and y < x+2 from integers $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | t weak_implied_by | t @@ -604,6 +647,7 @@ select x <= 5, x <= 7 from integers $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | f weak_implied_by | f @@ -618,6 +662,7 @@ select x <= 5, x > 7 from integers $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | f weak_implied_by | f @@ -632,6 +677,7 @@ select x <= 5, 7 > x from integers $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | f weak_implied_by | f @@ -646,6 +692,7 @@ select 5 >= x, 7 > x from integers $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | f weak_implied_by | f @@ -660,6 +707,7 @@ select 5 >= x, x > 7 from integers $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | f weak_implied_by | f @@ -674,6 +722,7 @@ select 5 = x, x = 7 from integers $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | f weak_implied_by | f @@ -688,6 +737,7 @@ select x is not null, x > 7 from integers $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | t weak_implied_by | f @@ -702,6 +752,7 @@ select x is not null, int4lt(x,8) from integers $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | t weak_implied_by | f @@ -716,6 +767,7 @@ select x is null, x > 7 from integers $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | f weak_implied_by | f @@ -730,6 +782,7 @@ select x is null, int4lt(x,8) from integers $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | f weak_implied_by | f @@ -745,6 +798,8 @@ from (values ('aaa'::varchar), ('zzz'::varchar), (null)) as v(x) $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | t weak_implied_by | f @@ -760,6 +815,7 @@ select x <= 5, x in (1,3,5) from integers $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | t weak_implied_by | t @@ -774,6 +830,7 @@ select x <= 5, x in (1,3,5,7) from integers $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | f weak_implied_by | f @@ -788,6 +845,7 @@ select x <= 5, x in (1,3,5,null) from integers $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | t weak_implied_by | f @@ -802,6 +860,7 @@ select x in (null,1,3,5,7), x in (1,3,5) from integers $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | t weak_implied_by | t @@ -816,6 +875,7 @@ select x <= 5, x < all(array[1,3,5]) from integers $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | t weak_implied_by | t @@ -830,6 +890,7 @@ select x <= y, x = any(array[1,3,y]) from integers $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | f weak_implied_by | f @@ -849,6 +910,7 @@ select x is not null, x = any(opaque_array(array[1])) from integers $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | t weak_implied_by | f @@ -864,6 +926,7 @@ select x is not null, x <> all(opaque_array(array[1])) from integers $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | f weak_implied_by | f @@ -883,6 +946,7 @@ ]) from integers $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | t weak_implied_by | f @@ -902,6 +966,7 @@ ]) from integers $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | t weak_implied_by | f @@ -917,6 +982,7 @@ select x is not null, x = any(opaque_array(array[]::int[])) from integers $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | t weak_implied_by | f @@ -931,6 +997,7 @@ select x is not null, x <> all(opaque_array(array[]::int[])) from integers $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | f weak_implied_by | f @@ -946,6 +1013,7 @@ select x is not null, strictf(true, x = any(opaque_array(array[]::int[]))) from integers $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | f weak_implied_by | f @@ -961,6 +1029,7 @@ select x is null, x = any(opaque_array(array[1])) from integers $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | f weak_implied_by | f @@ -976,6 +1045,7 @@ select x is null, x <> all(opaque_array(array[1])) from integers $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | f weak_implied_by | f @@ -995,6 +1065,7 @@ ]) from integers $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | f weak_implied_by | f @@ -1010,6 +1081,7 @@ select x is null, x = any(opaque_array(array[]::int[])) from integers $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | f weak_implied_by | f @@ -1024,6 +1096,7 @@ select x is null, x <> all(opaque_array(array[]::int[])) from integers $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | f weak_implied_by | f @@ -1039,6 +1112,7 @@ select x is null, strictf(true, x = any(opaque_array(array[]::int[]))) from integers $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | f weak_implied_by | f @@ -1054,6 +1128,7 @@ select x = any(opaque_array(array[1])), x is null from integers $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | f weak_implied_by | f @@ -1069,6 +1144,7 @@ select x = any(opaque_array(array[y])), array[y] is null from integers $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | f weak_implied_by | f @@ -1084,6 +1160,7 @@ select x = all(opaque_array(array[1])), x is null from integers $$); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-----+-- strong_implied_by | f weak_implied_by | f