1
0
mirror of https://github.com/postgres/postgres.git synced 2025-06-27 23:21:58 +03:00

AUTOCOMMIT mode is now an available backend GUC variable; setting it

to false provides more SQL-spec-compliant behavior than we had before.
I am not sure that setting it false is actually a good idea yet; there
is a lot of client-side code that will probably be broken by turning
autocommit off.  But it's a start.

Loosely based on a patch by David Van Wie.
This commit is contained in:
Tom Lane
2002-08-30 22:18:07 +00:00
parent 549928d99b
commit 26993b2918
15 changed files with 126 additions and 53 deletions

View File

@ -7,7 +7,7 @@
* Portions Copyright (c) 1994, Regents of the University of California
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/commands/async.c,v 1.88 2002/08/05 03:29:16 tgl Exp $
* $Header: /cvsroot/pgsql/src/backend/commands/async.c,v 1.89 2002/08/30 22:18:05 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@ -400,9 +400,9 @@ Async_UnlistenOnExit(void)
*/
AbortOutOfAnyTransaction();
/* Now we can do the unlisten */
StartTransactionCommand();
StartTransactionCommand(true);
Async_UnlistenAll();
CommitTransactionCommand();
CommitTransactionCommand(true);
}
/*
@ -749,7 +749,7 @@ ProcessIncomingNotify(void)
notifyInterruptOccurred = 0;
StartTransactionCommand();
StartTransactionCommand(true);
lRel = heap_openr(ListenerRelationName, AccessExclusiveLock);
tdesc = RelationGetDescr(lRel);
@ -803,7 +803,7 @@ ProcessIncomingNotify(void)
*/
heap_close(lRel, NoLock);
CommitTransactionCommand();
CommitTransactionCommand(true);
/*
* Must flush the notify messages to ensure frontend gets them