WAL, xl_heap_insert and tuple oid mystry

From: jagan <jaganrvce(at)yahoo(dot)com>
To: pgsql-hackers(at)postgresql(dot)org
Subject: WAL, xl_heap_insert and tuple oid mystry
Date: 2011-04-11 20:35:14
Message-ID: 296081.50588.qm@web32108.mail.mud.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,
Suppose I create a table as follows:

CREATE TABLE test2 (name TEXT, age INTEGER) WITH oids;

Now, for every tuple in this table is associated with a unique oid, which I can retrieve by:

SELECT oid, name, age FROM test2;

which works great. So far so good.

Now, if look at the corresponding WAL entry for any insert into this relation, it creates the following WAL entry which I can decode.

XLogRecord ---> Followed by --> xl_heap_insert struct -->followed by --> xl_heap_header --> Followed by --> tuple data

If I use the macro  HeapTupleHeaderGetOid([xl_heap_header struct]) or equivalently if I test ([xl_heap_header struct]->t_infomask & HEAP_HASOID), it tells me that the tuple oid is not stored with this record.

Where is the OID of tuple stored in a WAL record of a tuple? If not with xl_heap_header, where is it stored? Is it stored at all?

Thanks for any responses.  
Jagan

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Зотов Роман 2011-04-11 20:39:32 Re: Prefered Types
Previous Message Peter Eisentraut 2011-04-11 20:16:25 Re: Windows build issues