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

From Gaetano Mendola
Subject Re: A transaction in transaction? Possible?
Date
Msg-id 41931E90.2050108@bigfoot.com
Whole thread Raw
In response to Re: A transaction in transaction? Possible?  (Achilleus Mantzios <achill@matrix.gatewaynet.com>)
List pgsql-sql
Achilleus Mantzios wrote:
> 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?

Is not naive because in this way you can do what you could do with
nested begin/commit/rollback blocks, in this way you can do more.
Think for example in the example above to convert the "ROLLBACK TO s3"
in a "ROLLBACK TO s1", that is impossible to do with begin/commit/rollback blocks.



Regards
Gaetano Mendola



pgsql-sql by date:

Previous
From: Gaetano Mendola
Date:
Subject: Re: A transaction in transaction? Possible?
Next
From: "David B"
Date:
Subject: Re: Unicode problem inserting records - Invalid UNICODE character