aboutsummaryrefslogtreecommitdiff
path: root/src/backend/access/common/heaptuple.c
diff options
context:
space:
mode:
authorAndrew Dunstan <andrew@dunslane.net>2018-10-24 10:45:34 -0400
committerAndrew Dunstan <andrew@dunslane.net>2018-10-24 10:57:35 -0400
commit372102b81dd0096764b712deffab00732f3c9d80 (patch)
tree9c684aee32a129d79493311ceb1d17819f2c5711 /src/backend/access/common/heaptuple.c
parent374fe86a8fdd543a7eb11c68ac8c19eff29640d3 (diff)
downloadpostgresql-372102b81dd0096764b712deffab00732f3c9d80.tar.gz
postgresql-372102b81dd0096764b712deffab00732f3c9d80.zip
Correctly set t_self for heap tuples in expand_tuple
Commit 16828d5c0 incorrectly set an invalid pointer for t_self for heap tuples. This patch correctly copies it from the source tuple, and includes a regression test that relies on it being set correctly. Backpatch to release 11. Fixes bug #15448 reported by Tillmann Schulz Diagnosis and test case by Amit Langote
Diffstat (limited to 'src/backend/access/common/heaptuple.c')
-rw-r--r--src/backend/access/common/heaptuple.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/backend/access/common/heaptuple.c b/src/backend/access/common/heaptuple.c
index efe4ac0e7dc..5f34b26a2ce 100644
--- a/src/backend/access/common/heaptuple.c
+++ b/src/backend/access/common/heaptuple.c
@@ -893,7 +893,7 @@ expand_tuple(HeapTuple *targetHeapTuple,
= (HeapTupleHeader) ((char *) *targetHeapTuple + HEAPTUPLESIZE);
(*targetHeapTuple)->t_len = len;
(*targetHeapTuple)->t_tableOid = sourceTuple->t_tableOid;
- ItemPointerSetInvalid(&((*targetHeapTuple)->t_self));
+ (*targetHeapTuple)->t_self = sourceTuple->t_self;
targetTHeader->t_infomask = sourceTHeader->t_infomask;
targetTHeader->t_hoff = hoff;