diff options
| author | Tom Lane | 2003-10-01 21:30:53 +0000 |
|---|---|---|
| committer | Tom Lane | 2003-10-01 21:30:53 +0000 |
| commit | 55d85f42a891a812a9bbd69ebe530651a2f31624 (patch) | |
| tree | cc2cb842242c7f683b73f6ac297a9939eb031976 /src/include/utils | |
| parent | 6099bc03f34b02fd5cf99f4187c9c6c189cd3c66 (diff) | |
Repair RI trigger visibility problems (this time for sure ;-)) per recent
discussion on pgsql-hackers: in READ COMMITTED mode we just have to force
a QuerySnapshot update in the trigger, but in SERIALIZABLE mode we have
to run the scan under a current snapshot and then complain if any rows
would be updated/deleted that are not visible in the transaction snapshot.
Diffstat (limited to 'src/include/utils')
| -rw-r--r-- | src/include/utils/tqual.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/include/utils/tqual.h b/src/include/utils/tqual.h index 0c9f10f368c..b363f89840d 100644 --- a/src/include/utils/tqual.h +++ b/src/include/utils/tqual.h @@ -8,7 +8,7 @@ * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: tqual.h,v 1.47 2003/09/25 18:58:36 tgl Exp $ + * $Id: tqual.h,v 1.48 2003/10/01 21:30:53 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -100,7 +100,7 @@ extern bool HeapTupleSatisfiesDirty(HeapTupleHeader tuple); extern bool HeapTupleSatisfiesToast(HeapTupleHeader tuple); extern bool HeapTupleSatisfiesSnapshot(HeapTupleHeader tuple, Snapshot snapshot); -extern int HeapTupleSatisfiesUpdate(HeapTuple tuple, +extern int HeapTupleSatisfiesUpdate(HeapTupleHeader tuple, CommandId curcid); extern HTSV_Result HeapTupleSatisfiesVacuum(HeapTupleHeader tuple, TransactionId OldestXmin); @@ -108,6 +108,7 @@ extern HTSV_Result HeapTupleSatisfiesVacuum(HeapTupleHeader tuple, extern Snapshot GetSnapshotData(Snapshot snapshot, bool serializable); extern void SetQuerySnapshot(void); extern Snapshot CopyQuerySnapshot(void); +extern Snapshot CopyCurrentSnapshot(void); extern void FreeXactSnapshot(void); #endif /* TQUAL_H */ |
