Change COMMIT back to the old behavior of emitting command tag COMMIT,

not ROLLBACK, for the case of COMMIT outside a transaction block.
Alvaro Herrera
This commit is contained in:
Tom Lane 2004-10-30 20:44:43 +00:00
parent e5ac8db035
commit 88868d4fbc
1 changed files with 6 additions and 6 deletions

View File

@ -10,7 +10,7 @@
*
*
* IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/access/transam/xact.c,v 1.193 2004/10/29 22:19:53 tgl Exp $
* $PostgreSQL: pgsql/src/backend/access/transam/xact.c,v 1.194 2004/10/30 20:44:43 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@ -2538,16 +2538,16 @@ EndTransactionBlock(void)
break;
/*
* here, the user issued COMMIT when not inside a transaction.
* Issue a WARNING and go to abort state. The upcoming call
* to CommitTransactionCommand() will then put us back into
* the default state.
* The user issued COMMIT when not inside a transaction. Issue a
* WARNING, staying in TBLOCK_STARTED state. The upcoming call to
* CommitTransactionCommand() will then close the transaction and
* put us back into the default state.
*/
case TBLOCK_STARTED:
ereport(WARNING,
(errcode(ERRCODE_NO_ACTIVE_SQL_TRANSACTION),
errmsg("there is no transaction in progress")));
s->blockState = TBLOCK_ABORT_PENDING;
result = true;
break;
/* These cases are invalid. */