Author: hwright
Date: Tue May 17 14:18:38 2011
New Revision: 1104271

URL: http://svn.apache.org/viewvc?rev=1104271&view=rev
Log:
Use finalization when fetching properties to ensure the targets list table
disappears.

* subversion/libsvn_wc/wc-queries.sql
  (STMT_DROP_TARGETS_LIST): New.

* subversion/libsvn_wc/wc_db.c
  (svn_wc__db_read_props_streamily): Use the finalizer helper, rather than
    running the transaction.

Modified:
    subversion/trunk/subversion/libsvn_wc/wc-queries.sql
    subversion/trunk/subversion/libsvn_wc/wc_db.c

Modified: subversion/trunk/subversion/libsvn_wc/wc-queries.sql
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/wc-queries.sql?rev=1104271&r1=1104270&r2=1104271&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/wc-queries.sql (original)
+++ subversion/trunk/subversion/libsvn_wc/wc-queries.sql Tue May 17 14:18:38 
2011
@@ -444,6 +444,9 @@ CREATE INDEX targets_list_kind
   ON targets_list (kind)
 /* need more indicies? */
 
+-- STMT_DROP_TARGETS_LIST
+DROP TABLE IF EXISTS targets_list
+
 -- STMT_INSERT_TARGET
 INSERT INTO targets_list(wc_id, local_relpath, parent_relpath, kind)
 SELECT wc_id, local_relpath, parent_relpath, kind

Modified: subversion/trunk/subversion/libsvn_wc/wc_db.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/wc_db.c?rev=1104271&r1=1104270&r2=1104271&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/wc_db.c (original)
+++ subversion/trunk/subversion/libsvn_wc/wc_db.c Tue May 17 14:18:38 2011
@@ -7734,8 +7734,13 @@ svn_wc__db_read_props_streamily(svn_wc__
   baton.pristine = pristine;
   baton.cancel_func = cancel_func;
   baton.cancel_baton = cancel_baton;
-  SVN_ERR(svn_wc__db_with_txn(wcroot, local_relpath, cache_props_recursive,
-                              &baton, scratch_pool));
+  SVN_ERR(with_finalization(NULL, wcroot, local_relpath,
+                            cache_props_recursive, &baton,
+                            NULL, NULL,
+                            cancel_func, cancel_baton,
+                            NULL, NULL,
+                            STMT_DROP_TARGETS_LIST,
+                            scratch_pool));
 
   iterpool = svn_pool_create(scratch_pool);
 


Reply via email to