On May 25, 2010, at 12:18 , Heikki Linnakangas wrote:
> On 25/05/10 13:03, Florian Pflug wrote:
>> On May 25, 2010, at 6:08 , Sam Vilain wrote:
>>> http://www.postgresql.org/docs/8.4/static/sql-savepoint.html
>>> 
>>> Lead us to believe that if you roll back to the same savepoint name
>>> twice in a row, that you might start walking back through the
>>> savepoints.  I guess I missed the note on ROLLBACK TO SAVEPOINT that
>>> that is not how it works.
>>> 
>>> Here is the section:
>>> 
>>> SQL requires a savepoint to be destroyed automatically when another
>>> savepoint with the same name is established. In PostgreSQL, the old
>>> savepoint is kept, though only the more recent one will be used when
>>> rolling back or releasing. (Releasing the newer savepoint will cause the
>>> older one to again become accessible to ROLLBACK TO SAVEPOINT and
>>> RELEASE SAVEPOINT.) Otherwise, SAVEPOINT is fully SQL conforming.
>> 
>> I'm confused. The sentence in brackets "Releasing the newer savepoint will 
>> cause the older one to again become accessible to ROLLBACK TO SAVEPOINT and 
>> RELEASE SAVEPOINT" implies that you *will* walk backwards through all the 
>> savepoints named "a" if you repeatedly issue "ROLLBACK TO SAVEPOINT a", no? 
>> If that is not how it actually works, then this whole paragraph is wrong, 
>> I'd say.
> 
> Releasing the newer savepoint will cause the older one to again become 
> accessible, as the doc says, but rolling back to a savepoint does not 
> implicitly release it. You'll have to use RELEASE SAVEPOINT for that.

Ah, now I get it. Thanks.

Would changing "Releasing the newer savepoint will cause ... " to "Explicitly 
releasing the newer savepoint" or maybe even "Explicitly releasing the newer 
savepoint with RELEASE SAVEPOINT will cause ..." make things clearer?

best regards,
Florian Pflug




-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to