transaction rollbacks on error

Started by Peter Garnerover 26 years ago6 messages
#1Peter  Garner
peter.garner@toward.com

Hi all

I hope no one finds this the wrong Mailing List, but I would like to
request/propose a change in PostGres. (I may even hack this one in
myself if no one objects.)

It seems that ANY error in postgres voids the entire transaction. I.e.
if an error occurs, one must immediately commit decide to commit or
rollback the current transaction. No further updates will be accepted
until this is done. I am almost postive that most commercial databases
do not behave this way. (I do not think that DB2 does, but I have had
very little to do with other databases since discovering Postgresql! ;-)
At the VERY least it would be nice to have a user option whereby errors
would not affect the current transaction state.

--
===
Peace,
Peter

We are Microsoft of Borg, you will be assimilated!!!
Resistance is fut... ***BZZZRT*** THUD!!!
[General Protection Fault in MSBorg32.DLL]
Please contact the Vendor of this Borg for more Information

--

#2Vadim Mikheev
vadim@krs.ru
In reply to: Peter Garner (#1)
Re: [HACKERS] transaction rollbacks on error

Peter Garner wrote:

Hi all

I hope no one finds this the wrong Mailing List, but I would like to
request/propose a change in PostGres. (I may even hack this one in
myself if no one objects.)

It seems that ANY error in postgres voids the entire transaction. I.e.
if an error occurs, one must immediately commit decide to commit or
rollback the current transaction. No further updates will be accepted
until this is done. I am almost postive that most commercial databases
do not behave this way. (I do not think that DB2 does, but I have had
very little to do with other databases since discovering Postgresql! ;-)
At the VERY least it would be nice to have a user option whereby errors
would not affect the current transaction state.

I'm going to implement savepoints (and _implicit_ savepoints)
in 6.6.

Vadim

#3José Soares
jose@sferacarta.com
In reply to: Peter Garner (#1)
Re: [HACKERS] transaction rollbacks on error

From man begin:

This command begins a user transaction which Postgres will
guarantee is serializable with respect to all concurrently
executing transactions. Postgres uses two-phase locking
to perform this task. If the transaction is committed,
Postgres will ensure that all updates are done or none of
them are done. Transactions have the standard ACID
(atomic, consistent, isolatable, and durable) property.

Peter Garner ha scritto:

Hi all

I hope no one finds this the wrong Mailing List, but I would like to
request/propose a change in PostGres. (I may even hack this one in
myself if no one objects.)

It seems that ANY error in postgres voids the entire transaction. I.e.
if an error occurs, one must immediately commit decide to commit or
rollback the current transaction. No further updates will be accepted
until this is done. I am almost postive that most commercial databases
do not behave this way. (I do not think that DB2 does, but I have had
very little to do with other databases since discovering Postgresql! ;-)
At the VERY least it would be nice to have a user option whereby errors
would not affect the current transaction state.

--
===
Peace,
Peter

We are Microsoft of Borg, you will be assimilated!!!
Resistance is fut... ***BZZZRT*** THUD!!!
[General Protection Fault in MSBorg32.DLL]
Please contact the Vendor of this Borg for more Information

--

--
______________________________________________________________
PostgreSQL 6.5.0 on i586-pc-linux-gnu, compiled by gcc 2.7.2.3
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jose'

#4Vadim Mikheev
vadim@krs.ru
In reply to: Peter Garner (#1)
Re: [HACKERS] transaction rollbacks on error

Jos� Soares wrote:

From man begin:

This command begins a user transaction which Postgres will
guarantee is serializable with respect to all concurrently

^^^^^^^^^^^^

executing transactions. Postgres uses two-phase locking

^^^^^^^^^^^^^^^^^

to perform this task. If the transaction is committed,
Postgres will ensure that all updates are done or none of
them are done. Transactions have the standard ACID
(atomic, consistent, isolatable, and durable) property.

Ops. This man page must be changed too. I'll do it tomorrow.

Seems that it's too late to update begin.sgml as well?
Thomas?

Vadim

#5Thomas Lockhart
lockhart@alumni.caltech.edu
In reply to: Peter Garner (#1)
Re: [HACKERS] transaction rollbacks on error

Seems that it's too late to update begin.sgml as well?
Thomas?

It is ok to update since it is in docs not yet formatted. I'll start
the User's Guide tomorrow, or perhaps tonight if I see your changes.

- Thomas

--
Thomas Lockhart lockhart@alumni.caltech.edu
South Pasadena, California

#6Vadim Mikheev
vadim@krs.ru
In reply to: Peter Garner (#1)
Re: [HACKERS] transaction rollbacks on error

Thomas Lockhart wrote:

Seems that it's too late to update begin.sgml as well?
Thomas?

It is ok to update since it is in docs not yet formatted. I'll start
the User's Guide tomorrow, or perhaps tonight if I see your changes.

Please do it tomorrow - I'm going home soon...

Vadim