aborted transaction -> error - Mailing list pgsql-patches

From nconway@klamath.dyndns.org (Neil Conway)
Subject aborted transaction -> error
Date
Msg-id 20020729153310.GB7080@klamath.dyndns.org
Whole thread Raw
Responses Re: aborted transaction -> error  (Neil Conway <nconway@klamath.dyndns.org>)
List pgsql-patches
This patch changes the behavior of PostgreSQL so that if any queries are
executed in an implicitely aborted transaction (e.g. after an occur
occurs), we return an error (and not just a warning). For example:

nconway=# begin;
BEGIN
nconway=# insert; -- syntax error
ERROR:  parser: parse error at or near ";"
nconway=# select * from a;
ERROR:  current transaction is aborted, queries ignored until end of
transaction block

The old behavior was:

nconway=# begin;
BEGIN
nconway=# insert;
ERROR:  parser: parse error at or near ";"
nconway=# select * from a;
WARNING:  current transaction is aborted, queries ignored until end
of transaction block
*ABORT STATE*

Which can be confusing: if the client isn't paying careful attention,
they will conclude that the query has executed (because no error is
returned).

Tom remarked that our old behavior was problematic:

    http://archives.postgresql.org/pgsql-hackers/2002-06/msg00325.php

Cheers,

Neil

--
Neil Conway <neilconway@rogers.com>
PGP Key ID: DB3C29FC

Attachment

pgsql-patches by date:

Previous
From: Joe Conway
Date:
Subject: Re: anonymous composite types for Table Functions (aka
Next
From: nconway@klamath.dyndns.org (Neil Conway)
Date:
Subject: clean up assertion code