aborted transaction -> error

From: nconway(at)klamath(dot)dyndns(dot)org (Neil Conway)
To: PostgreSQL Patches <pgsql-patches(at)postgresql(dot)org>
Subject: aborted transaction -> error
Date: 2002-07-29 15:33:10
Message-ID: 20020729153310.GB7080@klamath.dyndns.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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(at)rogers(dot)com>
PGP Key ID: DB3C29FC

Attachment Content-Type Size
abort-error.patch text/plain 1.6 KB

Responses

Browse pgsql-patches by date

  From Date Subject
Next Message Neil Conway 2002-07-29 19:35:25 clean up assertion code
Previous Message Joe Conway 2002-07-29 15:30:59 Re: anonymous composite types for Table Functions (aka