From fe7015f5e821d70428995f04726215fc79294f10 Mon Sep 17 00:00:00 2001 From: Neil Conway Date: Sun, 20 Mar 2005 23:40:34 +0000 Subject: [PATCH] Change the return value of HeapTupleSatisfiesUpdate() to be an enum, rather than an integer, and fix the associated fallout. From Alvaro Herrera. --- src/backend/access/heap/heapam.c | 18 +++++++++--------- src/backend/commands/async.c | 4 ++-- src/backend/commands/trigger.c | 4 ++-- src/backend/executor/execMain.c | 8 ++++---- src/backend/utils/time/tqual.c | 4 ++-- src/include/access/heapam.h | 8 ++++---- src/include/utils/tqual.h | 17 ++++++++++------- 7 files changed, 33 insertions(+), 30 deletions(-) diff --git a/src/backend/access/heap/heapam.c b/src/backend/access/heap/heapam.c index a0cb93924ea..4b540c857b7 100644 --- a/src/backend/access/heap/heapam.c +++ b/src/backend/access/heap/heapam.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/access/heap/heapam.c,v 1.183 2005/02/20 21:46:47 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/access/heap/heapam.c,v 1.184 2005/03/20 23:40:23 neilc Exp $ * * * INTERFACE ROUTINES @@ -1265,7 +1265,7 @@ simple_heap_insert(Relation relation, HeapTuple tup) * *ctid is set to the ctid link of the target tuple (possibly a later * version of the row). */ -int +HTSU_Result heap_delete(Relation relation, ItemPointer tid, ItemPointer ctid, CommandId cid, Snapshot crosscheck, bool wait) @@ -1275,7 +1275,7 @@ heap_delete(Relation relation, ItemPointer tid, HeapTupleData tp; PageHeader dp; Buffer buffer; - int result; + HTSU_Result result; Assert(ItemPointerIsValid(tid)); @@ -1430,7 +1430,7 @@ void simple_heap_delete(Relation relation, ItemPointer tid) { ItemPointerData ctid; - int result; + HTSU_Result result; result = heap_delete(relation, tid, &ctid, @@ -1480,7 +1480,7 @@ simple_heap_delete(Relation relation, ItemPointer tid) * On success, newtup->t_self is set to the TID where the new tuple * was inserted. */ -int +HTSU_Result heap_update(Relation relation, ItemPointer otid, HeapTuple newtup, ItemPointer ctid, CommandId cid, Snapshot crosscheck, bool wait) @@ -1495,7 +1495,7 @@ heap_update(Relation relation, ItemPointer otid, HeapTuple newtup, already_marked; Size newtupsize, pagefree; - int result; + HTSU_Result result; Assert(ItemPointerIsValid(otid)); @@ -1792,7 +1792,7 @@ void simple_heap_update(Relation relation, ItemPointer otid, HeapTuple tup) { ItemPointerData ctid; - int result; + HTSU_Result result; result = heap_update(relation, otid, tup, &ctid, @@ -1822,7 +1822,7 @@ simple_heap_update(Relation relation, ItemPointer otid, HeapTuple tup) /* * heap_mark4update - mark a tuple for update */ -int +HTSU_Result heap_mark4update(Relation relation, HeapTuple tuple, Buffer *buffer, CommandId cid) { @@ -1830,7 +1830,7 @@ heap_mark4update(Relation relation, HeapTuple tuple, Buffer *buffer, ItemPointer tid = &(tuple->t_self); ItemId lp; PageHeader dp; - int result; + HTSU_Result result; *buffer = ReadBuffer(relation, ItemPointerGetBlockNumber(tid)); LockBuffer(*buffer, BUFFER_LOCK_EXCLUSIVE); diff --git a/src/backend/commands/async.c b/src/backend/commands/async.c index 06f453df6df..11ad8c69bce 100644 --- a/src/backend/commands/async.c +++ b/src/backend/commands/async.c @@ -7,7 +7,7 @@ * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/commands/async.c,v 1.119 2005/01/27 23:23:54 neilc Exp $ + * $PostgreSQL: pgsql/src/backend/commands/async.c,v 1.120 2005/03/20 23:40:24 neilc Exp $ * *------------------------------------------------------------------------- */ @@ -521,7 +521,7 @@ AtCommit_Notify(void) else if (listener->notification == 0) { ItemPointerData ctid; - int result; + HTSU_Result result; rTuple = heap_modifytuple(lTuple, tdesc, value, nulls, repl); diff --git a/src/backend/commands/trigger.c b/src/backend/commands/trigger.c index 3f0bdbc2a8f..fd7d9afb836 100644 --- a/src/backend/commands/trigger.c +++ b/src/backend/commands/trigger.c @@ -7,7 +7,7 @@ * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/commands/trigger.c,v 1.177 2004/12/31 21:59:41 pgsql Exp $ + * $PostgreSQL: pgsql/src/backend/commands/trigger.c,v 1.178 2005/03/20 23:40:24 neilc Exp $ * *------------------------------------------------------------------------- */ @@ -1566,7 +1566,7 @@ GetTupleForTrigger(EState *estate, ResultRelInfo *relinfo, if (newSlot != NULL) { - int test; + HTSU_Result test; /* * mark tuple for update diff --git a/src/backend/executor/execMain.c b/src/backend/executor/execMain.c index 0294063d3f5..ad3ff3e5b90 100644 --- a/src/backend/executor/execMain.c +++ b/src/backend/executor/execMain.c @@ -26,7 +26,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/executor/execMain.c,v 1.242 2005/03/16 21:38:06 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/executor/execMain.c,v 1.243 2005/03/20 23:40:25 neilc Exp $ * *------------------------------------------------------------------------- */ @@ -1116,7 +1116,7 @@ lnext: ; Buffer buffer; HeapTupleData tuple; TupleTableSlot *newSlot; - int test; + HTSU_Result test; if (!ExecGetJunkAttribute(junkfilter, slot, @@ -1396,7 +1396,7 @@ ExecDelete(TupleTableSlot *slot, ResultRelInfo *resultRelInfo; Relation resultRelationDesc; ItemPointerData ctid; - int result; + HTSU_Result result; /* * get information on the (current) result relation @@ -1500,7 +1500,7 @@ ExecUpdate(TupleTableSlot *slot, ResultRelInfo *resultRelInfo; Relation resultRelationDesc; ItemPointerData ctid; - int result; + HTSU_Result result; int numIndices; /* diff --git a/src/backend/utils/time/tqual.c b/src/backend/utils/time/tqual.c index 124ac1cbec0..43909008863 100644 --- a/src/backend/utils/time/tqual.c +++ b/src/backend/utils/time/tqual.c @@ -16,7 +16,7 @@ * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/utils/time/tqual.c,v 1.85 2005/02/20 15:01:42 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/utils/time/tqual.c,v 1.86 2005/03/20 23:40:27 neilc Exp $ * *------------------------------------------------------------------------- */ @@ -455,7 +455,7 @@ HeapTupleSatisfiesToast(HeapTupleHeader tuple, Buffer buffer) * tuples of my own xact are tested against the passed CommandId not * CurrentCommandId. */ -int +HTSU_Result HeapTupleSatisfiesUpdate(HeapTupleHeader tuple, CommandId curcid, Buffer buffer) { diff --git a/src/include/access/heapam.h b/src/include/access/heapam.h index 5c58f32c43e..6de107b76fc 100644 --- a/src/include/access/heapam.h +++ b/src/include/access/heapam.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/include/access/heapam.h,v 1.96 2005/03/16 21:38:09 tgl Exp $ + * $PostgreSQL: pgsql/src/include/access/heapam.h,v 1.97 2005/03/20 23:40:29 neilc Exp $ * *------------------------------------------------------------------------- */ @@ -153,11 +153,11 @@ extern ItemPointer heap_get_latest_tid(Relation relation, Snapshot snapshot, extern void setLastTid(const ItemPointer tid); extern Oid heap_insert(Relation relation, HeapTuple tup, CommandId cid); -extern int heap_delete(Relation relation, ItemPointer tid, ItemPointer ctid, +extern HTSU_Result heap_delete(Relation relation, ItemPointer tid, ItemPointer ctid, CommandId cid, Snapshot crosscheck, bool wait); -extern int heap_update(Relation relation, ItemPointer otid, HeapTuple tup, +extern HTSU_Result heap_update(Relation relation, ItemPointer otid, HeapTuple tup, ItemPointer ctid, CommandId cid, Snapshot crosscheck, bool wait); -extern int heap_mark4update(Relation relation, HeapTuple tup, +extern HTSU_Result heap_mark4update(Relation relation, HeapTuple tup, Buffer *userbuf, CommandId cid); extern Oid simple_heap_insert(Relation relation, HeapTuple tup); diff --git a/src/include/utils/tqual.h b/src/include/utils/tqual.h index c72e40db7e2..e553cfedf81 100644 --- a/src/include/utils/tqual.h +++ b/src/include/utils/tqual.h @@ -8,7 +8,7 @@ * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/include/utils/tqual.h,v 1.55 2004/12/31 22:03:46 pgsql Exp $ + * $PostgreSQL: pgsql/src/include/utils/tqual.h,v 1.56 2005/03/20 23:40:34 neilc Exp $ * *------------------------------------------------------------------------- */ @@ -97,11 +97,14 @@ extern TransactionId RecentGlobalXmin; ) /* Result codes for HeapTupleSatisfiesUpdate */ -#define HeapTupleMayBeUpdated 0 -#define HeapTupleInvisible 1 -#define HeapTupleSelfUpdated 2 -#define HeapTupleUpdated 3 -#define HeapTupleBeingUpdated 4 +typedef enum +{ + HeapTupleMayBeUpdated, + HeapTupleInvisible, + HeapTupleSelfUpdated, + HeapTupleUpdated, + HeapTupleBeingUpdated +} HTSU_Result; /* Result codes for HeapTupleSatisfiesVacuum */ typedef enum @@ -119,7 +122,7 @@ extern bool HeapTupleSatisfiesDirty(HeapTupleHeader tuple, Buffer buffer); extern bool HeapTupleSatisfiesToast(HeapTupleHeader tuple, Buffer buffer); extern bool HeapTupleSatisfiesSnapshot(HeapTupleHeader tuple, Snapshot snapshot, Buffer buffer); -extern int HeapTupleSatisfiesUpdate(HeapTupleHeader tuple, +extern HTSU_Result HeapTupleSatisfiesUpdate(HeapTupleHeader tuple, CommandId curcid, Buffer buffer); extern HTSV_Result HeapTupleSatisfiesVacuum(HeapTupleHeader tuple, TransactionId OldestXmin, Buffer buffer);