diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 1999-08-08 20:12:52 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 1999-08-08 20:12:52 +0000 |
commit | 4488b69b4cd388cb557ced8165df8eeb984db73a (patch) | |
tree | b9a3d566c24d8788ba6c61a9ca7d029198e15963 /src/backend/access/transam/xact.c | |
parent | fb491a5854f6883f38bffac0591c754b475695af (diff) | |
download | postgresql-4488b69b4cd388cb557ced8165df8eeb984db73a.tar.gz postgresql-4488b69b4cd388cb557ced8165df8eeb984db73a.zip |
Fix nbtree's failure to clear BTScans list during xact abort.
Also, move responsibility for calling vc_abort into main xact.c list of
things-to-call-at-abort. What in the world was it doing down inside of
TransactionIdAbort()?
Diffstat (limited to 'src/backend/access/transam/xact.c')
-rw-r--r-- | src/backend/access/transam/xact.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/backend/access/transam/xact.c b/src/backend/access/transam/xact.c index 53f38d79962..04711a33bb4 100644 --- a/src/backend/access/transam/xact.c +++ b/src/backend/access/transam/xact.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/access/transam/xact.c,v 1.46 1999/07/16 04:58:33 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/access/transam/xact.c,v 1.47 1999/08/08 20:12:52 tgl Exp $ * * NOTES * Transaction aborts can now occur two ways: @@ -144,9 +144,11 @@ */ #include "postgres.h" +#include "access/nbtree.h" #include "catalog/heap.h" #include "commands/async.h" #include "commands/sequence.h" +#include "commands/vacuum.h" #include "libpq/be-fsstubs.h" #include "storage/proc.h" #include "utils/inval.h" @@ -952,6 +954,7 @@ CommitTransaction() } RelationPurgeLocalRelation(true); + AtEOXact_nbtree(); AtCommit_Cache(); AtCommit_Locks(); AtCommit_Memory(); @@ -1013,9 +1016,12 @@ AbortTransaction() AtAbort_Notify(); CloseSequences(); AtEOXact_portals(); + if (VacuumRunning) + vc_abort(); RecordTransactionAbort(); RelationPurgeLocalRelation(false); DestroyNoNameRels(); + AtEOXact_nbtree(); AtAbort_Cache(); AtAbort_Locks(); AtAbort_Memory(); |