You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by rh...@apache.org on 2012/05/27 00:56:00 UTC
svn commit: r1342987 - in /subversion/trunk/subversion: libsvn_wc/upgrade.c
libsvn_wc/wc-metadata.sql libsvn_wc/wc-queries.sql
tests/libsvn_wc/wc-queries-test.c
Author: rhuijben
Date: Sat May 26 22:55:59 2012
New Revision: 1342987
URL: http://svn.apache.org/viewvc?rev=1342987&view=rev
Log:
Resolve four wc-queries-test warnings by commenting one statement and moving
two others to wc-metadata.sql
* subversion/libsvn_wc/upgrade.c
(migrate_tree_conflict_data): Update statement references.
* subversion/libsvn_wc/wc-metadata.sql
(STMT_UPGRADE_TO_21): Add two bump specific statements.
(STMT_UPGRADE_TO_27): Add one bump specific statements.
* subversion/libsvn_wc/wc-queries.sql
(STMT_SELECT_TARGETS): Comment statement, like its only caller in wc_db.c
(STMT_SELECT_OLD_TREE_CONFLICT,
STMT_ERASE_OLD_CONFLICTS,
STMT_HAS_ACTUAL_NODES_CONFLICTS): Move to wc-metadata.sql and add an upgrade
specific suffix to avoid new users.
* subversion/tests/libsvn_wc/wc-queries-test.c
(slow_statements): Remove 4 statements. (upgrade statements are automatically
ignored). Add some comments.
Modified:
subversion/trunk/subversion/libsvn_wc/upgrade.c
subversion/trunk/subversion/libsvn_wc/wc-metadata.sql
subversion/trunk/subversion/libsvn_wc/wc-queries.sql
subversion/trunk/subversion/tests/libsvn_wc/wc-queries-test.c
Modified: subversion/trunk/subversion/libsvn_wc/upgrade.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/upgrade.c?rev=1342987&r1=1342986&r2=1342987&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/upgrade.c (original)
+++ subversion/trunk/subversion/libsvn_wc/upgrade.c Sat May 26 22:55:59 2012
@@ -792,7 +792,7 @@ migrate_tree_conflict_data(svn_sqlite__d
all of them into the new schema. */
SVN_ERR(svn_sqlite__get_statement(&stmt, sdb,
- STMT_SELECT_OLD_TREE_CONFLICT));
+ STMT_UPGRADE_21_SELECT_OLD_TREE_CONFLICT));
/* Get all the existing tree conflict data. */
SVN_ERR(svn_sqlite__step(&have_row, stmt));
@@ -819,7 +819,8 @@ migrate_tree_conflict_data(svn_sqlite__d
SVN_ERR(svn_sqlite__reset(stmt));
/* Erase all the old tree conflict data. */
- SVN_ERR(svn_sqlite__get_statement(&stmt, sdb, STMT_ERASE_OLD_CONFLICTS));
+ SVN_ERR(svn_sqlite__get_statement(&stmt, sdb,
+ STMT_UPGRADE_21_ERASE_OLD_CONFLICTS));
SVN_ERR(svn_sqlite__step_done(stmt));
svn_pool_destroy(iterpool);
@@ -1211,7 +1212,7 @@ bump_to_27(void *baton, svn_sqlite__db_t
svn_boolean_t have_row;
SVN_ERR(svn_sqlite__get_statement(&stmt, sdb,
- STMT_HAS_ACTUAL_NODES_CONFLICTS));
+ STMT_UPGRADE_27_HAS_ACTUAL_NODES_CONFLICTS));
SVN_ERR(svn_sqlite__step(&have_row, stmt));
SVN_ERR(svn_sqlite__reset(stmt));
if (have_row)
Modified: subversion/trunk/subversion/libsvn_wc/wc-metadata.sql
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/wc-metadata.sql?rev=1342987&r1=1342986&r2=1342987&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/wc-metadata.sql (original)
+++ subversion/trunk/subversion/libsvn_wc/wc-metadata.sql Sat May 26 22:55:59 2012
@@ -626,6 +626,15 @@ PRAGMA user_version = 20;
-- STMT_UPGRADE_TO_21
PRAGMA user_version = 21;
+/* For format 21 bump code */
+-- STMT_UPGRADE_21_SELECT_OLD_TREE_CONFLICT
+SELECT wc_id, local_relpath, tree_conflict_data
+FROM actual_node
+WHERE tree_conflict_data IS NOT NULL
+
+/* For format 21 bump code */
+-- STMT_UPGRADE_21_ERASE_OLD_CONFLICTS
+UPDATE actual_node SET tree_conflict_data = NULL
/* ------------------------------------------------------------------------- */
@@ -696,6 +705,15 @@ PRAGMA user_version = 26;
-- STMT_UPGRADE_TO_27
PRAGMA user_version = 27;
+/* For format 27 bump code */
+-- STMT_UPGRADE_27_HAS_ACTUAL_NODES_CONFLICTS
+SELECT 1 FROM actual_node
+WHERE NOT ((prop_reject IS NULL) AND (conflict_old IS NULL)
+ AND (conflict_new IS NULL) AND (conflict_working IS NULL)
+ AND (tree_conflict_data IS NULL))
+LIMIT 1
+
+
/* ------------------------------------------------------------------------- */
/* Format 28 involves no schema changes, it only converts MD5 pristine
Modified: subversion/trunk/subversion/libsvn_wc/wc-queries.sql
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/wc-queries.sql?rev=1342987&r1=1342986&r2=1342987&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/wc-queries.sql (original)
+++ subversion/trunk/subversion/libsvn_wc/wc-queries.sql Sat May 26 22:55:59 2012
@@ -531,8 +531,9 @@ SELECT N.wc_id, N.local_relpath, N.paren
AND IS_STRICT_DESCENDANT_OF(N.local_relpath, ?2)
AND A.changelist = ?3
--- STMT_SELECT_TARGETS
-SELECT local_relpath, parent_relpath from targets_list
+/* Only used by commented dump_targets() in wc_db.c */
+/*-- STMT_SELECT_TARGETS
+SELECT local_relpath, parent_relpath from targets_list*/
-- STMT_INSERT_ACTUAL_EMPTIES
INSERT OR IGNORE INTO actual_node (
@@ -1065,14 +1066,6 @@ INSERT INTO actual_node (
wc_id, local_relpath, conflict_data, parent_relpath)
VALUES (?1, ?2, ?3, ?4)
--- STMT_SELECT_OLD_TREE_CONFLICT
-SELECT wc_id, local_relpath, tree_conflict_data
-FROM actual_node
-WHERE tree_conflict_data IS NOT NULL
-
--- STMT_ERASE_OLD_CONFLICTS
-UPDATE actual_node SET tree_conflict_data = NULL
-
-- STMT_SELECT_ALL_FILES
SELECT local_relpath FROM nodes_current
WHERE wc_id = ?1 AND parent_relpath = ?2 AND kind = 'file'
@@ -1085,13 +1078,6 @@ WHERE wc_id = ?1 AND local_relpath = ?2
SELECT 1 FROM nodes WHERE op_depth > 0
LIMIT 1
--- STMT_HAS_ACTUAL_NODES_CONFLICTS
-SELECT 1 FROM actual_node
-WHERE NOT ((prop_reject IS NULL) AND (conflict_old IS NULL)
- AND (conflict_new IS NULL) AND (conflict_working IS NULL)
- AND (tree_conflict_data IS NULL))
-LIMIT 1
-
/* --------------------------------------------------------------------------
* Complex queries for callback walks, caching results in a temporary table.
*
Modified: subversion/trunk/subversion/tests/libsvn_wc/wc-queries-test.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/libsvn_wc/wc-queries-test.c?rev=1342987&r1=1342986&r2=1342987&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/libsvn_wc/wc-queries-test.c (original)
+++ subversion/trunk/subversion/tests/libsvn_wc/wc-queries-test.c Sat May 26 22:55:59 2012
@@ -80,29 +80,23 @@ static const int schema_statements[] =
static const int slow_statements[] =
{
/* Operate on the entire WC */
- STMT_HAS_SWITCHED_WCROOT,
- STMT_HAS_SWITCHED_WCROOT_REPOS_ROOT,
- STMT_SELECT_ALL_NODES,
+ STMT_HAS_SWITCHED_WCROOT, /* wc scan op_depth 0 */
+ STMT_HAS_SWITCHED_WCROOT_REPOS_ROOT, /* wc scan op_depth 0 */
+ STMT_SELECT_ALL_NODES, /* schema validation code */
- /* Is there a record? */
+ /* Is there a record? ### S*/
STMT_LOOK_FOR_WORK,
STMT_HAS_WORKING_NODES,
- /* Upgrade statements */
- STMT_SELECT_OLD_TREE_CONFLICT,
- STMT_ERASE_OLD_CONFLICTS,
- STMT_HAS_ACTUAL_NODES_CONFLICTS,
-
/* Need index? */
- STMT_SELECT_TARGETS,
- STMT_INSERT_ACTUAL_EMPTIES,
STMT_SELECT_PRISTINE_BY_MD5, /* Only used by deprecated api */
- STMT_SELECT_DELETE_LIST,
- /* Create temporary table */
+ /* Full temporary table read */
+ STMT_INSERT_ACTUAL_EMPTIES,
STMT_SELECT_REVERT_LIST_RECURSIVE,
+ STMT_SELECT_DELETE_LIST,
- /* Designed as slow */
+ /* Designed as slow to avoid penalty on other queries */
STMT_SELECT_UNREFERENCED_PRISTINES,
/* Slow, but just if foreign keys are enabled: