diff -U3 /tmp/cirrus-ci-build/contrib/pageinspect/expected/page.out /tmp/cirrus-ci-build/build/testrun/pageinspect/regress/results/page.out --- /tmp/cirrus-ci-build/contrib/pageinspect/expected/page.out 2024-03-26 23:35:26.155709000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/pageinspect/regress/results/page.out 2024-03-26 23:53:35.832982000 +0000 @@ -47,6 +47,7 @@ (1 row) SELECT pagesize, version FROM page_header(get_raw_page('test1', 0)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree pagesize | version ----------+--------- 8192 | 4 @@ -62,12 +63,14 @@ ERROR: invalid block number SELECT tuple_data_split('test1'::regclass, t_data, t_infomask, t_infomask2, t_bits) FROM heap_page_items(get_raw_page('test1', 0)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree tuple_data_split ------------------------------- {"\\x01000001","\\x00020200"} (1 row) SELECT * FROM fsm_page_contents(get_raw_page('test1', 'fsm', 0)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree fsm_page_contents ------------------- 0: 254 + @@ -93,6 +96,7 @@ SELECT t_infomask, t_infomask2, raw_flags, combined_flags FROM heap_page_items(get_raw_page('test1', 0)), LATERAL heap_tuple_infomask_flags(t_infomask, t_infomask2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree t_infomask | t_infomask2 | raw_flags | combined_flags ------------+-------------+-----------------------------------------------------------+-------------------- 2816 | 2 | {HEAP_XMIN_COMMITTED,HEAP_XMIN_INVALID,HEAP_XMAX_INVALID} | {HEAP_XMIN_FROZEN} @@ -101,6 +105,7 @@ -- tests for decoding of combined flags -- HEAP_XMAX_SHR_LOCK = (HEAP_XMAX_EXCL_LOCK | HEAP_XMAX_KEYSHR_LOCK) SELECT * FROM heap_tuple_infomask_flags(x'0050'::int, 0); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree raw_flags | combined_flags ---------------------------------------------+---------------------- {HEAP_XMAX_KEYSHR_LOCK,HEAP_XMAX_EXCL_LOCK} | {HEAP_XMAX_SHR_LOCK} @@ -108,6 +113,7 @@ -- HEAP_XMIN_FROZEN = (HEAP_XMIN_COMMITTED | HEAP_XMIN_INVALID) SELECT * FROM heap_tuple_infomask_flags(x'0300'::int, 0); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree raw_flags | combined_flags -----------------------------------------+-------------------- {HEAP_XMIN_COMMITTED,HEAP_XMIN_INVALID} | {HEAP_XMIN_FROZEN} @@ -115,12 +121,14 @@ -- HEAP_MOVED = (HEAP_MOVED_IN | HEAP_MOVED_OFF) SELECT * FROM heap_tuple_infomask_flags(x'C000'::int, 0); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree raw_flags | combined_flags --------------------------------+---------------- {HEAP_MOVED_OFF,HEAP_MOVED_IN} | {HEAP_MOVED} (1 row) SELECT * FROM heap_tuple_infomask_flags(x'C000'::int, 0); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree raw_flags | combined_flags --------------------------------+---------------- {HEAP_MOVED_OFF,HEAP_MOVED_IN} | {HEAP_MOVED} @@ -129,6 +137,7 @@ -- test all flags of t_infomask and t_infomask2 SELECT unnest(raw_flags) FROM heap_tuple_infomask_flags(x'FFFF'::int, x'FFFF'::int) ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree unnest ----------------------- HEAP_COMBOCID @@ -154,6 +163,7 @@ SELECT unnest(combined_flags) FROM heap_tuple_infomask_flags(x'FFFF'::int, x'FFFF'::int) ORDER BY 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree unnest -------------------- HEAP_MOVED @@ -163,6 +173,7 @@ -- no flags at all SELECT * FROM heap_tuple_infomask_flags(0, 0); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree raw_flags | combined_flags -----------+---------------- {} | {} @@ -170,6 +181,7 @@ -- no combined flags SELECT * FROM heap_tuple_infomask_flags(x'0010'::int, 0); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree raw_flags | combined_flags -------------------------+---------------- {HEAP_XMAX_KEYSHR_LOCK} | {} @@ -195,6 +207,7 @@ create table test8 (f1 int, f2 int, f3 int, f4 int, f5 int, f6 int, f7 int, f8 int); insert into test8(f1, f8) values (x'7f00007f'::int, 0); select t_bits, t_data from heap_page_items(get_raw_page('test8', 0)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree t_bits | t_data ----------+-------------------- 10000001 | \x7f00007f00000000 @@ -202,6 +215,7 @@ select tuple_data_split('test8'::regclass, t_data, t_infomask, t_infomask2, t_bits) from heap_page_items(get_raw_page('test8', 0)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree tuple_data_split ------------------------------------------------------------- {"\\x7f00007f",NULL,NULL,NULL,NULL,NULL,NULL,"\\x00000000"} diff -U3 /tmp/cirrus-ci-build/contrib/pageinspect/expected/btree.out /tmp/cirrus-ci-build/build/testrun/pageinspect/regress/results/btree.out --- /tmp/cirrus-ci-build/contrib/pageinspect/expected/btree.out 2024-03-26 23:35:26.155019000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/pageinspect/regress/results/btree.out 2024-03-26 23:53:35.867008000 +0000 @@ -3,6 +3,7 @@ CREATE INDEX test1_a_idx ON test1 USING btree (a); \x SELECT * FROM bt_metap('test1_a_idx'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-------------+------- magic | 340322 version | 4 @@ -15,10 +16,13 @@ allequalimage | t SELECT * FROM bt_page_stats('test1_a_idx', -1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: invalid block number -1 SELECT * FROM bt_page_stats('test1_a_idx', 0); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: block 0 is a meta page SELECT * FROM bt_page_stats('test1_a_idx', 1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-+----- blkno | 1 type | l @@ -33,13 +37,16 @@ btpo_flags | 3 SELECT * FROM bt_page_stats('test1_a_idx', 2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: block number 2 is out of range -- bt_multi_page_stats() function returns a set of records of page statistics. CREATE TABLE test2 AS (SELECT generate_series(1, 1000)::int8 AS col1); CREATE INDEX test2_col1_idx ON test2(col1); SELECT * FROM bt_multi_page_stats('test2_col1_idx', 0, 1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: block 0 is a meta page SELECT * FROM bt_multi_page_stats('test2_col1_idx', 1, -1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-+----- blkno | 1 type | l @@ -90,9 +97,11 @@ btpo_flags | 1 SELECT * FROM bt_multi_page_stats('test2_col1_idx', 1, 0); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree (0 rows) SELECT * FROM bt_multi_page_stats('test2_col1_idx', 1, 2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-+----- blkno | 1 type | l @@ -119,6 +128,7 @@ btpo_flags | 1 SELECT * FROM bt_multi_page_stats('test2_col1_idx', 3, 2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-+----- blkno | 3 type | r @@ -145,13 +155,17 @@ btpo_flags | 1 SELECT * FROM bt_multi_page_stats('test2_col1_idx', 7, 2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: block number 7 is out of range DROP TABLE test2; SELECT * FROM bt_page_items('test1_a_idx', -1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: invalid block number -1 SELECT * FROM bt_page_items('test1_a_idx', 0); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: block 0 is a meta page SELECT * FROM bt_page_items('test1_a_idx', 1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]----------------------- itemoffset | 1 ctid | (0,1) @@ -164,12 +178,16 @@ tids | SELECT * FROM bt_page_items('test1_a_idx', 2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: block number 2 is out of range SELECT * FROM bt_page_items(get_raw_page('test1_a_idx', -1)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: invalid block number SELECT * FROM bt_page_items(get_raw_page('test1_a_idx', 0)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: block is a meta page SELECT * FROM bt_page_items(get_raw_page('test1_a_idx', 1)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]----------------------- itemoffset | 1 ctid | (0,1) @@ -182,6 +200,7 @@ tids | SELECT * FROM bt_page_items(get_raw_page('test1_a_idx', 2)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: block number 2 is out of range for relation "test1_a_idx" -- Failure when using a non-btree index. CREATE INDEX test1_a_hash ON test1 USING hash(a); diff -U3 /tmp/cirrus-ci-build/contrib/pageinspect/expected/brin.out /tmp/cirrus-ci-build/build/testrun/pageinspect/regress/results/brin.out --- /tmp/cirrus-ci-build/contrib/pageinspect/expected/brin.out 2024-03-26 23:35:26.154925000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/pageinspect/regress/results/brin.out 2024-03-26 23:53:35.900836000 +0000 @@ -20,18 +20,22 @@ (1 row) SELECT * FROM brin_metapage_info(get_raw_page('test1_a_idx', 0)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree magic | version | pagesperrange | lastrevmappage ------------+---------+---------------+---------------- 0xA8109CFA | 1 | 128 | 1 (1 row) SELECT * FROM brin_metapage_info(get_raw_page('test1_a_idx', 1)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: page is not a BRIN page of type "metapage" DETAIL: Expected special type 0000f091, got 0000f092. SELECT * FROM brin_revmap_data(get_raw_page('test1_a_idx', 0)) LIMIT 5; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: page is not a BRIN page of type "revmap" DETAIL: Expected special type 0000f092, got 0000f091. SELECT * FROM brin_revmap_data(get_raw_page('test1_a_idx', 1)) LIMIT 5; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree pages ------- (2,1) @@ -43,6 +47,7 @@ SELECT * FROM brin_page_items(get_raw_page('test1_a_idx', 2), 'test1_a_idx') ORDER BY blknum, attnum LIMIT 5; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree itemoffset | blknum | attnum | allnulls | hasnulls | placeholder | empty | value ------------+--------+--------+----------+----------+-------------+-------+---------- 1 | 0 | 1 | f | f | f | f | {1 .. 1} @@ -60,8 +65,10 @@ SELECT brin_page_type(get_raw_page('test1', 0)); ERROR: input page is not a valid BRIN page SELECT * FROM brin_metapage_info(get_raw_page('test1', 0)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: input page is not a valid BRIN page SELECT * FROM brin_revmap_data(get_raw_page('test1', 0)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: input page is not a valid BRIN page \set VERBOSITY default -- Tests with all-zero pages. @@ -92,6 +99,7 @@ -- Test that partial indexes have all pages, including empty ones. CREATE TABLE test2 (a int); INSERT INTO test2 SELECT i FROM generate_series(1,1000) s(i); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -- No rows match the index predicate, make sure the index has the right number -- of ranges (same as number of page ranges). CREATE INDEX ON test2 USING brin (a) WITH (pages_per_range=1) WHERE (a IS NULL); @@ -101,6 +109,7 @@ FROM generate_series((SELECT (lastrevmappage + 1) FROM brin_metapage_info(get_raw_page('test2_a_idx', 0))), (SELECT (relpages - 1) FROM pg_class WHERE relname = 'test2_a_idx')) AS pages(p), LATERAL brin_page_items(get_raw_page('test2_a_idx', p), 'test2_a_idx') AS items; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ranges_do_match ----------------- t diff -U3 /tmp/cirrus-ci-build/contrib/pageinspect/expected/gin.out /tmp/cirrus-ci-build/build/testrun/pageinspect/regress/results/gin.out --- /tmp/cirrus-ci-build/contrib/pageinspect/expected/gin.out 2024-03-26 23:35:26.155220000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/pageinspect/regress/results/gin.out 2024-03-26 23:53:36.043559000 +0000 @@ -3,6 +3,7 @@ CREATE INDEX test1_y_idx ON test1 USING gin (y) WITH (fastupdate = off); \x SELECT * FROM gin_metapage_info(get_raw_page('test1_y_idx', 0)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]----+----------- pending_head | 4294967295 pending_tail | 4294967295 @@ -16,22 +17,27 @@ version | 2 SELECT * FROM gin_metapage_info(get_raw_page('test1_y_idx', 1)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: input page is not a GIN metapage DETAIL: Flags 0002, expected 0008 SELECT * FROM gin_page_opaque_info(get_raw_page('test1_y_idx', 1)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]--------- rightlink | 4294967295 maxoff | 0 flags | {leaf} SELECT * FROM gin_leafpage_items(get_raw_page('test1_y_idx', 1)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: input page is not a compressed GIN data leaf page DETAIL: Flags 0002, expected 0083 INSERT INTO test1 SELECT x, ARRAY[1,10] FROM generate_series(2,10000) x; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree SELECT COUNT(*) > 0 FROM gin_leafpage_items(get_raw_page('test1_y_idx', (pg_relation_size('test1_y_idx') / current_setting('block_size')::bigint)::int - 1)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ] ?column? | t @@ -48,10 +54,13 @@ ERROR: invalid page size -- invalid special area size SELECT * FROM gin_metapage_info(get_raw_page('test1', 0)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: input page is not a valid GIN metapage SELECT * FROM gin_page_opaque_info(get_raw_page('test1', 0)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: input page is not a valid GIN data leaf page SELECT * FROM gin_leafpage_items(get_raw_page('test1', 0)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: input page is not a valid GIN data leaf page \set VERBOSITY default -- Tests with all-zero pages. diff -U3 /tmp/cirrus-ci-build/contrib/pageinspect/expected/gist.out /tmp/cirrus-ci-build/build/testrun/pageinspect/regress/results/gist.out --- /tmp/cirrus-ci-build/contrib/pageinspect/expected/gist.out 2024-03-26 23:35:26.155386000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/pageinspect/regress/results/gist.out 2024-03-26 23:53:36.073295000 +0000 @@ -2,27 +2,32 @@ -- Use an unlogged index, so that the LSN is predictable. CREATE UNLOGGED TABLE test_gist AS SELECT point(i,i) p, i::text t FROM generate_series(1,1000) i; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree CREATE INDEX test_gist_idx ON test_gist USING gist (p); -- Page 0 is the root, the rest are leaf pages SELECT * FROM gist_page_opaque_info(get_raw_page('test_gist_idx', 0)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree lsn | nsn | rightlink | flags -----+-----+------------+------- 0/1 | 0/0 | 4294967295 | {} (1 row) SELECT * FROM gist_page_opaque_info(get_raw_page('test_gist_idx', 1)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree lsn | nsn | rightlink | flags -----+-----+------------+-------- 0/1 | 0/0 | 4294967295 | {leaf} (1 row) SELECT * FROM gist_page_opaque_info(get_raw_page('test_gist_idx', 2)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree lsn | nsn | rightlink | flags -----+-----+-----------+-------- 0/1 | 0/0 | 1 | {leaf} (1 row) SELECT * FROM gist_page_items(get_raw_page('test_gist_idx', 0), 'test_gist_idx'); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree itemoffset | ctid | itemlen | dead | keys ------------+-----------+---------+------+------------------------------- 1 | (1,65535) | 40 | f | (p)=("(185,185),(1,1)") @@ -34,6 +39,7 @@ (6 rows) SELECT * FROM gist_page_items(get_raw_page('test_gist_idx', 1), 'test_gist_idx') LIMIT 5; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree itemoffset | ctid | itemlen | dead | keys ------------+-------+---------+------+--------------------- 1 | (0,1) | 40 | f | (p)=("(1,1),(1,1)") @@ -46,6 +52,7 @@ -- gist_page_items_bytea prints the raw key data as a bytea. The output of that is -- platform-dependent (endianness), so omit the actual key data from the output. SELECT itemoffset, ctid, itemlen FROM gist_page_items_bytea(get_raw_page('test_gist_idx', 0)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree itemoffset | ctid | itemlen ------------+-----------+--------- 1 | (1,65535) | 40 @@ -75,6 +82,7 @@ ERROR: invalid page size -- invalid special area size SELECT * FROM gist_page_opaque_info(get_raw_page('test_gist', 0)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: input page is not a valid GiST page SELECT gist_page_items_bytea(get_raw_page('test_gist', 0)); ERROR: input page is not a valid GiST page @@ -109,6 +117,7 @@ SELECT regexp_replace(keys, '\(p\)=\("(.*?)"\)', '(p)=("")') AS keys_nonleaf_1 FROM gist_page_items(get_raw_page('test_gist_idx_inc', 0), 'test_gist_idx_inc') WHERE itemoffset = 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree keys_nonleaf_1 ---------------- (p)=("") @@ -117,6 +126,7 @@ SELECT keys AS keys_leaf_1 FROM gist_page_items(get_raw_page('test_gist_idx_inc', 1), 'test_gist_idx_inc') WHERE itemoffset = 1; +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree keys_leaf_1 ------------------------------------------------------ (p) INCLUDE (t, i)=("(1,1),(1,1)") INCLUDE (1, null) diff -U3 /tmp/cirrus-ci-build/contrib/pageinspect/expected/hash.out /tmp/cirrus-ci-build/build/testrun/pageinspect/regress/results/hash.out --- /tmp/cirrus-ci-build/contrib/pageinspect/expected/hash.out 2024-03-26 23:35:26.155508000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/pageinspect/regress/results/hash.out 2024-03-26 23:53:36.104807000 +0000 @@ -31,26 +31,36 @@ SELECT hash_page_type(get_raw_page('test_hash_a_idx', 6)); ERROR: block number 6 is out of range for relation "test_hash_a_idx" SELECT * FROM hash_bitmap_info('test_hash_a_idx', -1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: invalid block number SELECT * FROM hash_bitmap_info('test_hash_a_idx', 0); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: invalid overflow block number 0 SELECT * FROM hash_bitmap_info('test_hash_a_idx', 1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: invalid overflow block number 1 SELECT * FROM hash_bitmap_info('test_hash_a_idx', 2); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: invalid overflow block number 2 SELECT * FROM hash_bitmap_info('test_hash_a_idx', 3); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: invalid overflow block number 3 SELECT * FROM hash_bitmap_info('test_hash_a_idx', 4); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: invalid overflow block number 4 SELECT * FROM hash_bitmap_info('test_hash_a_idx', 5); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: invalid overflow block number 5 SELECT * FROM hash_bitmap_info('test_hash_a_idx', 6); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: block number 6 is out of range for relation "test_hash_a_idx" SELECT * FROM hash_bitmap_info('test_hash_part_idx', 1); -- error +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: "test_hash_part_idx" is not a hash index SELECT magic, version, ntuples, bsize, bmsize, bmshift, maxbucket, highmask, lowmask, ovflpoint, firstfree, nmaps, procid, spares, mapp FROM hash_metapage_info(get_raw_page('test_hash_a_idx', 0)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- magic | 105121344 version | 4 @@ -71,30 +81,37 @@ SELECT magic, version, ntuples, bsize, bmsize, bmshift, maxbucket, highmask, lowmask, ovflpoint, firstfree, nmaps, procid, spares, mapp FROM hash_metapage_info(get_raw_page('test_hash_a_idx', 1)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: page is not a hash meta page SELECT magic, version, ntuples, bsize, bmsize, bmshift, maxbucket, highmask, lowmask, ovflpoint, firstfree, nmaps, procid, spares, mapp FROM hash_metapage_info(get_raw_page('test_hash_a_idx', 2)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: page is not a hash meta page SELECT magic, version, ntuples, bsize, bmsize, bmshift, maxbucket, highmask, lowmask, ovflpoint, firstfree, nmaps, procid, spares, mapp FROM hash_metapage_info(get_raw_page('test_hash_a_idx', 3)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: page is not a hash meta page SELECT magic, version, ntuples, bsize, bmsize, bmshift, maxbucket, highmask, lowmask, ovflpoint, firstfree, nmaps, procid, spares, mapp FROM hash_metapage_info(get_raw_page('test_hash_a_idx', 4)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: page is not a hash meta page SELECT magic, version, ntuples, bsize, bmsize, bmshift, maxbucket, highmask, lowmask, ovflpoint, firstfree, nmaps, procid, spares, mapp FROM hash_metapage_info(get_raw_page('test_hash_a_idx', 5)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: page is not a hash meta page SELECT live_items, dead_items, page_size, hasho_prevblkno, hasho_nextblkno, hasho_bucket, hasho_flag, hasho_page_id FROM hash_page_stats(get_raw_page('test_hash_a_idx', 0)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: page is not a hash bucket or overflow page SELECT live_items, dead_items, page_size, hasho_prevblkno, hasho_nextblkno, hasho_bucket, hasho_flag, hasho_page_id FROM hash_page_stats(get_raw_page('test_hash_a_idx', 1)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]---+----------- live_items | 0 dead_items | 0 @@ -108,6 +125,7 @@ SELECT live_items, dead_items, page_size, hasho_prevblkno, hasho_nextblkno, hasho_bucket, hasho_flag, hasho_page_id FROM hash_page_stats(get_raw_page('test_hash_a_idx', 2)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]---+----------- live_items | 0 dead_items | 0 @@ -121,6 +139,7 @@ SELECT live_items, dead_items, page_size, hasho_prevblkno, hasho_nextblkno, hasho_bucket, hasho_flag, hasho_page_id FROM hash_page_stats(get_raw_page('test_hash_a_idx', 3)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]---+----------- live_items | 1 dead_items | 0 @@ -134,6 +153,7 @@ SELECT live_items, dead_items, page_size, hasho_prevblkno, hasho_nextblkno, hasho_bucket, hasho_flag, hasho_page_id FROM hash_page_stats(get_raw_page('test_hash_a_idx', 4)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]---+----------- live_items | 0 dead_items | 0 @@ -147,25 +167,32 @@ SELECT live_items, dead_items, page_size, hasho_prevblkno, hasho_nextblkno, hasho_bucket, hasho_flag, hasho_page_id FROM hash_page_stats(get_raw_page('test_hash_a_idx', 5)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: page is not a hash bucket or overflow page SELECT * FROM hash_page_items(get_raw_page('test_hash_a_idx', 0)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: page is not a hash bucket or overflow page SELECT * FROM hash_page_items(get_raw_page('test_hash_a_idx', 1)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree (0 rows) SELECT * FROM hash_page_items(get_raw_page('test_hash_a_idx', 2)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree (0 rows) SELECT * FROM hash_page_items(get_raw_page('test_hash_a_idx', 3)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree -[ RECORD 1 ]---------- itemoffset | 1 ctid | (0,1) data | 2389907270 SELECT * FROM hash_page_items(get_raw_page('test_hash_a_idx', 4)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree (0 rows) SELECT * FROM hash_page_items(get_raw_page('test_hash_a_idx', 5)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree ERROR: page is not a hash bucket or overflow page -- Failure with non-hash index CREATE INDEX test_hash_a_btree ON test_hash USING btree (a); diff -U3 /tmp/cirrus-ci-build/contrib/pageinspect/expected/checksum.out /tmp/cirrus-ci-build/build/testrun/pageinspect/regress/results/checksum.out --- /tmp/cirrus-ci-build/contrib/pageinspect/expected/checksum.out 2024-03-26 23:35:26.155086000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/pageinspect/regress/results/checksum.out 2024-03-26 23:53:36.122116000 +0000 @@ -31,6 +31,7 @@ page_checksum(decode(repeat('e6d6', :block_size / 2), 'hex'), blkno) AS checksum_e6d6, page_checksum(decode(repeat('4a5e', :block_size / 2), 'hex'), blkno) AS checksum_4a5e FROM generate_series(0, 100, 50) AS a (blkno); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree blkno | checksum_01 | checksum_04 | checksum_ff | checksum_abcd | checksum_e6d6 | checksum_4a5e -------+-------------+-------------+-------------+---------------+---------------+--------------- 0 | 1175 | 28338 | 3612 | -30781 | -16269 | -27377 diff -U3 /tmp/cirrus-ci-build/contrib/pageinspect/expected/oldextversions.out /tmp/cirrus-ci-build/build/testrun/pageinspect/regress/results/oldextversions.out --- /tmp/cirrus-ci-build/contrib/pageinspect/expected/oldextversions.out 2024-03-26 23:35:26.155585000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/pageinspect/regress/results/oldextversions.out 2024-03-26 23:53:36.172326000 +0000 @@ -25,12 +25,14 @@ -- from btree.sql SELECT * FROM bt_page_stats('test1_a_idx', 1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree blkno | type | live_items | dead_items | avg_item_size | page_size | free_size | btpo_prev | btpo_next | btpo | btpo_flags -------+------+------------+------------+---------------+-----------+-----------+-----------+-----------+------+------------ 1 | l | 1 | 0 | 16 | 8192 | 8128 | 0 | 0 | 0 | 3 (1 row) SELECT * FROM bt_page_items('test1_a_idx', 1); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree itemoffset | ctid | itemlen | nulls | vars | data | dead | htid | tids ------------+-------+---------+-------+------+-------------------------+------+-------+------ 1 | (0,1) | 16 | f | f | 01 00 00 00 00 00 00 01 | f | (0,1) | @@ -40,6 +42,7 @@ -- pagesize in pageinspect >= 1.10. ALTER EXTENSION pageinspect UPDATE TO '1.9'; \df page_header +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree List of functions Schema | Name | Result data type | Argument data types | Type --------+-------------+------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------ @@ -47,6 +50,7 @@ (1 row) SELECT pagesize, version FROM page_header(get_raw_page('test1', 0)); +WARNING: outfuncs/readfuncs failed to produce an equal rewritten parse tree pagesize | version ----------+--------- 8192 | 4