aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/time/tqual.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/utils/time/tqual.c')
-rw-r--r--src/backend/utils/time/tqual.c216
1 files changed, 111 insertions, 105 deletions
diff --git a/src/backend/utils/time/tqual.c b/src/backend/utils/time/tqual.c
index 31a2894b0ad..284a5c7e530 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
- * $Header: /cvsroot/pgsql/src/backend/utils/time/tqual.c,v 1.54 2002/05/25 20:00:12 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/utils/time/tqual.c,v 1.55 2002/06/15 19:54:24 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -73,11 +73,11 @@ HeapTupleSatisfiesItself(HeapTupleHeader tuple)
if (tuple->t_infomask & HEAP_MOVED_OFF)
{
- if (TransactionIdIsCurrentTransactionId((TransactionId) tuple->t_cmin))
+ if (TransactionIdIsCurrentTransactionId(HeapTupleHeaderGetXvac(tuple)))
return false;
- if (!TransactionIdIsInProgress((TransactionId) tuple->t_cmin))
+ if (!TransactionIdIsInProgress(HeapTupleHeaderGetXvac(tuple)))
{
- if (TransactionIdDidCommit((TransactionId) tuple->t_cmin))
+ if (TransactionIdDidCommit(HeapTupleHeaderGetXvac(tuple)))
{
tuple->t_infomask |= HEAP_XMIN_INVALID;
return false;
@@ -87,11 +87,11 @@ HeapTupleSatisfiesItself(HeapTupleHeader tuple)
}
else if (tuple->t_infomask & HEAP_MOVED_IN)
{
- if (!TransactionIdIsCurrentTransactionId((TransactionId) tuple->t_cmin))
+ if (!TransactionIdIsCurrentTransactionId(HeapTupleHeaderGetXvac(tuple)))
{
- if (TransactionIdIsInProgress((TransactionId) tuple->t_cmin))
+ if (TransactionIdIsInProgress(HeapTupleHeaderGetXvac(tuple)))
return false;
- if (TransactionIdDidCommit((TransactionId) tuple->t_cmin))
+ if (TransactionIdDidCommit(HeapTupleHeaderGetXvac(tuple)))
tuple->t_infomask |= HEAP_XMIN_COMMITTED;
else
{
@@ -100,21 +100,21 @@ HeapTupleSatisfiesItself(HeapTupleHeader tuple)
}
}
}
- else if (TransactionIdIsCurrentTransactionId(tuple->t_xmin))
+ else if (TransactionIdIsCurrentTransactionId(HeapTupleHeaderGetXmin(tuple)))
{
if (tuple->t_infomask & HEAP_XMAX_INVALID) /* xid invalid */
return true;
- Assert(TransactionIdIsCurrentTransactionId(tuple->t_xmax));
+ Assert(TransactionIdIsCurrentTransactionId(HeapTupleHeaderGetXmax(tuple)));
if (tuple->t_infomask & HEAP_MARKED_FOR_UPDATE)
return true;
return false;
}
- else if (!TransactionIdDidCommit(tuple->t_xmin))
+ else if (!TransactionIdDidCommit(HeapTupleHeaderGetXmin(tuple)))
{
- if (TransactionIdDidAbort(tuple->t_xmin))
+ if (TransactionIdDidAbort(HeapTupleHeaderGetXmin(tuple)))
tuple->t_infomask |= HEAP_XMIN_INVALID; /* aborted */
return false;
}
@@ -134,16 +134,16 @@ HeapTupleSatisfiesItself(HeapTupleHeader tuple)
return false; /* updated by other */
}
- if (TransactionIdIsCurrentTransactionId(tuple->t_xmax))
+ if (TransactionIdIsCurrentTransactionId(HeapTupleHeaderGetXmax(tuple)))
{
if (tuple->t_infomask & HEAP_MARKED_FOR_UPDATE)
return true;
return false;
}
- if (!TransactionIdDidCommit(tuple->t_xmax))
+ if (!TransactionIdDidCommit(HeapTupleHeaderGetXmax(tuple)))
{
- if (TransactionIdDidAbort(tuple->t_xmax))
+ if (TransactionIdDidAbort(HeapTupleHeaderGetXmax(tuple)))
tuple->t_infomask |= HEAP_XMAX_INVALID; /* aborted */
return true;
}
@@ -209,11 +209,11 @@ HeapTupleSatisfiesNow(HeapTupleHeader tuple)
if (tuple->t_infomask & HEAP_MOVED_OFF)
{
- if (TransactionIdIsCurrentTransactionId((TransactionId) tuple->t_cmin))
+ if (TransactionIdIsCurrentTransactionId(HeapTupleHeaderGetXvac(tuple)))
return false;
- if (!TransactionIdIsInProgress((TransactionId) tuple->t_cmin))
+ if (!TransactionIdIsInProgress(HeapTupleHeaderGetXvac(tuple)))
{
- if (TransactionIdDidCommit((TransactionId) tuple->t_cmin))
+ if (TransactionIdDidCommit(HeapTupleHeaderGetXvac(tuple)))
{
tuple->t_infomask |= HEAP_XMIN_INVALID;
return false;
@@ -223,11 +223,11 @@ HeapTupleSatisfiesNow(HeapTupleHeader tuple)
}
else if (tuple->t_infomask & HEAP_MOVED_IN)
{
- if (!TransactionIdIsCurrentTransactionId((TransactionId) tuple->t_cmin))
+ if (!TransactionIdIsCurrentTransactionId(HeapTupleHeaderGetXvac(tuple)))
{
- if (TransactionIdIsInProgress((TransactionId) tuple->t_cmin))
+ if (TransactionIdIsInProgress(HeapTupleHeaderGetXvac(tuple)))
return false;
- if (TransactionIdDidCommit((TransactionId) tuple->t_cmin))
+ if (TransactionIdDidCommit(HeapTupleHeaderGetXvac(tuple)))
tuple->t_infomask |= HEAP_XMIN_COMMITTED;
else
{
@@ -236,27 +236,27 @@ HeapTupleSatisfiesNow(HeapTupleHeader tuple)
}
}
}
- else if (TransactionIdIsCurrentTransactionId(tuple->t_xmin))
+ else if (TransactionIdIsCurrentTransactionId(HeapTupleHeaderGetXmin(tuple)))
{
- if (tuple->t_cmin >= GetCurrentCommandId())
+ if (HeapTupleHeaderGetCmin(tuple) >= GetCurrentCommandId())
return false; /* inserted after scan started */
if (tuple->t_infomask & HEAP_XMAX_INVALID) /* xid invalid */
return true;
- Assert(TransactionIdIsCurrentTransactionId(tuple->t_xmax));
+ Assert(TransactionIdIsCurrentTransactionId(HeapTupleHeaderGetXmax(tuple)));
if (tuple->t_infomask & HEAP_MARKED_FOR_UPDATE)
return true;
- if (tuple->t_cmax >= GetCurrentCommandId())
+ if (HeapTupleHeaderGetCmax(tuple) >= GetCurrentCommandId())
return true; /* deleted after scan started */
else
return false; /* deleted before scan started */
}
- else if (!TransactionIdDidCommit(tuple->t_xmin))
+ else if (!TransactionIdDidCommit(HeapTupleHeaderGetXmin(tuple)))
{
- if (TransactionIdDidAbort(tuple->t_xmin))
+ if (TransactionIdDidAbort(HeapTupleHeaderGetXmin(tuple)))
tuple->t_infomask |= HEAP_XMIN_INVALID; /* aborted */
return false;
}
@@ -276,19 +276,19 @@ HeapTupleSatisfiesNow(HeapTupleHeader tuple)
return false;
}
- if (TransactionIdIsCurrentTransactionId(tuple->t_xmax))
+ if (TransactionIdIsCurrentTransactionId(HeapTupleHeaderGetXmax(tuple)))
{
if (tuple->t_infomask & HEAP_MARKED_FOR_UPDATE)
return true;
- if (tuple->t_cmax >= GetCurrentCommandId())
+ if (HeapTupleHeaderGetCmax(tuple) >= GetCurrentCommandId())
return true; /* deleted after scan started */
else
return false; /* deleted before scan started */
}
- if (!TransactionIdDidCommit(tuple->t_xmax))
+ if (!TransactionIdDidCommit(HeapTupleHeaderGetXmax(tuple)))
{
- if (TransactionIdDidAbort(tuple->t_xmax))
+ if (TransactionIdDidAbort(HeapTupleHeaderGetXmax(tuple)))
tuple->t_infomask |= HEAP_XMAX_INVALID; /* aborted */
return true;
}
@@ -326,11 +326,11 @@ HeapTupleSatisfiesToast(HeapTupleHeader tuple)
if (tuple->t_infomask & HEAP_MOVED_OFF)
{
- if (TransactionIdIsCurrentTransactionId((TransactionId) tuple->t_cmin))
+ if (TransactionIdIsCurrentTransactionId(HeapTupleHeaderGetXvac(tuple)))
return false;
- if (!TransactionIdIsInProgress((TransactionId) tuple->t_cmin))
+ if (!TransactionIdIsInProgress(HeapTupleHeaderGetXvac(tuple)))
{
- if (TransactionIdDidCommit((TransactionId) tuple->t_cmin))
+ if (TransactionIdDidCommit(HeapTupleHeaderGetXvac(tuple)))
{
tuple->t_infomask |= HEAP_XMIN_INVALID;
return false;
@@ -340,11 +340,11 @@ HeapTupleSatisfiesToast(HeapTupleHeader tuple)
}
else if (tuple->t_infomask & HEAP_MOVED_IN)
{
- if (!TransactionIdIsCurrentTransactionId((TransactionId) tuple->t_cmin))
+ if (!TransactionIdIsCurrentTransactionId(HeapTupleHeaderGetXvac(tuple)))
{
- if (TransactionIdIsInProgress((TransactionId) tuple->t_cmin))
+ if (TransactionIdIsInProgress(HeapTupleHeaderGetXvac(tuple)))
return false;
- if (TransactionIdDidCommit((TransactionId) tuple->t_cmin))
+ if (TransactionIdDidCommit(HeapTupleHeaderGetXvac(tuple)))
tuple->t_infomask |= HEAP_XMIN_COMMITTED;
else
{
@@ -379,11 +379,11 @@ HeapTupleSatisfiesUpdate(HeapTuple htuple, CommandId curcid)
if (tuple->t_infomask & HEAP_MOVED_OFF)
{
- if (TransactionIdIsCurrentTransactionId((TransactionId) tuple->t_cmin))
+ if (TransactionIdIsCurrentTransactionId(HeapTupleHeaderGetXvac(tuple)))
return HeapTupleInvisible;
- if (!TransactionIdIsInProgress((TransactionId) tuple->t_cmin))
+ if (!TransactionIdIsInProgress(HeapTupleHeaderGetXvac(tuple)))
{
- if (TransactionIdDidCommit((TransactionId) tuple->t_cmin))
+ if (TransactionIdDidCommit(HeapTupleHeaderGetXvac(tuple)))
{
tuple->t_infomask |= HEAP_XMIN_INVALID;
return HeapTupleInvisible;
@@ -393,11 +393,11 @@ HeapTupleSatisfiesUpdate(HeapTuple htuple, CommandId curcid)
}
else if (tuple->t_infomask & HEAP_MOVED_IN)
{
- if (!TransactionIdIsCurrentTransactionId((TransactionId) tuple->t_cmin))
+ if (!TransactionIdIsCurrentTransactionId(HeapTupleHeaderGetXvac(tuple)))
{
- if (TransactionIdIsInProgress((TransactionId) tuple->t_cmin))
+ if (TransactionIdIsInProgress(HeapTupleHeaderGetXvac(tuple)))
return HeapTupleInvisible;
- if (TransactionIdDidCommit((TransactionId) tuple->t_cmin))
+ if (TransactionIdDidCommit(HeapTupleHeaderGetXvac(tuple)))
tuple->t_infomask |= HEAP_XMIN_COMMITTED;
else
{
@@ -406,30 +406,30 @@ HeapTupleSatisfiesUpdate(HeapTuple htuple, CommandId curcid)
}
}
}
- else if (TransactionIdIsCurrentTransactionId(tuple->t_xmin))
+ else if (TransactionIdIsCurrentTransactionId(HeapTupleHeaderGetXmin(tuple)))
{
- if (tuple->t_cmin >= curcid)
+ if (HeapTupleHeaderGetCmin(tuple) >= curcid)
return HeapTupleInvisible; /* inserted after scan
* started */
if (tuple->t_infomask & HEAP_XMAX_INVALID) /* xid invalid */
return HeapTupleMayBeUpdated;
- Assert(TransactionIdIsCurrentTransactionId(tuple->t_xmax));
+ Assert(TransactionIdIsCurrentTransactionId(HeapTupleHeaderGetXmax(tuple)));
if (tuple->t_infomask & HEAP_MARKED_FOR_UPDATE)
return HeapTupleMayBeUpdated;
- if (tuple->t_cmax >= curcid)
+ if (HeapTupleHeaderGetCmax(tuple) >= curcid)
return HeapTupleSelfUpdated; /* updated after scan
* started */
else
return HeapTupleInvisible; /* updated before scan
* started */
}
- else if (!TransactionIdDidCommit(tuple->t_xmin))
+ else if (!TransactionIdDidCommit(HeapTupleHeaderGetXmin(tuple)))
{
- if (TransactionIdDidAbort(tuple->t_xmin))
+ if (TransactionIdDidAbort(HeapTupleHeaderGetXmin(tuple)))
tuple->t_infomask |= HEAP_XMIN_INVALID; /* aborted */
return HeapTupleInvisible;
}
@@ -449,20 +449,20 @@ HeapTupleSatisfiesUpdate(HeapTuple htuple, CommandId curcid)
return HeapTupleUpdated; /* updated by other */
}
- if (TransactionIdIsCurrentTransactionId(tuple->t_xmax))
+ if (TransactionIdIsCurrentTransactionId(HeapTupleHeaderGetXmax(tuple)))
{
if (tuple->t_infomask & HEAP_MARKED_FOR_UPDATE)
return HeapTupleMayBeUpdated;
- if (tuple->t_cmax >= curcid)
+ if (HeapTupleHeaderGetCmax(tuple) >= curcid)
return HeapTupleSelfUpdated; /* updated after scan
* started */
else
return HeapTupleInvisible; /* updated before scan started */
}
- if (!TransactionIdDidCommit(tuple->t_xmax))
+ if (!TransactionIdDidCommit(HeapTupleHeaderGetXmax(tuple)))
{
- if (TransactionIdDidAbort(tuple->t_xmax))
+ if (TransactionIdDidAbort(HeapTupleHeaderGetXmax(tuple)))
{
tuple->t_infomask |= HEAP_XMAX_INVALID; /* aborted */
return HeapTupleMayBeUpdated;
@@ -510,11 +510,11 @@ HeapTupleSatisfiesDirty(HeapTupleHeader tuple)
if (tuple->t_infomask & HEAP_MOVED_OFF)
{
- if (TransactionIdIsCurrentTransactionId((TransactionId) tuple->t_cmin))
+ if (TransactionIdIsCurrentTransactionId(HeapTupleHeaderGetXvac(tuple)))
return false;
- if (!TransactionIdIsInProgress((TransactionId) tuple->t_cmin))
+ if (!TransactionIdIsInProgress(HeapTupleHeaderGetXvac(tuple)))
{
- if (TransactionIdDidCommit((TransactionId) tuple->t_cmin))
+ if (TransactionIdDidCommit(HeapTupleHeaderGetXvac(tuple)))
{
tuple->t_infomask |= HEAP_XMIN_INVALID;
return false;
@@ -524,11 +524,11 @@ HeapTupleSatisfiesDirty(HeapTupleHeader tuple)
}
else if (tuple->t_infomask & HEAP_MOVED_IN)
{
- if (!TransactionIdIsCurrentTransactionId((TransactionId) tuple->t_cmin))
+ if (!TransactionIdIsCurrentTransactionId(HeapTupleHeaderGetXvac(tuple)))
{
- if (TransactionIdIsInProgress((TransactionId) tuple->t_cmin))
+ if (TransactionIdIsInProgress(HeapTupleHeaderGetXvac(tuple)))
return false;
- if (TransactionIdDidCommit((TransactionId) tuple->t_cmin))
+ if (TransactionIdDidCommit(HeapTupleHeaderGetXvac(tuple)))
tuple->t_infomask |= HEAP_XMIN_COMMITTED;
else
{
@@ -537,26 +537,26 @@ HeapTupleSatisfiesDirty(HeapTupleHeader tuple)
}
}
}
- else if (TransactionIdIsCurrentTransactionId(tuple->t_xmin))
+ else if (TransactionIdIsCurrentTransactionId(HeapTupleHeaderGetXmin(tuple)))
{
if (tuple->t_infomask & HEAP_XMAX_INVALID) /* xid invalid */
return true;
- Assert(TransactionIdIsCurrentTransactionId(tuple->t_xmax));
+ Assert(TransactionIdIsCurrentTransactionId(HeapTupleHeaderGetXmax(tuple)));
if (tuple->t_infomask & HEAP_MARKED_FOR_UPDATE)
return true;
return false;
}
- else if (!TransactionIdDidCommit(tuple->t_xmin))
+ else if (!TransactionIdDidCommit(HeapTupleHeaderGetXmin(tuple)))
{
- if (TransactionIdDidAbort(tuple->t_xmin))
+ if (TransactionIdDidAbort(HeapTupleHeaderGetXmin(tuple)))
{
tuple->t_infomask |= HEAP_XMIN_INVALID;
return false;
}
- SnapshotDirty->xmin = tuple->t_xmin;
+ SnapshotDirty->xmin = HeapTupleHeaderGetXmin(tuple);
/* XXX shouldn't we fall through to look at xmax? */
return true; /* in insertion by other */
}
@@ -577,22 +577,22 @@ HeapTupleSatisfiesDirty(HeapTupleHeader tuple)
return false; /* updated by other */
}
- if (TransactionIdIsCurrentTransactionId(tuple->t_xmax))
+ if (TransactionIdIsCurrentTransactionId(HeapTupleHeaderGetXmax(tuple)))
{
if (tuple->t_infomask & HEAP_MARKED_FOR_UPDATE)
return true;
return false;
}
- if (!TransactionIdDidCommit(tuple->t_xmax))
+ if (!TransactionIdDidCommit(HeapTupleHeaderGetXmax(tuple)))
{
- if (TransactionIdDidAbort(tuple->t_xmax))
+ if (TransactionIdDidAbort(HeapTupleHeaderGetXmax(tuple)))
{
tuple->t_infomask |= HEAP_XMAX_INVALID; /* aborted */
return true;
}
/* running xact */
- SnapshotDirty->xmax = tuple->t_xmax;
+ SnapshotDirty->xmax = HeapTupleHeaderGetXmax(tuple);
return true; /* in updation by other */
}
@@ -641,11 +641,11 @@ HeapTupleSatisfiesSnapshot(HeapTupleHeader tuple, Snapshot snapshot)
if (tuple->t_infomask & HEAP_MOVED_OFF)
{
- if (TransactionIdIsCurrentTransactionId((TransactionId) tuple->t_cmin))
+ if (TransactionIdIsCurrentTransactionId(HeapTupleHeaderGetXvac(tuple)))
return false;
- if (!TransactionIdIsInProgress((TransactionId) tuple->t_cmin))
+ if (!TransactionIdIsInProgress(HeapTupleHeaderGetXvac(tuple)))
{
- if (TransactionIdDidCommit((TransactionId) tuple->t_cmin))
+ if (TransactionIdDidCommit(HeapTupleHeaderGetXvac(tuple)))
{
tuple->t_infomask |= HEAP_XMIN_INVALID;
return false;
@@ -655,11 +655,11 @@ HeapTupleSatisfiesSnapshot(HeapTupleHeader tuple, Snapshot snapshot)
}
else if (tuple->t_infomask & HEAP_MOVED_IN)
{
- if (!TransactionIdIsCurrentTransactionId((TransactionId) tuple->t_cmin))
+ if (!TransactionIdIsCurrentTransactionId(HeapTupleHeaderGetXvac(tuple)))
{
- if (TransactionIdIsInProgress((TransactionId) tuple->t_cmin))
+ if (TransactionIdIsInProgress(HeapTupleHeaderGetXvac(tuple)))
return false;
- if (TransactionIdDidCommit((TransactionId) tuple->t_cmin))
+ if (TransactionIdDidCommit(HeapTupleHeaderGetXvac(tuple)))
tuple->t_infomask |= HEAP_XMIN_COMMITTED;
else
{
@@ -668,27 +668,27 @@ HeapTupleSatisfiesSnapshot(HeapTupleHeader tuple, Snapshot snapshot)
}
}
}
- else if (TransactionIdIsCurrentTransactionId(tuple->t_xmin))
+ else if (TransactionIdIsCurrentTransactionId(HeapTupleHeaderGetXmin(tuple)))
{
- if (tuple->t_cmin >= snapshot->curcid)
+ if (HeapTupleHeaderGetCmin(tuple) >= snapshot->curcid)
return false; /* inserted after scan started */
if (tuple->t_infomask & HEAP_XMAX_INVALID) /* xid invalid */
return true;
- Assert(TransactionIdIsCurrentTransactionId(tuple->t_xmax));
+ Assert(TransactionIdIsCurrentTransactionId(HeapTupleHeaderGetXmax(tuple)));
if (tuple->t_infomask & HEAP_MARKED_FOR_UPDATE)
return true;
- if (tuple->t_cmax >= snapshot->curcid)
+ if (HeapTupleHeaderGetCmax(tuple) >= snapshot->curcid)
return true; /* deleted after scan started */
else
return false; /* deleted before scan started */
}
- else if (!TransactionIdDidCommit(tuple->t_xmin))
+ else if (!TransactionIdDidCommit(HeapTupleHeaderGetXmin(tuple)))
{
- if (TransactionIdDidAbort(tuple->t_xmin))
+ if (TransactionIdDidAbort(HeapTupleHeaderGetXmin(tuple)))
tuple->t_infomask |= HEAP_XMIN_INVALID;
return false;
}
@@ -700,15 +700,19 @@ HeapTupleSatisfiesSnapshot(HeapTupleHeader tuple, Snapshot snapshot)
* By here, the inserting transaction has committed - have to check
* when...
*/
- if (TransactionIdFollowsOrEquals(tuple->t_xmin, snapshot->xmin))
+ if (TransactionIdFollowsOrEquals(HeapTupleHeaderGetXmin(tuple),
+ snapshot->xmin))
{
uint32 i;
- if (TransactionIdFollowsOrEquals(tuple->t_xmin, snapshot->xmax))
+ if (TransactionIdFollowsOrEquals(HeapTupleHeaderGetXmin(tuple),
+ snapshot->xmax))
return false;
+
for (i = 0; i < snapshot->xcnt; i++)
{
- if (TransactionIdEquals(tuple->t_xmin, snapshot->xip[i]))
+ if (TransactionIdEquals(HeapTupleHeaderGetXmin(tuple),
+ snapshot->xip[i]))
return false;
}
}
@@ -721,17 +725,17 @@ HeapTupleSatisfiesSnapshot(HeapTupleHeader tuple, Snapshot snapshot)
if (!(tuple->t_infomask & HEAP_XMAX_COMMITTED))
{
- if (TransactionIdIsCurrentTransactionId(tuple->t_xmax))
+ if (TransactionIdIsCurrentTransactionId(HeapTupleHeaderGetXmax(tuple)))
{
- if (tuple->t_cmax >= snapshot->curcid)
+ if (HeapTupleHeaderGetCmax(tuple) >= snapshot->curcid)
return true; /* deleted after scan started */
else
return false; /* deleted before scan started */
}
- if (!TransactionIdDidCommit(tuple->t_xmax))
+ if (!TransactionIdDidCommit(HeapTupleHeaderGetXmax(tuple)))
{
- if (TransactionIdDidAbort(tuple->t_xmax))
+ if (TransactionIdDidAbort(HeapTupleHeaderGetXmax(tuple)))
tuple->t_infomask |= HEAP_XMAX_INVALID; /* aborted */
return true;
}
@@ -743,15 +747,16 @@ HeapTupleSatisfiesSnapshot(HeapTupleHeader tuple, Snapshot snapshot)
/*
* OK, the deleting transaction committed too ... but when?
*/
- if (TransactionIdFollowsOrEquals(tuple->t_xmax, snapshot->xmin))
+ if (TransactionIdFollowsOrEquals(HeapTupleHeaderGetXmax(tuple), snapshot->xmin))
{
uint32 i;
- if (TransactionIdFollowsOrEquals(tuple->t_xmax, snapshot->xmax))
+ if (TransactionIdFollowsOrEquals(HeapTupleHeaderGetXmax(tuple),
+ snapshot->xmax))
return true;
for (i = 0; i < snapshot->xcnt; i++)
{
- if (TransactionIdEquals(tuple->t_xmax, snapshot->xip[i]))
+ if (TransactionIdEquals(HeapTupleHeaderGetXmax(tuple), snapshot->xip[i]))
return true;
}
}
@@ -794,11 +799,11 @@ HeapTupleSatisfiesVacuum(HeapTupleHeader tuple, TransactionId OldestXmin)
return HEAPTUPLE_DEAD;
else if (tuple->t_infomask & HEAP_MOVED_OFF)
{
- if (TransactionIdIsCurrentTransactionId((TransactionId) tuple->t_cmin))
+ if (TransactionIdIsCurrentTransactionId(HeapTupleHeaderGetXvac(tuple)))
return HEAPTUPLE_DELETE_IN_PROGRESS;
- if (TransactionIdIsInProgress((TransactionId) tuple->t_cmin))
+ if (TransactionIdIsInProgress(HeapTupleHeaderGetXvac(tuple)))
return HEAPTUPLE_DELETE_IN_PROGRESS;
- if (TransactionIdDidCommit((TransactionId) tuple->t_cmin))
+ if (TransactionIdDidCommit(HeapTupleHeaderGetXvac(tuple)))
{
tuple->t_infomask |= HEAP_XMIN_INVALID;
return HEAPTUPLE_DEAD;
@@ -807,11 +812,11 @@ HeapTupleSatisfiesVacuum(HeapTupleHeader tuple, TransactionId OldestXmin)
}
else if (tuple->t_infomask & HEAP_MOVED_IN)
{
- if (TransactionIdIsCurrentTransactionId((TransactionId) tuple->t_cmin))
+ if (TransactionIdIsCurrentTransactionId(HeapTupleHeaderGetXvac(tuple)))
return HEAPTUPLE_INSERT_IN_PROGRESS;
- if (TransactionIdIsInProgress((TransactionId) tuple->t_cmin))
+ if (TransactionIdIsInProgress(HeapTupleHeaderGetXvac(tuple)))
return HEAPTUPLE_INSERT_IN_PROGRESS;
- if (TransactionIdDidCommit((TransactionId) tuple->t_cmin))
+ if (TransactionIdDidCommit(HeapTupleHeaderGetXvac(tuple)))
tuple->t_infomask |= HEAP_XMIN_COMMITTED;
else
{
@@ -819,11 +824,11 @@ HeapTupleSatisfiesVacuum(HeapTupleHeader tuple, TransactionId OldestXmin)
return HEAPTUPLE_DEAD;
}
}
- else if (TransactionIdIsInProgress(tuple->t_xmin))
+ else if (TransactionIdIsInProgress(HeapTupleHeaderGetXmin(tuple)))
return HEAPTUPLE_INSERT_IN_PROGRESS;
- else if (TransactionIdDidCommit(tuple->t_xmin))
+ else if (TransactionIdDidCommit(HeapTupleHeaderGetXmin(tuple)))
tuple->t_infomask |= HEAP_XMIN_COMMITTED;
- else if (TransactionIdDidAbort(tuple->t_xmin))
+ else if (TransactionIdDidAbort(HeapTupleHeaderGetXmin(tuple)))
{
tuple->t_infomask |= HEAP_XMIN_INVALID;
return HEAPTUPLE_DEAD;
@@ -858,9 +863,9 @@ HeapTupleSatisfiesVacuum(HeapTupleHeader tuple, TransactionId OldestXmin)
*/
if (!(tuple->t_infomask & HEAP_XMAX_COMMITTED))
{
- if (TransactionIdIsInProgress(tuple->t_xmax))
+ if (TransactionIdIsInProgress(HeapTupleHeaderGetXmax(tuple)))
return HEAPTUPLE_LIVE;
- if (TransactionIdDidCommit(tuple->t_xmax))
+ if (TransactionIdDidCommit(HeapTupleHeaderGetXmax(tuple)))
tuple->t_infomask |= HEAP_XMAX_COMMITTED;
else /* it's either aborted or crashed */
tuple->t_infomask |= HEAP_XMAX_INVALID;
@@ -870,11 +875,11 @@ HeapTupleSatisfiesVacuum(HeapTupleHeader tuple, TransactionId OldestXmin)
if (!(tuple->t_infomask & HEAP_XMAX_COMMITTED))
{
- if (TransactionIdIsInProgress(tuple->t_xmax))
+ if (TransactionIdIsInProgress(HeapTupleHeaderGetXmax(tuple)))
return HEAPTUPLE_DELETE_IN_PROGRESS;
- else if (TransactionIdDidCommit(tuple->t_xmax))
+ else if (TransactionIdDidCommit(HeapTupleHeaderGetXmax(tuple)))
tuple->t_infomask |= HEAP_XMAX_COMMITTED;
- else if (TransactionIdDidAbort(tuple->t_xmax))
+ else if (TransactionIdDidAbort(HeapTupleHeaderGetXmax(tuple)))
{
tuple->t_infomask |= HEAP_XMAX_INVALID;
return HEAPTUPLE_LIVE;
@@ -896,7 +901,8 @@ HeapTupleSatisfiesVacuum(HeapTupleHeader tuple, TransactionId OldestXmin)
* Deleter committed, but check special cases.
*/
- if (TransactionIdEquals(tuple->t_xmin, tuple->t_xmax))
+ if (TransactionIdEquals(HeapTupleHeaderGetXmin(tuple),
+ HeapTupleHeaderGetXmax(tuple)))
{
/*
* inserter also deleted it, so it was never visible to anyone
@@ -905,7 +911,7 @@ HeapTupleSatisfiesVacuum(HeapTupleHeader tuple, TransactionId OldestXmin)
return HEAPTUPLE_DEAD;
}
- if (!TransactionIdPrecedes(tuple->t_xmax, OldestXmin))
+ if (!TransactionIdPrecedes(HeapTupleHeaderGetXmax(tuple), OldestXmin))
{
/* deleting xact is too recent, tuple could still be visible */
return HEAPTUPLE_RECENTLY_DEAD;