diff options
Diffstat (limited to 'src/backend/access/heap/heapam.c')
-rw-r--r-- | src/backend/access/heap/heapam.c | 38 |
1 files changed, 19 insertions, 19 deletions
diff --git a/src/backend/access/heap/heapam.c b/src/backend/access/heap/heapam.c index 139db3b5e36..45899d15d83 100644 --- a/src/backend/access/heap/heapam.c +++ b/src/backend/access/heap/heapam.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/access/heap/heapam.c,v 1.32 1998/08/19 02:01:05 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/access/heap/heapam.c,v 1.33 1998/08/20 22:07:30 momjian Exp $ * * * INTERFACE ROUTINES @@ -1274,10 +1274,10 @@ heap_delete(Relation relation, ItemPointer tid) * ---------------- */ int -heap_replace(Relation relation, ItemPointer otid, HeapTuple tup) +heap_replace(Relation relation, ItemPointer otid, HeapTuple replace_tuple) { ItemId lp; - HeapTuple tp; + HeapTuple old_tuple; Page dp; Buffer buffer; HeapTuple tuple; @@ -1319,8 +1319,8 @@ heap_replace(Relation relation, ItemPointer otid, HeapTuple tup) * ---------------- */ - tp = (HeapTuple) PageGetItem(dp, lp); - Assert(HeapTupleIsValid(tp)); + old_tuple = (HeapTuple) PageGetItem(dp, lp); + Assert(HeapTupleIsValid(old_tuple)); /* ----------------- * the following test should be able to catch all non-functional @@ -1333,7 +1333,7 @@ heap_replace(Relation relation, ItemPointer otid, HeapTuple tup) * ----------------- */ - if (TupleUpdatedByCurXactAndCmd(tp)) + if (TupleUpdatedByCurXactAndCmd(old_tuple)) { elog(NOTICE, "Non-functional update, only first update is performed"); if (IsSystemRelationName(RelationGetRelationName(relation)->data)) @@ -1367,19 +1367,19 @@ heap_replace(Relation relation, ItemPointer otid, HeapTuple tup) } /* XXX order problems if not atomic assignment ??? */ - tup->t_oid = tp->t_oid; - TransactionIdStore(GetCurrentTransactionId(), &(tup->t_xmin)); - tup->t_cmin = GetCurrentCommandId(); - StoreInvalidTransactionId(&(tup->t_xmax)); - tup->t_infomask &= ~(HEAP_XACT_MASK); - tup->t_infomask |= HEAP_XMAX_INVALID; + replace_tuple->t_oid = old_tuple->t_oid; + TransactionIdStore(GetCurrentTransactionId(), &(replace_tuple->t_xmin)); + replace_tuple->t_cmin = GetCurrentCommandId(); + StoreInvalidTransactionId(&(replace_tuple->t_xmax)); + replace_tuple->t_infomask &= ~(HEAP_XACT_MASK); + replace_tuple->t_infomask |= HEAP_XMAX_INVALID; /* ---------------- * insert new item * ---------------- */ - if ((unsigned) DOUBLEALIGN(tup->t_len) <= PageGetFreeSpace((Page) dp)) - RelationPutHeapTuple(relation, BufferGetBlockNumber(buffer), tup); + if ((unsigned) DOUBLEALIGN(replace_tuple->t_len) <= PageGetFreeSpace((Page) dp)) + RelationPutHeapTuple(relation, BufferGetBlockNumber(buffer), replace_tuple); else { /* ---------------- @@ -1387,23 +1387,23 @@ heap_replace(Relation relation, ItemPointer otid, HeapTuple tup) * for a new place to put it. * ---------------- */ - doinsert(relation, tup); + doinsert(relation, replace_tuple); } /* ---------------- * new item in place, now record transaction information * ---------------- */ - TransactionIdStore(GetCurrentTransactionId(), &(tp->t_xmax)); - tp->t_cmax = GetCurrentCommandId(); - tp->t_infomask &= ~(HEAP_XMAX_COMMITTED | HEAP_XMAX_INVALID); + TransactionIdStore(GetCurrentTransactionId(), &(old_tuple->t_xmax)); + old_tuple->t_cmax = GetCurrentCommandId(); + old_tuple->t_infomask &= ~(HEAP_XMAX_COMMITTED | HEAP_XMAX_INVALID); /* ---------------- * invalidate caches * ---------------- */ SetRefreshWhenInvalidate(ImmediateInvalidation); - RelationInvalidateHeapTuple(relation, tp); + RelationInvalidateHeapTuple(relation, old_tuple); SetRefreshWhenInvalidate((bool) !ImmediateInvalidation); WriteBuffer(buffer); |