1
0
mirror of https://github.com/postgres/postgres.git synced 2025-06-11 20:28:21 +03:00

Fix pageinspect's heap_page_item to return infomasks as 32 bit values

HeapTupleHeader's t_infomask and t_infomask2 are defined as 16-bit
unsigned integers, so when the 16th bit was set, heap_page_item was
returning them as negative values, which was ugly.

The change to pageinspect--unpackaged--1.0.sql allows a module upgraded
from 9.0 to be cleanly updated from the previous definition.
This commit is contained in:
Alvaro Herrera
2011-02-25 19:04:25 -03:00
parent 79ad8fc5f8
commit a338d65461
2 changed files with 21 additions and 3 deletions

View File

@ -170,8 +170,8 @@ heap_page_items(PG_FUNCTION_ARGS)
values[5] = UInt32GetDatum(HeapTupleHeaderGetXmax(tuphdr));
values[6] = UInt32GetDatum(HeapTupleHeaderGetRawCommandId(tuphdr)); /* shared with xvac */
values[7] = PointerGetDatum(&tuphdr->t_ctid);
values[8] = UInt16GetDatum(tuphdr->t_infomask2);
values[9] = UInt16GetDatum(tuphdr->t_infomask);
values[8] = UInt32GetDatum(tuphdr->t_infomask2);
values[9] = UInt32GetDatum(tuphdr->t_infomask);
values[10] = UInt8GetDatum(tuphdr->t_hoff);
/*