You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by hw...@apache.org on 2011/03/08 21:50:26 UTC

svn commit: r1079531 - /subversion/trunk/subversion/libsvn_subr/sqlite.c

Author: hwright
Date: Tue Mar  8 20:50:26 2011
New Revision: 1079531

URL: http://svn.apache.org/viewvc?rev=1079531&view=rev
Log:
More followup to r1079070.  When rolling back a SAVEPOINT, we must also
RELEASE the savepoint, so as to avoid holding the DB lock.

* subversion/libsvn_subr/sqlite.c
  (svn_sqlite__with_lock): Release the savepoint, even in the error case.

Modified:
    subversion/trunk/subversion/libsvn_subr/sqlite.c

Modified: subversion/trunk/subversion/libsvn_subr/sqlite.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/sqlite.c?rev=1079531&r1=1079530&r2=1079531&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_subr/sqlite.c (original)
+++ subversion/trunk/subversion/libsvn_subr/sqlite.c Tue Mar  8 20:50:26 2011
@@ -1091,6 +1091,9 @@ svn_sqlite__with_lock(svn_sqlite__db_t *
           err2 = svn_error_compose_create(exec_sql(db, buf), err2);
         }
 
+      snprintf(buf, sizeof(buf), "RELEASE   s%u", savepoint);
+      err2 = svn_error_compose_create(exec_sql(db, buf), err2);
+
       return svn_error_return(svn_error_compose_create(err, err2));
     }