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