0001-wal_decoding-mergeme-Satisfies-Setup-a-correct-tup-t.patch
text/x-patch
Filename: 0001-wal_decoding-mergeme-Satisfies-Setup-a-correct-tup-t.patch
Type: text/x-patch
Part: 0
Message:
Re: logical changeset generation v4
Patch
Format: unified
Series: patch 0001
| File | + | − |
|---|---|---|
| src/backend/access/heap/heapam.c | 1 | 0 |
| src/backend/executor/nodeBitmapHeapscan.c | 1 | 0 |
>From 25bd9aeefb03ec39ff1d1cbbac4d2507d533f6d1 Mon Sep 17 00:00:00 2001 From: Andres Freund <andres@anarazel.de> Date: Tue, 15 Jan 2013 11:50:33 +0100 Subject: [PATCH] wal_decoding: mergeme *Satisfies: Setup a correct tup->t_tableOid in heap_get_latest_tid Code review found one other case where tableOid potentially didn'T get set, in nodeBitmapHeapscan. Thats fixed as well. Found independently by Mark Kirkwood and Abhijit Menon-Sen --- src/backend/access/heap/heapam.c | 1 + src/backend/executor/nodeBitmapHeapscan.c | 1 + 2 files changed, 2 insertions(+) diff --git a/src/backend/access/heap/heapam.c b/src/backend/access/heap/heapam.c index 1ff58a4..3346c8a 100644 --- a/src/backend/access/heap/heapam.c +++ b/src/backend/access/heap/heapam.c @@ -1789,6 +1789,7 @@ heap_get_latest_tid(Relation relation, tp.t_self = ctid; tp.t_data = (HeapTupleHeader) PageGetItem(page, lp); tp.t_len = ItemIdGetLength(lp); + tp.t_tableOid = RelationGetRelid(relation); /* * After following a t_ctid link, we might arrive at an unrelated diff --git a/src/backend/executor/nodeBitmapHeapscan.c b/src/backend/executor/nodeBitmapHeapscan.c index c83f972..eda1394 100644 --- a/src/backend/executor/nodeBitmapHeapscan.c +++ b/src/backend/executor/nodeBitmapHeapscan.c @@ -258,6 +258,7 @@ BitmapHeapNext(BitmapHeapScanState *node) scan->rs_ctup.t_data = (HeapTupleHeader) PageGetItem((Page) dp, lp); scan->rs_ctup.t_len = ItemIdGetLength(lp); + scan->rs_ctup.t_tableOid = scan->rs_rd->rd_id; ItemPointerSet(&scan->rs_ctup.t_self, tbmres->blockno, targoffset); pgstat_count_heap_fetch(scan->rs_rd); -- 1.7.12.289.g0ce9864.dirty