[15:43:00.233](0.016s) # testing using transfer mode --link # Checking port 55638 # Found port 55638 Name: old_node Data directory: /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/t_002_pg_upgrade_old_node_data/pgdata Backup directory: /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/t_002_pg_upgrade_old_node_data/backup Archive directory: /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/t_002_pg_upgrade_old_node_data/archives Connection string: port=55638 host=/tmp/mAcXKp5JaJ Log file: /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/log/002_pg_upgrade_old_node.log [15:43:00.303](0.070s) # initializing database system by running initdb # Running: initdb -D /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/t_002_pg_upgrade_old_node_data/pgdata -A trust -N --wal-segsize 1 --allow-group-access --encoding UTF-8 --lc-collate C --lc-ctype C --locale-provider builtin --builtin-locale C The files belonging to this database system will be owned by user "postgres". This user must also own the server process. The database cluster will be initialized with this locale configuration: locale provider: builtin default collation: C LC_COLLATE: C LC_CTYPE: C LC_MESSAGES: C LC_MONETARY: en_US.UTF-8 LC_NUMERIC: en_US.UTF-8 LC_TIME: en_US.UTF-8 The default text search configuration will be set to "english". Data page checksums are disabled. creating directory /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/t_002_pg_upgrade_old_node_data/pgdata ... ok creating subdirectories ... ok selecting dynamic shared memory implementation ... posix selecting default max_connections ... 100 selecting default shared_buffers ... 128MB selecting default time zone ... UTC creating configuration files ... ok running bootstrap script ... ok performing post-bootstrap initialization ... 2024-03-19 15:43:00.905 UTC [7451] WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree 2024-03-19 15:43:01.332 UTC [7451] WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree 2024-03-19 15:43:01.336 UTC [7451] WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree 2024-03-19 15:43:01.338 UTC [7451] WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree 2024-03-19 15:43:01.345 UTC [7451] WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree 2024-03-19 15:43:01.348 UTC [7451] WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree 2024-03-19 15:43:01.349 UTC [7451] WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree 2024-03-19 15:43:01.350 UTC [7451] WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree 2024-03-19 15:43:01.351 UTC [7451] WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree 2024-03-19 15:43:01.352 UTC [7451] WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree 2024-03-19 15:43:01.352 UTC [7451] WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree 2024-03-19 15:43:01.533 UTC [7451] WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ok Sync to disk skipped. The data directory might become corrupt if the operating system crashes. Success. You can now start the database server using: pg_ctl -D /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/t_002_pg_upgrade_old_node_data/pgdata -l logfile start # Running: /tmp/cirrus-ci-build/build/src/test/regress/pg_regress --config-auth /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/t_002_pg_upgrade_old_node_data/pgdata ### Starting node "old_node" # Running: pg_ctl -w -D /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/t_002_pg_upgrade_old_node_data/pgdata -l /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/log/002_pg_upgrade_old_node.log -o --cluster-name=old_node start waiting for server to start.... done server started # Postmaster PID for node "old_node" is 7854 [15:43:02.200](1.898s) ok 1 - check locales in original cluster # Running: createdb regression\"\  !"#$%&'()*+,-\\"\\\ [15:43:02.379](0.179s) ok 2 - created database with ASCII characters from 1 to 45 # Running: createdb regression./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ [15:43:02.734](0.354s) ok 3 - created database with ASCII characters from 46 to 90 # Running: createdb regression[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ [15:43:02.816](0.082s) ok 4 - created database with ASCII characters from 91 to 127 [15:43:02.817](0.001s) # running regression tests in old instance # using postmaster on /tmp/mAcXKp5JaJ, port 55638 not ok 1 - test_setup 483 ms # parallel group (20 tests): varchar pg_lsn name char txid oid int2 text regproc money uuid int4 float4 boolean bit int8 float8 enum rangetypes numeric not ok 2 + boolean 276 ms not ok 3 + char 177 ms not ok 4 + name 172 ms not ok 5 + varchar 92 ms not ok 6 + text 219 ms not ok 7 + int2 212 ms not ok 8 + int4 266 ms not ok 9 + int8 343 ms not ok 10 + oid 204 ms not ok 11 + float4 272 ms not ok 12 + float8 367 ms not ok 13 + bit 316 ms not ok 14 + numeric 1011 ms not ok 15 + txid 187 ms not ok 16 + uuid 256 ms not ok 17 + enum 415 ms not ok 18 + money 246 ms not ok 19 + rangetypes 860 ms not ok 20 + pg_lsn 137 ms not ok 21 + regproc 233 ms # parallel group (20 tests): md5 path line circle lseg point time macaddr macaddr8 timetz numerology date inet polygon interval box timestamp strings timestamptz multirangetypes not ok 22 + strings 525 ms ok 23 + md5 66 ms not ok 24 + numerology 231 ms not ok 25 + point 134 ms not ok 26 + lseg 127 ms not ok 27 + line 118 ms not ok 28 + box 425 ms not ok 29 + path 105 ms not ok 30 + polygon 288 ms ok 31 + circle 125 ms not ok 32 + date 231 ms not ok 33 + time 144 ms not ok 34 + timetz 203 ms not ok 35 + timestamp 450 ms not ok 36 + timestamptz 531 ms not ok 37 + interval 360 ms not ok 38 + inet 252 ms not ok 39 + macaddr 152 ms not ok 40 + macaddr8 185 ms not ok 41 + multirangetypes 691 ms # parallel group (12 tests): comments misc_sanity mvcc unicode xid tstypes type_sanity geometry horology expressions regex opr_sanity not ok 42 + geometry 276 ms not ok 43 + horology 306 ms not ok 44 + tstypes 215 ms ok 45 + regex 320 ms not ok 46 + type_sanity 219 ms not ok 47 + opr_sanity 418 ms not ok 48 + misc_sanity 55 ms ok 49 + comments 40 ms not ok 50 + expressions 307 ms not ok 51 + unicode 119 ms not ok 52 + xid 186 ms not ok 53 + mvcc 86 ms # parallel group (5 tests): copyselect copydml copy insert_conflict insert not ok 54 + copy 231 ms not ok 55 + copyselect 58 ms ok 56 + copydml 80 ms not ok 57 + insert 964 ms not ok 58 + insert_conflict 349 ms # parallel group (7 tests): create_function_c create_operator create_type create_schema create_misc create_procedure create_table ok 59 + create_function_c 21 ms ok 60 + create_misc 130 ms ok 61 + create_operator 101 ms not ok 62 + create_procedure 131 ms not ok 63 + create_table 951 ms not ok 64 + create_type 110 ms not ok 65 + create_schema 123 ms # parallel group (5 tests): index_including_gist index_including create_index_spgist create_view create_index not ok 66 + create_index 1907 ms not ok 67 + create_index_spgist 1056 ms not ok 68 + create_view 1330 ms not ok 69 + index_including 769 ms not ok 70 + index_including_gist 569 ms # parallel group (16 tests): hash_func create_cast roleattributes create_aggregate errors select typed_table drop_if_exists infinite_recurse create_am create_function_sql vacuum constraints updatable_views inherit triggers not ok 71 + create_aggregate 226 ms not ok 72 + create_function_sql 662 ms ok 73 + create_cast 165 ms not ok 74 + constraints 1579 ms not ok 75 + triggers 4208 ms not ok 76 + select 252 ms not ok 77 + inherit 2509 ms not ok 78 + typed_table 275 ms not ok 79 + vacuum 800 ms ok 80 + drop_if_exists 403 ms not ok 81 + updatable_views 2405 ms ok 82 + roleattributes 212 ms not ok 83 + create_am 519 ms not ok 84 + hash_func 127 ms ok 85 + errors 227 ms ok 86 + infinite_recurse 480 ms not ok 87 - sanity_check 71 ms # parallel group (20 tests): select_distinct_on delete random select_having select_implicit case namespace select_into select_distinct prepared_xacts portals transactions union hash_index subselect arrays update btree_index aggregates join not ok 88 + select_into 321 ms not ok 89 + select_distinct 379 ms ok 90 + select_distinct_on 80 ms ok 91 + select_implicit 218 ms ok 92 + select_having 136 ms not ok 93 + subselect 2038 ms not ok 94 + union 1721 ms ok 95 + case 240 ms not ok 96 + join 3274 ms not ok 97 + aggregates 3090 ms not ok 98 + transactions 1221 ms not ok 99 + random 120 ms not ok 100 + portals 1127 ms not ok 101 + arrays 2344 ms not ok 102 + btree_index 2900 ms not ok 103 + hash_index 1743 ms not ok 104 + update 2496 ms ok 105 + delete 100 ms not ok 106 + namespace 255 ms not ok 107 + prepared_xacts 456 ms # parallel group (20 tests): init_privs drop_operator tablesample security_label password object_address lock collate replica_identity spgist groupingsets gin gist matview identity generated rowsecurity brin join_hash privileges not ok 108 + brin 2915 ms not ok 109 + gin 1220 ms not ok 110 + gist 1310 ms not ok 111 + spgist 1152 ms not ok 112 + privileges 3205 ms ok 113 + init_privs 113 ms ok 114 + security_label 398 ms not ok 115 + collate 1019 ms not ok 116 + matview 1629 ms not ok 117 + lock 833 ms not ok 118 + replica_identity 1035 ms not ok 119 + rowsecurity 2346 ms not ok 120 + object_address 822 ms not ok 121 + tablesample 385 ms not ok 122 + groupingsets 1176 ms ok 123 + drop_operator 147 ms ok 124 + password 532 ms not ok 125 + identity 1749 ms not ok 126 + generated 2345 ms not ok 127 + join_hash 2914 ms # parallel group (2 tests): brin_bloom brin_multi not ok 128 + brin_bloom 158 ms not ok 129 + brin_multi 770 ms # parallel group (17 tests): async dbsize sysviews tidrangescan tid tidscan alter_operator create_role tsrf misc misc_functions incremental_sort without_overlaps alter_generic merge collate.icu.utf8 create_table_like not ok 130 + create_table_like 873 ms ok 131 + alter_generic 565 ms not ok 132 + alter_operator 252 ms not ok 133 + misc 296 ms ok 134 + async 106 ms not ok 135 + dbsize 145 ms not ok 136 + merge 789 ms not ok 137 + misc_functions 388 ms not ok 138 + sysviews 153 ms not ok 139 + tsrf 283 ms not ok 140 + tid 194 ms not ok 141 + tidscan 205 ms not ok 142 + tidrangescan 188 ms not ok 143 + collate.icu.utf8 810 ms not ok 144 + incremental_sort 404 ms ok 145 + create_role 256 ms not ok 146 + without_overlaps 483 ms # parallel group (7 tests): collate.linux.utf8 collate.windows.win1252 amutils psql_crosstab rules psql stats_ext not ok 147 + rules 764 ms not ok 148 + psql 840 ms not ok 149 + psql_crosstab 64 ms not ok 150 + amutils 34 ms not ok 151 + stats_ext 1470 ms ok 152 + collate.linux.utf8 15 ms ok 153 + collate.windows.win1252 20 ms not ok 154 - select_parallel 611 ms not ok 155 - write_parallel 74 ms not ok 156 - vacuum_parallel 150 ms # parallel group (2 tests): subscription publication not ok 157 + publication 966 ms not ok 158 + subscription 296 ms # parallel group (17 tests): portals_p2 combocid advisory_lock xmlmap functional_deps bitmapops equivclass guc select_views dependency tsdicts indirect_toast tsearch window cluster foreign_data foreign_key not ok 159 + select_views 384 ms ok 160 + portals_p2 122 ms not ok 161 + foreign_key 3302 ms not ok 162 + cluster 874 ms not ok 163 + dependency 404 ms not ok 164 + guc 380 ms not ok 165 + bitmapops 322 ms not ok 166 + combocid 210 ms not ok 167 + tsearch 747 ms ok 168 + tsdicts 407 ms not ok 169 + foreign_data 1441 ms not ok 170 + window 870 ms not ok 171 + xmlmap 266 ms not ok 172 + functional_deps 269 ms not ok 173 + advisory_lock 240 ms ok 174 + indirect_toast 494 ms not ok 175 + equivclass 346 ms # parallel group (7 tests): jsonpath_encoding json_encoding jsonpath sqljson json jsonb_jsonpath jsonb not ok 176 + json 222 ms not ok 177 + jsonb 391 ms not ok 178 + json_encoding 41 ms not ok 179 + jsonpath 92 ms ok 180 + jsonpath_encoding 38 ms not ok 181 + jsonb_jsonpath 286 ms not ok 182 + sqljson 120 ms # parallel group (18 tests): prepare returning limit conversion plancache temp truncate sequence rowtypes copy2 with polymorphism xml largeobject rangefuncs domain plpgsql alter_table not ok 183 + plancache 491 ms not ok 184 + limit 319 ms not ok 185 + plpgsql 1811 ms not ok 186 + copy2 759 ms not ok 187 + temp 520 ms not ok 188 + domain 1066 ms not ok 189 + rangefuncs 1011 ms not ok 190 + prepare 162 ms not ok 191 + conversion 320 ms not ok 192 + truncate 703 ms not ok 193 + alter_table 3986 ms not ok 194 + sequence 723 ms not ok 195 + polymorphism 931 ms not ok 196 + rowtypes 743 ms not ok 197 + returning 189 ms not ok 198 + largeobject 1009 ms not ok 199 + with 873 ms not ok 200 + xml 957 ms # parallel group (13 tests): predicate reloptions hash_part explain memoize partition_info compression partition_aggregate stats tuplesort partition_prune partition_join indexing not ok 201 + partition_join 1853 ms not ok 202 + partition_prune 1810 ms not ok 203 + reloptions 272 ms ok 204 + hash_part 291 ms not ok 205 + indexing 2012 ms not ok 206 + partition_aggregate 1038 ms not ok 207 + partition_info 439 ms not ok 208 + tuplesort 1221 ms not ok 209 + explain 409 ms not ok 210 + compression 710 ms not ok 211 + memoize 410 ms not ok 212 + stats 1155 ms not ok 213 + predicate 185 ms # parallel group (2 tests): oidjoins event_trigger not ok 214 + oidjoins 234 ms not ok 215 + event_trigger 283 ms ok 216 - event_trigger_login 29 ms not ok 217 - fast_default 258 ms not ok 218 - tablespace 626 ms 1..218 # 185 of 218 tests failed. # The differences that caused some tests to fail can be viewed in the file "/tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/regression.diffs". # A copy of the test summary that you see above is saved in the file "/tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/regression.out". === dumping /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/regression.diffs === diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/test_setup.out /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/test_setup.out 2024-03-19 15:43:03.386761000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/boolean.out 2024-03-19 15:43:03.685367000 +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.out /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/results/char.out --- /tmp/cirrus-ci-build/src/test/regress/expected/char.out 2024-03-19 15:41:21.017271000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/results/char.out 2024-03-19 15:43:03.586286000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/name.out 2024-03-19 15:43:03.581553000 +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.out /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/results/varchar.out --- /tmp/cirrus-ci-build/src/test/regress/expected/varchar.out 2024-03-19 15:41:21.046937000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/results/varchar.out 2024-03-19 15:43:03.500949000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/text.out 2024-03-19 15:43:03.628584000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/int2.out 2024-03-19 15:43:03.622031000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/int4.out 2024-03-19 15:43:03.675712000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/int8.out 2024-03-19 15:43:03.753737000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/oid.out 2024-03-19 15:43:03.614772000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/float4.out 2024-03-19 15:43:03.683354000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/float8.out 2024-03-19 15:43:03.778355000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/bit.out 2024-03-19 15:43:03.727340000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/numeric.out 2024-03-19 15:43:04.422577000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/txid.out 2024-03-19 15:43:03.598405000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/uuid.out 2024-03-19 15:43:03.668593000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/enum.out 2024-03-19 15:43:03.824247000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/money.out 2024-03-19 15:43:03.658659000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/rangetypes.out 2024-03-19 15:43:04.272147000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/pg_lsn.out 2024-03-19 15:43:03.549772000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/regproc.out 2024-03-19 15:43:03.646288000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/strings.out 2024-03-19 15:43:05.068613000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/numerology.out 2024-03-19 15:43:04.775436000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/point.out 2024-03-19 15:43:04.678396000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/lseg.out 2024-03-19 15:43:04.672181000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/line.out 2024-03-19 15:43:04.663265000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/box.out 2024-03-19 15:43:04.970788000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/path.out 2024-03-19 15:43:04.650671000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/polygon.out 2024-03-19 15:43:04.833484000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/date.out 2024-03-19 15:43:04.777583000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/time.out 2024-03-19 15:43:04.688906000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/timetz.out 2024-03-19 15:43:04.749456000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/timestamp.out 2024-03-19 15:43:04.995920000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/timestamptz.out 2024-03-19 15:43:05.078377000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/interval.out 2024-03-19 15:43:04.905718000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/inet.out 2024-03-19 15:43:04.798896000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/macaddr.out 2024-03-19 15:43:04.699556000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/macaddr8.out 2024-03-19 15:43:04.732630000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/multirangetypes.out 2024-03-19 15:43:05.238406000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/geometry.out 2024-03-19 15:43:05.643821000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/horology.out 2024-03-19 15:43:05.673769000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/tstypes.out 2024-03-19 15:43:05.583357000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/type_sanity.out 2024-03-19 15:43:05.587241000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/opr_sanity.out 2024-03-19 15:43:05.786855000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/misc_sanity.out 2024-03-19 15:43:05.423768000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/expressions.out 2024-03-19 15:43:05.676538000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/unicode.out 2024-03-19 15:43:05.488845000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/xid.out 2024-03-19 15:43:05.555796000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/mvcc.out 2024-03-19 15:43:05.456158000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/copy.out 2024-03-19 15:43:06.066639000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/copyselect.out 2024-03-19 15:43:05.896718000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/insert.out 2024-03-19 15:43:06.803057000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/insert_conflict.out 2024-03-19 15:43:06.187734000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/create_procedure.out 2024-03-19 15:43:06.960145000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/create_table.out 2024-03-19 15:43:07.777933000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/create_type.out 2024-03-19 15:43:06.938591000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/create_schema.out 2024-03-19 15:43:06.952178000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/create_index.out 2024-03-19 15:43:09.791549000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/create_index_spgist.out 2024-03-19 15:43:08.937161000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/create_view.out 2024-03-19 15:43:09.215084000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/index_including.out 2024-03-19 15:43:08.654412000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/index_including_gist.out 2024-03-19 15:43:08.454290000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/create_aggregate.out 2024-03-19 15:43:10.054305000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/create_function_sql.out 2024-03-19 15:43:10.490445000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/constraints.out 2024-03-19 15:43:11.406110000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/triggers.out 2024-03-19 15:43:14.036682000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/select.out 2024-03-19 15:43:10.080440000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/inherit.out 2024-03-19 15:43:12.336157000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/typed_table.out 2024-03-19 15:43:10.104705000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/vacuum.out 2024-03-19 15:43:10.629846000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/updatable_views.out 2024-03-19 15:43:12.233857000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/create_am.out 2024-03-19 15:43:10.348669000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/hash_func.out 2024-03-19 15:43:09.957232000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/sanity_check.out 2024-03-19 15:43:14.185324000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/select_into.out 2024-03-19 15:43:14.509124000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/select_distinct.out 2024-03-19 15:43:14.567866000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/subselect.out 2024-03-19 15:43:16.226823000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/union.out 2024-03-19 15:43:15.909556000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/join.out 2024-03-19 15:43:17.462028000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/aggregates.out 2024-03-19 15:43:17.279382000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/transactions.out 2024-03-19 15:43:15.403926000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/random.out 2024-03-19 15:43:14.309907000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/portals.out 2024-03-19 15:43:15.317150000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/arrays.out 2024-03-19 15:43:16.533212000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/btree_index.out 2024-03-19 15:43:17.089400000 +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,9 @@ 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 -- 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 +387,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 +405,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 +425,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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/hash_index.out 2024-03-19 15:43:15.931804000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/update.out 2024-03-19 15:43:16.685598000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/namespace.out 2024-03-19 15:43:14.445956000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/prepared_xacts.out 2024-03-19 15:43:14.647189000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/brin.out 2024-03-19 15:43:20.516389000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/gin.out 2024-03-19 15:43:18.824100000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/gist.out 2024-03-19 15:43:18.908861000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/spgist.out 2024-03-19 15:43:18.755355000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/privileges.out 2024-03-19 15:43:20.809232000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/collate.out 2024-03-19 15:43:18.624410000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/matview.out 2024-03-19 15:43:19.231238000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/lock.out 2024-03-19 15:43:18.434864000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/replica_identity.out 2024-03-19 15:43:18.640618000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/rowsecurity.out 2024-03-19 15:43:19.950756000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/object_address.out 2024-03-19 15:43:18.428298000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/tablesample.out 2024-03-19 15:43:17.989672000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/groupingsets.out 2024-03-19 15:43:18.782554000 +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,8 @@ 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 +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree a | b | sum ---+---+----- 1 | 1 | 1 @@ -829,6 +863,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 +873,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 +970,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 +1046,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 +1088,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 +1115,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 +1346,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 +1361,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 +1390,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 +1465,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 +1486,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 +1558,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 +1634,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 +1644,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 +1678,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 +1760,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 +1772,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 +1787,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 +1795,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 +1980,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 +2043,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 +2056,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 +2091,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 +2126,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 +2149,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 +2168,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 +2184,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 +2193,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 +2207,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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/identity.out 2024-03-19 15:43:19.355334000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/generated.out 2024-03-19 15:43:19.948709000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/join_hash.out 2024-03-19 15:43:20.519270000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/brin_bloom.out 2024-03-19 15:43:21.083899000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/brin_multi.out 2024-03-19 15:43:21.696104000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/create_table_like.out 2024-03-19 15:43:22.577504000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/alter_operator.out 2024-03-19 15:43:21.957382000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/misc.out 2024-03-19 15:43:22.000775000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/dbsize.out 2024-03-19 15:43:21.850512000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/merge.out 2024-03-19 15:43:22.494768000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/misc_functions.out 2024-03-19 15:43:22.092910000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/sysviews.out 2024-03-19 15:43:21.858716000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/tsrf.out 2024-03-19 15:43:21.988882000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/tid.out 2024-03-19 15:43:21.898505000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/tidscan.out 2024-03-19 15:43:21.911213000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/tidrangescan.out 2024-03-19 15:43:21.894507000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/collate.icu.utf8.out 2024-03-19 15:43:22.517165000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/incremental_sort.out 2024-03-19 15:43:22.111343000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/without_overlaps.out 2024-03-19 15:43:22.190309000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/rules.out 2024-03-19 15:43:23.397569000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/psql.out 2024-03-19 15:43:23.473950000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/psql_crosstab.out 2024-03-19 15:43:22.697898000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/amutils.out 2024-03-19 15:43:22.668169000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/stats_ext.out 2024-03-19 15:43:24.104365000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/select_parallel.out 2024-03-19 15:43:24.798367000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/write_parallel.out 2024-03-19 15:43:24.876761000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/vacuum_parallel.out 2024-03-19 15:43:25.029621000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/publication.out 2024-03-19 15:43:26.018680000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/subscription.out 2024-03-19 15:43:25.348409000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/select_views.out 2024-03-19 15:43:26.414851000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/foreign_key.out 2024-03-19 15:43:29.318610000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/cluster.out 2024-03-19 15:43:26.905341000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/dependency.out 2024-03-19 15:43:26.435493000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/guc.out 2024-03-19 15:43:26.411330000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/bitmapops.out 2024-03-19 15:43:26.353766000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/combocid.out 2024-03-19 15:43:26.241757000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/tsearch.out 2024-03-19 15:43:26.779276000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/foreign_data.out 2024-03-19 15:43:27.472877000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/window.out 2024-03-19 15:43:26.902374000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/xmlmap.out 2024-03-19 15:43:26.297266000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/functional_deps.out 2024-03-19 15:43:26.301790000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/advisory_lock.out 2024-03-19 15:43:26.269704000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/equivclass.out 2024-03-19 15:43:26.379855000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/json.out 2024-03-19 15:43:29.756430000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/jsonb.out 2024-03-19 15:43:29.925487000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/json_encoding.out 2024-03-19 15:43:29.575794000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/jsonpath.out 2024-03-19 15:43:29.626097000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/jsonb_jsonpath.out 2024-03-19 15:43:29.820771000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/sqljson.out 2024-03-19 15:43:29.655296000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/plancache.out 2024-03-19 15:43:30.537388000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/limit.out 2024-03-19 15:43:30.365588000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/plpgsql.out 2024-03-19 15:43:31.857039000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/copy2.out 2024-03-19 15:43:30.805592000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/temp.out 2024-03-19 15:43:30.567115000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/domain.out 2024-03-19 15:43:31.113398000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/rangefuncs.out 2024-03-19 15:43:31.055889000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/prepare.out 2024-03-19 15:43:30.209013000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/conversion.out 2024-03-19 15:43:30.366881000 +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,8 +270,11 @@ ('\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; +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 ------------------------------------------------------+----------------------+--------------+----------------------------------------------------------- valid, pure ASCII | \x666f6f | | @@ -320,6 +330,8 @@ (13 rows) select description, inbytes, (test_conv(inbytes, 'utf8', 'latin2')).* from utf8_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 | | @@ -404,6 +416,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 +459,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,8 +517,11 @@ ('\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; +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 | | @@ -541,6 +558,7 @@ ('\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; description | inbytes | result | errorat | error @@ -593,6 +611,7 @@ ('\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; description | inbytes | result | errorat | error @@ -640,8 +659,11 @@ ('\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; +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 | | diff -U3 /tmp/cirrus-ci-build/src/test/regress/expected/truncate.out /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/truncate.out 2024-03-19 15:43:30.750144000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/alter_table.out 2024-03-19 15:43:34.029699000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/sequence.out 2024-03-19 15:43:30.770601000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/polymorphism.out 2024-03-19 15:43:30.979149000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/returning.out 2024-03-19 15:43:30.236885000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/largeobject.out 2024-03-19 15:43:31.054736000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/with.out 2024-03-19 15:43:30.921826000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/xml.out 2024-03-19 15:43:31.006160000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/partition_join.out 2024-03-19 15:43:36.018141000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/partition_prune.out 2024-03-19 15:43:35.974803000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/reloptions.out 2024-03-19 15:43:34.438044000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/indexing.out 2024-03-19 15:43:36.177725000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/partition_aggregate.out 2024-03-19 15:43:35.203346000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/partition_info.out 2024-03-19 15:43:34.605870000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/tuplesort.out 2024-03-19 15:43:35.387726000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/explain.out 2024-03-19 15:43:34.576689000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/compression.out 2024-03-19 15:43:34.877536000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/memoize.out 2024-03-19 15:43:34.577895000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/stats.out 2024-03-19 15:43:35.320756000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/predicate.out 2024-03-19 15:43:34.353210000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/oidjoins.out 2024-03-19 15:43:36.488064000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/event_trigger.out 2024-03-19 15:43:36.536795000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/fast_default.out 2024-03-19 15:43:36.833100000 +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/pg_upgrade/002_pg_upgrade/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/pg_upgrade/002_pg_upgrade/data/results/tablespace.out 2024-03-19 15:43:37.464550000 +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; === EOF === [15:43:37.474](34.656s) not ok 5 - regression tests pass [15:43:37.474](0.000s) # Failed test 'regression tests pass' # at /tmp/cirrus-ci-build/src/bin/pg_upgrade/t/002_pg_upgrade.pl line 260. [15:43:37.474](0.000s) # got: '256' # expected: '0' # Checking port 55639 # Found port 55639 Name: new_node Data directory: /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/t_002_pg_upgrade_new_node_data/pgdata Backup directory: /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/t_002_pg_upgrade_new_node_data/backup Archive directory: /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/t_002_pg_upgrade_new_node_data/archives Connection string: port=55639 host=/tmp/mAcXKp5JaJ Log file: /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/log/002_pg_upgrade_new_node.log [15:43:37.477](0.003s) # initializing database system by running initdb # Running: initdb -D /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/t_002_pg_upgrade_new_node_data/pgdata -A trust -N --wal-segsize 1 --allow-group-access --encoding SQL_ASCII --locale-provider libc The files belonging to this database system will be owned by user "postgres". This user must also own the server process. The database cluster will be initialized with this locale configuration: locale provider: libc LC_COLLATE: en_US.UTF-8 LC_CTYPE: en_US.UTF-8 LC_MESSAGES: C LC_MONETARY: en_US.UTF-8 LC_NUMERIC: en_US.UTF-8 LC_TIME: en_US.UTF-8 The default text search configuration will be set to "english". Data page checksums are disabled. creating directory /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/t_002_pg_upgrade_new_node_data/pgdata ... ok creating subdirectories ... ok selecting dynamic shared memory implementation ... posix selecting default max_connections ... 100 selecting default shared_buffers ... 128MB selecting default time zone ... UTC creating configuration files ... ok running bootstrap script ... ok performing post-bootstrap initialization ... 2024-03-19 15:43:37.846 UTC [13616] WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree 2024-03-19 15:43:38.113 UTC [13616] WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree 2024-03-19 15:43:38.117 UTC [13616] WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree 2024-03-19 15:43:38.118 UTC [13616] WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree 2024-03-19 15:43:38.120 UTC [13616] WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree 2024-03-19 15:43:38.121 UTC [13616] WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree 2024-03-19 15:43:38.122 UTC [13616] WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree 2024-03-19 15:43:38.123 UTC [13616] WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree 2024-03-19 15:43:38.123 UTC [13616] WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree 2024-03-19 15:43:38.124 UTC [13616] WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree 2024-03-19 15:43:38.125 UTC [13616] WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree 2024-03-19 15:43:38.240 UTC [13616] WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ok Sync to disk skipped. The data directory might become corrupt if the operating system crashes. Success. You can now start the database server using: pg_ctl -D /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/t_002_pg_upgrade_new_node_data/pgdata -l logfile start # Running: /tmp/cirrus-ci-build/build/src/test/regress/pg_regress --config-auth /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/t_002_pg_upgrade_new_node_data/pgdata # Running: pg_dumpall --no-sync -d port=55638 host=/tmp/mAcXKp5JaJ dbname='postgres' -f /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/tmp_test_d7bq/dump1.sql WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree [15:43:40.151](2.674s) ok 6 - dump before running pg_upgrade ### Stopping node "old_node" using mode fast # Running: pg_ctl -D /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/t_002_pg_upgrade_old_node_data/pgdata -m fast stop waiting for server to shut down.... done server stopped # No postmaster PID for node "old_node" # Running: pg_upgrade --no-sync -d /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/t_002_pg_upgrade_old_node_data/pgdata -D /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/t_002_pg_upgrade_new_node_data/pgdata -b /tmp/cirrus-ci-build/build/tmp_install/usr/local/pgsql/bin/does/not/exist/ -B /tmp/cirrus-ci-build/build/tmp_install/usr/local/pgsql/bin -s /tmp/mAcXKp5JaJ -p 55638 -P 55639 --link --check check for "/tmp/cirrus-ci-build/build/tmp_install/usr/local/pgsql/bin/does/not/exist" failed: No such file or directory Failure, exiting [15:43:40.295](0.144s) ok 7 - run of pg_upgrade --check for new instance with incorrect binary path [15:43:40.295](0.000s) ok 8 - pg_upgrade_output.d/ not removed after pg_upgrade failure # Running: pg_upgrade --no-sync -d /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/t_002_pg_upgrade_old_node_data/pgdata -D /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/t_002_pg_upgrade_new_node_data/pgdata -b /tmp/cirrus-ci-build/build/tmp_install/usr/local/pgsql/bin -B /tmp/cirrus-ci-build/build/tmp_install/usr/local/pgsql/bin -s /tmp/mAcXKp5JaJ -p 55638 -P 55639 --link --check [15:43:40.745](0.450s) ok 9 - invalid database causes failure status (got 1 vs expected 1) [15:43:40.746](0.001s) ok 10 - invalid database causes failure stdout /(?^:invalid)/ [15:43:40.746](0.000s) not ok 11 - invalid database causes failure stderr /(?^:^$)/ [15:43:40.746](0.000s) # Failed test 'invalid database causes failure stderr /(?^:^$)/' # at /tmp/cirrus-ci-build/src/bin/pg_upgrade/t/002_pg_upgrade.pl line 407. [15:43:40.746](0.000s) # 'WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree # WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree # WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree # WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree # WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree # WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree # WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree # WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree # WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree # WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree # WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree # WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree # WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree # ' # doesn't match '(?^:^$)' ### Starting node "old_node" # Running: pg_ctl -w -D /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/t_002_pg_upgrade_old_node_data/pgdata -l /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/log/002_pg_upgrade_old_node.log -o --cluster-name=old_node start waiting for server to start.... done server started # Postmaster PID for node "old_node" is 14030 ### Stopping node "old_node" using mode fast # Running: pg_ctl -D /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/t_002_pg_upgrade_old_node_data/pgdata -m fast stop waiting for server to shut down.... done server stopped # No postmaster PID for node "old_node" # Running: pg_upgrade --no-sync -d /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/t_002_pg_upgrade_old_node_data/pgdata -D /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/t_002_pg_upgrade_new_node_data/pgdata -b /tmp/cirrus-ci-build/build/tmp_install/usr/local/pgsql/bin -B /tmp/cirrus-ci-build/build/tmp_install/usr/local/pgsql/bin -s /tmp/mAcXKp5JaJ -p 55638 -P 55639 --link --check Performing Consistency Checks ----------------------------- Checking cluster versions ok WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Checking database user is the install user WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ok Checking database connection settings ok Checking for prepared transactions WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ok Checking for contrib/isn with bigint-passing mismatch ok Checking for valid logical replication slots ok Checking for subscription state WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ok Checking for data type usage WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ok WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Checking for presence of required libraries ok Checking database user is the install user WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ok Checking for prepared transactions WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ok Checking for new cluster tablespace directories ok *Clusters are compatible* [15:43:42.167](1.420s) ok 12 - run of pg_upgrade --check for new instance [15:43:42.167](0.000s) ok 13 - pg_upgrade_output.d/ removed after pg_upgrade --check success # Running: pg_upgrade --no-sync -d /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/t_002_pg_upgrade_old_node_data/pgdata -D /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/t_002_pg_upgrade_new_node_data/pgdata -b /tmp/cirrus-ci-build/build/tmp_install/usr/local/pgsql/bin -B /tmp/cirrus-ci-build/build/tmp_install/usr/local/pgsql/bin -s /tmp/mAcXKp5JaJ -p 55638 -P 55639 --link Performing Consistency Checks ----------------------------- Checking cluster versions ok WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Checking database user is the install user WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ok Checking database connection settings ok Checking for prepared transactions WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ok Checking for contrib/isn with bigint-passing mismatch ok Checking for valid logical replication slots ok Checking for subscription state WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ok Checking for data type usage WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ok Creating dump of global objects ok Creating dump of database schemas ok WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Checking for presence of required libraries ok Checking database user is the install user WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ok Checking for prepared transactions WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ok Checking for new cluster tablespace directories ok If pg_upgrade fails after this point, you must re-initdb the new cluster before continuing. Performing Upgrade ------------------ Setting locale and encoding for new cluster ok Analyzing all rows in the new cluster ok Freezing all rows in the new cluster ok Deleting files from new pg_xact ok Copying old pg_xact to new server ok Setting oldest XID for new cluster ok Setting next transaction ID and epoch for new cluster ok Deleting files from new pg_multixact/offsets ok Copying old pg_multixact/offsets to new server ok Deleting files from new pg_multixact/members ok Copying old pg_multixact/members to new server ok Setting next multixact ID and offset for new cluster ok Resetting WAL archives ok Setting frozenxid and minmxid counters in new cluster ok Restoring global objects in the new cluster ok Restoring database schemas in the new cluster ok WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree Adding ".old" suffix to old global/pg_control ok If you want to start the old cluster, you will need to remove the ".old" suffix from /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/t_002_pg_upgrade_old_node_data/pgdata/global/pg_control.old. Because "link" mode was used, the old cluster cannot be safely started once the new cluster has been started. Linking user relation files ok Setting next OID for new cluster ok Creating script to delete old cluster ok Checking for extension updates WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ok Upgrade Complete ---------------- Optimizer statistics are not transferred by pg_upgrade. Once you start the new server, consider running: /tmp/cirrus-ci-build/build/tmp_install/usr/local/pgsql/bin/vacuumdb --all --analyze-in-stages Running this script will delete the old cluster's data files: ./delete_old_cluster.sh [15:43:51.088](8.921s) ok 14 - run of pg_upgrade for new instance [15:43:51.088](0.000s) ok 15 - pg_upgrade_output.d/ removed after pg_upgrade success ### Starting node "new_node" # Running: pg_ctl -w -D /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/t_002_pg_upgrade_new_node_data/pgdata -l /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/log/002_pg_upgrade_new_node.log -o --cluster-name=new_node start waiting for server to start.... done server started # Postmaster PID for node "new_node" is 15428 [15:43:51.212](0.124s) ok 16 - check that locales in new cluster match original cluster # Running: pg_dumpall --no-sync -d port=55639 host=/tmp/mAcXKp5JaJ dbname='postgres' -f /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/tmp_test_d7bq/dump2.sql WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree [15:43:52.921](1.710s) ok 17 - dump after running pg_upgrade [15:43:53.001](0.079s) ok 18 - old and new dumps match after pg_upgrade [15:43:53.001](0.000s) 1..18 ### Stopping node "new_node" using mode immediate # Running: pg_ctl -D /tmp/cirrus-ci-build/build/testrun/pg_upgrade/002_pg_upgrade/data/t_002_pg_upgrade_new_node_data/pgdata -m immediate stop waiting for server to shut down.... done server stopped # No postmaster PID for node "new_node" [15:43:53.113](0.112s) # Looks like you failed 2 tests of 18.