Author: rhuijben Date: Thu Feb 19 02:29:15 2015 New Revision: 1660782 URL: http://svn.apache.org/r1660782 Log: Checkpoint extensions to the verification statements.
Currently all tests except db-tests, entries-compatibility, one op-depth test and 2 upgrade tests keep the database valid according to this set of checks. * subversion/libsvn_wc/wc-checks.sql (STMT_STATIC_VERIFY): Extend verifications. Modified: subversion/trunk/subversion/libsvn_wc/wc-checks.sql Modified: subversion/trunk/subversion/libsvn_wc/wc-checks.sql URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/wc-checks.sql?rev=1660782&r1=1660781&r2=1660782&view=diff ============================================================================== --- subversion/trunk/subversion/libsvn_wc/wc-checks.sql (original) +++ subversion/trunk/subversion/libsvn_wc/wc-checks.sql Thu Feb 19 02:29:15 2015 @@ -245,7 +245,7 @@ WHERE s.presence = MAP_BASE_DELETED AND n.presence NOT IN (MAP_NORMAL, MAP_INCOMPLETE) UNION ALL - +/* If moved_here is set on an op-root, there must be a proper moved_to */ SELECT d.local_relpath, d.op_depth, 'SV013: Moved here without origin' FROM nodes d WHERE d.op_depth = relpath_depth(d.local_relpath) @@ -254,10 +254,19 @@ WHERE d.op_depth = relpath_depth(d.local WHERE s.wc_id = d.wc_id AND s.moved_to = d.local_relpath) UNION ALL - +/* If moved_to is set there should be an moved op root at the target */ SELECT s.local_relpath, s.op_depth, 'SV014: Moved to without target' FROM nodes s WHERE s.moved_to IS NOT NULL AND NOT EXISTS(SELECT 1 FROM nodes d WHERE d.wc_id = s.wc_id AND d.local_relpath = s.moved_to - AND d.moved_here =1 AND d.repos_path IS NOT NULL) \ No newline at end of file + AND d.op_depth = relpath_depth(d.local_relpath) + AND d.moved_here =1 AND d.repos_path IS NOT NULL) + +UNION ALL +/* Moves are stored in the working layers, not in BASE */ +SELECT n.local_relpath, n.op_depth, 'SV015: Invalid data for BASE' +FROM nodes n +WHERE n.op_depth = 0 + AND (n.moved_to IS NOT NULL + OR n.moved_here IS NOT NULL)