From: | Chris Travers <chris(dot)travers(at)gmail(dot)com> |
---|---|
To: | Simon Riggs <simon(at)2ndquadrant(dot)com> |
Cc: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Rafal Pietrak <rafal(at)zorro(dot)isa-geek(dot)com>, Craig Ringer <craig(at)postnewspapers(dot)com(dot)au>, "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: Feature discussion: Should syntax errors abort a transaction? |
Date: | 2012-06-20 07:24:29 |
Message-ID: | CAKt_ZfuK7sjErPj8j9qxN8ujt2oTWBGaJG44noJ9RcWF-6GGVg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
It seems to me there is one very simple reason not to change current
behavior which those in favor are glossing over.
Most interactions with a database are not occurring over an interface
like psql with one person typing on one side and the db executing on
the other. If that were the case I would understand the concern
that a typo should give the user an opportunity to pick up the
statement where he/she left off.
However most interactions with the database are purely through
intermediary software. Adding a lot of "do what I mean" or "give me a
chance to retry that" adds a great deal of complexity to the job of
the software in trapping and handling errors. It is far, far more
simple to say "syntax errors abort transactions" and leave it at that.
I know as a developer I don't want that behavior to change.
I guess it seems to me that I would not object to a new option for
transaction behavior where one could do something like SET TRANSACTION
INTERACTIVE; and have no errors abort the transaction at all (explicit
commit or rollback required) but I would complain loudly if this were
to be the default, and I don't see a real need for it.
Best Wishes,
Chris Travers
From | Date | Subject | |
---|---|---|---|
Next Message | Sumit Raja | 2012-06-20 07:53:15 | Re: db server processes hanging around |
Previous Message | aasat | 2012-06-20 06:57:54 | Re: Is there a way to ask PostgreSQL for the name of the computer it's running on? |