pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Andrei Bintintan <klodoma@ar-sd.net>
To: Achilleus Mantzios <achill@matrix.gatewaynet.com>
To: Michael Fuhr <mike@fuhr.org>
Cc: Riccardo G. Facchini <abief_ag_-postgresql@yahoo.com>
Cc: pgsql-sql@postgresql.org
Cc: Theodore Petrosky <tedpet5@yahoo.com>
Cc: sad <sad@bankir.ru>
Subject: Re: A transaction in transaction? Possible?
Date: Wed, 10 Nov 2004 12:37:54 +0200
Message-ID: <019801c4c711$57185380$0b00a8c0@forge> (raw)
References: <Pine.LNX.4.44.0411101256590.6883-100000@matrix.gatewaynet.com>

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
>




view thread (18+ messages)  latest in thread

Message-ID: <019801c4c711$57185380$0b00a8c0@forge>
Permalink:  ../019801c4c711$57185380$0b00a8c0@forge/
Also on:    postgresql.org/message-id/019801c4c711$57185380$0b00a8c0@forge

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: klodoma@ar-sd.net, achill@matrix.gatewaynet.com, mike@fuhr.org, abief_ag_-postgresql@yahoo.com, tedpet5@yahoo.com, sad@bankir.ru
  Subject: Re: A transaction in transaction? Possible?
  In-Reply-To: <019801c4c711$57185380$0b00a8c0@forge>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox