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