Re: A transaction in transaction? Possible? - Mailing list pgsql-sql

From Andrei Bintintan
Subject Re: A transaction in transaction? Possible?
Date
Msg-id 019801c4c711$57185380$0b00a8c0@forge
Whole thread Raw
In response to Re: A transaction in transaction? Possible?  (Achilleus Mantzios <achill@matrix.gatewaynet.com>)
List pgsql-sql
Okay, I see you're speaking about pgsql 8.0

What about 7.4?

Andy.

----- Original Message -----
From: "Achilleus Mantzios" <achill@matrix.gatewaynet.com>
To: "Michael Fuhr" <mike@fuhr.org>
Cc: "Riccardo G. Facchini" <abief_ag_-postgresql@yahoo.com>;
<pgsql-sql@postgresql.org>; "Theodore Petrosky" <tedpet5@yahoo.com>; "Andrei
Bintintan" <klodoma@ar-sd.net>; "sad" <sad@bankir.ru>
Sent: Wednesday, November 10, 2004 12:58 PM
Subject: Re: [SQL] A transaction in transaction? Possible?


> O Michael Fuhr έγραψε στις Nov 10, 2004 :
>
> > On Wed, Nov 10, 2004 at 12:45:19AM -0800, Riccardo G. Facchini wrote:
> >
> > > Sorry, but I understand that your example is not really about nested
> > > transactions, but about sequential transactions.
> >
> > Here's a more elaborate example.  If this doesn't demonstrate the
> > capability you're looking for, then please provide an example of
> > what you'd like to do and describe the desired behavior.
> >
> > CREATE TABLE person (id SERIAL PRIMARY KEY, name TEXT NOT NULL);
> >
> > BEGIN;
> >     INSERT INTO person (name) VALUES ('Alice');
> >
> >     SAVEPOINT s1;
> >         INSERT INTO person (name) VALUES ('Bob');
> >
> > SAVEPOINT s2;
> >     INSERT INTO person (name) VALUES ('Charles');
> >
> >     SAVEPOINT s3;
> >         INSERT INTO person (name) VALUES ('David');
> >     ROLLBACK TO s3;
> >
> >     INSERT INTO person (name) VALUES ('Edward');
> > ROLLBACK TO s2;
> >
> >         INSERT INTO person (name) VALUES ('Frank');
> >     RELEASE s1;
> >
> >     INSERT INTO person (name) VALUES ('George');
> > COMMIT;
>
> Just a very naive thought....
> Wouldn't make more sense to allow nested begin/commit/rollback blocks?
>
> >
> > SELECT * FROM person;
> >  id |  name
> > ----+--------
> >   1 | Alice
> >   2 | Bob
> >   6 | Frank
> >   7 | George
> >
> > If you change "ROLLBACK TO s2" to "RELEASE s2" then you get this:
> >
> >  id |  name
> > ----+---------
> >   1 | Alice
> >   2 | Bob
> >   3 | Charles
> >   5 | Edward
> >   6 | Frank
> >   7 | George
> >
> > If you change "RELEASE s1" to "ROLLBACK TO s1" then you get this:
> >
> >  id |  name
> > ----+--------
> >   1 | Alice
> >   7 | George
> >
> >
>
> --
> -Achilleus
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 7: don't forget to increase your free space map settings
>



pgsql-sql by date:

Previous
From: Achilleus Mantzios
Date:
Subject: Re: A transaction in transaction? Possible?
Next
From: Peter Eisentraut
Date:
Subject: Re: A transaction in transaction? Possible?