| 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: | Whole Thread | Raw Message | 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
| 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 |