diff --git a/format/postgres/testdata/flavours/pgproee14/16451 b/format/postgres/testdata/flavours/pgproee14/16451 new file mode 100644 index 00000000..c2f0571f Binary files /dev/null and b/format/postgres/testdata/flavours/pgproee14/16451 differ diff --git a/format/postgres/testdata/flavours/pgproee14/16451_1.fqtest b/format/postgres/testdata/flavours/pgproee14/16451_1.fqtest new file mode 100644 index 00000000..314e54d6 --- /dev/null +++ b/format/postgres/testdata/flavours/pgproee14/16451_1.fqtest @@ -0,0 +1,143 @@ +$ fq -d pg_heap -o flavour=pgproee14 ".[0].Tuples[1,2,3] | dv" 16451 + |00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.[0].Tuples[1]{}: Tuple 0x1f78-0x1faf.7 (56) + | | | HeapTupleHeaderData{}: 0x1f78-0x1f8f.7 (24) + | | | t_choice{}: 0x1f78-0x1f83.7 (12) + | | | t_heap{}: 0x1f78-0x1f83.7 (12) +0x1f70| 04 00 00 00 | .... | t_xmin: "10000040106" (4) 0x1f78-0x1f7b.7 (4) +0x1f70| 00 00 00 00| ....| t_xmax: 0 0x1f7c-0x1f7f.7 (4) + | | | t_field3{}: 0x1f80-0x1f83.7 (4) +0x1f80|00 00 00 00 |.... | t_cid: 0 0x1f80-0x1f83.7 (4) +0x1f80|00 00 00 00 |.... | t_xvac: 0 0x1f80-0x1f83.7 (4) + | | | t_datum{}: 0x1f78-0x1f83.7 (12) +0x1f70| 04 00 00 00 | .... | datum_len_: 4 0x1f78-0x1f7b.7 (4) +0x1f70| 00 00 00 00| ....| datum_typmod: 0 0x1f7c-0x1f7f.7 (4) +0x1f80|00 00 00 00 |.... | datum_typeid: 0 0x1f80-0x1f83.7 (4) + | | | t_ctid{}: 0x1f84-0x1f89.7 (6) +0x1f80| 00 00 00 00 | .... | ip_blkid: 0 0x1f84-0x1f87.7 (4) +0x1f80| 02 00 | .. | ip_posid: 2 0x1f88-0x1f89.7 (2) +0x1f80| 03 00 | .. | t_infomask2: 3 0x1f8a-0x1f8b.7 (2) + | | | Infomask2{}: 0x1f8a-0x1f8b.7 (2) +0x1f80| 03 00 | .. | HEAP_KEYS_UPDATED: 0 0x1f8a-0x1f8b.7 (2) +0x1f80| 03 00 | .. | HEAP_HOT_UPDATED: 0 0x1f8a-0x1f8b.7 (2) +0x1f80| 03 00 | .. | HEAP_ONLY_TUPLE: 0 0x1f8a-0x1f8b.7 (2) +0x1f80| 02 09 | .. | t_infomask: 2306 0x1f8c-0x1f8d.7 (2) + | | | Infomask{}: 0x1f8c-0x1f8d.7 (2) +0x1f80| 02 09 | .. | HEAP_HASNULL: 0 0x1f8c-0x1f8d.7 (2) +0x1f80| 02 09 | .. | HEAP_HASVARWIDTH: 1 0x1f8c-0x1f8d.7 (2) +0x1f80| 02 09 | .. | HEAP_HASEXTERNAL: 0 0x1f8c-0x1f8d.7 (2) +0x1f80| 02 09 | .. | HEAP_HASOID_OLD: 0 0x1f8c-0x1f8d.7 (2) +0x1f80| 02 09 | .. | HEAP_XMAX_KEYSHR_LOCK: 0 0x1f8c-0x1f8d.7 (2) +0x1f80| 02 09 | .. | HEAP_COMBOCID: 0 0x1f8c-0x1f8d.7 (2) +0x1f80| 02 09 | .. | HEAP_XMAX_EXCL_LOCK: 0 0x1f8c-0x1f8d.7 (2) +0x1f80| 02 09 | .. | HEAP_XMAX_LOCK_ONLY: 0 0x1f8c-0x1f8d.7 (2) +0x1f80| 02 09 | .. | HEAP_XMAX_SHR_LOCK: 0 0x1f8c-0x1f8d.7 (2) +0x1f80| 02 09 | .. | HEAP_LOCK_MASK: 0 0x1f8c-0x1f8d.7 (2) +0x1f80| 02 09 | .. | HEAP_XMIN_COMMITTED: 1 0x1f8c-0x1f8d.7 (2) +0x1f80| 02 09 | .. | HEAP_XMIN_INVALID: 0 0x1f8c-0x1f8d.7 (2) +0x1f80| 02 09 | .. | HEAP_XMIN_FROZEN: 0 0x1f8c-0x1f8d.7 (2) +0x1f80| 02 09 | .. | HEAP_XMAX_COMMITTED: 0 0x1f8c-0x1f8d.7 (2) +0x1f80| 02 09 | .. | HEAP_XMAX_INVALID: 1 0x1f8c-0x1f8d.7 (2) +0x1f80| 02 09 | .. | HEAP_XMAX_IS_MULTI: 0 0x1f8c-0x1f8d.7 (2) +0x1f80| 02 09 | .. | HEAP_UPDATED: 0 0x1f8c-0x1f8d.7 (2) +0x1f80| 02 09 | .. | HEAP_MOVED_OFF: 0 0x1f8c-0x1f8d.7 (2) +0x1f80| 02 09 | .. | HEAP_MOVED_IN: 0 0x1f8c-0x1f8d.7 (2) +0x1f80| 02 09 | .. | HEAP_MOVED: 0 0x1f8c-0x1f8d.7 (2) +0x1f80| 18 | . | t_hoff: 24 0x1f8e-0x1f8e.7 (1) +0x1f80| 00| .| padding0: 0 0x1f8f-0x1f8f.7 (1) +0x1f90|02 00 00 00 23 31 31 31 31 31 31 31 31 31 31 31|....#11111111111| Data: "02000000233131313131313131313131313131313100000..." (raw bits) 0x1f90-0x1faf.7 (32) +0x1fa0|31 31 31 31 31 00 00 00 ce fa be ba ff ff ff ff|11111...........| + |00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.[0].Tuples[2]{}: Tuple 0x1f40-0x1f77.7 (56) + | | | HeapTupleHeaderData{}: 0x1f40-0x1f57.7 (24) + | | | t_choice{}: 0x1f40-0x1f4b.7 (12) + | | | t_heap{}: 0x1f40-0x1f4b.7 (12) +0x1f40|04 00 00 00 |.... | t_xmin: "10000040106" (4) 0x1f40-0x1f43.7 (4) +0x1f40| 00 00 00 00 | .... | t_xmax: 0 0x1f44-0x1f47.7 (4) + | | | t_field3{}: 0x1f48-0x1f4b.7 (4) +0x1f40| 00 00 00 00 | .... | t_cid: 0 0x1f48-0x1f4b.7 (4) +0x1f40| 00 00 00 00 | .... | t_xvac: 0 0x1f48-0x1f4b.7 (4) + | | | t_datum{}: 0x1f40-0x1f4b.7 (12) +0x1f40|04 00 00 00 |.... | datum_len_: 4 0x1f40-0x1f43.7 (4) +0x1f40| 00 00 00 00 | .... | datum_typmod: 0 0x1f44-0x1f47.7 (4) +0x1f40| 00 00 00 00 | .... | datum_typeid: 0 0x1f48-0x1f4b.7 (4) + | | | t_ctid{}: 0x1f4c-0x1f51.7 (6) +0x1f40| 00 00 00 00| ....| ip_blkid: 0 0x1f4c-0x1f4f.7 (4) +0x1f50|03 00 |.. | ip_posid: 3 0x1f50-0x1f51.7 (2) +0x1f50| 03 00 | .. | t_infomask2: 3 0x1f52-0x1f53.7 (2) + | | | Infomask2{}: 0x1f52-0x1f53.7 (2) +0x1f50| 03 00 | .. | HEAP_KEYS_UPDATED: 0 0x1f52-0x1f53.7 (2) +0x1f50| 03 00 | .. | HEAP_HOT_UPDATED: 0 0x1f52-0x1f53.7 (2) +0x1f50| 03 00 | .. | HEAP_ONLY_TUPLE: 0 0x1f52-0x1f53.7 (2) +0x1f50| 02 09 | .. | t_infomask: 2306 0x1f54-0x1f55.7 (2) + | | | Infomask{}: 0x1f54-0x1f55.7 (2) +0x1f50| 02 09 | .. | HEAP_HASNULL: 0 0x1f54-0x1f55.7 (2) +0x1f50| 02 09 | .. | HEAP_HASVARWIDTH: 1 0x1f54-0x1f55.7 (2) +0x1f50| 02 09 | .. | HEAP_HASEXTERNAL: 0 0x1f54-0x1f55.7 (2) +0x1f50| 02 09 | .. | HEAP_HASOID_OLD: 0 0x1f54-0x1f55.7 (2) +0x1f50| 02 09 | .. | HEAP_XMAX_KEYSHR_LOCK: 0 0x1f54-0x1f55.7 (2) +0x1f50| 02 09 | .. | HEAP_COMBOCID: 0 0x1f54-0x1f55.7 (2) +0x1f50| 02 09 | .. | HEAP_XMAX_EXCL_LOCK: 0 0x1f54-0x1f55.7 (2) +0x1f50| 02 09 | .. | HEAP_XMAX_LOCK_ONLY: 0 0x1f54-0x1f55.7 (2) +0x1f50| 02 09 | .. | HEAP_XMAX_SHR_LOCK: 0 0x1f54-0x1f55.7 (2) +0x1f50| 02 09 | .. | HEAP_LOCK_MASK: 0 0x1f54-0x1f55.7 (2) +0x1f50| 02 09 | .. | HEAP_XMIN_COMMITTED: 1 0x1f54-0x1f55.7 (2) +0x1f50| 02 09 | .. | HEAP_XMIN_INVALID: 0 0x1f54-0x1f55.7 (2) +0x1f50| 02 09 | .. | HEAP_XMIN_FROZEN: 0 0x1f54-0x1f55.7 (2) +0x1f50| 02 09 | .. | HEAP_XMAX_COMMITTED: 0 0x1f54-0x1f55.7 (2) +0x1f50| 02 09 | .. | HEAP_XMAX_INVALID: 1 0x1f54-0x1f55.7 (2) +0x1f50| 02 09 | .. | HEAP_XMAX_IS_MULTI: 0 0x1f54-0x1f55.7 (2) +0x1f50| 02 09 | .. | HEAP_UPDATED: 0 0x1f54-0x1f55.7 (2) +0x1f50| 02 09 | .. | HEAP_MOVED_OFF: 0 0x1f54-0x1f55.7 (2) +0x1f50| 02 09 | .. | HEAP_MOVED_IN: 0 0x1f54-0x1f55.7 (2) +0x1f50| 02 09 | .. | HEAP_MOVED: 0 0x1f54-0x1f55.7 (2) +0x1f50| 18 | . | t_hoff: 24 0x1f56-0x1f56.7 (1) +0x1f50| 00 | . | padding0: 0 0x1f57-0x1f57.7 (1) +0x1f50| 03 00 00 00 23 32 32 32| ....#222| Data: "03000000233232323232323232323232323232323200000..." (raw bits) 0x1f58-0x1f77.7 (32) +0x1f60|32 32 32 32 32 32 32 32 32 32 32 32 32 00 00 00|2222222222222...| +0x1f70|ef cd ab 89 ff ff ff ff |........ | + |00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.[0].Tuples[3]{}: Tuple 0x1f08-0x1f3f.7 (56) + | | | HeapTupleHeaderData{}: 0x1f08-0x1f1f.7 (24) + | | | t_choice{}: 0x1f08-0x1f13.7 (12) + | | | t_heap{}: 0x1f08-0x1f13.7 (12) +0x1f00| 04 00 00 00 | .... | t_xmin: "10000040106" (4) 0x1f08-0x1f0b.7 (4) +0x1f00| 00 00 00 00| ....| t_xmax: 0 0x1f0c-0x1f0f.7 (4) + | | | t_field3{}: 0x1f10-0x1f13.7 (4) +0x1f10|00 00 00 00 |.... | t_cid: 0 0x1f10-0x1f13.7 (4) +0x1f10|00 00 00 00 |.... | t_xvac: 0 0x1f10-0x1f13.7 (4) + | | | t_datum{}: 0x1f08-0x1f13.7 (12) +0x1f00| 04 00 00 00 | .... | datum_len_: 4 0x1f08-0x1f0b.7 (4) +0x1f00| 00 00 00 00| ....| datum_typmod: 0 0x1f0c-0x1f0f.7 (4) +0x1f10|00 00 00 00 |.... | datum_typeid: 0 0x1f10-0x1f13.7 (4) + | | | t_ctid{}: 0x1f14-0x1f19.7 (6) +0x1f10| 00 00 00 00 | .... | ip_blkid: 0 0x1f14-0x1f17.7 (4) +0x1f10| 04 00 | .. | ip_posid: 4 0x1f18-0x1f19.7 (2) +0x1f10| 03 00 | .. | t_infomask2: 3 0x1f1a-0x1f1b.7 (2) + | | | Infomask2{}: 0x1f1a-0x1f1b.7 (2) +0x1f10| 03 00 | .. | HEAP_KEYS_UPDATED: 0 0x1f1a-0x1f1b.7 (2) +0x1f10| 03 00 | .. | HEAP_HOT_UPDATED: 0 0x1f1a-0x1f1b.7 (2) +0x1f10| 03 00 | .. | HEAP_ONLY_TUPLE: 0 0x1f1a-0x1f1b.7 (2) +0x1f10| 02 09 | .. | t_infomask: 2306 0x1f1c-0x1f1d.7 (2) + | | | Infomask{}: 0x1f1c-0x1f1d.7 (2) +0x1f10| 02 09 | .. | HEAP_HASNULL: 0 0x1f1c-0x1f1d.7 (2) +0x1f10| 02 09 | .. | HEAP_HASVARWIDTH: 1 0x1f1c-0x1f1d.7 (2) +0x1f10| 02 09 | .. | HEAP_HASEXTERNAL: 0 0x1f1c-0x1f1d.7 (2) +0x1f10| 02 09 | .. | HEAP_HASOID_OLD: 0 0x1f1c-0x1f1d.7 (2) +0x1f10| 02 09 | .. | HEAP_XMAX_KEYSHR_LOCK: 0 0x1f1c-0x1f1d.7 (2) +0x1f10| 02 09 | .. | HEAP_COMBOCID: 0 0x1f1c-0x1f1d.7 (2) +0x1f10| 02 09 | .. | HEAP_XMAX_EXCL_LOCK: 0 0x1f1c-0x1f1d.7 (2) +0x1f10| 02 09 | .. | HEAP_XMAX_LOCK_ONLY: 0 0x1f1c-0x1f1d.7 (2) +0x1f10| 02 09 | .. | HEAP_XMAX_SHR_LOCK: 0 0x1f1c-0x1f1d.7 (2) +0x1f10| 02 09 | .. | HEAP_LOCK_MASK: 0 0x1f1c-0x1f1d.7 (2) +0x1f10| 02 09 | .. | HEAP_XMIN_COMMITTED: 1 0x1f1c-0x1f1d.7 (2) +0x1f10| 02 09 | .. | HEAP_XMIN_INVALID: 0 0x1f1c-0x1f1d.7 (2) +0x1f10| 02 09 | .. | HEAP_XMIN_FROZEN: 0 0x1f1c-0x1f1d.7 (2) +0x1f10| 02 09 | .. | HEAP_XMAX_COMMITTED: 0 0x1f1c-0x1f1d.7 (2) +0x1f10| 02 09 | .. | HEAP_XMAX_INVALID: 1 0x1f1c-0x1f1d.7 (2) +0x1f10| 02 09 | .. | HEAP_XMAX_IS_MULTI: 0 0x1f1c-0x1f1d.7 (2) +0x1f10| 02 09 | .. | HEAP_UPDATED: 0 0x1f1c-0x1f1d.7 (2) +0x1f10| 02 09 | .. | HEAP_MOVED_OFF: 0 0x1f1c-0x1f1d.7 (2) +0x1f10| 02 09 | .. | HEAP_MOVED_IN: 0 0x1f1c-0x1f1d.7 (2) +0x1f10| 02 09 | .. | HEAP_MOVED: 0 0x1f1c-0x1f1d.7 (2) +0x1f10| 18 | . | t_hoff: 24 0x1f1e-0x1f1e.7 (1) +0x1f10| 00| .| padding0: 0 0x1f1f-0x1f1f.7 (1) +0x1f20|04 00 00 00 23 33 33 33 33 33 33 33 33 33 33 33|....#33333333333| Data: "04000000233333333333333333333333333333333300000..." (raw bits) 0x1f20-0x1f3f.7 (32) +0x1f30|33 33 33 33 33 00 00 00 af be ad de ff ff ff ff|33333...........|