summaryrefslogtreecommitdiff
path: root/subversion/libsvn_wc/wc-queries.h
diff options
context:
space:
mode:
Diffstat (limited to 'subversion/libsvn_wc/wc-queries.h')
-rw-r--r--subversion/libsvn_wc/wc-queries.h2750
1 files changed, 1888 insertions, 862 deletions
diff --git a/subversion/libsvn_wc/wc-queries.h b/subversion/libsvn_wc/wc-queries.h
index 198f9be..e33af98 100644
--- a/subversion/libsvn_wc/wc-queries.h
+++ b/subversion/libsvn_wc/wc-queries.h
@@ -1,22 +1,26 @@
-/* This file is automatically generated from wc-queries.sql.
+/* This file is automatically generated from wc-queries.sql and .dist_sandbox/subversion-1.8.13/subversion/libsvn_wc/token-map.h.
* Do not edit this file -- edit the source and rerun gen-make.py */
#define STMT_SELECT_NODE_INFO 0
+#define STMT_0_INFO {"STMT_SELECT_NODE_INFO", NULL}
#define STMT_0 \
"SELECT op_depth, repos_id, repos_path, presence, kind, revision, checksum, " \
" translated_size, changed_revision, changed_date, changed_author, depth, " \
- " symlink_target, last_mod_time, properties " \
+ " symlink_target, last_mod_time, properties, moved_here, inherited_props, " \
+ " moved_to " \
"FROM nodes " \
"WHERE wc_id = ?1 AND local_relpath = ?2 " \
"ORDER BY op_depth DESC " \
""
#define STMT_SELECT_NODE_INFO_WITH_LOCK 1
+#define STMT_1_INFO {"STMT_SELECT_NODE_INFO_WITH_LOCK", NULL}
#define STMT_1 \
"SELECT op_depth, nodes.repos_id, nodes.repos_path, presence, kind, revision, " \
" checksum, translated_size, changed_revision, changed_date, changed_author, " \
- " depth, symlink_target, last_mod_time, properties, lock_token, lock_owner, " \
- " lock_comment, lock_date " \
+ " depth, symlink_target, last_mod_time, properties, moved_here, " \
+ " inherited_props, " \
+ " lock_token, lock_owner, lock_comment, lock_date " \
"FROM nodes " \
"LEFT OUTER JOIN lock ON nodes.repos_id = lock.repos_id " \
" AND nodes.repos_path = lock.repos_relpath " \
@@ -25,19 +29,21 @@
""
#define STMT_SELECT_BASE_NODE 2
+#define STMT_2_INFO {"STMT_SELECT_BASE_NODE", NULL}
#define STMT_2 \
"SELECT repos_id, repos_path, presence, kind, revision, checksum, " \
" translated_size, changed_revision, changed_date, changed_author, depth, " \
- " symlink_target, last_mod_time, properties, file_external IS NOT NULL " \
+ " symlink_target, last_mod_time, properties, file_external " \
"FROM nodes " \
"WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \
""
#define STMT_SELECT_BASE_NODE_WITH_LOCK 3
+#define STMT_3_INFO {"STMT_SELECT_BASE_NODE_WITH_LOCK", NULL}
#define STMT_3 \
"SELECT nodes.repos_id, nodes.repos_path, presence, kind, revision, " \
" checksum, translated_size, changed_revision, changed_date, changed_author, " \
- " depth, symlink_target, last_mod_time, properties, file_external IS NOT NULL, " \
+ " depth, symlink_target, last_mod_time, properties, file_external, " \
" lock_token, lock_owner, lock_comment, lock_date " \
"FROM nodes " \
"LEFT OUTER JOIN lock ON nodes.repos_id = lock.repos_id " \
@@ -46,9 +52,10 @@
""
#define STMT_SELECT_BASE_CHILDREN_INFO 4
+#define STMT_4_INFO {"STMT_SELECT_BASE_CHILDREN_INFO", NULL}
#define STMT_4 \
"SELECT local_relpath, nodes.repos_id, nodes.repos_path, presence, kind, " \
- " revision, depth, file_external IS NOT NULL, " \
+ " revision, depth, file_external, " \
" lock_token, lock_owner, lock_comment, lock_date " \
"FROM nodes " \
"LEFT OUTER JOIN lock ON nodes.repos_id = lock.repos_id " \
@@ -57,6 +64,7 @@
""
#define STMT_SELECT_WORKING_NODE 5
+#define STMT_5_INFO {"STMT_SELECT_WORKING_NODE", NULL}
#define STMT_5 \
"SELECT op_depth, presence, kind, checksum, translated_size, " \
" changed_revision, changed_date, changed_author, depth, symlink_target, " \
@@ -69,6 +77,7 @@
""
#define STMT_SELECT_DEPTH_NODE 6
+#define STMT_6_INFO {"STMT_SELECT_DEPTH_NODE", NULL}
#define STMT_6 \
"SELECT repos_id, repos_path, presence, kind, revision, checksum, " \
" translated_size, changed_revision, changed_date, changed_author, depth, " \
@@ -78,149 +87,329 @@
""
#define STMT_SELECT_LOWEST_WORKING_NODE 7
+#define STMT_7_INFO {"STMT_SELECT_LOWEST_WORKING_NODE", NULL}
#define STMT_7 \
- "SELECT op_depth, presence " \
+ "SELECT op_depth, presence, kind, moved_to " \
"FROM nodes " \
- "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth > 0 " \
+ "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth > ?3 " \
"ORDER BY op_depth " \
"LIMIT 1 " \
""
-#define STMT_SELECT_ACTUAL_NODE 8
+#define STMT_SELECT_HIGHEST_WORKING_NODE 8
+#define STMT_8_INFO {"STMT_SELECT_HIGHEST_WORKING_NODE", NULL}
#define STMT_8 \
- "SELECT prop_reject, changelist, conflict_old, conflict_new, " \
- "conflict_working, tree_conflict_data, properties " \
- "FROM actual_node " \
- "WHERE wc_id = ?1 AND local_relpath = ?2 " \
+ "SELECT op_depth " \
+ "FROM nodes " \
+ "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth < ?3 " \
+ "ORDER BY op_depth DESC " \
+ "LIMIT 1 " \
""
-#define STMT_SELECT_ACTUAL_TREE_CONFLICT 9
+#define STMT_SELECT_ACTUAL_NODE 9
+#define STMT_9_INFO {"STMT_SELECT_ACTUAL_NODE", NULL}
#define STMT_9 \
- "SELECT tree_conflict_data " \
+ "SELECT changelist, properties, conflict_data " \
"FROM actual_node " \
- "WHERE wc_id = ?1 AND local_relpath = ?2 AND tree_conflict_data IS NOT NULL " \
+ "WHERE wc_id = ?1 AND local_relpath = ?2 " \
""
-#define STMT_SELECT_ACTUAL_CHANGELIST 10
+#define STMT_SELECT_NODE_CHILDREN_INFO 10
+#define STMT_10_INFO {"STMT_SELECT_NODE_CHILDREN_INFO", NULL}
#define STMT_10 \
- "SELECT changelist " \
- "FROM actual_node " \
- "WHERE wc_id = ?1 AND local_relpath = ?2 AND changelist IS NOT NULL " \
- ""
-
-#define STMT_SELECT_NODE_CHILDREN_INFO 11
-#define STMT_11 \
"SELECT op_depth, nodes.repos_id, nodes.repos_path, presence, kind, revision, " \
" checksum, translated_size, changed_revision, changed_date, changed_author, " \
" depth, symlink_target, last_mod_time, properties, lock_token, lock_owner, " \
- " lock_comment, lock_date, local_relpath " \
+ " lock_comment, lock_date, local_relpath, moved_here, moved_to, file_external " \
"FROM nodes " \
"LEFT OUTER JOIN lock ON nodes.repos_id = lock.repos_id " \
- " AND nodes.repos_path = lock.repos_relpath " \
+ " AND nodes.repos_path = lock.repos_relpath AND op_depth = 0 " \
"WHERE wc_id = ?1 AND parent_relpath = ?2 " \
""
-#define STMT_SELECT_NODE_CHILDREN_WALKER_INFO 12
-#define STMT_12 \
+#define STMT_SELECT_NODE_CHILDREN_WALKER_INFO 11
+#define STMT_11_INFO {"STMT_SELECT_NODE_CHILDREN_WALKER_INFO", NULL}
+#define STMT_11 \
"SELECT local_relpath, op_depth, presence, kind " \
"FROM nodes_current " \
"WHERE wc_id = ?1 AND parent_relpath = ?2 " \
""
-#define STMT_SELECT_ACTUAL_CHILDREN_INFO 13
-#define STMT_13 \
- "SELECT prop_reject, changelist, conflict_old, conflict_new, " \
- "conflict_working, tree_conflict_data, properties, local_relpath, " \
- "conflict_data " \
+#define STMT_SELECT_ACTUAL_CHILDREN_INFO 12
+#define STMT_12_INFO {"STMT_SELECT_ACTUAL_CHILDREN_INFO", NULL}
+#define STMT_12 \
+ "SELECT local_relpath, changelist, properties, conflict_data " \
"FROM actual_node " \
"WHERE wc_id = ?1 AND parent_relpath = ?2 " \
""
-#define STMT_SELECT_REPOSITORY_BY_ID 14
-#define STMT_14 \
+#define STMT_SELECT_REPOSITORY_BY_ID 13
+#define STMT_13_INFO {"STMT_SELECT_REPOSITORY_BY_ID", NULL}
+#define STMT_13 \
"SELECT root, uuid FROM repository WHERE id = ?1 " \
""
-#define STMT_SELECT_WCROOT_NULL 15
-#define STMT_15 \
+#define STMT_SELECT_WCROOT_NULL 14
+#define STMT_14_INFO {"STMT_SELECT_WCROOT_NULL", NULL}
+#define STMT_14 \
"SELECT id FROM wcroot WHERE local_abspath IS NULL " \
""
-#define STMT_SELECT_REPOSITORY 16
-#define STMT_16 \
+#define STMT_SELECT_REPOSITORY 15
+#define STMT_15_INFO {"STMT_SELECT_REPOSITORY", NULL}
+#define STMT_15 \
"SELECT id FROM repository WHERE root = ?1 " \
""
-#define STMT_INSERT_REPOSITORY 17
-#define STMT_17 \
+#define STMT_INSERT_REPOSITORY 16
+#define STMT_16_INFO {"STMT_INSERT_REPOSITORY", NULL}
+#define STMT_16 \
"INSERT INTO repository (root, uuid) VALUES (?1, ?2) " \
""
-#define STMT_INSERT_NODE 18
-#define STMT_18 \
+#define STMT_INSERT_NODE 17
+#define STMT_17_INFO {"STMT_INSERT_NODE", NULL}
+#define STMT_17 \
"INSERT OR REPLACE INTO nodes ( " \
" wc_id, local_relpath, op_depth, parent_relpath, repos_id, repos_path, " \
" revision, presence, depth, kind, changed_revision, changed_date, " \
" changed_author, checksum, properties, translated_size, last_mod_time, " \
- " dav_cache, symlink_target, file_external) " \
+ " dav_cache, symlink_target, file_external, moved_to, moved_here, " \
+ " inherited_props) " \
"VALUES (?1, ?2, ?3, ?4, ?5, ?6, ?7, ?8, ?9, ?10, ?11, ?12, ?13, ?14, " \
- " ?15, ?16, ?17, ?18, ?19, ?20) " \
+ " ?15, ?16, ?17, ?18, ?19, ?20, ?21, ?22, ?23) " \
+ ""
+
+#define STMT_SELECT_BASE_PRESENT 18
+#define STMT_18_INFO {"STMT_SELECT_BASE_PRESENT", NULL}
+#define STMT_18 \
+ "SELECT local_relpath, kind FROM nodes n " \
+ "WHERE wc_id = ?1 AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
+ " AND op_depth = 0 " \
+ " AND presence in ('normal', 'incomplete') " \
+ " AND NOT EXISTS(SELECT 1 FROM NODES w " \
+ " WHERE w.wc_id = ?1 AND w.local_relpath = n.local_relpath " \
+ " AND op_depth > 0) " \
+ "ORDER BY local_relpath DESC " \
""
-#define STMT_SELECT_OP_DEPTH_CHILDREN 19
+#define STMT_SELECT_WORKING_PRESENT 19
+#define STMT_19_INFO {"STMT_SELECT_WORKING_PRESENT", NULL}
#define STMT_19 \
- "SELECT local_relpath FROM nodes " \
- "WHERE wc_id = ?1 AND parent_relpath = ?2 AND op_depth = ?3 " \
- " AND (?3 != 0 OR file_external is NULL) " \
+ "SELECT local_relpath, kind, checksum, translated_size, last_mod_time " \
+ "FROM nodes n " \
+ "WHERE wc_id = ?1 " \
+ " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
+ " AND presence in ('normal', 'incomplete') " \
+ " AND op_depth = (SELECT MAX(op_depth) " \
+ " FROM NODES w " \
+ " WHERE w.wc_id = ?1 " \
+ " AND w.local_relpath = n.local_relpath) " \
+ "ORDER BY local_relpath DESC " \
""
-#define STMT_SELECT_GE_OP_DEPTH_CHILDREN 20
+#define STMT_DELETE_NODE_RECURSIVE 20
+#define STMT_20_INFO {"STMT_DELETE_NODE_RECURSIVE", NULL}
#define STMT_20 \
+ "DELETE FROM NODES " \
+ "WHERE wc_id = ?1 " \
+ " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
+ ""
+
+#define STMT_DELETE_NODE 21
+#define STMT_21_INFO {"STMT_DELETE_NODE", NULL}
+#define STMT_21 \
+ "DELETE " \
+ "FROM NODES " \
+ "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = ?3 " \
+ ""
+
+#define STMT_DELETE_ACTUAL_FOR_BASE_RECURSIVE 22
+#define STMT_22_INFO {"STMT_DELETE_ACTUAL_FOR_BASE_RECURSIVE", NULL}
+#define STMT_22 \
+ "DELETE FROM actual_node " \
+ "WHERE wc_id = ?1 AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
+ " AND EXISTS(SELECT 1 FROM NODES b " \
+ " WHERE b.wc_id = ?1 " \
+ " AND b.local_relpath = actual_node.local_relpath " \
+ " AND op_depth = 0) " \
+ " AND NOT EXISTS(SELECT 1 FROM NODES w " \
+ " WHERE w.wc_id = ?1 " \
+ " AND w.local_relpath = actual_node.local_relpath " \
+ " AND op_depth > 0 " \
+ " AND presence in ('normal', 'incomplete', 'not-present')) " \
+ ""
+
+#define STMT_DELETE_WORKING_BASE_DELETE 23
+#define STMT_23_INFO {"STMT_DELETE_WORKING_BASE_DELETE", NULL}
+#define STMT_23 \
+ "DELETE FROM nodes " \
+ "WHERE wc_id = ?1 AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
+ " AND presence = 'base-deleted' " \
+ " AND op_depth > 0 " \
+ " AND op_depth = (SELECT MIN(op_depth) FROM nodes n " \
+ " WHERE n.wc_id = ?1 " \
+ " AND n.local_relpath = nodes.local_relpath " \
+ " AND op_depth > 0) " \
+ ""
+
+#define STMT_DELETE_WORKING_RECURSIVE 24
+#define STMT_24_INFO {"STMT_DELETE_WORKING_RECURSIVE", NULL}
+#define STMT_24 \
+ "DELETE FROM nodes " \
+ "WHERE wc_id = ?1 AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
+ " AND op_depth > 0 " \
+ ""
+
+#define STMT_DELETE_BASE_RECURSIVE 25
+#define STMT_25_INFO {"STMT_DELETE_BASE_RECURSIVE", NULL}
+#define STMT_25 \
+ "DELETE FROM nodes " \
+ "WHERE wc_id = ?1 AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
+ " AND op_depth = 0 " \
+ ""
+
+#define STMT_DELETE_WORKING_OP_DEPTH 26
+#define STMT_26_INFO {"STMT_DELETE_WORKING_OP_DEPTH", NULL}
+#define STMT_26 \
+ "DELETE FROM nodes " \
+ "WHERE wc_id = ?1 " \
+ " AND (local_relpath = ?2 OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \
+ " AND op_depth = ?3 " \
+ ""
+
+#define STMT_DELETE_WORKING_OP_DEPTH_ABOVE 27
+#define STMT_27_INFO {"STMT_DELETE_WORKING_OP_DEPTH_ABOVE", NULL}
+#define STMT_27 \
+ "DELETE FROM nodes " \
+ "WHERE wc_id = ?1 " \
+ " AND (local_relpath = ?2 OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \
+ " AND op_depth > ?3 " \
+ ""
+
+#define STMT_SELECT_LOCAL_RELPATH_OP_DEPTH 28
+#define STMT_28_INFO {"STMT_SELECT_LOCAL_RELPATH_OP_DEPTH", NULL}
+#define STMT_28 \
+ "SELECT local_relpath " \
+ "FROM nodes " \
+ "WHERE wc_id = ?1 " \
+ " AND (local_relpath = ?2 OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \
+ " AND op_depth = ?3 " \
+ ""
+
+#define STMT_SELECT_CHILDREN_OP_DEPTH 29
+#define STMT_29_INFO {"STMT_SELECT_CHILDREN_OP_DEPTH", NULL}
+#define STMT_29 \
+ "SELECT local_relpath, kind " \
+ "FROM nodes " \
+ "WHERE wc_id = ?1 " \
+ " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
+ " AND op_depth = ?3 " \
+ "ORDER BY local_relpath DESC " \
+ ""
+
+#define STMT_COPY_NODE_MOVE 30
+#define STMT_30_INFO {"STMT_COPY_NODE_MOVE", NULL}
+#define STMT_30 \
+ "INSERT OR REPLACE INTO nodes ( " \
+ " wc_id, local_relpath, op_depth, parent_relpath, repos_id, repos_path, " \
+ " revision, presence, depth, kind, changed_revision, changed_date, " \
+ " changed_author, checksum, properties, translated_size, last_mod_time, " \
+ " symlink_target, moved_here, moved_to ) " \
+ "SELECT " \
+ " wc_id, ?4 , ?5 , ?6 , " \
+ " repos_id, " \
+ " repos_path, revision, presence, depth, kind, changed_revision, " \
+ " changed_date, changed_author, checksum, properties, translated_size, " \
+ " last_mod_time, symlink_target, 1, " \
+ " (SELECT dst.moved_to FROM nodes AS dst " \
+ " WHERE dst.wc_id = ?1 " \
+ " AND dst.local_relpath = ?4 " \
+ " AND dst.op_depth = ?5) " \
+ "FROM nodes " \
+ "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = ?3 " \
+ ""
+
+#define STMT_SELECT_OP_DEPTH_CHILDREN 31
+#define STMT_31_INFO {"STMT_SELECT_OP_DEPTH_CHILDREN", NULL}
+#define STMT_31 \
+ "SELECT local_relpath, kind FROM nodes " \
+ "WHERE wc_id = ?1 " \
+ " AND parent_relpath = ?2 " \
+ " AND op_depth = ?3 " \
+ " AND presence != 'base-deleted' " \
+ " AND file_external is NULL " \
+ ""
+
+#define STMT_SELECT_GE_OP_DEPTH_CHILDREN 32
+#define STMT_32_INFO {"STMT_SELECT_GE_OP_DEPTH_CHILDREN", NULL}
+#define STMT_32 \
"SELECT 1 FROM nodes " \
"WHERE wc_id = ?1 AND parent_relpath = ?2 " \
" AND (op_depth > ?3 OR (op_depth = ?3 AND presence != 'base-deleted')) " \
- "UNION " \
- "SELECT 1 FROM ACTUAL_NODE " \
+ "UNION ALL " \
+ "SELECT 1 FROM ACTUAL_NODE a " \
"WHERE wc_id = ?1 AND parent_relpath = ?2 " \
+ " AND NOT EXISTS (SELECT 1 FROM nodes n " \
+ " WHERE wc_id = ?1 AND n.local_relpath = a.local_relpath) " \
""
-#define STMT_DELETE_SHADOWED_RECURSIVE 21
-#define STMT_21 \
+#define STMT_DELETE_SHADOWED_RECURSIVE 33
+#define STMT_33_INFO {"STMT_DELETE_SHADOWED_RECURSIVE", NULL}
+#define STMT_33 \
"DELETE FROM nodes " \
"WHERE wc_id = ?1 " \
- " AND (local_relpath = ?2 " \
- " OR ((local_relpath) > (?2) || '/' AND (local_relpath) < (?2) || '0') ) " \
+ " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
" AND (op_depth < ?3 " \
" OR (op_depth = ?3 AND presence = 'base-deleted')) " \
""
-#define STMT_SELECT_NOT_PRESENT_DESCENDANTS 22
-#define STMT_22 \
+#define STMT_CLEAR_MOVED_TO_FROM_DEST 34
+#define STMT_34_INFO {"STMT_CLEAR_MOVED_TO_FROM_DEST", NULL}
+#define STMT_34 \
+ "UPDATE NODES SET moved_to = NULL " \
+ "WHERE wc_id = ?1 " \
+ " AND moved_to = ?2 " \
+ ""
+
+#define STMT_SELECT_NOT_PRESENT_DESCENDANTS 35
+#define STMT_35_INFO {"STMT_SELECT_NOT_PRESENT_DESCENDANTS", NULL}
+#define STMT_35 \
"SELECT local_relpath FROM nodes " \
"WHERE wc_id = ?1 AND op_depth = ?3 " \
- " AND (parent_relpath = ?2 " \
- " OR ((parent_relpath) > (?2) || '/' AND (parent_relpath) < (?2) || '0') ) " \
- " AND presence == 'not-present' " \
+ " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
+ " AND presence = 'not-present' " \
""
-#define STMT_COMMIT_DESCENDANT_TO_BASE 23
-#define STMT_23 \
- "UPDATE NODES SET op_depth = 0, repos_id = ?4, repos_path = ?5, revision = ?6, " \
- " moved_here = NULL, moved_to = NULL, dav_cache = NULL, " \
- " presence = CASE presence WHEN 'normal' THEN 'normal' " \
- " WHEN 'excluded' THEN 'excluded' " \
- " ELSE 'not-present' END " \
- "WHERE wc_id = ?1 AND local_relpath = ?2 and op_depth = ?3 " \
+#define STMT_COMMIT_DESCENDANTS_TO_BASE 36
+#define STMT_36_INFO {"STMT_COMMIT_DESCENDANTS_TO_BASE", NULL}
+#define STMT_36 \
+ "UPDATE NODES SET op_depth = 0, " \
+ " repos_id = ?4, " \
+ " repos_path = ?5 || SUBSTR(local_relpath, LENGTH(?2)+1), " \
+ " revision = ?6, " \
+ " dav_cache = NULL, " \
+ " moved_here = NULL, " \
+ " presence = CASE presence " \
+ " WHEN 'normal' THEN 'normal' " \
+ " WHEN 'excluded' THEN 'excluded' " \
+ " ELSE 'not-present' " \
+ " END " \
+ "WHERE wc_id = ?1 " \
+ " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
+ " AND op_depth = ?3 " \
""
-#define STMT_SELECT_NODE_CHILDREN 24
-#define STMT_24 \
+#define STMT_SELECT_NODE_CHILDREN 37
+#define STMT_37_INFO {"STMT_SELECT_NODE_CHILDREN", NULL}
+#define STMT_37 \
"SELECT local_relpath FROM nodes " \
"WHERE wc_id = ?1 AND parent_relpath = ?2 " \
""
-#define STMT_SELECT_WORKING_CHILDREN 25
-#define STMT_25 \
+#define STMT_SELECT_WORKING_CHILDREN 38
+#define STMT_38_INFO {"STMT_SELECT_WORKING_CHILDREN", NULL}
+#define STMT_38 \
"SELECT local_relpath FROM nodes " \
"WHERE wc_id = ?1 AND parent_relpath = ?2 " \
" AND (op_depth > (SELECT MAX(op_depth) FROM nodes " \
@@ -231,475 +420,532 @@
" AND presence != 'base-deleted')) " \
""
-#define STMT_SELECT_BASE_PROPS 26
-#define STMT_26 \
- "SELECT properties FROM nodes " \
- "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \
- ""
-
-#define STMT_SELECT_NODE_PROPS 27
-#define STMT_27 \
+#define STMT_SELECT_NODE_PROPS 39
+#define STMT_39_INFO {"STMT_SELECT_NODE_PROPS", NULL}
+#define STMT_39 \
"SELECT properties, presence FROM nodes " \
"WHERE wc_id = ?1 AND local_relpath = ?2 " \
"ORDER BY op_depth DESC " \
""
-#define STMT_SELECT_ACTUAL_PROPS 28
-#define STMT_28 \
+#define STMT_SELECT_ACTUAL_PROPS 40
+#define STMT_40_INFO {"STMT_SELECT_ACTUAL_PROPS", NULL}
+#define STMT_40 \
"SELECT properties FROM actual_node " \
"WHERE wc_id = ?1 AND local_relpath = ?2 " \
""
-#define STMT_UPDATE_NODE_BASE_PROPS 29
-#define STMT_29 \
- "UPDATE nodes SET properties = ?3 " \
- "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \
- ""
-
-#define STMT_UPDATE_NODE_WORKING_PROPS 30
-#define STMT_30 \
- "UPDATE nodes SET properties = ?3 " \
- "WHERE wc_id = ?1 AND local_relpath = ?2 " \
- " AND op_depth = " \
- " (SELECT MAX(op_depth) FROM nodes " \
- " WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth > 0) " \
- ""
-
-#define STMT_UPDATE_ACTUAL_PROPS 31
-#define STMT_31 \
+#define STMT_UPDATE_ACTUAL_PROPS 41
+#define STMT_41_INFO {"STMT_UPDATE_ACTUAL_PROPS", NULL}
+#define STMT_41 \
"UPDATE actual_node SET properties = ?3 " \
"WHERE wc_id = ?1 AND local_relpath = ?2 " \
""
-#define STMT_INSERT_ACTUAL_PROPS 32
-#define STMT_32 \
+#define STMT_INSERT_ACTUAL_PROPS 42
+#define STMT_42_INFO {"STMT_INSERT_ACTUAL_PROPS", NULL}
+#define STMT_42 \
"INSERT INTO actual_node (wc_id, local_relpath, parent_relpath, properties) " \
"VALUES (?1, ?2, ?3, ?4) " \
""
-#define STMT_INSERT_LOCK 33
-#define STMT_33 \
+#define STMT_INSERT_LOCK 43
+#define STMT_43_INFO {"STMT_INSERT_LOCK", NULL}
+#define STMT_43 \
"INSERT OR REPLACE INTO lock " \
"(repos_id, repos_relpath, lock_token, lock_owner, lock_comment, " \
" lock_date) " \
"VALUES (?1, ?2, ?3, ?4, ?5, ?6) " \
""
-#define STMT_SELECT_BASE_NODE_LOCK_TOKENS_RECURSIVE 34
-#define STMT_34 \
+#define STMT_SELECT_BASE_NODE_LOCK_TOKENS_RECURSIVE 44
+#define STMT_44_INFO {"STMT_SELECT_BASE_NODE_LOCK_TOKENS_RECURSIVE", NULL}
+#define STMT_44 \
"SELECT nodes.repos_id, nodes.repos_path, lock_token " \
"FROM nodes " \
"LEFT JOIN lock ON nodes.repos_id = lock.repos_id " \
" AND nodes.repos_path = lock.repos_relpath " \
"WHERE wc_id = ?1 AND op_depth = 0 " \
- " AND (?2 = '' " \
- " OR local_relpath = ?2 " \
- " OR ((local_relpath) > (?2) || '/' AND (local_relpath) < (?2) || '0') ) " \
+ " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
""
-#define STMT_INSERT_WCROOT 35
-#define STMT_35 \
+#define STMT_INSERT_WCROOT 45
+#define STMT_45_INFO {"STMT_INSERT_WCROOT", NULL}
+#define STMT_45 \
"INSERT INTO wcroot (local_abspath) " \
"VALUES (?1) " \
""
-#define STMT_UPDATE_BASE_NODE_DAV_CACHE 36
-#define STMT_36 \
+#define STMT_UPDATE_BASE_NODE_DAV_CACHE 46
+#define STMT_46_INFO {"STMT_UPDATE_BASE_NODE_DAV_CACHE", NULL}
+#define STMT_46 \
"UPDATE nodes SET dav_cache = ?3 " \
"WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \
""
-#define STMT_SELECT_BASE_DAV_CACHE 37
-#define STMT_37 \
+#define STMT_SELECT_BASE_DAV_CACHE 47
+#define STMT_47_INFO {"STMT_SELECT_BASE_DAV_CACHE", NULL}
+#define STMT_47 \
"SELECT dav_cache FROM nodes " \
"WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \
""
-#define STMT_SELECT_DELETION_INFO 38
-#define STMT_38 \
- "SELECT nodes_base.presence, nodes_work.presence, nodes_work.moved_to, " \
- " nodes_work.op_depth " \
- "FROM nodes AS nodes_work " \
- "LEFT OUTER JOIN nodes nodes_base ON nodes_base.wc_id = nodes_work.wc_id " \
- " AND nodes_base.local_relpath = nodes_work.local_relpath " \
- " AND nodes_base.op_depth = 0 " \
- "WHERE nodes_work.wc_id = ?1 AND nodes_work.local_relpath = ?2 " \
- " AND nodes_work.op_depth = (SELECT MAX(op_depth) FROM nodes " \
- " WHERE wc_id = ?1 AND local_relpath = ?2 " \
- " AND op_depth > 0) " \
- ""
-
-#define STMT_DELETE_LOCK 39
-#define STMT_39 \
+#define STMT_SELECT_DELETION_INFO 48
+#define STMT_48_INFO {"STMT_SELECT_DELETION_INFO", NULL}
+#define STMT_48 \
+ "SELECT (SELECT b.presence FROM nodes AS b " \
+ " WHERE b.wc_id = ?1 AND b.local_relpath = ?2 AND b.op_depth = 0), " \
+ " work.presence, work.op_depth " \
+ "FROM nodes_current AS work " \
+ "WHERE work.wc_id = ?1 AND work.local_relpath = ?2 AND work.op_depth > 0 " \
+ "LIMIT 1 " \
+ ""
+
+#define STMT_SELECT_DELETION_INFO_SCAN 49
+#define STMT_49_INFO {"STMT_SELECT_DELETION_INFO_SCAN", NULL}
+#define STMT_49 \
+ "SELECT (SELECT b.presence FROM nodes AS b " \
+ " WHERE b.wc_id = ?1 AND b.local_relpath = ?2 AND b.op_depth = 0), " \
+ " work.presence, work.op_depth, moved.moved_to " \
+ "FROM nodes_current AS work " \
+ "LEFT OUTER JOIN nodes AS moved " \
+ " ON moved.wc_id = work.wc_id " \
+ " AND moved.local_relpath = work.local_relpath " \
+ " AND moved.moved_to IS NOT NULL " \
+ "WHERE work.wc_id = ?1 AND work.local_relpath = ?2 AND work.op_depth > 0 " \
+ "LIMIT 1 " \
+ ""
+
+#define STMT_SELECT_MOVED_TO_NODE 50
+#define STMT_50_INFO {"STMT_SELECT_MOVED_TO_NODE", NULL}
+#define STMT_50 \
+ "SELECT op_depth, moved_to " \
+ "FROM nodes " \
+ "WHERE wc_id = ?1 AND local_relpath = ?2 AND moved_to IS NOT NULL " \
+ "ORDER BY op_depth DESC " \
+ ""
+
+#define STMT_SELECT_OP_DEPTH_MOVED_TO 51
+#define STMT_51_INFO {"STMT_SELECT_OP_DEPTH_MOVED_TO", NULL}
+#define STMT_51 \
+ "SELECT op_depth, moved_to, repos_path, revision " \
+ "FROM nodes " \
+ "WHERE wc_id = ?1 AND local_relpath = ?2 " \
+ " AND op_depth <= (SELECT MIN(op_depth) FROM nodes " \
+ " WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth > ?3) " \
+ "ORDER BY op_depth DESC " \
+ ""
+
+#define STMT_SELECT_MOVED_TO 52
+#define STMT_52_INFO {"STMT_SELECT_MOVED_TO", NULL}
+#define STMT_52 \
+ "SELECT moved_to " \
+ "FROM nodes " \
+ "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = ?3 " \
+ ""
+
+#define STMT_SELECT_MOVED_HERE 53
+#define STMT_53_INFO {"STMT_SELECT_MOVED_HERE", NULL}
+#define STMT_53 \
+ "SELECT moved_here, presence, repos_path, revision " \
+ "FROM nodes " \
+ "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth >= ?3 " \
+ "ORDER BY op_depth " \
+ ""
+
+#define STMT_SELECT_MOVED_BACK 54
+#define STMT_54_INFO {"STMT_SELECT_MOVED_BACK", NULL}
+#define STMT_54 \
+ "SELECT u.local_relpath, " \
+ " u.presence, u.repos_id, u.repos_path, u.revision, " \
+ " l.presence, l.repos_id, l.repos_path, l.revision, " \
+ " u.moved_here, u.moved_to " \
+ "FROM nodes u " \
+ "LEFT OUTER JOIN nodes l ON l.wc_id = ?1 " \
+ " AND l.local_relpath = u.local_relpath " \
+ " AND l.op_depth = ?3 " \
+ "WHERE u.wc_id = ?1 " \
+ " AND u.local_relpath = ?2 " \
+ " AND u.op_depth = ?4 " \
+ "UNION ALL " \
+ "SELECT u.local_relpath, " \
+ " u.presence, u.repos_id, u.repos_path, u.revision, " \
+ " l.presence, l.repos_id, l.repos_path, l.revision, " \
+ " u.moved_here, NULL " \
+ "FROM nodes u " \
+ "LEFT OUTER JOIN nodes l ON l.wc_id=?1 " \
+ " AND l.local_relpath=u.local_relpath " \
+ " AND l.op_depth=?3 " \
+ "WHERE u.wc_id = ?1 " \
+ " AND (((u.local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((u.local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
+ " AND u.op_depth = ?4 " \
+ ""
+
+#define STMT_DELETE_MOVED_BACK 55
+#define STMT_55_INFO {"STMT_DELETE_MOVED_BACK", NULL}
+#define STMT_55 \
+ "DELETE FROM nodes " \
+ "WHERE wc_id = ?1 " \
+ " AND (local_relpath = ?2 " \
+ " OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \
+ " AND op_depth = ?3 " \
+ ""
+
+#define STMT_DELETE_LOCK 56
+#define STMT_56_INFO {"STMT_DELETE_LOCK", NULL}
+#define STMT_56 \
"DELETE FROM lock " \
"WHERE repos_id = ?1 AND repos_relpath = ?2 " \
""
-#define STMT_CLEAR_BASE_NODE_RECURSIVE_DAV_CACHE 40
-#define STMT_40 \
+#define STMT_DELETE_LOCK_RECURSIVELY 57
+#define STMT_57_INFO {"STMT_DELETE_LOCK_RECURSIVELY", NULL}
+#define STMT_57 \
+ "DELETE FROM lock " \
+ "WHERE repos_id = ?1 AND (repos_relpath = ?2 OR (((repos_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((repos_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \
+ ""
+
+#define STMT_CLEAR_BASE_NODE_RECURSIVE_DAV_CACHE 58
+#define STMT_58_INFO {"STMT_CLEAR_BASE_NODE_RECURSIVE_DAV_CACHE", NULL}
+#define STMT_58 \
"UPDATE nodes SET dav_cache = NULL " \
"WHERE dav_cache IS NOT NULL AND wc_id = ?1 AND op_depth = 0 " \
- " AND (?2 = '' " \
- " OR local_relpath = ?2 " \
- " OR ((local_relpath) > (?2) || '/' AND (local_relpath) < (?2) || '0') ) " \
+ " AND (local_relpath = ?2 " \
+ " OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \
""
-#define STMT_RECURSIVE_UPDATE_NODE_REPO 41
-#define STMT_41 \
+#define STMT_RECURSIVE_UPDATE_NODE_REPO 59
+#define STMT_59_INFO {"STMT_RECURSIVE_UPDATE_NODE_REPO", NULL}
+#define STMT_59 \
"UPDATE nodes SET repos_id = ?4, dav_cache = NULL " \
- "WHERE wc_id = ?1 " \
- " AND repos_id = ?3 " \
- " AND (?2 = '' " \
- " OR local_relpath = ?2 " \
- " OR ((local_relpath) > (?2) || '/' AND (local_relpath) < (?2) || '0') ) " \
+ "WHERE (wc_id = ?1 AND local_relpath = ?2 AND repos_id = ?3) " \
+ " OR (wc_id = ?1 AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
+ " AND repos_id = ?3) " \
""
-#define STMT_UPDATE_LOCK_REPOS_ID 42
-#define STMT_42 \
+#define STMT_UPDATE_LOCK_REPOS_ID 60
+#define STMT_60_INFO {"STMT_UPDATE_LOCK_REPOS_ID", NULL}
+#define STMT_60 \
"UPDATE lock SET repos_id = ?2 " \
"WHERE repos_id = ?1 " \
""
-#define STMT_UPDATE_NODE_FILEINFO 43
-#define STMT_43 \
+#define STMT_UPDATE_NODE_FILEINFO 61
+#define STMT_61_INFO {"STMT_UPDATE_NODE_FILEINFO", NULL}
+#define STMT_61 \
"UPDATE nodes SET translated_size = ?3, last_mod_time = ?4 " \
"WHERE wc_id = ?1 AND local_relpath = ?2 " \
" AND op_depth = (SELECT MAX(op_depth) FROM nodes " \
" WHERE wc_id = ?1 AND local_relpath = ?2) " \
""
-#define STMT_UPDATE_ACTUAL_TREE_CONFLICTS 44
-#define STMT_44 \
- "UPDATE actual_node SET tree_conflict_data = ?3 " \
- "WHERE wc_id = ?1 AND local_relpath = ?2 " \
- ""
-
-#define STMT_INSERT_ACTUAL_TREE_CONFLICTS 45
-#define STMT_45 \
- "INSERT INTO actual_node ( " \
- " wc_id, local_relpath, tree_conflict_data, parent_relpath) " \
+#define STMT_INSERT_ACTUAL_CONFLICT 62
+#define STMT_62_INFO {"STMT_INSERT_ACTUAL_CONFLICT", NULL}
+#define STMT_62 \
+ "INSERT INTO actual_node (wc_id, local_relpath, conflict_data, parent_relpath) " \
"VALUES (?1, ?2, ?3, ?4) " \
""
-#define STMT_UPDATE_ACTUAL_TEXT_CONFLICTS 46
-#define STMT_46 \
- "UPDATE actual_node SET conflict_old = ?3, conflict_new = ?4, " \
- " conflict_working = ?5 " \
- "WHERE wc_id = ?1 AND local_relpath = ?2 " \
- ""
-
-#define STMT_INSERT_ACTUAL_TEXT_CONFLICTS 47
-#define STMT_47 \
- "INSERT INTO actual_node ( " \
- " wc_id, local_relpath, conflict_old, conflict_new, conflict_working, " \
- " parent_relpath) " \
- "VALUES (?1, ?2, ?3, ?4, ?5, ?6) " \
- ""
-
-#define STMT_UPDATE_ACTUAL_PROPERTY_CONFLICTS 48
-#define STMT_48 \
- "UPDATE actual_node SET prop_reject = ?3 " \
+#define STMT_UPDATE_ACTUAL_CONFLICT 63
+#define STMT_63_INFO {"STMT_UPDATE_ACTUAL_CONFLICT", NULL}
+#define STMT_63 \
+ "UPDATE actual_node SET conflict_data = ?3 " \
"WHERE wc_id = ?1 AND local_relpath = ?2 " \
""
-#define STMT_INSERT_ACTUAL_PROPERTY_CONFLICTS 49
-#define STMT_49 \
- "INSERT INTO actual_node ( " \
- " wc_id, local_relpath, prop_reject, parent_relpath) " \
- "VALUES (?1, ?2, ?3, ?4) " \
- ""
-
-#define STMT_UPDATE_ACTUAL_CHANGELISTS 50
-#define STMT_50 \
- "UPDATE actual_node SET changelist = ?2 " \
- "WHERE wc_id = ?1 AND local_relpath IN " \
- "(SELECT local_relpath FROM targets_list WHERE kind = 'file' AND wc_id = ?1) " \
+#define STMT_UPDATE_ACTUAL_CHANGELISTS 64
+#define STMT_64_INFO {"STMT_UPDATE_ACTUAL_CHANGELISTS", NULL}
+#define STMT_64 \
+ "UPDATE actual_node SET changelist = ?3 " \
+ "WHERE wc_id = ?1 " \
+ " AND (local_relpath = ?2 OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \
+ " AND local_relpath = (SELECT local_relpath FROM targets_list AS t " \
+ " WHERE wc_id = ?1 " \
+ " AND t.local_relpath = actual_node.local_relpath " \
+ " AND kind = 'file') " \
""
-#define STMT_UPDATE_ACTUAL_CLEAR_CHANGELIST 51
-#define STMT_51 \
+#define STMT_UPDATE_ACTUAL_CLEAR_CHANGELIST 65
+#define STMT_65_INFO {"STMT_UPDATE_ACTUAL_CLEAR_CHANGELIST", NULL}
+#define STMT_65 \
"UPDATE actual_node SET changelist = NULL " \
" WHERE wc_id = ?1 AND local_relpath = ?2 " \
""
-#define STMT_MARK_SKIPPED_CHANGELIST_DIRS 52
-#define STMT_52 \
+#define STMT_MARK_SKIPPED_CHANGELIST_DIRS 66
+#define STMT_66_INFO {"STMT_MARK_SKIPPED_CHANGELIST_DIRS", NULL}
+#define STMT_66 \
"INSERT INTO changelist_list (wc_id, local_relpath, notify, changelist) " \
- "SELECT wc_id, local_relpath, 7, ?1 FROM targets_list WHERE kind = 'dir' " \
+ "SELECT wc_id, local_relpath, 7, ?3 " \
+ "FROM targets_list " \
+ "WHERE wc_id = ?1 " \
+ " AND (local_relpath = ?2 OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \
+ " AND kind = 'dir' " \
""
-#define STMT_RESET_ACTUAL_WITH_CHANGELIST 53
-#define STMT_53 \
+#define STMT_RESET_ACTUAL_WITH_CHANGELIST 67
+#define STMT_67_INFO {"STMT_RESET_ACTUAL_WITH_CHANGELIST", NULL}
+#define STMT_67 \
"REPLACE INTO actual_node ( " \
" wc_id, local_relpath, parent_relpath, changelist) " \
"VALUES (?1, ?2, ?3, ?4) " \
""
-#define STMT_CREATE_CHANGELIST_LIST 54
-#define STMT_54 \
+#define STMT_CREATE_CHANGELIST_LIST 68
+#define STMT_68_INFO {"STMT_CREATE_CHANGELIST_LIST", NULL}
+#define STMT_68 \
"DROP TABLE IF EXISTS changelist_list; " \
"CREATE TEMPORARY TABLE changelist_list ( " \
" wc_id INTEGER NOT NULL, " \
" local_relpath TEXT NOT NULL, " \
- " notify INTEGER, " \
- " changelist TEXT NOT NULL " \
- " ); " \
- "CREATE INDEX changelist_list_index ON changelist_list(wc_id, local_relpath); " \
- "DROP TRIGGER IF EXISTS trigger_changelist_list_actual_cl_insert; " \
- "CREATE TEMPORARY TRIGGER trigger_changelist_list_actual_cl_insert " \
- "BEFORE INSERT ON actual_node " \
- "BEGIN " \
- " INSERT INTO changelist_list(wc_id, local_relpath, notify, changelist) " \
- " VALUES (NEW.wc_id, NEW.local_relpath, 26, NEW.changelist); " \
- "END; " \
- "DROP TRIGGER IF EXISTS trigger_changelist_list_actual_cl_clear; " \
- "CREATE TEMPORARY TRIGGER trigger_changelist_list_actual_cl_clear " \
- "BEFORE UPDATE ON actual_node " \
- "WHEN OLD.changelist IS NOT NULL AND " \
- " (OLD.changelist != NEW.changelist OR NEW.changelist IS NULL) " \
- "BEGIN " \
- " INSERT INTO changelist_list(wc_id, local_relpath, notify, changelist) " \
- " VALUES (OLD.wc_id, OLD.local_relpath, 27, OLD.changelist); " \
- "END; " \
- "DROP TRIGGER IF EXISTS trigger_changelist_list_actual_cl_set; " \
- "CREATE TEMPORARY TRIGGER trigger_changelist_list_actual_cl_set " \
+ " notify INTEGER NOT NULL, " \
+ " changelist TEXT NOT NULL, " \
+ " PRIMARY KEY (wc_id, local_relpath, notify DESC) " \
+ ") " \
+ ""
+
+#define STMT_CREATE_CHANGELIST_TRIGGER 69
+#define STMT_69_INFO {"STMT_CREATE_CHANGELIST_TRIGGER", NULL}
+#define STMT_69 \
+ "DROP TRIGGER IF EXISTS trigger_changelist_list_change; " \
+ "CREATE TEMPORARY TRIGGER trigger_changelist_list_change " \
"BEFORE UPDATE ON actual_node " \
- "WHEN NEW.CHANGELIST IS NOT NULL AND " \
- " (OLD.changelist != NEW.changelist OR OLD.changelist IS NULL) " \
+ "WHEN old.changelist IS NOT new.changelist " \
"BEGIN " \
- " INSERT INTO changelist_list(wc_id, local_relpath, notify, changelist) " \
- " VALUES (NEW.wc_id, NEW.local_relpath, 26, NEW.changelist); " \
+ " INSERT INTO changelist_list(wc_id, local_relpath, notify, changelist) " \
+ " SELECT old.wc_id, old.local_relpath, 27, old.changelist " \
+ " WHERE old.changelist is NOT NULL; " \
+ " INSERT INTO changelist_list(wc_id, local_relpath, notify, changelist) " \
+ " SELECT new.wc_id, new.local_relpath, 26, new.changelist " \
+ " WHERE new.changelist IS NOT NULL; " \
"END " \
""
-#define STMT_INSERT_CHANGELIST_LIST 55
-#define STMT_55 \
- "INSERT INTO changelist_list(wc_id, local_relpath, notify, changelist) " \
- "VALUES (?1, ?2, ?3, ?4) " \
- ""
-
-#define STMT_FINALIZE_CHANGELIST 56
-#define STMT_56 \
- "DROP TRIGGER IF EXISTS trigger_changelist_list_actual_cl_insert; " \
- "DROP TRIGGER IF EXISTS trigger_changelist_list_actual_cl_set; " \
- "DROP TRIGGER IF EXISTS trigger_changelist_list_actual_cl_clear; " \
- "DROP TABLE IF EXISTS changelist_list; " \
- "DROP TABLE IF EXISTS targets_list " \
+#define STMT_FINALIZE_CHANGELIST 70
+#define STMT_70_INFO {"STMT_FINALIZE_CHANGELIST", NULL}
+#define STMT_70 \
+ "DROP TRIGGER trigger_changelist_list_change; " \
+ "DROP TABLE changelist_list; " \
+ "DROP TABLE targets_list " \
""
-#define STMT_SELECT_CHANGELIST_LIST 57
-#define STMT_57 \
+#define STMT_SELECT_CHANGELIST_LIST 71
+#define STMT_71_INFO {"STMT_SELECT_CHANGELIST_LIST", NULL}
+#define STMT_71 \
"SELECT wc_id, local_relpath, notify, changelist " \
"FROM changelist_list " \
- "ORDER BY wc_id, local_relpath " \
+ "ORDER BY wc_id, local_relpath ASC, notify DESC " \
""
-#define STMT_CREATE_TARGETS_LIST 58
-#define STMT_58 \
+#define STMT_CREATE_TARGETS_LIST 72
+#define STMT_72_INFO {"STMT_CREATE_TARGETS_LIST", NULL}
+#define STMT_72 \
"DROP TABLE IF EXISTS targets_list; " \
"CREATE TEMPORARY TABLE targets_list ( " \
" wc_id INTEGER NOT NULL, " \
" local_relpath TEXT NOT NULL, " \
" parent_relpath TEXT, " \
- " kind TEXT NOT NULL " \
+ " kind TEXT NOT NULL, " \
+ " PRIMARY KEY (wc_id, local_relpath) " \
" ); " \
- "CREATE INDEX targets_list_kind " \
- " ON targets_list (kind) " \
""
-#define STMT_DROP_TARGETS_LIST 59
-#define STMT_59 \
- "DROP TABLE IF EXISTS targets_list " \
+#define STMT_DROP_TARGETS_LIST 73
+#define STMT_73_INFO {"STMT_DROP_TARGETS_LIST", NULL}
+#define STMT_73 \
+ "DROP TABLE targets_list " \
""
-#define STMT_INSERT_TARGET 60
-#define STMT_60 \
+#define STMT_INSERT_TARGET 74
+#define STMT_74_INFO {"STMT_INSERT_TARGET", NULL}
+#define STMT_74 \
"INSERT INTO targets_list(wc_id, local_relpath, parent_relpath, kind) " \
"SELECT wc_id, local_relpath, parent_relpath, kind " \
- "FROM nodes_current WHERE wc_id = ?1 AND local_relpath = ?2 " \
+ "FROM nodes_current " \
+ "WHERE wc_id = ?1 " \
+ " AND local_relpath = ?2 " \
""
-#define STMT_INSERT_TARGET_DEPTH_FILES 61
-#define STMT_61 \
+#define STMT_INSERT_TARGET_DEPTH_FILES 75
+#define STMT_75_INFO {"STMT_INSERT_TARGET_DEPTH_FILES", NULL}
+#define STMT_75 \
"INSERT INTO targets_list(wc_id, local_relpath, parent_relpath, kind) " \
"SELECT wc_id, local_relpath, parent_relpath, kind " \
"FROM nodes_current " \
- "WHERE wc_id = ?1 AND ((parent_relpath = ?2 AND kind = 'file') " \
- " OR local_relpath = ?2) " \
+ "WHERE wc_id = ?1 " \
+ " AND parent_relpath = ?2 " \
+ " AND kind = 'file' " \
""
-#define STMT_INSERT_TARGET_DEPTH_IMMEDIATES 62
-#define STMT_62 \
+#define STMT_INSERT_TARGET_DEPTH_IMMEDIATES 76
+#define STMT_76_INFO {"STMT_INSERT_TARGET_DEPTH_IMMEDIATES", NULL}
+#define STMT_76 \
"INSERT INTO targets_list(wc_id, local_relpath, parent_relpath, kind) " \
"SELECT wc_id, local_relpath, parent_relpath, kind " \
"FROM nodes_current " \
- "WHERE wc_id = ?1 AND (parent_relpath = ?2 OR local_relpath = ?2) " \
+ "WHERE wc_id = ?1 " \
+ " AND parent_relpath = ?2 " \
""
-#define STMT_INSERT_TARGET_DEPTH_INFINITY 63
-#define STMT_63 \
+#define STMT_INSERT_TARGET_DEPTH_INFINITY 77
+#define STMT_77_INFO {"STMT_INSERT_TARGET_DEPTH_INFINITY", NULL}
+#define STMT_77 \
"INSERT INTO targets_list(wc_id, local_relpath, parent_relpath, kind) " \
"SELECT wc_id, local_relpath, parent_relpath, kind " \
"FROM nodes_current " \
"WHERE wc_id = ?1 " \
- " AND (?2 = '' " \
- " OR local_relpath = ?2 " \
- " OR ((local_relpath) > (?2) || '/' AND (local_relpath) < (?2) || '0') ) " \
+ " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
""
-#define STMT_INSERT_TARGET_WITH_CHANGELIST 64
-#define STMT_64 \
+#define STMT_INSERT_TARGET_WITH_CHANGELIST 78
+#define STMT_78_INFO {"STMT_INSERT_TARGET_WITH_CHANGELIST", NULL}
+#define STMT_78 \
"INSERT INTO targets_list(wc_id, local_relpath, parent_relpath, kind) " \
"SELECT N.wc_id, N.local_relpath, N.parent_relpath, N.kind " \
" FROM actual_node AS A JOIN nodes_current AS N " \
" ON A.wc_id = N.wc_id AND A.local_relpath = N.local_relpath " \
- " WHERE N.wc_id = ?1 AND A.changelist = ?3 AND N.local_relpath = ?2 " \
+ " WHERE N.wc_id = ?1 " \
+ " AND N.local_relpath = ?2 " \
+ " AND A.changelist = ?3 " \
""
-#define STMT_INSERT_TARGET_WITH_CHANGELIST_DEPTH_FILES 65
-#define STMT_65 \
+#define STMT_INSERT_TARGET_WITH_CHANGELIST_DEPTH_FILES 79
+#define STMT_79_INFO {"STMT_INSERT_TARGET_WITH_CHANGELIST_DEPTH_FILES", NULL}
+#define STMT_79 \
"INSERT INTO targets_list(wc_id, local_relpath, parent_relpath, kind) " \
"SELECT N.wc_id, N.local_relpath, N.parent_relpath, N.kind " \
" FROM actual_node AS A JOIN nodes_current AS N " \
" ON A.wc_id = N.wc_id AND A.local_relpath = N.local_relpath " \
- " WHERE N.wc_id = ?1 AND A.changelist = ?3 " \
- " AND ((N.parent_relpath = ?2 AND kind = 'file') OR N.local_relpath = ?2) " \
+ " WHERE N.wc_id = ?1 " \
+ " AND N.parent_relpath = ?2 " \
+ " AND kind = 'file' " \
+ " AND A.changelist = ?3 " \
""
-#define STMT_INSERT_TARGET_WITH_CHANGELIST_DEPTH_IMMEDIATES 66
-#define STMT_66 \
+#define STMT_INSERT_TARGET_WITH_CHANGELIST_DEPTH_IMMEDIATES 80
+#define STMT_80_INFO {"STMT_INSERT_TARGET_WITH_CHANGELIST_DEPTH_IMMEDIATES", NULL}
+#define STMT_80 \
"INSERT INTO targets_list(wc_id, local_relpath, parent_relpath, kind) " \
"SELECT N.wc_id, N.local_relpath, N.parent_relpath, N.kind " \
" FROM actual_node AS A JOIN nodes_current AS N " \
" ON A.wc_id = N.wc_id AND A.local_relpath = N.local_relpath " \
- " WHERE N.wc_id = ?1 AND A.changelist = ?3 " \
- " AND (N.parent_relpath = ?2 OR N.local_relpath = ?2) " \
+ " WHERE N.wc_id = ?1 " \
+ " AND N.parent_relpath = ?2 " \
+ " AND A.changelist = ?3 " \
""
-#define STMT_INSERT_TARGET_WITH_CHANGELIST_DEPTH_INFINITY 67
-#define STMT_67 \
+#define STMT_INSERT_TARGET_WITH_CHANGELIST_DEPTH_INFINITY 81
+#define STMT_81_INFO {"STMT_INSERT_TARGET_WITH_CHANGELIST_DEPTH_INFINITY", NULL}
+#define STMT_81 \
"INSERT INTO targets_list(wc_id, local_relpath, parent_relpath, kind) " \
"SELECT N.wc_id, N.local_relpath, N.parent_relpath, N.kind " \
" FROM actual_node AS A JOIN nodes_current AS N " \
" ON A.wc_id = N.wc_id AND A.local_relpath = N.local_relpath " \
" WHERE N.wc_id = ?1 " \
- " AND (?2 = '' " \
- " OR N.local_relpath = ?2 " \
- " OR ((N.local_relpath) > (?2) || '/' AND (N.local_relpath) < (?2) || '0') ) " \
- " AND A.changelist = ?3 " \
- ""
-
-#define STMT_SELECT_TARGETS 68
-#define STMT_68 \
- "SELECT local_relpath, parent_relpath from targets_list " \
+ " AND (((N.local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((N.local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
+ " AND A.changelist = ?3 " \
""
-#define STMT_INSERT_ACTUAL_EMPTIES 69
-#define STMT_69 \
+#define STMT_INSERT_ACTUAL_EMPTIES 82
+#define STMT_82_INFO {"STMT_INSERT_ACTUAL_EMPTIES", NULL}
+#define STMT_82 \
"INSERT OR IGNORE INTO actual_node ( " \
- " wc_id, local_relpath, parent_relpath, properties, " \
- " conflict_old, conflict_new, conflict_working, " \
- " prop_reject, changelist, text_mod, tree_conflict_data ) " \
- "SELECT wc_id, local_relpath, parent_relpath, NULL, NULL, NULL, NULL, " \
- " NULL, NULL, NULL, NULL " \
+ " wc_id, local_relpath, parent_relpath) " \
+ "SELECT wc_id, local_relpath, parent_relpath " \
"FROM targets_list " \
""
-#define STMT_DELETE_ACTUAL_EMPTY 70
-#define STMT_70 \
+#define STMT_DELETE_ACTUAL_EMPTY 83
+#define STMT_83_INFO {"STMT_DELETE_ACTUAL_EMPTY", NULL}
+#define STMT_83 \
"DELETE FROM actual_node " \
"WHERE wc_id = ?1 AND local_relpath = ?2 " \
" AND properties IS NULL " \
- " AND conflict_old IS NULL " \
- " AND conflict_new IS NULL " \
- " AND prop_reject IS NULL " \
+ " AND conflict_data IS NULL " \
" AND changelist IS NULL " \
" AND text_mod IS NULL " \
- " AND tree_conflict_data IS NULL " \
" AND older_checksum IS NULL " \
" AND right_checksum IS NULL " \
" AND left_checksum IS NULL " \
""
-#define STMT_DELETE_ACTUAL_EMPTIES 71
-#define STMT_71 \
+#define STMT_DELETE_ACTUAL_EMPTIES 84
+#define STMT_84_INFO {"STMT_DELETE_ACTUAL_EMPTIES", NULL}
+#define STMT_84 \
"DELETE FROM actual_node " \
"WHERE wc_id = ?1 " \
+ " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
" AND properties IS NULL " \
- " AND conflict_old IS NULL " \
- " AND conflict_new IS NULL " \
- " AND prop_reject IS NULL " \
+ " AND conflict_data IS NULL " \
" AND changelist IS NULL " \
" AND text_mod IS NULL " \
- " AND tree_conflict_data IS NULL " \
" AND older_checksum IS NULL " \
" AND right_checksum IS NULL " \
" AND left_checksum IS NULL " \
""
-#define STMT_DELETE_BASE_NODE 72
-#define STMT_72 \
+#define STMT_DELETE_BASE_NODE 85
+#define STMT_85_INFO {"STMT_DELETE_BASE_NODE", NULL}
+#define STMT_85 \
"DELETE FROM nodes " \
"WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \
""
-#define STMT_DELETE_WORKING_NODE 73
-#define STMT_73 \
+#define STMT_DELETE_WORKING_NODE 86
+#define STMT_86_INFO {"STMT_DELETE_WORKING_NODE", NULL}
+#define STMT_86 \
"DELETE FROM nodes " \
"WHERE wc_id = ?1 AND local_relpath = ?2 " \
" AND op_depth = (SELECT MAX(op_depth) FROM nodes " \
" WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth > 0) " \
""
-#define STMT_DELETE_LOWEST_WORKING_NODE 74
-#define STMT_74 \
+#define STMT_DELETE_LOWEST_WORKING_NODE 87
+#define STMT_87_INFO {"STMT_DELETE_LOWEST_WORKING_NODE", NULL}
+#define STMT_87 \
"DELETE FROM nodes " \
"WHERE wc_id = ?1 AND local_relpath = ?2 " \
" AND op_depth = (SELECT MIN(op_depth) FROM nodes " \
- " WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth > 0) " \
+ " WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth > ?3) " \
" AND presence = 'base-deleted' " \
""
-#define STMT_DELETE_ALL_LAYERS 75
-#define STMT_75 \
+#define STMT_DELETE_NODE_ALL_LAYERS 88
+#define STMT_88_INFO {"STMT_DELETE_NODE_ALL_LAYERS", NULL}
+#define STMT_88 \
"DELETE FROM nodes " \
"WHERE wc_id = ?1 AND local_relpath = ?2 " \
""
-#define STMT_DELETE_NODES_RECURSIVE 76
-#define STMT_76 \
+#define STMT_DELETE_NODES_ABOVE_DEPTH_RECURSIVE 89
+#define STMT_89_INFO {"STMT_DELETE_NODES_ABOVE_DEPTH_RECURSIVE", NULL}
+#define STMT_89 \
"DELETE FROM nodes " \
"WHERE wc_id = ?1 " \
- " AND (?2 = '' " \
- " OR local_relpath = ?2 " \
- " OR ((local_relpath) > (?2) || '/' AND (local_relpath) < (?2) || '0') ) " \
+ " AND (local_relpath = ?2 " \
+ " OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \
" AND op_depth >= ?3 " \
""
-#define STMT_DELETE_ACTUAL_NODE 77
-#define STMT_77 \
+#define STMT_DELETE_ACTUAL_NODE 90
+#define STMT_90_INFO {"STMT_DELETE_ACTUAL_NODE", NULL}
+#define STMT_90 \
"DELETE FROM actual_node " \
"WHERE wc_id = ?1 AND local_relpath = ?2 " \
""
-#define STMT_DELETE_ACTUAL_NODE_RECURSIVE 78
-#define STMT_78 \
+#define STMT_DELETE_ACTUAL_NODE_RECURSIVE 91
+#define STMT_91_INFO {"STMT_DELETE_ACTUAL_NODE_RECURSIVE", NULL}
+#define STMT_91 \
"DELETE FROM actual_node " \
"WHERE wc_id = ?1 " \
- " AND (?2 = '' " \
- " OR local_relpath = ?2 " \
- " OR ((local_relpath) > (?2) || '/' AND (local_relpath) < (?2) || '0') ) " \
- ""
-
-#define STMT_DELETE_ACTUAL_NODE_WITHOUT_CONFLICT 79
-#define STMT_79 \
- "DELETE FROM actual_node " \
- "WHERE wc_id = ?1 AND local_relpath = ?2 " \
- " AND tree_conflict_data IS NULL " \
+ " AND (local_relpath = ?2 " \
+ " OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \
""
-#define STMT_DELETE_ACTUAL_NODE_LEAVING_CHANGELIST 80
-#define STMT_80 \
+#define STMT_DELETE_ACTUAL_NODE_LEAVING_CHANGELIST 92
+#define STMT_92_INFO {"STMT_DELETE_ACTUAL_NODE_LEAVING_CHANGELIST", NULL}
+#define STMT_92 \
"DELETE FROM actual_node " \
"WHERE wc_id = ?1 " \
" AND local_relpath = ?2 " \
@@ -709,13 +955,13 @@
" AND c.kind = 'file')) " \
""
-#define STMT_DELETE_ACTUAL_NODE_LEAVING_CHANGELIST_RECURSIVE 81
-#define STMT_81 \
+#define STMT_DELETE_ACTUAL_NODE_LEAVING_CHANGELIST_RECURSIVE 93
+#define STMT_93_INFO {"STMT_DELETE_ACTUAL_NODE_LEAVING_CHANGELIST_RECURSIVE", NULL}
+#define STMT_93 \
"DELETE FROM actual_node " \
"WHERE wc_id = ?1 " \
- " AND (?2 = '' " \
- " OR local_relpath = ?2 " \
- " OR ((local_relpath) > (?2) || '/' AND (local_relpath) < (?2) || '0') ) " \
+ " AND (local_relpath = ?2 " \
+ " OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \
" AND (changelist IS NULL " \
" OR NOT EXISTS (SELECT 1 FROM nodes_current c " \
" WHERE c.wc_id = ?1 " \
@@ -723,211 +969,211 @@
" AND c.kind = 'file')) " \
""
-#define STMT_CLEAR_ACTUAL_NODE_LEAVING_CHANGELIST 82
-#define STMT_82 \
+#define STMT_CLEAR_ACTUAL_NODE_LEAVING_CHANGELIST 94
+#define STMT_94_INFO {"STMT_CLEAR_ACTUAL_NODE_LEAVING_CHANGELIST", NULL}
+#define STMT_94 \
"UPDATE actual_node " \
"SET properties = NULL, " \
" text_mod = NULL, " \
+ " conflict_data = NULL, " \
" tree_conflict_data = NULL, " \
- " conflict_old = NULL, " \
- " conflict_new = NULL, " \
- " conflict_working = NULL, " \
- " prop_reject = NULL, " \
" older_checksum = NULL, " \
" left_checksum = NULL, " \
" right_checksum = NULL " \
"WHERE wc_id = ?1 AND local_relpath = ?2 " \
""
-#define STMT_CLEAR_ACTUAL_NODE_LEAVING_CHANGELIST_RECURSIVE 83
-#define STMT_83 \
+#define STMT_CLEAR_ACTUAL_NODE_LEAVING_CHANGELIST_RECURSIVE 95
+#define STMT_95_INFO {"STMT_CLEAR_ACTUAL_NODE_LEAVING_CHANGELIST_RECURSIVE", NULL}
+#define STMT_95 \
"UPDATE actual_node " \
"SET properties = NULL, " \
" text_mod = NULL, " \
+ " conflict_data = NULL, " \
" tree_conflict_data = NULL, " \
- " conflict_old = NULL, " \
- " conflict_new = NULL, " \
- " conflict_working = NULL, " \
- " prop_reject = NULL, " \
" older_checksum = NULL, " \
" left_checksum = NULL, " \
" right_checksum = NULL " \
"WHERE wc_id = ?1 " \
- " AND (?2 = '' " \
- " OR local_relpath = ?2 " \
- " OR ((local_relpath) > (?2) || '/' AND (local_relpath) < (?2) || '0') ) " \
+ " AND (local_relpath = ?2 " \
+ " OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \
""
-#define STMT_UPDATE_NODE_BASE_DEPTH 84
-#define STMT_84 \
+#define STMT_UPDATE_NODE_BASE_DEPTH 96
+#define STMT_96_INFO {"STMT_UPDATE_NODE_BASE_DEPTH", NULL}
+#define STMT_96 \
"UPDATE nodes SET depth = ?3 " \
"WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \
" AND kind='dir' " \
""
-#define STMT_UPDATE_NODE_BASE_PRESENCE 85
-#define STMT_85 \
+#define STMT_UPDATE_NODE_BASE_PRESENCE 97
+#define STMT_97_INFO {"STMT_UPDATE_NODE_BASE_PRESENCE", NULL}
+#define STMT_97 \
"UPDATE nodes SET presence = ?3 " \
"WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \
""
-#define STMT_UPDATE_BASE_NODE_PRESENCE_REVNUM_AND_REPOS_PATH 86
-#define STMT_86 \
+#define STMT_UPDATE_BASE_NODE_PRESENCE_REVNUM_AND_REPOS_PATH 98
+#define STMT_98_INFO {"STMT_UPDATE_BASE_NODE_PRESENCE_REVNUM_AND_REPOS_PATH", NULL}
+#define STMT_98 \
"UPDATE nodes SET presence = ?3, revision = ?4, repos_path = ?5 " \
"WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \
""
-#define STMT_LOOK_FOR_WORK 87
-#define STMT_87 \
+#define STMT_LOOK_FOR_WORK 99
+#define STMT_99_INFO {"STMT_LOOK_FOR_WORK", NULL}
+#define STMT_99 \
"SELECT id FROM work_queue LIMIT 1 " \
""
-#define STMT_INSERT_WORK_ITEM 88
-#define STMT_88 \
+#define STMT_INSERT_WORK_ITEM 100
+#define STMT_100_INFO {"STMT_INSERT_WORK_ITEM", NULL}
+#define STMT_100 \
"INSERT INTO work_queue (work) VALUES (?1) " \
""
-#define STMT_SELECT_WORK_ITEM 89
-#define STMT_89 \
+#define STMT_SELECT_WORK_ITEM 101
+#define STMT_101_INFO {"STMT_SELECT_WORK_ITEM", NULL}
+#define STMT_101 \
"SELECT id, work FROM work_queue ORDER BY id LIMIT 1 " \
""
-#define STMT_DELETE_WORK_ITEM 90
-#define STMT_90 \
+#define STMT_DELETE_WORK_ITEM 102
+#define STMT_102_INFO {"STMT_DELETE_WORK_ITEM", NULL}
+#define STMT_102 \
"DELETE FROM work_queue WHERE id = ?1 " \
""
-#define STMT_INSERT_OR_IGNORE_PRISTINE 91
-#define STMT_91 \
+#define STMT_INSERT_OR_IGNORE_PRISTINE 103
+#define STMT_103_INFO {"STMT_INSERT_OR_IGNORE_PRISTINE", NULL}
+#define STMT_103 \
"INSERT OR IGNORE INTO pristine (checksum, md5_checksum, size, refcount) " \
"VALUES (?1, ?2, ?3, 0) " \
""
-#define STMT_INSERT_PRISTINE 92
-#define STMT_92 \
+#define STMT_INSERT_PRISTINE 104
+#define STMT_104_INFO {"STMT_INSERT_PRISTINE", NULL}
+#define STMT_104 \
"INSERT INTO pristine (checksum, md5_checksum, size, refcount) " \
"VALUES (?1, ?2, ?3, 0) " \
""
-#define STMT_SELECT_PRISTINE 93
-#define STMT_93 \
+#define STMT_SELECT_PRISTINE 105
+#define STMT_105_INFO {"STMT_SELECT_PRISTINE", NULL}
+#define STMT_105 \
"SELECT md5_checksum " \
"FROM pristine " \
"WHERE checksum = ?1 " \
""
-#define STMT_SELECT_PRISTINE_SIZE 94
-#define STMT_94 \
+#define STMT_SELECT_PRISTINE_SIZE 106
+#define STMT_106_INFO {"STMT_SELECT_PRISTINE_SIZE", NULL}
+#define STMT_106 \
"SELECT size " \
"FROM pristine " \
"WHERE checksum = ?1 LIMIT 1 " \
""
-#define STMT_SELECT_PRISTINE_BY_MD5 95
-#define STMT_95 \
+#define STMT_SELECT_PRISTINE_BY_MD5 107
+#define STMT_107_INFO {"STMT_SELECT_PRISTINE_BY_MD5", NULL}
+#define STMT_107 \
"SELECT checksum " \
"FROM pristine " \
"WHERE md5_checksum = ?1 " \
""
-#define STMT_SELECT_UNREFERENCED_PRISTINES 96
-#define STMT_96 \
+#define STMT_SELECT_UNREFERENCED_PRISTINES 108
+#define STMT_108_INFO {"STMT_SELECT_UNREFERENCED_PRISTINES", NULL}
+#define STMT_108 \
"SELECT checksum " \
"FROM pristine " \
"WHERE refcount = 0 " \
""
-#define STMT_DELETE_PRISTINE_IF_UNREFERENCED 97
-#define STMT_97 \
+#define STMT_DELETE_PRISTINE_IF_UNREFERENCED 109
+#define STMT_109_INFO {"STMT_DELETE_PRISTINE_IF_UNREFERENCED", NULL}
+#define STMT_109 \
"DELETE FROM pristine " \
"WHERE checksum = ?1 AND refcount = 0 " \
""
-#define STMT_SELECT_ACTUAL_CONFLICT_VICTIMS 98
-#define STMT_98 \
- "SELECT local_relpath " \
- "FROM actual_node " \
- "WHERE wc_id = ?1 AND parent_relpath = ?2 AND " \
- " 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)) " \
- ""
-
-#define STMT_SELECT_CONFLICT_MARKER_FILES 99
-#define STMT_99 \
- "SELECT prop_reject, conflict_old, conflict_new, conflict_working " \
- "FROM actual_node " \
- "WHERE wc_id = ?1 AND (local_relpath = ?2 OR parent_relpath = ?2) " \
- " AND ((prop_reject IS NOT NULL) OR (conflict_old IS NOT NULL) " \
- " OR (conflict_new IS NOT NULL) OR (conflict_working IS NOT NULL)) " \
+#define STMT_SELECT_COPY_PRISTINES 110
+#define STMT_110_INFO {"STMT_SELECT_COPY_PRISTINES", NULL}
+#define STMT_110 \
+ "SELECT n.checksum, md5_checksum, size " \
+ "FROM nodes_current n " \
+ "LEFT JOIN pristine p ON n.checksum = p.checksum " \
+ "WHERE wc_id = ?1 " \
+ " AND n.local_relpath = ?2 " \
+ " AND n.checksum IS NOT NULL " \
+ "UNION ALL " \
+ "SELECT n.checksum, md5_checksum, size " \
+ "FROM nodes n " \
+ "LEFT JOIN pristine p ON n.checksum = p.checksum " \
+ "WHERE wc_id = ?1 " \
+ " AND (((n.local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((n.local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
+ " AND op_depth >= " \
+ " (SELECT MAX(op_depth) FROM nodes WHERE wc_id = ?1 AND local_relpath = ?2) " \
+ " AND n.checksum IS NOT NULL " \
""
-#define STMT_SELECT_ACTUAL_CHILDREN_TREE_CONFLICT 100
-#define STMT_100 \
- "SELECT local_relpath, tree_conflict_data " \
- "FROM actual_node " \
- "WHERE wc_id = ?1 AND parent_relpath = ?2 AND tree_conflict_data IS NOT NULL " \
+#define STMT_VACUUM 111
+#define STMT_111_INFO {"STMT_VACUUM", NULL}
+#define STMT_111 \
+ "VACUUM " \
""
-#define STMT_SELECT_CONFLICT_DETAILS 101
-#define STMT_101 \
- "SELECT prop_reject, conflict_old, conflict_new, conflict_working, " \
- " tree_conflict_data " \
+#define STMT_SELECT_CONFLICT_VICTIMS 112
+#define STMT_112_INFO {"STMT_SELECT_CONFLICT_VICTIMS", NULL}
+#define STMT_112 \
+ "SELECT local_relpath, conflict_data " \
"FROM actual_node " \
- "WHERE wc_id = ?1 AND local_relpath = ?2 " \
- ""
-
-#define STMT_CLEAR_TEXT_CONFLICT 102
-#define STMT_102 \
- "UPDATE actual_node SET " \
- " conflict_old = NULL, " \
- " conflict_new = NULL, " \
- " conflict_working = NULL " \
- "WHERE wc_id = ?1 AND local_relpath = ?2 " \
- ""
-
-#define STMT_CLEAR_PROPS_CONFLICT 103
-#define STMT_103 \
- "UPDATE actual_node SET " \
- " prop_reject = NULL " \
- "WHERE wc_id = ?1 AND local_relpath = ?2 " \
+ "WHERE wc_id = ?1 AND parent_relpath = ?2 AND " \
+ " NOT (conflict_data IS NULL) " \
""
-#define STMT_INSERT_WC_LOCK 104
-#define STMT_104 \
+#define STMT_INSERT_WC_LOCK 113
+#define STMT_113_INFO {"STMT_INSERT_WC_LOCK", NULL}
+#define STMT_113 \
"INSERT INTO wc_lock (wc_id, local_dir_relpath, locked_levels) " \
"VALUES (?1, ?2, ?3) " \
""
-#define STMT_SELECT_WC_LOCK 105
-#define STMT_105 \
+#define STMT_SELECT_WC_LOCK 114
+#define STMT_114_INFO {"STMT_SELECT_WC_LOCK", NULL}
+#define STMT_114 \
"SELECT locked_levels FROM wc_lock " \
"WHERE wc_id = ?1 AND local_dir_relpath = ?2 " \
""
-#define STMT_SELECT_ANCESTOR_WCLOCKS 106
-#define STMT_106 \
+#define STMT_SELECT_ANCESTOR_WCLOCKS 115
+#define STMT_115_INFO {"STMT_SELECT_ANCESTOR_WCLOCKS", NULL}
+#define STMT_115 \
"SELECT local_dir_relpath, locked_levels FROM wc_lock " \
"WHERE wc_id = ?1 " \
- " AND ((local_dir_relpath <= ?2 AND local_dir_relpath >= ?3) " \
+ " AND ((local_dir_relpath >= ?3 AND local_dir_relpath <= ?2) " \
" OR local_dir_relpath = '') " \
- "ORDER BY local_dir_relpath DESC " \
""
-#define STMT_DELETE_WC_LOCK 107
-#define STMT_107 \
+#define STMT_DELETE_WC_LOCK 116
+#define STMT_116_INFO {"STMT_DELETE_WC_LOCK", NULL}
+#define STMT_116 \
"DELETE FROM wc_lock " \
"WHERE wc_id = ?1 AND local_dir_relpath = ?2 " \
""
-#define STMT_FIND_WC_LOCK 108
-#define STMT_108 \
+#define STMT_FIND_WC_LOCK 117
+#define STMT_117_INFO {"STMT_FIND_WC_LOCK", NULL}
+#define STMT_117 \
"SELECT local_dir_relpath FROM wc_lock " \
- "WHERE wc_id = ?1 AND local_dir_relpath LIKE ?2 ESCAPE '#' " \
+ "WHERE wc_id = ?1 " \
+ " AND (((local_dir_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_dir_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
""
-#define STMT_DELETE_WC_LOCK_ORPHAN 109
-#define STMT_109 \
+#define STMT_DELETE_WC_LOCK_ORPHAN 118
+#define STMT_118_INFO {"STMT_DELETE_WC_LOCK_ORPHAN", NULL}
+#define STMT_118 \
"DELETE FROM wc_lock " \
"WHERE wc_id = ?1 AND local_dir_relpath = ?2 " \
"AND NOT EXISTS (SELECT 1 FROM nodes " \
@@ -935,46 +1181,73 @@
" AND nodes.local_relpath = wc_lock.local_dir_relpath) " \
""
-#define STMT_DELETE_WC_LOCK_ORPHAN_RECURSIVE 110
-#define STMT_110 \
+#define STMT_DELETE_WC_LOCK_ORPHAN_RECURSIVE 119
+#define STMT_119_INFO {"STMT_DELETE_WC_LOCK_ORPHAN_RECURSIVE", NULL}
+#define STMT_119 \
"DELETE FROM wc_lock " \
"WHERE wc_id = ?1 " \
- " AND (?2 = '' " \
- " OR local_dir_relpath = ?2 " \
- " OR ((local_dir_relpath) > (?2) || '/' AND (local_dir_relpath) < (?2) || '0') ) " \
+ " AND (local_dir_relpath = ?2 " \
+ " OR (((local_dir_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_dir_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \
" AND NOT EXISTS (SELECT 1 FROM nodes " \
" WHERE nodes.wc_id = ?1 " \
" AND nodes.local_relpath = wc_lock.local_dir_relpath) " \
""
-#define STMT_APPLY_CHANGES_TO_BASE_NODE 111
-#define STMT_111 \
+#define STMT_APPLY_CHANGES_TO_BASE_NODE 120
+#define STMT_120_INFO {"STMT_APPLY_CHANGES_TO_BASE_NODE", NULL}
+#define STMT_120 \
"INSERT OR REPLACE INTO nodes ( " \
" wc_id, local_relpath, op_depth, parent_relpath, repos_id, repos_path, " \
" revision, presence, depth, kind, changed_revision, changed_date, " \
" changed_author, checksum, properties, dav_cache, symlink_target, " \
- " file_external ) " \
+ " inherited_props, file_external ) " \
"VALUES (?1, ?2, 0, " \
- " ?3, ?4, ?5, ?6, ?7, ?8, ?9, ?10, ?11, ?12, ?13, ?14, ?15, ?16, " \
+ " ?3, ?4, ?5, ?6, ?7, ?8, ?9, ?10, ?11, ?12, ?13, ?14, ?15, ?16, ?17, " \
" (SELECT file_external FROM nodes " \
" WHERE wc_id = ?1 " \
" AND local_relpath = ?2 " \
" AND op_depth = 0)) " \
""
-#define STMT_INSTALL_WORKING_NODE_FOR_DELETE 112
-#define STMT_112 \
+#define STMT_INSTALL_WORKING_NODE_FOR_DELETE 121
+#define STMT_121_INFO {"STMT_INSTALL_WORKING_NODE_FOR_DELETE", NULL}
+#define STMT_121 \
"INSERT OR REPLACE INTO nodes ( " \
" wc_id, local_relpath, op_depth, " \
" parent_relpath, presence, kind) " \
- "SELECT wc_id, local_relpath, ?3 , " \
- " parent_relpath, ?4 , kind " \
- "FROM nodes " \
- "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \
+ "VALUES(?1, ?2, ?3, ?4, 'base-deleted', ?5) " \
""
-#define STMT_INSERT_DELETE_FROM_NODE_RECURSIVE 113
-#define STMT_113 \
+#define STMT_DELETE_NO_LOWER_LAYER 122
+#define STMT_122_INFO {"STMT_DELETE_NO_LOWER_LAYER", NULL}
+#define STMT_122 \
+ "DELETE FROM nodes " \
+ " WHERE wc_id = ?1 " \
+ " AND (local_relpath = ?2 OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \
+ " AND op_depth = ?3 " \
+ " AND NOT EXISTS (SELECT 1 FROM nodes n " \
+ " WHERE n.wc_id = ?1 " \
+ " AND n.local_relpath = nodes.local_relpath " \
+ " AND n.op_depth = ?4 " \
+ " AND n.presence IN ('normal', 'incomplete')) " \
+ ""
+
+#define STMT_REPLACE_WITH_BASE_DELETED 123
+#define STMT_123_INFO {"STMT_REPLACE_WITH_BASE_DELETED", NULL}
+#define STMT_123 \
+ "INSERT OR REPLACE INTO nodes (wc_id, local_relpath, op_depth, parent_relpath, " \
+ " kind, moved_to, presence) " \
+ "SELECT wc_id, local_relpath, op_depth, parent_relpath, " \
+ " kind, moved_to, 'base-deleted' " \
+ " FROM nodes " \
+ " WHERE wc_id = ?1 " \
+ " AND (local_relpath = ?2 OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \
+ " AND op_depth = ?3 " \
+ ""
+
+#define STMT_INSERT_DELETE_FROM_NODE_RECURSIVE 124
+#define STMT_124_INFO {"STMT_INSERT_DELETE_FROM_NODE_RECURSIVE", NULL}
+#define STMT_124 \
"INSERT INTO nodes ( " \
" wc_id, local_relpath, op_depth, parent_relpath, presence, kind) " \
"SELECT wc_id, local_relpath, ?4 , parent_relpath, 'base-deleted', " \
@@ -982,13 +1255,15 @@
"FROM nodes " \
"WHERE wc_id = ?1 " \
" AND (local_relpath = ?2 " \
- " OR ((local_relpath) > (?2) || '/' AND (local_relpath) < (?2) || '0') ) " \
+ " OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \
" AND op_depth = ?3 " \
- " AND presence NOT IN ('base-deleted', 'not-present', 'excluded', 'absent') " \
+ " AND presence NOT IN ('base-deleted', 'not-present', 'excluded', 'server-excluded') " \
+ " AND file_external IS NULL " \
""
-#define STMT_INSERT_WORKING_NODE_FROM_BASE_COPY 114
-#define STMT_114 \
+#define STMT_INSERT_WORKING_NODE_FROM_BASE_COPY 125
+#define STMT_125_INFO {"STMT_INSERT_WORKING_NODE_FROM_BASE_COPY", NULL}
+#define STMT_125 \
"INSERT INTO nodes ( " \
" wc_id, local_relpath, op_depth, parent_relpath, repos_id, repos_path, " \
" revision, presence, depth, kind, changed_revision, changed_date, " \
@@ -1002,8 +1277,9 @@
"WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \
""
-#define STMT_INSERT_DELETE_FROM_BASE 115
-#define STMT_115 \
+#define STMT_INSERT_DELETE_FROM_BASE 126
+#define STMT_126_INFO {"STMT_INSERT_DELETE_FROM_BASE", NULL}
+#define STMT_126 \
"INSERT INTO nodes ( " \
" wc_id, local_relpath, op_depth, parent_relpath, presence, kind) " \
"SELECT wc_id, local_relpath, ?3 , parent_relpath, " \
@@ -1012,332 +1288,377 @@
"WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \
""
-#define STMT_UPDATE_OP_DEPTH_INCREASE_RECURSIVE 116
-#define STMT_116 \
+#define STMT_UPDATE_OP_DEPTH_INCREASE_RECURSIVE 127
+#define STMT_127_INFO {"STMT_UPDATE_OP_DEPTH_INCREASE_RECURSIVE", NULL}
+#define STMT_127 \
"UPDATE nodes SET op_depth = ?3 + 1 " \
"WHERE wc_id = ?1 " \
- " AND (?2 = '' " \
- " OR ((local_relpath) > (?2) || '/' AND (local_relpath) < (?2) || '0') ) " \
+ " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
" AND op_depth = ?3 " \
""
-#define STMT_DOES_NODE_EXIST 117
-#define STMT_117 \
+#define STMT_UPDATE_OP_DEPTH_RECURSIVE 128
+#define STMT_128_INFO {"STMT_UPDATE_OP_DEPTH_RECURSIVE", NULL}
+#define STMT_128 \
+ "UPDATE nodes SET op_depth = ?4, moved_here = NULL " \
+ "WHERE wc_id = ?1 " \
+ " AND (local_relpath = ?2 OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \
+ " AND op_depth = ?3 " \
+ ""
+
+#define STMT_DOES_NODE_EXIST 129
+#define STMT_129_INFO {"STMT_DOES_NODE_EXIST", NULL}
+#define STMT_129 \
"SELECT 1 FROM nodes WHERE wc_id = ?1 AND local_relpath = ?2 " \
"LIMIT 1 " \
""
-#define STMT_HAS_SERVER_EXCLUDED_NODES 118
-#define STMT_118 \
+#define STMT_HAS_SERVER_EXCLUDED_DESCENDANTS 130
+#define STMT_130_INFO {"STMT_HAS_SERVER_EXCLUDED_DESCENDANTS", NULL}
+#define STMT_130 \
"SELECT local_relpath FROM nodes " \
"WHERE wc_id = ?1 " \
- " AND (?2 = '' " \
- " OR local_relpath = ?2 " \
- " OR ((local_relpath) > (?2) || '/' AND (local_relpath) < (?2) || '0') ) " \
- " AND op_depth = 0 AND presence = 'absent' " \
+ " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
+ " AND op_depth = 0 AND presence = 'server-excluded' " \
"LIMIT 1 " \
""
-#define STMT_SELECT_ALL_SERVER_EXCLUDED_NODES 119
-#define STMT_119 \
+#define STMT_SELECT_ALL_EXCLUDED_DESCENDANTS 131
+#define STMT_131_INFO {"STMT_SELECT_ALL_EXCLUDED_DESCENDANTS", NULL}
+#define STMT_131 \
"SELECT local_relpath FROM nodes " \
"WHERE wc_id = ?1 " \
- " AND (?2 = '' " \
- " OR local_relpath = ?2 " \
- " OR ((local_relpath) > (?2) || '/' AND (local_relpath) < (?2) || '0') ) " \
+ " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
" AND op_depth = 0 " \
- " AND presence = 'absent' " \
+ " AND (presence = 'server-excluded' OR presence = 'excluded') " \
""
-#define STMT_INSERT_WORKING_NODE_COPY_FROM_BASE 120
-#define STMT_120 \
+#define STMT_INSERT_WORKING_NODE_COPY_FROM 132
+#define STMT_132_INFO {"STMT_INSERT_WORKING_NODE_COPY_FROM", NULL}
+#define STMT_132 \
"INSERT OR REPLACE INTO nodes ( " \
" wc_id, local_relpath, op_depth, parent_relpath, repos_id, " \
- " repos_path, revision, presence, depth, kind, changed_revision, " \
+ " repos_path, revision, presence, depth, moved_here, kind, changed_revision, " \
" changed_date, changed_author, checksum, properties, translated_size, " \
- " last_mod_time, symlink_target ) " \
+ " last_mod_time, symlink_target, moved_to ) " \
"SELECT wc_id, ?3 , ?4 , ?5 , " \
" repos_id, repos_path, revision, ?6 , depth, " \
- " kind, changed_revision, changed_date, changed_author, checksum, properties, " \
- " translated_size, last_mod_time, symlink_target " \
- "FROM nodes " \
- "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \
+ " ?7, kind, changed_revision, changed_date, " \
+ " changed_author, checksum, properties, translated_size, " \
+ " last_mod_time, symlink_target, " \
+ " (SELECT dst.moved_to FROM nodes AS dst " \
+ " WHERE dst.wc_id = ?1 " \
+ " AND dst.local_relpath = ?3 " \
+ " AND dst.op_depth = ?4) " \
+ "FROM nodes_current " \
+ "WHERE wc_id = ?1 AND local_relpath = ?2 " \
""
-#define STMT_INSERT_WORKING_NODE_COPY_FROM_WORKING 121
-#define STMT_121 \
+#define STMT_INSERT_WORKING_NODE_COPY_FROM_DEPTH 133
+#define STMT_133_INFO {"STMT_INSERT_WORKING_NODE_COPY_FROM_DEPTH", NULL}
+#define STMT_133 \
"INSERT OR REPLACE INTO nodes ( " \
- " wc_id, local_relpath, op_depth, parent_relpath, repos_id, repos_path, " \
- " revision, presence, depth, kind, changed_revision, changed_date, " \
- " changed_author, checksum, properties, translated_size, last_mod_time, " \
- " symlink_target ) " \
+ " wc_id, local_relpath, op_depth, parent_relpath, repos_id, " \
+ " repos_path, revision, presence, depth, moved_here, kind, changed_revision, " \
+ " changed_date, changed_author, checksum, properties, translated_size, " \
+ " last_mod_time, symlink_target, moved_to ) " \
"SELECT wc_id, ?3 , ?4 , ?5 , " \
" repos_id, repos_path, revision, ?6 , depth, " \
- " kind, changed_revision, changed_date, changed_author, checksum, properties, " \
- " translated_size, last_mod_time, symlink_target " \
- "FROM nodes " \
- "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth > 0 " \
- "ORDER BY op_depth DESC " \
- "LIMIT 1 " \
- ""
-
-#define STMT_INSERT_WORKING_NODE_COPY_FROM_DEPTH 122
-#define STMT_122 \
- "INSERT OR REPLACE INTO nodes ( " \
- " wc_id, local_relpath, op_depth, parent_relpath, repos_id, repos_path, " \
- " revision, presence, depth, kind, changed_revision, changed_date, " \
- " changed_author, checksum, properties, translated_size, last_mod_time, " \
- " symlink_target ) " \
- "SELECT wc_id, ?3 , ?4 , ?5 , " \
- " repos_id, repos_path, revision, ?6 , " \
- " depth, kind, changed_revision, changed_date, changed_author, checksum, " \
- " properties, translated_size, last_mod_time, symlink_target " \
+ " ?8 , kind, changed_revision, changed_date, " \
+ " changed_author, checksum, properties, translated_size, " \
+ " last_mod_time, symlink_target, " \
+ " (SELECT dst.moved_to FROM nodes AS dst " \
+ " WHERE dst.wc_id = ?1 " \
+ " AND dst.local_relpath = ?3 " \
+ " AND dst.op_depth = ?4) " \
"FROM nodes " \
"WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = ?7 " \
""
-#define STMT_INSERT_ACTUAL_NODE_FROM_ACTUAL_NODE 123
-#define STMT_123 \
- "INSERT OR REPLACE INTO actual_node ( " \
- " wc_id, local_relpath, parent_relpath, properties, " \
- " conflict_old, conflict_new, conflict_working, " \
- " prop_reject, changelist, text_mod, tree_conflict_data ) " \
- "SELECT wc_id, ?3 , ?4 , properties, " \
- " conflict_old, conflict_new, conflict_working, " \
- " prop_reject, changelist, text_mod, tree_conflict_data " \
- "FROM actual_node " \
- "WHERE wc_id = ?1 AND local_relpath = ?2 " \
- ""
-
-#define STMT_UPDATE_BASE_REVISION 124
-#define STMT_124 \
+#define STMT_UPDATE_BASE_REVISION 134
+#define STMT_134_INFO {"STMT_UPDATE_BASE_REVISION", NULL}
+#define STMT_134 \
"UPDATE nodes SET revision = ?3 " \
"WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \
""
-#define STMT_UPDATE_BASE_REPOS 125
-#define STMT_125 \
+#define STMT_UPDATE_BASE_REPOS 135
+#define STMT_135_INFO {"STMT_UPDATE_BASE_REPOS", NULL}
+#define STMT_135 \
"UPDATE nodes SET repos_id = ?3, repos_path = ?4 " \
"WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \
""
-#define STMT_ACTUAL_HAS_CHILDREN 126
-#define STMT_126 \
+#define STMT_ACTUAL_HAS_CHILDREN 136
+#define STMT_136_INFO {"STMT_ACTUAL_HAS_CHILDREN", NULL}
+#define STMT_136 \
"SELECT 1 FROM actual_node " \
"WHERE wc_id = ?1 AND parent_relpath = ?2 " \
"LIMIT 1 " \
""
-#define STMT_INSERT_EXTERNAL 127
-#define STMT_127 \
+#define STMT_INSERT_EXTERNAL 137
+#define STMT_137_INFO {"STMT_INSERT_EXTERNAL", NULL}
+#define STMT_137 \
"INSERT OR REPLACE INTO externals ( " \
" wc_id, local_relpath, parent_relpath, presence, kind, def_local_relpath, " \
" repos_id, def_repos_relpath, def_operational_revision, def_revision) " \
"VALUES (?1, ?2, ?3, ?4, ?5, ?6, ?7, ?8, ?9, ?10) " \
""
-#define STMT_INSERT_EXTERNAL_UPGRADE 128
-#define STMT_128 \
- "INSERT OR REPLACE INTO externals ( " \
- " wc_id, local_relpath, parent_relpath, presence, kind, def_local_relpath, " \
- " repos_id, def_repos_relpath, def_operational_revision, def_revision) " \
- "VALUES (?1, ?2, ?3, ?4, " \
- " CASE WHEN (SELECT file_external FROM nodes " \
- " WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0) " \
- " IS NOT NULL THEN 'file' ELSE 'unknown' END, " \
- " ?5, ?6, ?7, ?8, ?9) " \
- ""
-
-#define STMT_SELECT_EXTERNAL_INFO 129
-#define STMT_129 \
+#define STMT_SELECT_EXTERNAL_INFO 138
+#define STMT_138_INFO {"STMT_SELECT_EXTERNAL_INFO", NULL}
+#define STMT_138 \
"SELECT presence, kind, def_local_relpath, repos_id, " \
- " def_repos_relpath, def_operational_revision, def_revision, presence " \
+ " def_repos_relpath, def_operational_revision, def_revision " \
"FROM externals WHERE wc_id = ?1 AND local_relpath = ?2 " \
"LIMIT 1 " \
""
-#define STMT_SELECT_EXTERNAL_CHILDREN 130
-#define STMT_130 \
- "SELECT local_relpath " \
- "FROM externals WHERE wc_id = ?1 AND parent_relpath = ?2 " \
+#define STMT_DELETE_FILE_EXTERNALS 139
+#define STMT_139_INFO {"STMT_DELETE_FILE_EXTERNALS", NULL}
+#define STMT_139 \
+ "DELETE FROM nodes " \
+ "WHERE wc_id = ?1 " \
+ " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
+ " AND op_depth = 0 " \
+ " AND file_external IS NOT NULL " \
""
-#define STMT_SELECT_EXTERNALS_DEFINED 131
-#define STMT_131 \
- "SELECT local_relpath, def_local_relpath " \
- "FROM externals " \
+#define STMT_DELETE_FILE_EXTERNAL_REGISTATIONS 140
+#define STMT_140_INFO {"STMT_DELETE_FILE_EXTERNAL_REGISTATIONS", NULL}
+#define STMT_140 \
+ "DELETE FROM externals " \
"WHERE wc_id = ?1 " \
- " AND (?2 = '' " \
- " OR def_local_relpath = ?2 " \
- " OR ((def_local_relpath) > (?2) || '/' AND (def_local_relpath) < (?2) || '0') ) " \
+ " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
+ " AND kind != 'dir' " \
""
-#define STMT_UPDATE_EXTERNAL_FILEINFO 132
-#define STMT_132 \
- "UPDATE externals SET recorded_size = ?3, recorded_mod_time = ?4 " \
- "WHERE wc_id = ?1 AND local_relpath = ?2 " \
+#define STMT_DELETE_EXTERNAL_REGISTATIONS 141
+#define STMT_141_INFO {"STMT_DELETE_EXTERNAL_REGISTATIONS", NULL}
+#define STMT_141 \
+ "DELETE FROM externals " \
+ "WHERE wc_id = ?1 " \
+ " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
""
-#define STMT_DELETE_EXTERNAL 133
-#define STMT_133 \
+#define STMT_SELECT_COMMITTABLE_EXTERNALS_BELOW 142
+#define STMT_142_INFO {"STMT_SELECT_COMMITTABLE_EXTERNALS_BELOW", NULL}
+#define STMT_142 \
+ "SELECT local_relpath, kind, def_repos_relpath, " \
+ " (SELECT root FROM repository AS r WHERE r.id = e.repos_id) " \
+ "FROM externals e " \
+ "WHERE wc_id = ?1 " \
+ " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
+ " AND def_revision IS NULL " \
+ " AND repos_id = (SELECT repos_id " \
+ " FROM nodes AS n " \
+ " WHERE n.wc_id = ?1 " \
+ " AND n.local_relpath = '' " \
+ " AND n.op_depth = 0) " \
+ " AND ((kind='dir') " \
+ " OR EXISTS (SELECT 1 FROM nodes " \
+ " WHERE nodes.wc_id = e.wc_id " \
+ " AND nodes.local_relpath = e.parent_relpath)) " \
+ ""
+
+#define STMT_SELECT_COMMITTABLE_EXTERNALS_IMMEDIATELY_BELOW 143
+#define STMT_143_INFO {"STMT_SELECT_COMMITTABLE_EXTERNALS_IMMEDIATELY_BELOW", NULL}
+#define STMT_143 \
+ "SELECT local_relpath, kind, def_repos_relpath, " \
+ " (SELECT root FROM repository AS r WHERE r.id = e.repos_id) " \
+ "FROM externals e " \
+ "WHERE wc_id = ?1 " \
+ " AND (((e.local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((e.local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
+ " AND parent_relpath = ?2 " \
+ " AND def_revision IS NULL " \
+ " AND repos_id = (SELECT repos_id " \
+ " FROM nodes AS n " \
+ " WHERE n.wc_id = ?1 " \
+ " AND n.local_relpath = '' " \
+ " AND n.op_depth = 0) " \
+ " AND ((kind='dir') " \
+ " OR EXISTS (SELECT 1 FROM nodes " \
+ " WHERE nodes.wc_id = e.wc_id " \
+ " AND nodes.local_relpath = e.parent_relpath)) " \
+ ""
+
+#define STMT_SELECT_EXTERNALS_DEFINED 144
+#define STMT_144_INFO {"STMT_SELECT_EXTERNALS_DEFINED", NULL}
+#define STMT_144 \
+ "SELECT local_relpath, def_local_relpath " \
+ "FROM externals " \
+ "WHERE (wc_id = ?1 AND def_local_relpath = ?2) " \
+ " OR (wc_id = ?1 AND (((def_local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((def_local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \
+ ""
+
+#define STMT_DELETE_EXTERNAL 145
+#define STMT_145_INFO {"STMT_DELETE_EXTERNAL", NULL}
+#define STMT_145 \
"DELETE FROM externals " \
"WHERE wc_id = ?1 AND local_relpath = ?2 " \
""
-#define STMT_SELECT_EXTERNAL_PROPERTIES 134
-#define STMT_134 \
+#define STMT_SELECT_EXTERNAL_PROPERTIES 146
+#define STMT_146_INFO {"STMT_SELECT_EXTERNAL_PROPERTIES", NULL}
+#define STMT_146 \
"SELECT IFNULL((SELECT properties FROM actual_node a " \
" WHERE a.wc_id = ?1 AND A.local_relpath = n.local_relpath), " \
" properties), " \
" local_relpath, depth " \
- "FROM nodes n " \
- "WHERE wc_id = ?1 " \
- " AND (?2 = '' " \
- " OR local_relpath = ?2 " \
- " OR ((local_relpath) > (?2) || '/' AND (local_relpath) < (?2) || '0') ) " \
- " AND kind = 'dir' AND presence='normal' " \
- " AND op_depth=(SELECT MAX(op_depth) FROM nodes o " \
- " WHERE o.wc_id = ?1 AND o.local_relpath = n.local_relpath) " \
+ "FROM nodes_current n " \
+ "WHERE wc_id = ?1 AND local_relpath = ?2 " \
+ " AND kind = 'dir' AND presence IN ('normal', 'incomplete') " \
+ "UNION ALL " \
+ "SELECT IFNULL((SELECT properties FROM actual_node a " \
+ " WHERE a.wc_id = ?1 AND A.local_relpath = n.local_relpath), " \
+ " properties), " \
+ " local_relpath, depth " \
+ "FROM nodes_current n " \
+ "WHERE wc_id = ?1 AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
+ " AND kind = 'dir' AND presence IN ('normal', 'incomplete') " \
""
-#define STMT_INSERT_ACTUAL_NODE 135
-#define STMT_135 \
- "INSERT OR REPLACE INTO actual_node ( " \
- " wc_id, local_relpath, parent_relpath, properties, conflict_old, " \
- " conflict_new, " \
- " conflict_working, prop_reject, changelist, text_mod, " \
- " tree_conflict_data) " \
- "VALUES (?1, ?2, ?3, ?4, ?5, ?6, ?7, ?8, ?9, NULL, ?10) " \
+#define STMT_SELECT_CURRENT_PROPS_RECURSIVE 147
+#define STMT_147_INFO {"STMT_SELECT_CURRENT_PROPS_RECURSIVE", NULL}
+#define STMT_147 \
+ "SELECT IFNULL((SELECT properties FROM actual_node a " \
+ " WHERE a.wc_id = ?1 AND A.local_relpath = n.local_relpath), " \
+ " properties), " \
+ " local_relpath " \
+ "FROM nodes_current n " \
+ "WHERE (wc_id = ?1 AND local_relpath = ?2) " \
+ " OR (wc_id = ?1 AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \
""
-#define STMT_UPDATE_ACTUAL_CONFLICT_DATA 136
-#define STMT_136 \
- "UPDATE actual_node SET conflict_data = ?3 " \
- "WHERE wc_id = ?1 AND local_relpath = ?2 " \
+#define STMT_PRAGMA_LOCKING_MODE 148
+#define STMT_148_INFO {"STMT_PRAGMA_LOCKING_MODE", NULL}
+#define STMT_148 \
+ "PRAGMA locking_mode = exclusive " \
""
-#define STMT_INSERT_ACTUAL_CONFLICT_DATA 137
-#define STMT_137 \
- "INSERT INTO actual_node ( " \
- " wc_id, local_relpath, conflict_data, parent_relpath) " \
- "VALUES (?1, ?2, ?3, ?4) " \
+#define STMT_INSERT_ACTUAL_NODE 149
+#define STMT_149_INFO {"STMT_INSERT_ACTUAL_NODE", NULL}
+#define STMT_149 \
+ "INSERT OR REPLACE INTO actual_node ( " \
+ " wc_id, local_relpath, parent_relpath, properties, changelist, conflict_data) " \
+ "VALUES (?1, ?2, ?3, ?4, ?5, ?6) " \
""
-#define STMT_SELECT_OLD_TREE_CONFLICT 138
-#define STMT_138 \
- "SELECT wc_id, local_relpath, tree_conflict_data " \
- "FROM actual_node " \
- "WHERE tree_conflict_data IS NOT NULL " \
+#define STMT_UPDATE_ACTUAL_CONFLICT_DATA 150
+#define STMT_150_INFO {"STMT_UPDATE_ACTUAL_CONFLICT_DATA", NULL}
+#define STMT_150 \
+ "UPDATE actual_node SET conflict_data = ?3 " \
+ "WHERE wc_id = ?1 AND local_relpath = ?2 " \
""
-#define STMT_ERASE_OLD_CONFLICTS 139
-#define STMT_139 \
- "UPDATE actual_node SET tree_conflict_data = NULL " \
+#define STMT_INSERT_ACTUAL_CONFLICT_DATA 151
+#define STMT_151_INFO {"STMT_INSERT_ACTUAL_CONFLICT_DATA", NULL}
+#define STMT_151 \
+ "INSERT INTO actual_node (wc_id, local_relpath, conflict_data, parent_relpath) " \
+ "VALUES (?1, ?2, ?3, ?4) " \
""
-#define STMT_SELECT_ALL_FILES 140
-#define STMT_140 \
+#define STMT_SELECT_ALL_FILES 152
+#define STMT_152_INFO {"STMT_SELECT_ALL_FILES", NULL}
+#define STMT_152 \
"SELECT local_relpath FROM nodes_current " \
"WHERE wc_id = ?1 AND parent_relpath = ?2 AND kind = 'file' " \
""
-#define STMT_UPDATE_NODE_PROPS 141
-#define STMT_141 \
+#define STMT_UPDATE_NODE_PROPS 153
+#define STMT_153_INFO {"STMT_UPDATE_NODE_PROPS", NULL}
+#define STMT_153 \
"UPDATE nodes SET properties = ?4 " \
"WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = ?3 " \
""
-#define STMT_HAS_WORKING_NODES 142
-#define STMT_142 \
- "SELECT 1 FROM nodes WHERE op_depth > 0 " \
- "LIMIT 1 " \
- ""
-
-#define STMT_HAS_ACTUAL_NODES_CONFLICTS 143
-#define STMT_143 \
- "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 " \
+#define STMT_PRAGMA_TABLE_INFO_NODES 154
+#define STMT_154_INFO {"STMT_PRAGMA_TABLE_INFO_NODES", NULL}
+#define STMT_154 \
+ "PRAGMA table_info(\"NODES\") " \
""
-#define STMT_CREATE_NODE_PROPS_CACHE 144
-#define STMT_144 \
- "DROP TABLE IF EXISTS temp__node_props_cache; " \
- "CREATE TEMPORARY TABLE temp__node_props_cache ( " \
- " local_Relpath TEXT NOT NULL, " \
+#define STMT_CREATE_TARGET_PROP_CACHE 155
+#define STMT_155_INFO {"STMT_CREATE_TARGET_PROP_CACHE", NULL}
+#define STMT_155 \
+ "DROP TABLE IF EXISTS target_prop_cache; " \
+ "CREATE TEMPORARY TABLE target_prop_cache ( " \
+ " local_relpath TEXT NOT NULL PRIMARY KEY, " \
" kind TEXT NOT NULL, " \
" properties BLOB " \
- " ); " \
- ""
-
-#define STMT_CACHE_NODE_PROPS 145
-#define STMT_145 \
- "INSERT INTO temp__node_props_cache(local_relpath, kind, properties) " \
- " SELECT local_relpath, kind, properties FROM nodes_current " \
- " WHERE wc_id = ?1 " \
- " AND local_relpath IN (SELECT local_relpath FROM targets_list) " \
- " AND presence IN ('normal', 'incomplete') " \
- ""
-
-#define STMT_CACHE_ACTUAL_PROPS 146
-#define STMT_146 \
- "UPDATE temp__node_props_cache " \
- " SET properties= " \
- " IFNULL((SELECT properties FROM actual_node a " \
- " WHERE a.wc_id = ?1 " \
- " AND a.local_relpath = temp__node_props_cache.local_relpath), " \
- " properties) " \
- ""
-
-#define STMT_CACHE_NODE_BASE_PROPS 147
-#define STMT_147 \
- "INSERT INTO temp__node_props_cache (local_relpath, kind, properties) " \
- " SELECT local_relpath, kind, properties FROM nodes_base " \
- " WHERE wc_id = ?1 " \
- " AND local_relpath IN (SELECT local_relpath FROM targets_list) " \
- " AND presence IN ('normal', 'incomplete') " \
- ""
-
-#define STMT_CACHE_NODE_PRISTINE_PROPS 148
-#define STMT_148 \
- "INSERT INTO temp__node_props_cache(local_relpath, kind, properties) " \
- " SELECT local_relpath, kind, " \
- " IFNULL((SELECT properties FROM nodes nn " \
- " WHERE n.presence = 'base-deleted' " \
- " AND nn.wc_id = n.wc_id " \
- " AND nn.local_relpath = n.local_relpath " \
- " AND nn.op_depth < n.op_depth " \
- " ORDER BY op_depth DESC), " \
- " properties) " \
- " FROM nodes_current n " \
- " WHERE wc_id = ?1 " \
- " AND local_relpath IN (SELECT local_relpath FROM targets_list) " \
- " AND presence IN ('normal', 'incomplete', 'base-deleted') " \
+ "); " \
""
-#define STMT_SELECT_RELEVANT_PROPS_FROM_CACHE 149
-#define STMT_149 \
- "SELECT local_relpath, properties FROM temp__node_props_cache " \
+#define STMT_CACHE_TARGET_PROPS 156
+#define STMT_156_INFO {"STMT_CACHE_TARGET_PROPS", NULL}
+#define STMT_156 \
+ "INSERT INTO target_prop_cache(local_relpath, kind, properties) " \
+ " SELECT n.local_relpath, n.kind, " \
+ " IFNULL((SELECT properties FROM actual_node AS a " \
+ " WHERE a.wc_id = n.wc_id " \
+ " AND a.local_relpath = n.local_relpath), " \
+ " n.properties) " \
+ " FROM targets_list AS t " \
+ " JOIN nodes AS n " \
+ " ON n.wc_id = ?1 " \
+ " AND n.local_relpath = t.local_relpath " \
+ " AND n.op_depth = (SELECT MAX(op_depth) FROM nodes AS n3 " \
+ " WHERE n3.wc_id = ?1 " \
+ " AND n3.local_relpath = t.local_relpath) " \
+ " WHERE t.wc_id = ?1 " \
+ " AND (presence='normal' OR presence='incomplete') " \
+ " ORDER BY t.local_relpath " \
+ ""
+
+#define STMT_CACHE_TARGET_PRISTINE_PROPS 157
+#define STMT_157_INFO {"STMT_CACHE_TARGET_PRISTINE_PROPS", NULL}
+#define STMT_157 \
+ "INSERT INTO target_prop_cache(local_relpath, kind, properties) " \
+ " SELECT n.local_relpath, n.kind, " \
+ " CASE n.presence " \
+ " WHEN 'base-deleted' " \
+ " THEN (SELECT properties FROM nodes AS p " \
+ " WHERE p.wc_id = n.wc_id " \
+ " AND p.local_relpath = n.local_relpath " \
+ " AND p.op_depth < n.op_depth " \
+ " ORDER BY p.op_depth DESC ) " \
+ " ELSE properties END " \
+ " FROM targets_list AS t " \
+ " JOIN nodes AS n " \
+ " ON n.wc_id = ?1 " \
+ " AND n.local_relpath = t.local_relpath " \
+ " AND n.op_depth = (SELECT MAX(op_depth) FROM nodes AS n3 " \
+ " WHERE n3.wc_id = ?1 " \
+ " AND n3.local_relpath = t.local_relpath) " \
+ " WHERE t.wc_id = ?1 " \
+ " AND (presence = 'normal' " \
+ " OR presence = 'incomplete' " \
+ " OR presence = 'base-deleted') " \
+ " ORDER BY t.local_relpath " \
+ ""
+
+#define STMT_SELECT_ALL_TARGET_PROP_CACHE 158
+#define STMT_158_INFO {"STMT_SELECT_ALL_TARGET_PROP_CACHE", NULL}
+#define STMT_158 \
+ "SELECT local_relpath, properties FROM target_prop_cache " \
"ORDER BY local_relpath " \
""
-#define STMT_DROP_NODE_PROPS_CACHE 150
-#define STMT_150 \
- "DROP TABLE IF EXISTS temp__node_props_cache; " \
+#define STMT_DROP_TARGET_PROP_CACHE 159
+#define STMT_159_INFO {"STMT_DROP_TARGET_PROP_CACHE", NULL}
+#define STMT_159 \
+ "DROP TABLE target_prop_cache; " \
""
-#define STMT_CREATE_REVERT_LIST 151
-#define STMT_151 \
+#define STMT_CREATE_REVERT_LIST 160
+#define STMT_160_INFO {"STMT_CREATE_REVERT_LIST", NULL}
+#define STMT_160 \
"DROP TABLE IF EXISTS revert_list; " \
"CREATE TEMPORARY TABLE revert_list ( " \
" local_relpath TEXT NOT NULL, " \
" actual INTEGER NOT NULL, " \
- " conflict_old TEXT, " \
- " conflict_new TEXT, " \
- " conflict_working TEXT, " \
- " prop_reject TEXT, " \
+ " conflict_data BLOB, " \
" notify INTEGER, " \
" op_depth INTEGER, " \
" repos_id INTEGER, " \
@@ -1356,246 +1677,511 @@
"CREATE TEMPORARY TRIGGER trigger_revert_list_actual_delete " \
"BEFORE DELETE ON actual_node " \
"BEGIN " \
- " INSERT OR REPLACE INTO revert_list(local_relpath, actual, conflict_old, " \
- " conflict_new, conflict_working, " \
- " prop_reject, notify) " \
- " SELECT OLD.local_relpath, 1, " \
- " OLD.conflict_old, OLD.conflict_new, OLD.conflict_working, " \
- " OLD.prop_reject, " \
+ " INSERT OR REPLACE INTO revert_list(local_relpath, actual, conflict_data, " \
+ " notify) " \
+ " SELECT OLD.local_relpath, 1, OLD.conflict_data, " \
" CASE " \
- " WHEN OLD.properties IS NOT NULL OR OLD.tree_conflict_data IS NOT NULL " \
- " THEN 1 ELSE NULL END; " \
+ " WHEN OLD.properties IS NOT NULL " \
+ " THEN 1 " \
+ " WHEN NOT EXISTS(SELECT 1 FROM NODES n " \
+ " WHERE n.wc_id = OLD.wc_id " \
+ " AND n.local_relpath = OLD.local_relpath) " \
+ " THEN 1 " \
+ " ELSE NULL " \
+ " END; " \
"END; " \
"DROP TRIGGER IF EXISTS trigger_revert_list_actual_update; " \
"CREATE TEMPORARY TRIGGER trigger_revert_list_actual_update " \
"BEFORE UPDATE ON actual_node " \
"BEGIN " \
- " INSERT OR REPLACE INTO revert_list(local_relpath, actual, conflict_old, " \
- " conflict_new, conflict_working, " \
- " prop_reject, notify) " \
- " SELECT OLD.local_relpath, 1, " \
- " OLD.conflict_old, OLD.conflict_new, OLD.conflict_working, " \
- " OLD.prop_reject, " \
+ " INSERT OR REPLACE INTO revert_list(local_relpath, actual, conflict_data, " \
+ " notify) " \
+ " SELECT OLD.local_relpath, 1, OLD.conflict_data, " \
" CASE " \
- " WHEN OLD.properties IS NOT NULL OR OLD.tree_conflict_data IS NOT NULL " \
- " THEN 1 ELSE NULL END; " \
+ " WHEN OLD.properties IS NOT NULL " \
+ " THEN 1 " \
+ " WHEN NOT EXISTS(SELECT 1 FROM NODES n " \
+ " WHERE n.wc_id = OLD.wc_id " \
+ " AND n.local_relpath = OLD.local_relpath) " \
+ " THEN 1 " \
+ " ELSE NULL " \
+ " END; " \
"END " \
""
-#define STMT_DROP_REVERT_LIST_TRIGGERS 152
-#define STMT_152 \
- "DROP TRIGGER IF EXISTS trigger_revert_list_nodes; " \
- "DROP TRIGGER IF EXISTS trigger_revert_list_actual_delete; " \
- "DROP TRIGGER IF EXISTS trigger_revert_list_actual_update " \
+#define STMT_DROP_REVERT_LIST_TRIGGERS 161
+#define STMT_161_INFO {"STMT_DROP_REVERT_LIST_TRIGGERS", NULL}
+#define STMT_161 \
+ "DROP TRIGGER trigger_revert_list_nodes; " \
+ "DROP TRIGGER trigger_revert_list_actual_delete; " \
+ "DROP TRIGGER trigger_revert_list_actual_update " \
""
-#define STMT_SELECT_REVERT_LIST 153
-#define STMT_153 \
- "SELECT conflict_old, conflict_new, conflict_working, prop_reject, notify, " \
- " actual, op_depth, repos_id, kind " \
+#define STMT_SELECT_REVERT_LIST 162
+#define STMT_162_INFO {"STMT_SELECT_REVERT_LIST", NULL}
+#define STMT_162 \
+ "SELECT actual, notify, kind, op_depth, repos_id, conflict_data " \
"FROM revert_list " \
"WHERE local_relpath = ?1 " \
"ORDER BY actual DESC " \
""
-#define STMT_SELECT_REVERT_LIST_COPIED_CHILDREN 154
-#define STMT_154 \
+#define STMT_SELECT_REVERT_LIST_COPIED_CHILDREN 163
+#define STMT_163_INFO {"STMT_SELECT_REVERT_LIST_COPIED_CHILDREN", NULL}
+#define STMT_163 \
"SELECT local_relpath, kind " \
"FROM revert_list " \
- "WHERE local_relpath LIKE ?1 ESCAPE '#' " \
+ "WHERE (((local_relpath) > (CASE (?1) WHEN '' THEN '' ELSE (?1) || '/' END)) AND ((local_relpath) < CASE (?1) WHEN '' THEN X'FFFF' ELSE (?1) || '0' END)) " \
" AND op_depth >= ?2 " \
" AND repos_id IS NOT NULL " \
"ORDER BY local_relpath " \
""
-#define STMT_DELETE_REVERT_LIST 155
-#define STMT_155 \
+#define STMT_DELETE_REVERT_LIST 164
+#define STMT_164_INFO {"STMT_DELETE_REVERT_LIST", NULL}
+#define STMT_164 \
"DELETE FROM revert_list WHERE local_relpath = ?1 " \
""
-#define STMT_SELECT_REVERT_LIST_RECURSIVE 156
-#define STMT_156 \
+#define STMT_SELECT_REVERT_LIST_RECURSIVE 165
+#define STMT_165_INFO {"STMT_SELECT_REVERT_LIST_RECURSIVE", NULL}
+#define STMT_165 \
"SELECT DISTINCT local_relpath " \
"FROM revert_list " \
- "WHERE (local_relpath = ?1 OR local_relpath LIKE ?2 ESCAPE '#') " \
+ "WHERE (local_relpath = ?1 " \
+ " OR (((local_relpath) > (CASE (?1) WHEN '' THEN '' ELSE (?1) || '/' END)) AND ((local_relpath) < CASE (?1) WHEN '' THEN X'FFFF' ELSE (?1) || '0' END))) " \
" AND (notify OR actual = 0) " \
"ORDER BY local_relpath " \
""
-#define STMT_DELETE_REVERT_LIST_RECURSIVE 157
-#define STMT_157 \
+#define STMT_DELETE_REVERT_LIST_RECURSIVE 166
+#define STMT_166_INFO {"STMT_DELETE_REVERT_LIST_RECURSIVE", NULL}
+#define STMT_166 \
"DELETE FROM revert_list " \
- "WHERE local_relpath = ?1 OR local_relpath LIKE ?2 ESCAPE '#' " \
+ "WHERE (local_relpath = ?1 " \
+ " OR (((local_relpath) > (CASE (?1) WHEN '' THEN '' ELSE (?1) || '/' END)) AND ((local_relpath) < CASE (?1) WHEN '' THEN X'FFFF' ELSE (?1) || '0' END))) " \
""
-#define STMT_DROP_REVERT_LIST 158
-#define STMT_158 \
+#define STMT_DROP_REVERT_LIST 167
+#define STMT_167_INFO {"STMT_DROP_REVERT_LIST", NULL}
+#define STMT_167 \
"DROP TABLE IF EXISTS revert_list " \
""
-#define STMT_CREATE_DELETE_LIST 159
-#define STMT_159 \
+#define STMT_CREATE_DELETE_LIST 168
+#define STMT_168_INFO {"STMT_CREATE_DELETE_LIST", NULL}
+#define STMT_168 \
"DROP TABLE IF EXISTS delete_list; " \
"CREATE TEMPORARY TABLE delete_list ( " \
- " local_relpath TEXT PRIMARY KEY NOT NULL " \
+ " local_relpath TEXT PRIMARY KEY NOT NULL UNIQUE " \
" ) " \
""
-#define STMT_INSERT_DELETE_LIST 160
-#define STMT_160 \
+#define STMT_INSERT_DELETE_LIST 169
+#define STMT_169_INFO {"STMT_INSERT_DELETE_LIST", NULL}
+#define STMT_169 \
"INSERT INTO delete_list(local_relpath) " \
- "SELECT local_relpath FROM nodes n " \
+ "SELECT local_relpath FROM nodes AS n " \
"WHERE wc_id = ?1 " \
" AND (local_relpath = ?2 " \
- " OR ((local_relpath) > (?2) || '/' AND (local_relpath) < (?2) || '0') ) " \
+ " OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \
" AND op_depth >= ?3 " \
- " AND presence NOT IN ('base-deleted', 'not-present', 'excluded', 'absent') " \
- " AND op_depth = (SELECT MAX(op_depth) FROM nodes s " \
- " WHERE s.wc_id = n.wc_id " \
+ " AND op_depth = (SELECT MAX(s.op_depth) FROM nodes AS s " \
+ " WHERE s.wc_id = ?1 " \
" AND s.local_relpath = n.local_relpath) " \
+ " AND presence NOT IN ('base-deleted', 'not-present', 'excluded', 'server-excluded') " \
+ " AND file_external IS NULL " \
""
-#define STMT_SELECT_DELETE_LIST 161
-#define STMT_161 \
+#define STMT_SELECT_DELETE_LIST 170
+#define STMT_170_INFO {"STMT_SELECT_DELETE_LIST", NULL}
+#define STMT_170 \
"SELECT local_relpath FROM delete_list " \
"ORDER BY local_relpath " \
""
-#define STMT_FINALIZE_DELETE 162
-#define STMT_162 \
+#define STMT_FINALIZE_DELETE 171
+#define STMT_171_INFO {"STMT_FINALIZE_DELETE", NULL}
+#define STMT_171 \
"DROP TABLE IF EXISTS delete_list " \
""
-#define STMT_SELECT_MIN_MAX_REVISIONS 163
-#define STMT_163 \
+#define STMT_CREATE_UPDATE_MOVE_LIST 172
+#define STMT_172_INFO {"STMT_CREATE_UPDATE_MOVE_LIST", NULL}
+#define STMT_172 \
+ "DROP TABLE IF EXISTS update_move_list; " \
+ "CREATE TEMPORARY TABLE update_move_list ( " \
+ " local_relpath TEXT PRIMARY KEY NOT NULL UNIQUE, " \
+ " action INTEGER NOT NULL, " \
+ " kind INTEGER NOT NULL, " \
+ " content_state INTEGER NOT NULL, " \
+ " prop_state INTEGER NOT NULL " \
+ " ) " \
+ ""
+
+#define STMT_INSERT_UPDATE_MOVE_LIST 173
+#define STMT_173_INFO {"STMT_INSERT_UPDATE_MOVE_LIST", NULL}
+#define STMT_173 \
+ "INSERT INTO update_move_list(local_relpath, action, kind, content_state, " \
+ " prop_state) " \
+ "VALUES (?1, ?2, ?3, ?4, ?5) " \
+ ""
+
+#define STMT_SELECT_UPDATE_MOVE_LIST 174
+#define STMT_174_INFO {"STMT_SELECT_UPDATE_MOVE_LIST", NULL}
+#define STMT_174 \
+ "SELECT local_relpath, action, kind, content_state, prop_state " \
+ "FROM update_move_list " \
+ "ORDER BY local_relpath " \
+ ""
+
+#define STMT_FINALIZE_UPDATE_MOVE 175
+#define STMT_175_INFO {"STMT_FINALIZE_UPDATE_MOVE", NULL}
+#define STMT_175 \
+ "DROP TABLE IF EXISTS update_move_list " \
+ ""
+
+#define STMT_SELECT_MIN_MAX_REVISIONS 176
+#define STMT_176_INFO {"STMT_SELECT_MIN_MAX_REVISIONS", NULL}
+#define STMT_176 \
"SELECT MIN(revision), MAX(revision), " \
" MIN(changed_revision), MAX(changed_revision) FROM nodes " \
" WHERE wc_id = ?1 " \
- " AND (?2 = '' " \
- " OR local_relpath = ?2 " \
- " OR ((local_relpath) > (?2) || '/' AND (local_relpath) < (?2) || '0') ) " \
+ " AND (local_relpath = ?2 " \
+ " OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \
" AND presence IN ('normal', 'incomplete') " \
" AND file_external IS NULL " \
" AND op_depth = 0 " \
""
-#define STMT_HAS_SPARSE_NODES 164
-#define STMT_164 \
+#define STMT_HAS_SPARSE_NODES 177
+#define STMT_177_INFO {"STMT_HAS_SPARSE_NODES", NULL}
+#define STMT_177 \
"SELECT 1 FROM nodes " \
"WHERE wc_id = ?1 " \
- " AND (?2 = '' " \
- " OR local_relpath = ?2 " \
- " OR ((local_relpath) > (?2) || '/' AND (local_relpath) < (?2) || '0') ) " \
+ " AND (local_relpath = ?2 " \
+ " OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \
" AND op_depth = 0 " \
- " AND (presence IN ('absent', 'excluded') " \
+ " AND (presence IN ('server-excluded', 'excluded') " \
" OR depth NOT IN ('infinity', 'unknown')) " \
" AND file_external IS NULL " \
"LIMIT 1 " \
""
-#define STMT_SUBTREE_HAS_TREE_MODIFICATIONS 165
-#define STMT_165 \
+#define STMT_SUBTREE_HAS_TREE_MODIFICATIONS 178
+#define STMT_178_INFO {"STMT_SUBTREE_HAS_TREE_MODIFICATIONS", NULL}
+#define STMT_178 \
"SELECT 1 FROM nodes " \
"WHERE wc_id = ?1 " \
- " AND (?2 = '' " \
- " OR local_relpath = ?2 " \
- " OR ((local_relpath) > (?2) || '/' AND (local_relpath) < (?2) || '0') ) " \
+ " AND (local_relpath = ?2 " \
+ " OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \
" AND op_depth > 0 " \
"LIMIT 1 " \
""
-#define STMT_SUBTREE_HAS_PROP_MODIFICATIONS 166
-#define STMT_166 \
+#define STMT_SUBTREE_HAS_PROP_MODIFICATIONS 179
+#define STMT_179_INFO {"STMT_SUBTREE_HAS_PROP_MODIFICATIONS", NULL}
+#define STMT_179 \
"SELECT 1 FROM actual_node " \
"WHERE wc_id = ?1 " \
- " AND (?2 = '' " \
- " OR local_relpath = ?2 " \
- " OR ((local_relpath) > (?2) || '/' AND (local_relpath) < (?2) || '0') ) " \
+ " AND (local_relpath = ?2 " \
+ " OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \
" AND properties IS NOT NULL " \
"LIMIT 1 " \
""
-#define STMT_HAS_SWITCHED 167
-#define STMT_167 \
- "SELECT o.repos_path || '/' || SUBSTR(s.local_relpath, LENGTH(?2)+2) AS expected " \
- "FROM nodes AS o " \
- "LEFT JOIN nodes AS s " \
- "ON o.wc_id = s.wc_id " \
- " AND ((s.local_relpath) > (?2) || '/' AND (s.local_relpath) < (?2) || '0') " \
- " AND s.op_depth = 0 " \
- " AND s.repos_id = o.repos_id " \
- " AND s.file_external IS NULL " \
- "WHERE o.wc_id = ?1 AND o.local_relpath=?2 AND o.op_depth=0 " \
- " AND s.repos_path != expected " \
+#define STMT_HAS_SWITCHED 180
+#define STMT_180_INFO {"STMT_HAS_SWITCHED", NULL}
+#define STMT_180 \
+ "SELECT 1 " \
+ "FROM nodes " \
+ "WHERE wc_id = ?1 " \
+ " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
+ " AND op_depth = 0 " \
+ " AND file_external IS NULL " \
+ " AND presence IN ('normal', 'incomplete') " \
+ " AND repos_path IS NOT (CASE WHEN (?2) = '' THEN (CASE WHEN (?3) = '' THEN (local_relpath) WHEN (local_relpath) = '' THEN (?3) ELSE (?3) || '/' || (local_relpath) END) WHEN (?3) = '' THEN (CASE WHEN (?2) = '' THEN (local_relpath) WHEN SUBSTR((local_relpath), 1, LENGTH(?2)) = (?2) THEN CASE WHEN LENGTH(?2) = LENGTH(local_relpath) THEN '' WHEN SUBSTR((local_relpath), LENGTH(?2)+1, 1) = '/' THEN SUBSTR((local_relpath), LENGTH(?2)+2) END END) WHEN SUBSTR((local_relpath), 1, LENGTH(?2)) = (?2) THEN CASE WHEN LENGTH(?2) = LENGTH(local_relpath) THEN (?3) WHEN SUBSTR((local_relpath), LENGTH(?2)+1, 1) = '/' THEN (?3) || SUBSTR((local_relpath), LENGTH(?2)+1) END END) " \
"LIMIT 1 " \
""
-#define STMT_HAS_SWITCHED_REPOS_ROOT 168
-#define STMT_168 \
- "SELECT SUBSTR(s.local_relpath, LENGTH(?2)+2) AS expected " \
- "FROM nodes AS o " \
- "LEFT JOIN nodes AS s " \
- "ON o.wc_id = s.wc_id " \
- " AND ((s.local_relpath) > (?2) || '/' AND (s.local_relpath) < (?2) || '0') " \
- " AND s.op_depth = 0 " \
- " AND s.repos_id = o.repos_id " \
- " AND s.file_external IS NULL " \
- "WHERE o.wc_id = ?1 AND o.local_relpath=?2 AND o.op_depth=0 " \
- " AND s.repos_path != expected " \
- "LIMIT 1 " \
+#define STMT_SELECT_BASE_FILES_RECURSIVE 181
+#define STMT_181_INFO {"STMT_SELECT_BASE_FILES_RECURSIVE", NULL}
+#define STMT_181 \
+ "SELECT local_relpath, translated_size, last_mod_time FROM nodes AS n " \
+ "WHERE wc_id = ?1 " \
+ " AND (local_relpath = ?2 " \
+ " OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \
+ " AND op_depth = 0 " \
+ " AND kind='file' " \
+ " AND presence='normal' " \
+ " AND file_external IS NULL " \
""
-#define STMT_HAS_SWITCHED_WCROOT 169
-#define STMT_169 \
- "SELECT o.repos_path || '/' || s.local_relpath AS expected " \
- "FROM nodes AS o " \
- "LEFT JOIN nodes AS s " \
- "ON o.wc_id = s.wc_id " \
- " AND s.local_relpath != '' " \
- " AND s.op_depth = 0 " \
- " AND s.repos_id = o.repos_id " \
- " AND s.file_external IS NULL " \
- "WHERE o.wc_id = ?1 AND o.local_relpath=?2 AND o.op_depth=0 " \
- " AND s.repos_path != expected " \
- "LIMIT 1 " \
+#define STMT_SELECT_MOVED_FROM_RELPATH 182
+#define STMT_182_INFO {"STMT_SELECT_MOVED_FROM_RELPATH", NULL}
+#define STMT_182 \
+ "SELECT local_relpath, op_depth FROM nodes " \
+ "WHERE wc_id = ?1 AND moved_to = ?2 AND op_depth > 0 " \
""
-#define STMT_HAS_SWITCHED_WCROOT_REPOS_ROOT 170
-#define STMT_170 \
- "SELECT s.local_relpath AS expected " \
- "FROM nodes AS o " \
- "LEFT JOIN nodes AS s " \
- "ON o.wc_id = s.wc_id " \
- " AND s.local_relpath != '' " \
- " AND s.op_depth = 0 " \
- " AND s.repos_id = o.repos_id " \
- " AND s.file_external IS NULL " \
- "WHERE o.wc_id = ?1 AND o.local_relpath=?2 AND o.op_depth=0 " \
- " AND s.repos_path != expected " \
- "LIMIT 1 " \
+#define STMT_UPDATE_MOVED_TO_RELPATH 183
+#define STMT_183_INFO {"STMT_UPDATE_MOVED_TO_RELPATH", NULL}
+#define STMT_183 \
+ "UPDATE nodes SET moved_to = ?4 " \
+ "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = ?3 " \
""
-#define STMT_SELECT_BASE_FILES_RECURSIVE 171
-#define STMT_171 \
- "SELECT local_relpath, translated_size, last_mod_time FROM nodes AS n " \
+#define STMT_CLEAR_MOVED_TO_RELPATH 184
+#define STMT_184_INFO {"STMT_CLEAR_MOVED_TO_RELPATH", NULL}
+#define STMT_184 \
+ "UPDATE nodes SET moved_to = NULL " \
+ "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = ?3 " \
+ ""
+
+#define STMT_CLEAR_MOVED_HERE_RECURSIVE 185
+#define STMT_185_INFO {"STMT_CLEAR_MOVED_HERE_RECURSIVE", NULL}
+#define STMT_185 \
+ "UPDATE nodes SET moved_here = NULL " \
+ "WHERE wc_id = ?1 " \
+ " AND (local_relpath = ?2 OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \
+ " AND op_depth = ?3 " \
+ ""
+
+#define STMT_SELECT_MOVED_HERE_CHILDREN 186
+#define STMT_186_INFO {"STMT_SELECT_MOVED_HERE_CHILDREN", NULL}
+#define STMT_186 \
+ "SELECT moved_to, local_relpath FROM nodes " \
+ "WHERE wc_id = ?1 AND op_depth > 0 " \
+ " AND (((moved_to) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((moved_to) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
+ ""
+
+#define STMT_SELECT_MOVED_FOR_DELETE 187
+#define STMT_187_INFO {"STMT_SELECT_MOVED_FOR_DELETE", NULL}
+#define STMT_187 \
+ "SELECT local_relpath, moved_to, op_depth, " \
+ " (SELECT CASE WHEN r.moved_here THEN r.op_depth END FROM nodes r " \
+ " WHERE r.wc_id = ?1 " \
+ " AND r.local_relpath = n.local_relpath " \
+ " AND r.op_depth < n.op_depth " \
+ " ORDER BY r.op_depth DESC LIMIT 1) AS moved_here_op_depth " \
+ " FROM nodes n " \
"WHERE wc_id = ?1 " \
- " AND (?2 = '' " \
- " OR local_relpath = ?2 " \
- " OR ((local_relpath) > (?2) || '/' AND (local_relpath) < (?2) || '0') ) " \
+ " AND (local_relpath = ?2 OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \
+ " AND moved_to IS NOT NULL " \
+ " AND op_depth >= ?3 " \
+ ""
+
+#define STMT_SELECT_MOVED_FROM_FOR_DELETE 188
+#define STMT_188_INFO {"STMT_SELECT_MOVED_FROM_FOR_DELETE", NULL}
+#define STMT_188 \
+ "SELECT local_relpath, op_depth, " \
+ " (SELECT CASE WHEN r.moved_here THEN r.op_depth END FROM nodes r " \
+ " WHERE r.wc_id = ?1 " \
+ " AND r.local_relpath = n.local_relpath " \
+ " AND r.op_depth < n.op_depth " \
+ " ORDER BY r.op_depth DESC LIMIT 1) AS moved_here_op_depth " \
+ " FROM nodes n " \
+ "WHERE wc_id = ?1 AND moved_to = ?2 AND op_depth > 0 " \
+ ""
+
+#define STMT_UPDATE_MOVED_TO_DESCENDANTS 189
+#define STMT_189_INFO {"STMT_UPDATE_MOVED_TO_DESCENDANTS", NULL}
+#define STMT_189 \
+ "UPDATE nodes SET moved_to = (CASE WHEN (?2) = '' THEN (CASE WHEN (?3) = '' THEN (moved_to) WHEN (moved_to) = '' THEN (?3) ELSE (?3) || '/' || (moved_to) END) WHEN (?3) = '' THEN (CASE WHEN (?2) = '' THEN (moved_to) WHEN SUBSTR((moved_to), 1, LENGTH(?2)) = (?2) THEN CASE WHEN LENGTH(?2) = LENGTH(moved_to) THEN '' WHEN SUBSTR((moved_to), LENGTH(?2)+1, 1) = '/' THEN SUBSTR((moved_to), LENGTH(?2)+2) END END) WHEN SUBSTR((moved_to), 1, LENGTH(?2)) = (?2) THEN CASE WHEN LENGTH(?2) = LENGTH(moved_to) THEN (?3) WHEN SUBSTR((moved_to), LENGTH(?2)+1, 1) = '/' THEN (?3) || SUBSTR((moved_to), LENGTH(?2)+1) END END) " \
+ " WHERE wc_id = ?1 " \
+ " AND (((moved_to) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((moved_to) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
+ ""
+
+#define STMT_CLEAR_MOVED_TO_DESCENDANTS 190
+#define STMT_190_INFO {"STMT_CLEAR_MOVED_TO_DESCENDANTS", NULL}
+#define STMT_190 \
+ "UPDATE nodes SET moved_to = NULL " \
+ " WHERE wc_id = ?1 " \
+ " AND (((moved_to) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((moved_to) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
+ ""
+
+#define STMT_SELECT_MOVED_PAIR2 191
+#define STMT_191_INFO {"STMT_SELECT_MOVED_PAIR2", NULL}
+#define STMT_191 \
+ "SELECT local_relpath, moved_to, op_depth FROM nodes " \
+ "WHERE wc_id = ?1 " \
+ " AND (local_relpath = ?2 OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \
+ " AND moved_to IS NOT NULL " \
+ " AND NOT (((moved_to) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((moved_to) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
+ " AND op_depth >= (SELECT MAX(op_depth) FROM nodes o " \
+ " WHERE o.wc_id = ?1 " \
+ " AND o.local_relpath = ?2) " \
+ ""
+
+#define STMT_SELECT_MOVED_PAIR3 192
+#define STMT_192_INFO {"STMT_SELECT_MOVED_PAIR3", NULL}
+#define STMT_192 \
+ "SELECT local_relpath, moved_to, op_depth, kind FROM nodes " \
+ "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth > ?3 " \
+ " AND moved_to IS NOT NULL " \
+ "UNION ALL " \
+ "SELECT local_relpath, moved_to, op_depth, kind FROM nodes " \
+ "WHERE wc_id = ?1 " \
+ " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
+ " AND op_depth > ?3 " \
+ " AND moved_to IS NOT NULL " \
+ "ORDER BY local_relpath, op_depth " \
+ ""
+
+#define STMT_SELECT_MOVED_OUTSIDE 193
+#define STMT_193_INFO {"STMT_SELECT_MOVED_OUTSIDE", NULL}
+#define STMT_193 \
+ "SELECT local_relpath, moved_to, op_depth FROM nodes " \
+ "WHERE wc_id = ?1 " \
+ " AND (local_relpath = ?2 OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \
+ " AND op_depth >= ?3 " \
+ " AND moved_to IS NOT NULL " \
+ " AND NOT (((moved_to) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((moved_to) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
+ ""
+
+#define STMT_SELECT_OP_DEPTH_MOVED_PAIR 194
+#define STMT_194_INFO {"STMT_SELECT_OP_DEPTH_MOVED_PAIR", NULL}
+#define STMT_194 \
+ "SELECT n.local_relpath, n.moved_to, " \
+ " (SELECT o.repos_path FROM nodes AS o " \
+ " WHERE o.wc_id = n.wc_id " \
+ " AND o.local_relpath = n.local_relpath " \
+ " AND o.op_depth < ?3 ORDER BY o.op_depth DESC LIMIT 1) " \
+ "FROM nodes AS n " \
+ "WHERE n.wc_id = ?1 " \
+ " AND (((n.local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((n.local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
+ " AND n.op_depth = ?3 " \
+ " AND n.moved_to IS NOT NULL " \
+ ""
+
+#define STMT_SELECT_MOVED_DESCENDANTS 195
+#define STMT_195_INFO {"STMT_SELECT_MOVED_DESCENDANTS", NULL}
+#define STMT_195 \
+ "SELECT n.local_relpath, h.moved_to " \
+ "FROM nodes n, nodes h " \
+ "WHERE n.wc_id = ?1 " \
+ " AND h.wc_id = ?1 " \
+ " AND (((n.local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((n.local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
+ " AND h.local_relpath = n.local_relpath " \
+ " AND n.op_depth = ?3 " \
+ " AND h.op_depth = (SELECT MIN(o.op_depth) " \
+ " FROM nodes o " \
+ " WHERE o.wc_id = ?1 " \
+ " AND o.local_relpath = n.local_relpath " \
+ " AND o.op_depth > ?3) " \
+ " AND h.moved_to IS NOT NULL " \
+ ""
+
+#define STMT_COMMIT_UPDATE_ORIGIN 196
+#define STMT_196_INFO {"STMT_COMMIT_UPDATE_ORIGIN", NULL}
+#define STMT_196 \
+ "UPDATE nodes SET repos_id = ?4, " \
+ " repos_path = ?5 || SUBSTR(local_relpath, LENGTH(?2)+1), " \
+ " revision = ?6 " \
+ "WHERE wc_id = ?1 " \
+ " AND (local_relpath = ?2 " \
+ " OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \
+ " AND op_depth = ?3 " \
+ ""
+
+#define STMT_HAS_LAYER_BETWEEN 197
+#define STMT_197_INFO {"STMT_HAS_LAYER_BETWEEN", NULL}
+#define STMT_197 \
+ "SELECT 1 FROM NODES " \
+ "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth > ?3 AND op_depth < ?4 " \
+ ""
+
+#define STMT_SELECT_REPOS_PATH_REVISION 198
+#define STMT_198_INFO {"STMT_SELECT_REPOS_PATH_REVISION", NULL}
+#define STMT_198 \
+ "SELECT local_relpath, repos_path, revision FROM nodes " \
+ "WHERE wc_id = ?1 " \
+ " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
+ " AND op_depth = 0 " \
+ "ORDER BY local_relpath " \
+ ""
+
+#define STMT_SELECT_HAS_NON_FILE_CHILDREN 199
+#define STMT_199_INFO {"STMT_SELECT_HAS_NON_FILE_CHILDREN", NULL}
+#define STMT_199 \
+ "SELECT 1 FROM nodes " \
+ "WHERE wc_id = ?1 AND parent_relpath = ?2 AND op_depth = 0 AND kind != 'file' " \
+ ""
+
+#define STMT_SELECT_HAS_GRANDCHILDREN 200
+#define STMT_200_INFO {"STMT_SELECT_HAS_GRANDCHILDREN", NULL}
+#define STMT_200 \
+ "SELECT 1 FROM nodes " \
+ "WHERE wc_id = ?1 " \
+ " AND (((parent_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((parent_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
" AND op_depth = 0 " \
- " AND kind='file' " \
- " AND presence='normal' " \
" AND file_external IS NULL " \
""
-#define STMT_SELECT_ALL_NODES 172
-#define STMT_172 \
+#define STMT_SELECT_ALL_NODES 201
+#define STMT_201_INFO {"STMT_SELECT_ALL_NODES", NULL}
+#define STMT_201 \
"SELECT op_depth, local_relpath, parent_relpath, file_external FROM nodes " \
- "WHERE wc_id == ?1 " \
+ "WHERE wc_id = ?1 " \
""
-#define STMT_CREATE_SCHEMA 173
-#define STMT_173 \
+#define STMT_SELECT_IPROPS 202
+#define STMT_202_INFO {"STMT_SELECT_IPROPS", NULL}
+#define STMT_202 \
+ "SELECT inherited_props FROM nodes " \
+ "WHERE wc_id = ?1 " \
+ " AND local_relpath = ?2 " \
+ " AND op_depth = 0 " \
+ ""
+
+#define STMT_UPDATE_IPROP 203
+#define STMT_203_INFO {"STMT_UPDATE_IPROP", NULL}
+#define STMT_203 \
+ "UPDATE nodes " \
+ "SET inherited_props = ?3 " \
+ "WHERE (wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0) " \
+ ""
+
+#define STMT_SELECT_IPROPS_NODE 204
+#define STMT_204_INFO {"STMT_SELECT_IPROPS_NODE", NULL}
+#define STMT_204 \
+ "SELECT local_relpath, repos_path FROM nodes " \
+ "WHERE wc_id = ?1 " \
+ " AND local_relpath = ?2 " \
+ " AND op_depth = 0 " \
+ " AND (inherited_props not null) " \
+ ""
+
+#define STMT_SELECT_IPROPS_RECURSIVE 205
+#define STMT_205_INFO {"STMT_SELECT_IPROPS_RECURSIVE", NULL}
+#define STMT_205 \
+ "SELECT local_relpath, repos_path FROM nodes " \
+ "WHERE wc_id = ?1 " \
+ " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
+ " AND op_depth = 0 " \
+ " AND (inherited_props not null) " \
+ ""
+
+#define STMT_SELECT_IPROPS_CHILDREN 206
+#define STMT_206_INFO {"STMT_SELECT_IPROPS_CHILDREN", NULL}
+#define STMT_206 \
+ "SELECT local_relpath, repos_path FROM nodes " \
+ "WHERE wc_id = ?1 " \
+ " AND parent_relpath = ?2 " \
+ " AND op_depth = 0 " \
+ " AND (inherited_props not null) " \
+ ""
+
+#define STMT_HAVE_STAT1_TABLE 207
+#define STMT_207_INFO {"STMT_HAVE_STAT1_TABLE", NULL}
+#define STMT_207 \
+ "SELECT 1 FROM sqlite_master WHERE name='sqlite_stat1' AND type='table' " \
+ "LIMIT 1 " \
+ ""
+
+#define STMT_CREATE_SCHEMA 208
+#define STMT_208_INFO {"STMT_CREATE_SCHEMA", NULL}
+#define STMT_208 \
"CREATE TABLE REPOSITORY ( " \
" id INTEGER PRIMARY KEY AUTOINCREMENT, " \
" root TEXT UNIQUE NOT NULL, " \
@@ -1615,6 +2201,7 @@
" refcount INTEGER NOT NULL, " \
" md5_checksum TEXT NOT NULL " \
" ); " \
+ "CREATE INDEX I_PRISTINE_MD5 ON PRISTINE (md5_checksum); " \
"CREATE TABLE ACTUAL_NODE ( " \
" wc_id INTEGER NOT NULL REFERENCES WCROOT (id), " \
" local_relpath TEXT NOT NULL, " \
@@ -1633,8 +2220,8 @@
" right_checksum TEXT REFERENCES PRISTINE (checksum), " \
" PRIMARY KEY (wc_id, local_relpath) " \
" ); " \
- "CREATE INDEX I_ACTUAL_PARENT ON ACTUAL_NODE (wc_id, parent_relpath); " \
- "CREATE INDEX I_ACTUAL_CHANGELIST ON ACTUAL_NODE (changelist); " \
+ "CREATE UNIQUE INDEX I_ACTUAL_PARENT ON ACTUAL_NODE (wc_id, parent_relpath, " \
+ " local_relpath); " \
"CREATE TABLE LOCK ( " \
" repos_id INTEGER NOT NULL REFERENCES REPOSITORY (id), " \
" repos_relpath TEXT NOT NULL, " \
@@ -1659,8 +2246,9 @@
"; " \
""
-#define STMT_CREATE_NODES 174
-#define STMT_174 \
+#define STMT_CREATE_NODES 209
+#define STMT_209_INFO {"STMT_CREATE_NODES", NULL}
+#define STMT_209 \
"CREATE TABLE NODES ( " \
" wc_id INTEGER NOT NULL REFERENCES WCROOT (id), " \
" local_relpath TEXT NOT NULL, " \
@@ -1683,10 +2271,13 @@
" translated_size INTEGER, " \
" last_mod_time INTEGER, " \
" dav_cache BLOB, " \
- " file_external TEXT, " \
+ " file_external INTEGER, " \
+ " inherited_props BLOB, " \
" PRIMARY KEY (wc_id, local_relpath, op_depth) " \
" ); " \
- "CREATE INDEX I_NODES_PARENT ON NODES (wc_id, parent_relpath, op_depth); " \
+ "CREATE UNIQUE INDEX I_NODES_PARENT ON NODES (wc_id, parent_relpath, " \
+ " local_relpath, op_depth); " \
+ "CREATE UNIQUE INDEX I_NODES_MOVED ON NODES (wc_id, moved_to, op_depth); " \
"CREATE VIEW NODES_CURRENT AS " \
" SELECT * FROM nodes AS n " \
" WHERE op_depth = (SELECT MAX(op_depth) FROM nodes AS n2 " \
@@ -1697,8 +2288,9 @@
" WHERE op_depth = 0; " \
""
-#define STMT_CREATE_NODES_TRIGGERS 175
-#define STMT_175 \
+#define STMT_CREATE_NODES_TRIGGERS 210
+#define STMT_210_INFO {"STMT_CREATE_NODES_TRIGGERS", NULL}
+#define STMT_210 \
"CREATE TRIGGER nodes_insert_trigger " \
"AFTER INSERT ON nodes " \
"WHEN NEW.checksum IS NOT NULL " \
@@ -1724,8 +2316,9 @@
"END; " \
""
-#define STMT_CREATE_EXTERNALS 176
-#define STMT_176 \
+#define STMT_CREATE_EXTERNALS 211
+#define STMT_211_INFO {"STMT_CREATE_EXTERNALS", NULL}
+#define STMT_211 \
"CREATE TABLE EXTERNALS ( " \
" wc_id INTEGER NOT NULL REFERENCES WCROOT (id), " \
" local_relpath TEXT NOT NULL, " \
@@ -1739,20 +2332,44 @@
" def_revision TEXT, " \
" PRIMARY KEY (wc_id, local_relpath) " \
"); " \
- "CREATE INDEX I_EXTERNALS_PARENT ON EXTERNALS (wc_id, parent_relpath); " \
"CREATE UNIQUE INDEX I_EXTERNALS_DEFINED ON EXTERNALS (wc_id, " \
" def_local_relpath, " \
" local_relpath); " \
""
-#define STMT_UPGRADE_TO_20 177
-#define STMT_177 \
- "UPDATE BASE_NODE SET checksum=(SELECT checksum FROM pristine " \
- " WHERE md5_checksum=BASE_NODE.checksum) " \
- "WHERE EXISTS(SELECT 1 FROM pristine WHERE md5_checksum=BASE_NODE.checksum); " \
- "UPDATE WORKING_NODE SET checksum=(SELECT checksum FROM pristine " \
- " WHERE md5_checksum=WORKING_NODE.checksum) " \
- "WHERE EXISTS(SELECT 1 FROM pristine WHERE md5_checksum=WORKING_NODE.checksum); " \
+#define STMT_INSTALL_SCHEMA_STATISTICS 212
+#define STMT_212_INFO {"STMT_INSTALL_SCHEMA_STATISTICS", NULL}
+#define STMT_212 \
+ "ANALYZE sqlite_master; " \
+ "DELETE FROM sqlite_stat1 " \
+ "WHERE tbl in ('NODES', 'ACTUAL_NODE', 'LOCK', 'WC_LOCK'); " \
+ "INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES " \
+ " ('NODES', 'sqlite_autoindex_NODES_1', '8000 8000 2 1'); " \
+ "INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES " \
+ " ('NODES', 'I_NODES_PARENT', '8000 8000 10 2 1'); " \
+ "INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES " \
+ " ('NODES', 'I_NODES_MOVED', '8000 8000 1 1'); " \
+ "INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES " \
+ " ('ACTUAL_NODE', 'sqlite_autoindex_ACTUAL_NODE_1', '8000 8000 1'); " \
+ "INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES " \
+ " ('ACTUAL_NODE', 'I_ACTUAL_PARENT', '8000 8000 10 1'); " \
+ "INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES " \
+ " ('LOCK', 'sqlite_autoindex_LOCK_1', '100 100 1'); " \
+ "INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES " \
+ " ('WC_LOCK', 'sqlite_autoindex_WC_LOCK_1', '100 100 1'); " \
+ "ANALYZE sqlite_master; " \
+ ""
+
+#define STMT_UPGRADE_TO_20 213
+#define STMT_213_INFO {"STMT_UPGRADE_TO_20", NULL}
+#define STMT_213 \
+ "UPDATE BASE_NODE SET checksum = (SELECT checksum FROM pristine " \
+ " WHERE md5_checksum = BASE_NODE.checksum) " \
+ "WHERE EXISTS (SELECT 1 FROM pristine WHERE md5_checksum = BASE_NODE.checksum); " \
+ "UPDATE WORKING_NODE SET checksum = (SELECT checksum FROM pristine " \
+ " WHERE md5_checksum = WORKING_NODE.checksum) " \
+ "WHERE EXISTS (SELECT 1 FROM pristine " \
+ " WHERE md5_checksum = WORKING_NODE.checksum); " \
"INSERT INTO NODES ( " \
" wc_id, local_relpath, op_depth, parent_relpath, " \
" repos_id, repos_path, revision, " \
@@ -1786,33 +2403,59 @@
"PRAGMA user_version = 20; " \
""
-#define STMT_UPGRADE_TO_21 178
-#define STMT_178 \
+#define STMT_UPGRADE_TO_21 214
+#define STMT_214_INFO {"STMT_UPGRADE_TO_21", NULL}
+#define STMT_214 \
"PRAGMA user_version = 21; " \
""
-#define STMT_UPGRADE_TO_22 179
-#define STMT_179 \
+#define STMT_UPGRADE_21_SELECT_OLD_TREE_CONFLICT 215
+#define STMT_215_INFO {"STMT_UPGRADE_21_SELECT_OLD_TREE_CONFLICT", NULL}
+#define STMT_215 \
+ "SELECT wc_id, local_relpath, tree_conflict_data " \
+ "FROM actual_node " \
+ "WHERE tree_conflict_data IS NOT NULL " \
+ ""
+
+#define STMT_UPGRADE_21_ERASE_OLD_CONFLICTS 216
+#define STMT_216_INFO {"STMT_UPGRADE_21_ERASE_OLD_CONFLICTS", NULL}
+#define STMT_216 \
+ "UPDATE actual_node SET tree_conflict_data = NULL " \
+ ""
+
+#define STMT_UPGRADE_TO_22 217
+#define STMT_217_INFO {"STMT_UPGRADE_TO_22", NULL}
+#define STMT_217 \
"UPDATE actual_node SET tree_conflict_data = conflict_data; " \
"UPDATE actual_node SET conflict_data = NULL; " \
"PRAGMA user_version = 22; " \
""
-#define STMT_UPGRADE_TO_23 180
-#define STMT_180 \
+#define STMT_UPGRADE_TO_23 218
+#define STMT_218_INFO {"STMT_UPGRADE_TO_23", NULL}
+#define STMT_218 \
"PRAGMA user_version = 23; " \
""
-#define STMT_UPGRADE_TO_24 181
-#define STMT_181 \
+#define STMT_UPGRADE_23_HAS_WORKING_NODES 219
+#define STMT_219_INFO {"STMT_UPGRADE_23_HAS_WORKING_NODES", NULL}
+#define STMT_219 \
+ "SELECT 1 FROM nodes WHERE op_depth > 0 " \
+ "LIMIT 1 " \
+ ""
+
+#define STMT_UPGRADE_TO_24 220
+#define STMT_220_INFO {"STMT_UPGRADE_TO_24", NULL}
+#define STMT_220 \
"UPDATE pristine SET refcount = " \
" (SELECT COUNT(*) FROM nodes " \
" WHERE checksum = pristine.checksum ); " \
"PRAGMA user_version = 24; " \
""
-#define STMT_UPGRADE_TO_25 182
-#define STMT_182 \
+#define STMT_UPGRADE_TO_25 221
+#define STMT_221_INFO {"STMT_UPGRADE_TO_25", NULL}
+#define STMT_221 \
"DROP VIEW IF EXISTS NODES_CURRENT; " \
"CREATE VIEW NODES_CURRENT AS " \
" SELECT * FROM nodes " \
@@ -1824,8 +2467,9 @@
"PRAGMA user_version = 25; " \
""
-#define STMT_UPGRADE_TO_26 183
-#define STMT_183 \
+#define STMT_UPGRADE_TO_26 222
+#define STMT_222_INFO {"STMT_UPGRADE_TO_26", NULL}
+#define STMT_222 \
"DROP VIEW IF EXISTS NODES_BASE; " \
"CREATE VIEW NODES_BASE AS " \
" SELECT * FROM nodes " \
@@ -1833,21 +2477,34 @@
"PRAGMA user_version = 26; " \
""
-#define STMT_UPGRADE_TO_27 184
-#define STMT_184 \
+#define STMT_UPGRADE_TO_27 223
+#define STMT_223_INFO {"STMT_UPGRADE_TO_27", NULL}
+#define STMT_223 \
"PRAGMA user_version = 27; " \
""
-#define STMT_UPGRADE_TO_28 185
-#define STMT_185 \
- "UPDATE NODES SET checksum=(SELECT checksum FROM pristine " \
- " WHERE md5_checksum=nodes.checksum) " \
- "WHERE EXISTS(SELECT 1 FROM pristine WHERE md5_checksum=nodes.checksum); " \
+#define STMT_UPGRADE_27_HAS_ACTUAL_NODES_CONFLICTS 224
+#define STMT_224_INFO {"STMT_UPGRADE_27_HAS_ACTUAL_NODES_CONFLICTS", NULL}
+#define STMT_224 \
+ "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 " \
+ ""
+
+#define STMT_UPGRADE_TO_28 225
+#define STMT_225_INFO {"STMT_UPGRADE_TO_28", NULL}
+#define STMT_225 \
+ "UPDATE NODES SET checksum = (SELECT checksum FROM pristine " \
+ " WHERE md5_checksum = nodes.checksum) " \
+ "WHERE EXISTS (SELECT 1 FROM pristine WHERE md5_checksum = nodes.checksum); " \
"PRAGMA user_version = 28; " \
""
-#define STMT_UPGRADE_TO_29 186
-#define STMT_186 \
+#define STMT_UPGRADE_TO_29 226
+#define STMT_226_INFO {"STMT_UPGRADE_TO_29", NULL}
+#define STMT_226 \
"DROP TRIGGER IF EXISTS nodes_update_checksum_trigger; " \
"DROP TRIGGER IF EXISTS nodes_insert_trigger; " \
"DROP TRIGGER IF EXISTS nodes_delete_trigger; " \
@@ -1875,6 +2532,87 @@
" WHERE checksum = OLD.checksum; " \
"END; " \
"PRAGMA user_version = 29; " \
+ ""
+
+#define STMT_UPGRADE_TO_30 227
+#define STMT_227_INFO {"STMT_UPGRADE_TO_30", NULL}
+#define STMT_227 \
+ "CREATE UNIQUE INDEX IF NOT EXISTS I_NODES_MOVED " \
+ "ON NODES (wc_id, moved_to, op_depth); " \
+ "CREATE INDEX IF NOT EXISTS I_PRISTINE_MD5 ON PRISTINE (md5_checksum); " \
+ "UPDATE nodes SET presence = \"server-excluded\" WHERE presence = \"absent\"; " \
+ "UPDATE nodes SET file_external=1 WHERE file_external IS NOT NULL; " \
+ ""
+
+#define STMT_UPGRADE_30_SELECT_CONFLICT_SEPARATE 228
+#define STMT_228_INFO {"STMT_UPGRADE_30_SELECT_CONFLICT_SEPARATE", NULL}
+#define STMT_228 \
+ "SELECT wc_id, local_relpath, " \
+ " conflict_old, conflict_working, conflict_new, prop_reject, tree_conflict_data " \
+ "FROM actual_node " \
+ "WHERE conflict_old IS NOT NULL " \
+ " OR conflict_working IS NOT NULL " \
+ " OR conflict_new IS NOT NULL " \
+ " OR prop_reject IS NOT NULL " \
+ " OR tree_conflict_data IS NOT NULL " \
+ "ORDER by wc_id, local_relpath " \
+ ""
+
+#define STMT_UPGRADE_30_SET_CONFLICT 229
+#define STMT_229_INFO {"STMT_UPGRADE_30_SET_CONFLICT", NULL}
+#define STMT_229 \
+ "UPDATE actual_node SET conflict_data = ?3, conflict_old = NULL, " \
+ " conflict_working = NULL, conflict_new = NULL, prop_reject = NULL, " \
+ " tree_conflict_data = NULL " \
+ "WHERE wc_id = ?1 and local_relpath = ?2 " \
+ ""
+
+#define STMT_UPGRADE_TO_31_ALTER_TABLE 230
+#define STMT_230_INFO {"STMT_UPGRADE_TO_31_ALTER_TABLE", NULL}
+#define STMT_230 \
+ "ALTER TABLE NODES ADD COLUMN inherited_props BLOB; " \
+ ""
+
+#define STMT_UPGRADE_TO_31_FINALIZE 231
+#define STMT_231_INFO {"STMT_UPGRADE_TO_31_FINALIZE", NULL}
+#define STMT_231 \
+ "DROP INDEX IF EXISTS I_ACTUAL_CHANGELIST; " \
+ "DROP INDEX IF EXISTS I_EXTERNALS_PARENT; " \
+ "DROP INDEX I_NODES_PARENT; " \
+ "CREATE UNIQUE INDEX I_NODES_PARENT ON NODES (wc_id, parent_relpath, " \
+ " local_relpath, op_depth); " \
+ "DROP INDEX I_ACTUAL_PARENT; " \
+ "CREATE UNIQUE INDEX I_ACTUAL_PARENT ON ACTUAL_NODE (wc_id, parent_relpath, " \
+ " local_relpath); " \
+ "PRAGMA user_version = 31; " \
+ ""
+
+#define STMT_UPGRADE_31_SELECT_WCROOT_NODES 232
+#define STMT_232_INFO {"STMT_UPGRADE_31_SELECT_WCROOT_NODES", NULL}
+#define STMT_232 \
+ "SELECT l.wc_id, l.local_relpath FROM nodes as l " \
+ "LEFT OUTER JOIN nodes as r " \
+ "ON l.wc_id = r.wc_id " \
+ " AND r.local_relpath = l.parent_relpath " \
+ " AND r.op_depth = 0 " \
+ "WHERE l.op_depth = 0 " \
+ " AND l.repos_path != '' " \
+ " AND ((l.repos_id IS NOT r.repos_id) " \
+ " OR (l.repos_path IS NOT (CASE WHEN (r.local_relpath) = '' THEN (CASE WHEN (r.repos_path) = '' THEN (l.local_relpath) WHEN (l.local_relpath) = '' THEN (r.repos_path) ELSE (r.repos_path) || '/' || (l.local_relpath) END) WHEN (r.repos_path) = '' THEN (CASE WHEN (r.local_relpath) = '' THEN (l.local_relpath) WHEN SUBSTR((l.local_relpath), 1, LENGTH(r.local_relpath)) = (r.local_relpath) THEN CASE WHEN LENGTH(r.local_relpath) = LENGTH(l.local_relpath) THEN '' WHEN SUBSTR((l.local_relpath), LENGTH(r.local_relpath)+1, 1) = '/' THEN SUBSTR((l.local_relpath), LENGTH(r.local_relpath)+2) END END) WHEN SUBSTR((l.local_relpath), 1, LENGTH(r.local_relpath)) = (r.local_relpath) THEN CASE WHEN LENGTH(r.local_relpath) = LENGTH(l.local_relpath) THEN (r.repos_path) WHEN SUBSTR((l.local_relpath), LENGTH(r.local_relpath)+1, 1) = '/' THEN (r.repos_path) || SUBSTR((l.local_relpath), LENGTH(r.local_relpath)+1) END END))) " \
+ ""
+
+#define STMT_UPGRADE_TO_32 233
+#define STMT_233_INFO {"STMT_UPGRADE_TO_32", NULL}
+#define STMT_233 \
+ "DROP INDEX IF EXISTS I_ACTUAL_CHANGELIST; " \
+ "DROP INDEX IF EXISTS I_EXTERNALS_PARENT; " \
+ "CREATE INDEX I_EXTERNALS_PARENT ON EXTERNALS (wc_id, parent_relpath); " \
+ "DROP INDEX I_NODES_PARENT; " \
+ "CREATE UNIQUE INDEX I_NODES_PARENT ON NODES (wc_id, parent_relpath, " \
+ " local_relpath, op_depth); " \
+ "DROP INDEX I_ACTUAL_PARENT; " \
+ "CREATE UNIQUE INDEX I_ACTUAL_PARENT ON ACTUAL_NODE (wc_id, parent_relpath, " \
+ " local_relpath); " \
"-- format: YYY " \
""
@@ -1909,8 +2647,8 @@
" text_mod TEXT, " \
" PRIMARY KEY (wc_id, local_relpath) " \
" ); " \
- "CREATE INDEX I_ACTUAL_PARENT ON ACTUAL_NODE (wc_id, parent_relpath); " \
- "CREATE INDEX I_ACTUAL_CHANGELIST ON ACTUAL_NODE (changelist); " \
+ "CREATE UNIQUE INDEX I_ACTUAL_PARENT ON ACTUAL_NODE (wc_id, parent_relpath, " \
+ " local_relpath); " \
"INSERT INTO ACTUAL_NODE SELECT " \
" wc_id, local_relpath, parent_relpath, properties, conflict_old, " \
" conflict_new, conflict_working, prop_reject, changelist, text_mod " \
@@ -1918,8 +2656,9 @@
"DROP TABLE ACTUAL_NODE_BACKUP; " \
""
-#define STMT_VERIFICATION_TRIGGERS 187
-#define STMT_187 \
+#define STMT_VERIFICATION_TRIGGERS 234
+#define STMT_234_INFO {"STMT_VERIFICATION_TRIGGERS", NULL}
+#define STMT_234 \
"CREATE TEMPORARY TRIGGER no_repository_updates BEFORE UPDATE ON repository " \
"BEGIN " \
" SELECT RAISE(FAIL, 'Updates to REPOSITORY are not allowed.'); " \
@@ -2148,5 +2887,292 @@
STMT_185, \
STMT_186, \
STMT_187, \
+ STMT_188, \
+ STMT_189, \
+ STMT_190, \
+ STMT_191, \
+ STMT_192, \
+ STMT_193, \
+ STMT_194, \
+ STMT_195, \
+ STMT_196, \
+ STMT_197, \
+ STMT_198, \
+ STMT_199, \
+ STMT_200, \
+ STMT_201, \
+ STMT_202, \
+ STMT_203, \
+ STMT_204, \
+ STMT_205, \
+ STMT_206, \
+ STMT_207, \
+ STMT_208, \
+ STMT_209, \
+ STMT_210, \
+ STMT_211, \
+ STMT_212, \
+ STMT_213, \
+ STMT_214, \
+ STMT_215, \
+ STMT_216, \
+ STMT_217, \
+ STMT_218, \
+ STMT_219, \
+ STMT_220, \
+ STMT_221, \
+ STMT_222, \
+ STMT_223, \
+ STMT_224, \
+ STMT_225, \
+ STMT_226, \
+ STMT_227, \
+ STMT_228, \
+ STMT_229, \
+ STMT_230, \
+ STMT_231, \
+ STMT_232, \
+ STMT_233, \
+ STMT_234, \
NULL \
}
+
+#define WC_QUERIES_SQL_DECLARE_STATEMENT_INFO(varname) \
+ static const char * const varname[][2] = { \
+ STMT_0_INFO, \
+ STMT_1_INFO, \
+ STMT_2_INFO, \
+ STMT_3_INFO, \
+ STMT_4_INFO, \
+ STMT_5_INFO, \
+ STMT_6_INFO, \
+ STMT_7_INFO, \
+ STMT_8_INFO, \
+ STMT_9_INFO, \
+ STMT_10_INFO, \
+ STMT_11_INFO, \
+ STMT_12_INFO, \
+ STMT_13_INFO, \
+ STMT_14_INFO, \
+ STMT_15_INFO, \
+ STMT_16_INFO, \
+ STMT_17_INFO, \
+ STMT_18_INFO, \
+ STMT_19_INFO, \
+ STMT_20_INFO, \
+ STMT_21_INFO, \
+ STMT_22_INFO, \
+ STMT_23_INFO, \
+ STMT_24_INFO, \
+ STMT_25_INFO, \
+ STMT_26_INFO, \
+ STMT_27_INFO, \
+ STMT_28_INFO, \
+ STMT_29_INFO, \
+ STMT_30_INFO, \
+ STMT_31_INFO, \
+ STMT_32_INFO, \
+ STMT_33_INFO, \
+ STMT_34_INFO, \
+ STMT_35_INFO, \
+ STMT_36_INFO, \
+ STMT_37_INFO, \
+ STMT_38_INFO, \
+ STMT_39_INFO, \
+ STMT_40_INFO, \
+ STMT_41_INFO, \
+ STMT_42_INFO, \
+ STMT_43_INFO, \
+ STMT_44_INFO, \
+ STMT_45_INFO, \
+ STMT_46_INFO, \
+ STMT_47_INFO, \
+ STMT_48_INFO, \
+ STMT_49_INFO, \
+ STMT_50_INFO, \
+ STMT_51_INFO, \
+ STMT_52_INFO, \
+ STMT_53_INFO, \
+ STMT_54_INFO, \
+ STMT_55_INFO, \
+ STMT_56_INFO, \
+ STMT_57_INFO, \
+ STMT_58_INFO, \
+ STMT_59_INFO, \
+ STMT_60_INFO, \
+ STMT_61_INFO, \
+ STMT_62_INFO, \
+ STMT_63_INFO, \
+ STMT_64_INFO, \
+ STMT_65_INFO, \
+ STMT_66_INFO, \
+ STMT_67_INFO, \
+ STMT_68_INFO, \
+ STMT_69_INFO, \
+ STMT_70_INFO, \
+ STMT_71_INFO, \
+ STMT_72_INFO, \
+ STMT_73_INFO, \
+ STMT_74_INFO, \
+ STMT_75_INFO, \
+ STMT_76_INFO, \
+ STMT_77_INFO, \
+ STMT_78_INFO, \
+ STMT_79_INFO, \
+ STMT_80_INFO, \
+ STMT_81_INFO, \
+ STMT_82_INFO, \
+ STMT_83_INFO, \
+ STMT_84_INFO, \
+ STMT_85_INFO, \
+ STMT_86_INFO, \
+ STMT_87_INFO, \
+ STMT_88_INFO, \
+ STMT_89_INFO, \
+ STMT_90_INFO, \
+ STMT_91_INFO, \
+ STMT_92_INFO, \
+ STMT_93_INFO, \
+ STMT_94_INFO, \
+ STMT_95_INFO, \
+ STMT_96_INFO, \
+ STMT_97_INFO, \
+ STMT_98_INFO, \
+ STMT_99_INFO, \
+ STMT_100_INFO, \
+ STMT_101_INFO, \
+ STMT_102_INFO, \
+ STMT_103_INFO, \
+ STMT_104_INFO, \
+ STMT_105_INFO, \
+ STMT_106_INFO, \
+ STMT_107_INFO, \
+ STMT_108_INFO, \
+ STMT_109_INFO, \
+ STMT_110_INFO, \
+ STMT_111_INFO, \
+ STMT_112_INFO, \
+ STMT_113_INFO, \
+ STMT_114_INFO, \
+ STMT_115_INFO, \
+ STMT_116_INFO, \
+ STMT_117_INFO, \
+ STMT_118_INFO, \
+ STMT_119_INFO, \
+ STMT_120_INFO, \
+ STMT_121_INFO, \
+ STMT_122_INFO, \
+ STMT_123_INFO, \
+ STMT_124_INFO, \
+ STMT_125_INFO, \
+ STMT_126_INFO, \
+ STMT_127_INFO, \
+ STMT_128_INFO, \
+ STMT_129_INFO, \
+ STMT_130_INFO, \
+ STMT_131_INFO, \
+ STMT_132_INFO, \
+ STMT_133_INFO, \
+ STMT_134_INFO, \
+ STMT_135_INFO, \
+ STMT_136_INFO, \
+ STMT_137_INFO, \
+ STMT_138_INFO, \
+ STMT_139_INFO, \
+ STMT_140_INFO, \
+ STMT_141_INFO, \
+ STMT_142_INFO, \
+ STMT_143_INFO, \
+ STMT_144_INFO, \
+ STMT_145_INFO, \
+ STMT_146_INFO, \
+ STMT_147_INFO, \
+ STMT_148_INFO, \
+ STMT_149_INFO, \
+ STMT_150_INFO, \
+ STMT_151_INFO, \
+ STMT_152_INFO, \
+ STMT_153_INFO, \
+ STMT_154_INFO, \
+ STMT_155_INFO, \
+ STMT_156_INFO, \
+ STMT_157_INFO, \
+ STMT_158_INFO, \
+ STMT_159_INFO, \
+ STMT_160_INFO, \
+ STMT_161_INFO, \
+ STMT_162_INFO, \
+ STMT_163_INFO, \
+ STMT_164_INFO, \
+ STMT_165_INFO, \
+ STMT_166_INFO, \
+ STMT_167_INFO, \
+ STMT_168_INFO, \
+ STMT_169_INFO, \
+ STMT_170_INFO, \
+ STMT_171_INFO, \
+ STMT_172_INFO, \
+ STMT_173_INFO, \
+ STMT_174_INFO, \
+ STMT_175_INFO, \
+ STMT_176_INFO, \
+ STMT_177_INFO, \
+ STMT_178_INFO, \
+ STMT_179_INFO, \
+ STMT_180_INFO, \
+ STMT_181_INFO, \
+ STMT_182_INFO, \
+ STMT_183_INFO, \
+ STMT_184_INFO, \
+ STMT_185_INFO, \
+ STMT_186_INFO, \
+ STMT_187_INFO, \
+ STMT_188_INFO, \
+ STMT_189_INFO, \
+ STMT_190_INFO, \
+ STMT_191_INFO, \
+ STMT_192_INFO, \
+ STMT_193_INFO, \
+ STMT_194_INFO, \
+ STMT_195_INFO, \
+ STMT_196_INFO, \
+ STMT_197_INFO, \
+ STMT_198_INFO, \
+ STMT_199_INFO, \
+ STMT_200_INFO, \
+ STMT_201_INFO, \
+ STMT_202_INFO, \
+ STMT_203_INFO, \
+ STMT_204_INFO, \
+ STMT_205_INFO, \
+ STMT_206_INFO, \
+ STMT_207_INFO, \
+ STMT_208_INFO, \
+ STMT_209_INFO, \
+ STMT_210_INFO, \
+ STMT_211_INFO, \
+ STMT_212_INFO, \
+ STMT_213_INFO, \
+ STMT_214_INFO, \
+ STMT_215_INFO, \
+ STMT_216_INFO, \
+ STMT_217_INFO, \
+ STMT_218_INFO, \
+ STMT_219_INFO, \
+ STMT_220_INFO, \
+ STMT_221_INFO, \
+ STMT_222_INFO, \
+ STMT_223_INFO, \
+ STMT_224_INFO, \
+ STMT_225_INFO, \
+ STMT_226_INFO, \
+ STMT_227_INFO, \
+ STMT_228_INFO, \
+ STMT_229_INFO, \
+ STMT_230_INFO, \
+ STMT_231_INFO, \
+ STMT_232_INFO, \
+ STMT_233_INFO, \
+ STMT_234_INFO, \
+ {NULL, NULL} \
+ }