You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by da...@apache.org on 2012/02/28 08:17:34 UTC
svn commit: r1294495 - in /subversion/trunk/subversion/libsvn_fs_fs: fs_fs.c
rep-cache-db.sql rep-cache.c rep-cache.h
Author: danielsh
Date: Tue Feb 28 07:17:34 2012
New Revision: 1294495
URL: http://svn.apache.org/viewvc?rev=1294495&view=rev
Log:
Follow-up to rr1294479: teach svn_fs_fs__walk_rep_reference() to check only
a range of revisions.
A subsequent revision will restore the "Look for rep-cache entries younger than
youngest" functionality.
* subversion/libsvn_fs_fs/fs_fs.c
(svn_fs_fs__verify):
Pass START and END to svn_fs_fs__walk_rep_reference().
* subversion/libsvn_fs_fs/rep-cache.h
(svn_fs_fs__walk_rep_reference):
Grow START and END parameters.
* subversion/libsvn_fs_fs/rep-cache.c
(svn_fs_fs__walk_rep_reference):
Pass START and END to STMT_GET_REPS_FOR_RANGE.
* subversion/libsvn_fs_fs/rep-cache-db.sql
(STMT_GET_ALL_REPS): Rename to..
(STMT_GET_REPS_FOR_RANGE): .. this, and add two parameters.
Modified:
subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c
subversion/trunk/subversion/libsvn_fs_fs/rep-cache-db.sql
subversion/trunk/subversion/libsvn_fs_fs/rep-cache.c
subversion/trunk/subversion/libsvn_fs_fs/rep-cache.h
Modified: subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c?rev=1294495&r1=1294494&r2=1294495&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c Tue Feb 28 07:17:34 2012
@@ -7932,6 +7932,7 @@ svn_fs_fs__verify(svn_fs_t *fs,
Don't take any lock. */
SVN_ERR(svn_fs_fs__walk_rep_reference(fs, verify_walker, NULL,
cancel_func, cancel_baton,
+ start, end,
pool));
/* Issue #4129: bogus pred-counts on the root node-rev. */
Modified: subversion/trunk/subversion/libsvn_fs_fs/rep-cache-db.sql
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/rep-cache-db.sql?rev=1294495&r1=1294494&r2=1294495&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_fs/rep-cache-db.sql (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/rep-cache-db.sql Tue Feb 28 07:17:34 2012
@@ -47,9 +47,10 @@ INSERT OR FAIL INTO rep_cache (hash, rev
VALUES (?1, ?2, ?3, ?4, ?5)
--- STMT_GET_ALL_REPS
+-- STMT_GET_REPS_FOR_RANGE
SELECT hash, revision, offset, size, expanded_size
FROM rep_cache
+WHERE revision >= ?1 AND revision <= ?2
-- STMT_DEL_REPS_YOUNGER_THAN_REV
Modified: subversion/trunk/subversion/libsvn_fs_fs/rep-cache.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/rep-cache.c?rev=1294495&r1=1294494&r2=1294495&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_fs/rep-cache.c (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/rep-cache.c Tue Feb 28 07:17:34 2012
@@ -146,6 +146,8 @@ svn_fs_fs__walk_rep_reference(svn_fs_t *
void *walker_baton,
svn_cancel_func_t cancel_func,
void *cancel_baton,
+ svn_revnum_t start,
+ svn_revnum_t end,
apr_pool_t *pool)
{
fs_fs_data_t *ffd = fs->fsap_data;
@@ -163,7 +165,9 @@ svn_fs_fs__walk_rep_reference(svn_fs_t *
/* Get the statement. (There are no arguments to bind.) */
SVN_ERR(svn_sqlite__get_statement(&stmt, ffd->rep_cache_db,
- STMT_GET_ALL_REPS));
+ STMT_GET_REPS_FOR_RANGE));
+ SVN_ERR(svn_sqlite__bindf(stmt, "rr",
+ start, end));
/* Walk the cache entries. */
SVN_ERR(svn_sqlite__step(&have_row, stmt));
Modified: subversion/trunk/subversion/libsvn_fs_fs/rep-cache.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/rep-cache.h?rev=1294495&r1=1294494&r2=1294495&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_fs/rep-cache.h (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/rep-cache.h Tue Feb 28 07:17:34 2012
@@ -55,6 +55,8 @@ svn_fs_fs__walk_rep_reference(svn_fs_t *
void *walker_baton,
svn_cancel_func_t cancel_func,
void *cancel_baton,
+ svn_revnum_t start,
+ svn_revnum_t end,
apr_pool_t *pool);
/* Return the representation REP in FS which has fulltext CHECKSUM.