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.

--
  Heikki Linnakangas
  EnterpriseDB   http://www.enterprisedb.com

--
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