diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2005-01-26 23:20:37 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2005-01-26 23:20:37 +0000 |
commit | aa060cd7140c63514ef67fac552fafdd1ece7efc (patch) | |
tree | c99d516f581c8a112cf9132e54e3755497c4af9a /doc/src/sgml/ref/rollback_to.sgml | |
parent | 1ded77722dc7882e924c667520473004a7443ffc (diff) | |
download | postgresql-aa060cd7140c63514ef67fac552fafdd1ece7efc.tar.gz postgresql-aa060cd7140c63514ef67fac552fafdd1ece7efc.zip |
Close all cursors created during a failed subtransaction. This is needed
to avoid problems when a cursor depends on objects created or changed in
the same subtransaction. We'd like to do better someday, but this seems
the only workable answer for 8.0.1.
Diffstat (limited to 'doc/src/sgml/ref/rollback_to.sgml')
-rw-r--r-- | doc/src/sgml/ref/rollback_to.sgml | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/doc/src/sgml/ref/rollback_to.sgml b/doc/src/sgml/ref/rollback_to.sgml index 0b87dc1a6bb..aa204e2f9a9 100644 --- a/doc/src/sgml/ref/rollback_to.sgml +++ b/doc/src/sgml/ref/rollback_to.sgml @@ -1,5 +1,5 @@ <!-- -$PostgreSQL: pgsql/doc/src/sgml/ref/rollback_to.sgml,v 1.5 2004/11/27 21:27:07 petere Exp $ +$PostgreSQL: pgsql/doc/src/sgml/ref/rollback_to.sgml,v 1.5.4.1 2005/01/26 23:20:36 tgl Exp $ PostgreSQL documentation --> @@ -74,11 +74,13 @@ ROLLBACK [ WORK | TRANSACTION ] TO [ SAVEPOINT ] <replaceable>savepoint_name</re <para> Cursors have somewhat non-transactional behavior with respect to - savepoints. Any cursor that is opened inside the savepoint is not closed - when the savepoint is rolled back. If a cursor is affected by a + savepoints. Any cursor that is opened inside a savepoint will be closed + when the savepoint is rolled back. If a previously opened cursor is + affected by a <command>FETCH</> command inside a savepoint that is later rolled back, the cursor position remains at the position that <command>FETCH</> left it pointing to (that is, <command>FETCH</> is not rolled back). + Closing a cursor is not undone by rolling back, either. A cursor whose execution causes a transaction to abort is put in a can't-execute state, so while the transaction can be restored using <command>ROLLBACK TO SAVEPOINT</>, the cursor can no longer be used. |