1
0
mirror of https://github.com/postgres/postgres.git synced 2025-11-10 17:42:29 +03:00

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()?
This commit is contained in:
Tom Lane
1999-08-08 20:12:52 +00:00
parent fb491a5854
commit 4488b69b4c
5 changed files with 34 additions and 18 deletions

View File

@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/access/transam/transam.c,v 1.30 1999/07/15 23:03:02 momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/access/transam/transam.c,v 1.31 1999/08/08 20:12:52 tgl Exp $
*
* NOTES
* This file contains the high level access-method interface to the
@@ -20,7 +20,6 @@
#include "access/heapam.h"
#include "catalog/catname.h"
#include "commands/vacuum.h"
static int RecoveryCheckingEnabled(void);
static void TransRecover(Relation logRelation);
@@ -83,12 +82,6 @@ int RecoveryCheckingEnableState = 0;
*/
extern int OidGenLockId;
/* ----------------
* globals that must be reset at abort
* ----------------
*/
extern bool BuildingBtree;
/* ----------------
* recovery checking accessors
@@ -568,11 +561,6 @@ TransactionIdCommit(TransactionId transactionId)
void
TransactionIdAbort(TransactionId transactionId)
{
BuildingBtree = false;
if (VacuumRunning)
vc_abort();
if (AMI_OVERRIDE)
return;

View File

@@ -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();