From: | sriggs(at)postgresql(dot)org (Simon Riggs) |
---|---|
To: | pgsql-committers(at)postgresql(dot)org |
Subject: | pgsql: Derive latestRemovedXid for btree deletes by reading heap pages. |
Date: | 2010-03-28 09:27:02 |
Message-ID: | 20100328092702.3082F7541D0@cvs.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Log Message:
-----------
Derive latestRemovedXid for btree deletes by reading heap pages. The
WAL record for btree delete contains a list of tids, even when backup
blocks are present. We follow the tids to their heap tuples, taking
care to follow LP_REDIRECT tuples. We ignore LP_DEAD tuples on the
understanding that they will always have xmin/xmax earlier than any
LP_NORMAL tuples referred to by killed index tuples. Iff all tuples
are LP_DEAD we return InvalidTransactionId. The heap relfilenode is
added to the WAL record, requiring API changes to pass down the heap
Relation. XLOG_PAGE_MAGIC updated.
Modified Files:
--------------
pgsql/src/backend/access/nbtree:
nbtinsert.c (r1.177 -> r1.178)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/nbtree/nbtinsert.c?r1=1.177&r2=1.178)
nbtpage.c (r1.121 -> r1.122)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/nbtree/nbtpage.c?r1=1.121&r2=1.122)
nbtree.c (r1.176 -> r1.177)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/nbtree/nbtree.c?r1=1.176&r2=1.177)
nbtxlog.c (r1.63 -> r1.64)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/nbtree/nbtxlog.c?r1=1.63&r2=1.64)
pgsql/src/include/access:
nbtree.h (r1.133 -> r1.134)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/access/nbtree.h?r1=1.133&r2=1.134)
xlog_internal.h (r1.30 -> r1.31)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/access/xlog_internal.h?r1=1.30&r2=1.31)
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2010-03-28 22:59:34 | pgsql: Rework join-removal logic as per recent discussion. |
Previous Message | Simon Riggs | 2010-03-28 08:52:44 | Re: [COMMITTERS] pgsql: Augment WAL records for btree delete with GetOldestXmin() to |