From: Stephan Szabo <sszabo@megazone.bigpanda.com>
To: holger@jakobs.com
Cc: pgsql-sql@postgresql.org
Subject: Re: transaction processing after error in statement
Date: Sun, 9 Nov 2003 14:09:12 -0800 (PST)
Message-ID: <20031109140156.T85218@megazone.bigpanda.com> (raw)
In-Reply-To: <20031107221659.55CBC3CA93@smtp1.netcologne.de>
References: <20031107221659.55CBC3CA93@smtp1.netcologne.de>
On Fri, 7 Nov 2003 holger@jakobs.com wrote:
> Whenever an error occurs within the transaction, PostgreSQL puts the
> whole transaction in an *ABORT* state, so that there is no difference at
> all between COMMITing or ROLLBACKing it. Even commands successfully
> carried out before the error ocurred are rolled back, even if I COMMIT
> the transaction, where no error message whatsoever is shown.
In PostgreSQL all errors are currently considered unrecoverable, and all
statements in a transaction must commit or rollback together as a single
unit.
In the future an implementation of nested transactions or savepoints would
presumably relax this limitation to only the successfully committed
subtransactions or statements that were not separately rolled back to a
previous savepoint.
> Additionally, I have discovered that phantom reads occur in PostgreSQL
> even if isolation mode serializable is used. Also not so nice!
You're going to have to give more information for anyone to even begin to
understand the case you're seeing.
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: sszabo@megazone.bigpanda.com, holger@jakobs.com
Subject: Re: transaction processing after error in statement
In-Reply-To: <20031109140156.T85218@megazone.bigpanda.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox