/* This file is automatically generated from wc-queries.sql and 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, 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, 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 AND nodes.op_depth=0 " \ "WHERE wc_id = ?1 AND local_relpath = ?2 " \ "ORDER BY op_depth DESC " \ "" #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 " \ "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, " \ " 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 " \ "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \ "" #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 " \ "FROM nodes " \ "WHERE wc_id = ?1 AND parent_relpath = ?2 AND op_depth = 0 " \ "" #define STMT_SELECT_BASE_CHILDREN_INFO_LOCK 5 #define STMT_5_INFO {"STMT_SELECT_BASE_CHILDREN_INFO_LOCK", NULL} #define STMT_5 \ "SELECT local_relpath, nodes.repos_id, nodes.repos_path, presence, kind, " \ " 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 " \ " AND nodes.repos_path = lock.repos_relpath " \ "WHERE wc_id = ?1 AND parent_relpath = ?2 AND op_depth = 0 " \ "" #define STMT_SELECT_WORKING_NODE 6 #define STMT_6_INFO {"STMT_SELECT_WORKING_NODE", NULL} #define STMT_6 \ "SELECT op_depth, presence, kind, checksum, translated_size, " \ " changed_revision, changed_date, changed_author, depth, symlink_target, " \ " repos_id, repos_path, revision, " \ " moved_here, moved_to, last_mod_time, properties " \ "FROM nodes " \ "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth > 0 " \ "ORDER BY op_depth DESC " \ "LIMIT 1 " \ "" #define STMT_SELECT_DEPTH_NODE 7 #define STMT_7_INFO {"STMT_SELECT_DEPTH_NODE", NULL} #define STMT_7 \ "SELECT repos_id, repos_path, presence, kind, revision, checksum, " \ " translated_size, changed_revision, changed_date, changed_author, depth, " \ " symlink_target, properties, moved_to, moved_here " \ "FROM nodes " \ "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = ?3 " \ "" #define STMT_SELECT_LOWEST_WORKING_NODE 8 #define STMT_8_INFO {"STMT_SELECT_LOWEST_WORKING_NODE", NULL} #define STMT_8 \ "SELECT op_depth, presence, kind, moved_to " \ "FROM nodes " \ "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth > ?3 " \ "ORDER BY op_depth " \ "LIMIT 1 " \ "" #define STMT_SELECT_HIGHEST_WORKING_NODE 9 #define STMT_9_INFO {"STMT_SELECT_HIGHEST_WORKING_NODE", NULL} #define STMT_9 \ "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_PRESENT_HIGHEST_WORKING_NODES_BY_BASENAME_AND_KIND 10 #define STMT_10_INFO {"STMT_SELECT_PRESENT_HIGHEST_WORKING_NODES_BY_BASENAME_AND_KIND", NULL} #define STMT_10 \ "SELECT presence, local_relpath " \ "FROM nodes n " \ "WHERE wc_id = ?1 AND local_relpath = (CASE WHEN (parent_relpath) = '' THEN (?2) WHEN (?2) = '' THEN (parent_relpath) ELSE (parent_relpath) || '/' || (?2) END) " \ " AND kind = ?3 " \ " 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) " \ "" #define STMT_SELECT_ACTUAL_NODE 11 #define STMT_11_INFO {"STMT_SELECT_ACTUAL_NODE", NULL} #define STMT_11 \ "SELECT changelist, properties, conflict_data " \ "FROM actual_node " \ "WHERE wc_id = ?1 AND local_relpath = ?2 " \ "" #define STMT_SELECT_NODE_CHILDREN_INFO 12 #define STMT_12_INFO {"STMT_SELECT_NODE_CHILDREN_INFO", NULL} #define STMT_12 \ "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, 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.op_depth = 0 " \ "WHERE wc_id = ?1 AND parent_relpath = ?2 " \ "ORDER BY local_relpath DESC, op_depth DESC " \ "" #define STMT_SELECT_BASE_NODE_CHILDREN_INFO 13 #define STMT_13_INFO {"STMT_SELECT_BASE_NODE_CHILDREN_INFO", NULL} #define STMT_13 \ "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, 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 " \ "WHERE wc_id = ?1 AND parent_relpath = ?2 AND op_depth = 0 " \ "ORDER BY local_relpath DESC " \ "" #define STMT_SELECT_NODE_CHILDREN_WALKER_INFO 14 #define STMT_14_INFO {"STMT_SELECT_NODE_CHILDREN_WALKER_INFO", NULL} #define STMT_14 \ "SELECT local_relpath, op_depth, presence, kind " \ "FROM nodes_current " \ "WHERE wc_id = ?1 AND parent_relpath = ?2 " \ "ORDER BY local_relpath " \ "" #define STMT_SELECT_ACTUAL_CHILDREN_INFO 15 #define STMT_15_INFO {"STMT_SELECT_ACTUAL_CHILDREN_INFO", NULL} #define STMT_15 \ "SELECT local_relpath, changelist, properties, conflict_data " \ "FROM actual_node " \ "WHERE wc_id = ?1 AND parent_relpath = ?2 " \ "" #define STMT_SELECT_REPOSITORY_BY_ID 16 #define STMT_16_INFO {"STMT_SELECT_REPOSITORY_BY_ID", NULL} #define STMT_16 \ "SELECT root, uuid FROM repository WHERE id = ?1 " \ "" #define STMT_SELECT_WCROOT_NULL 17 #define STMT_17_INFO {"STMT_SELECT_WCROOT_NULL", NULL} #define STMT_17 \ "SELECT id FROM wcroot WHERE local_abspath IS NULL " \ "" #define STMT_SELECT_REPOSITORY 18 #define STMT_18_INFO {"STMT_SELECT_REPOSITORY", NULL} #define STMT_18 \ "SELECT id FROM repository WHERE root = ?1 " \ "" #define STMT_INSERT_REPOSITORY 19 #define STMT_19_INFO {"STMT_INSERT_REPOSITORY", NULL} #define STMT_19 \ "INSERT INTO repository (root, uuid) VALUES (?1, ?2) " \ "" #define STMT_INSERT_NODE 20 #define STMT_20_INFO {"STMT_INSERT_NODE", NULL} #define STMT_20 \ "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, 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, ?21, ?22, ?23) " \ "" #define STMT_SELECT_WORKING_PRESENT 21 #define STMT_21_INFO {"STMT_SELECT_WORKING_PRESENT", NULL} #define STMT_21 \ "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_DELETE_NODE_RECURSIVE 22 #define STMT_22_INFO {"STMT_DELETE_NODE_RECURSIVE", NULL} #define STMT_22 \ "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 23 #define STMT_23_INFO {"STMT_DELETE_NODE", NULL} #define STMT_23 \ "DELETE " \ "FROM NODES " \ "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = ?3 " \ "" #define STMT_DELETE_ACTUAL_FOR_BASE_RECURSIVE 24 #define STMT_24_INFO {"STMT_DELETE_ACTUAL_FOR_BASE_RECURSIVE", NULL} #define STMT_24 \ "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 25 #define STMT_25_INFO {"STMT_DELETE_WORKING_BASE_DELETE", NULL} #define STMT_25 \ "DELETE FROM nodes " \ "WHERE wc_id = ?1 AND local_relpath = ?2 " \ " AND presence = 'base-deleted' " \ " AND op_depth > ?3 " \ " 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 > ?3) " \ "" #define STMT_DELETE_WORKING_BASE_DELETE_RECURSIVE 26 #define STMT_26_INFO {"STMT_DELETE_WORKING_BASE_DELETE_RECURSIVE", NULL} #define STMT_26 \ "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 > ?3 " \ " 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 > ?3) " \ "" #define STMT_DELETE_WORKING_RECURSIVE 27 #define STMT_27_INFO {"STMT_DELETE_WORKING_RECURSIVE", NULL} #define STMT_27 \ "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 28 #define STMT_28_INFO {"STMT_DELETE_BASE_RECURSIVE", NULL} #define STMT_28 \ "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 = 0 " \ "" #define STMT_DELETE_WORKING_OP_DEPTH 29 #define STMT_29_INFO {"STMT_DELETE_WORKING_OP_DEPTH", NULL} #define STMT_29 \ "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_LAYER_FOR_REPLACE 30 #define STMT_30_INFO {"STMT_SELECT_LAYER_FOR_REPLACE", NULL} #define STMT_30 \ "SELECT s.local_relpath, s.kind, " \ " (CASE WHEN (?2) = '' THEN (CASE WHEN (?4) = '' THEN (s.local_relpath) WHEN (s.local_relpath) = '' THEN (?4) ELSE (?4) || '/' || (s.local_relpath) END) WHEN (?4) = '' THEN (CASE WHEN (?2) = '' THEN (s.local_relpath) WHEN SUBSTR((s.local_relpath), 1, LENGTH(?2)) = (?2) THEN CASE WHEN LENGTH(?2) = LENGTH(s.local_relpath) THEN '' WHEN SUBSTR((s.local_relpath), LENGTH(?2)+1, 1) = '/' THEN SUBSTR((s.local_relpath), LENGTH(?2)+2) END END) WHEN SUBSTR((s.local_relpath), 1, LENGTH(?2)) = (?2) THEN CASE WHEN LENGTH(?2) = LENGTH(s.local_relpath) THEN (?4) WHEN SUBSTR((s.local_relpath), LENGTH(?2)+1, 1) = '/' THEN (?4) || SUBSTR((s.local_relpath), LENGTH(?2)+1) END END) drp, 'normal' " \ "FROM nodes s " \ "WHERE s.wc_id = ?1 AND s.local_relpath = ?2 AND s.op_depth = ?3 " \ "UNION ALL " \ "SELECT s.local_relpath, s.kind, " \ " (CASE WHEN (?2) = '' THEN (CASE WHEN (?4) = '' THEN (s.local_relpath) WHEN (s.local_relpath) = '' THEN (?4) ELSE (?4) || '/' || (s.local_relpath) END) WHEN (?4) = '' THEN (CASE WHEN (?2) = '' THEN (s.local_relpath) WHEN SUBSTR((s.local_relpath), 1, LENGTH(?2)) = (?2) THEN CASE WHEN LENGTH(?2) = LENGTH(s.local_relpath) THEN '' WHEN SUBSTR((s.local_relpath), LENGTH(?2)+1, 1) = '/' THEN SUBSTR((s.local_relpath), LENGTH(?2)+2) END END) WHEN SUBSTR((s.local_relpath), 1, LENGTH(?2)) = (?2) THEN CASE WHEN LENGTH(?2) = LENGTH(s.local_relpath) THEN (?4) WHEN SUBSTR((s.local_relpath), LENGTH(?2)+1, 1) = '/' THEN (?4) || SUBSTR((s.local_relpath), LENGTH(?2)+1) END END) drp, d.presence " \ "FROM nodes s " \ "LEFT OUTER JOIN nodes d ON d.wc_id= ?1 AND d.op_depth = ?5 " \ " AND d.local_relpath = drp " \ "WHERE s.wc_id = ?1 " \ " AND (((s.local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((s.local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \ " AND s.op_depth = ?3 " \ "ORDER BY s.local_relpath " \ "" #define STMT_SELECT_DESCENDANTS_OP_DEPTH_RV 31 #define STMT_31_INFO {"STMT_SELECT_DESCENDANTS_OP_DEPTH_RV", NULL} #define STMT_31 \ "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 " \ " AND presence in ('normal', 'incomplete') " \ "ORDER BY local_relpath DESC " \ "" #define STMT_COPY_NODE_MOVE 32 #define STMT_32_INFO {"STMT_COPY_NODE_MOVE", NULL} #define STMT_32 \ "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 " \ " s.wc_id, ?4 , ?5 , ?6 , " \ " s.repos_id, " \ " s.repos_path, s.revision, s.presence, s.depth, s.kind, s.changed_revision, " \ " s.changed_date, s.changed_author, s.checksum, s.properties, " \ " CASE WHEN d.checksum=s.checksum THEN d.translated_size END, " \ " CASE WHEN d.checksum=s.checksum THEN d.last_mod_time END, " \ " s.symlink_target, 1, d.moved_to " \ "FROM nodes s " \ "LEFT JOIN nodes d ON d.wc_id=?1 AND d.local_relpath=?4 AND d.op_depth=?5 " \ "WHERE s.wc_id = ?1 AND s.local_relpath = ?2 AND s.op_depth = ?3 " \ "" #define STMT_SELECT_NO_LONGER_MOVED_RV 33 #define STMT_33_INFO {"STMT_SELECT_NO_LONGER_MOVED_RV", NULL} #define STMT_33 \ "SELECT d.local_relpath, (CASE WHEN (?2) = '' THEN (CASE WHEN (?4) = '' THEN (d.local_relpath) WHEN (d.local_relpath) = '' THEN (?4) ELSE (?4) || '/' || (d.local_relpath) END) WHEN (?4) = '' THEN (CASE WHEN (?2) = '' THEN (d.local_relpath) WHEN SUBSTR((d.local_relpath), 1, LENGTH(?2)) = (?2) THEN CASE WHEN LENGTH(?2) = LENGTH(d.local_relpath) THEN '' WHEN SUBSTR((d.local_relpath), LENGTH(?2)+1, 1) = '/' THEN SUBSTR((d.local_relpath), LENGTH(?2)+2) END END) WHEN SUBSTR((d.local_relpath), 1, LENGTH(?2)) = (?2) THEN CASE WHEN LENGTH(?2) = LENGTH(d.local_relpath) THEN (?4) WHEN SUBSTR((d.local_relpath), LENGTH(?2)+1, 1) = '/' THEN (?4) || SUBSTR((d.local_relpath), LENGTH(?2)+1) END END) srp, " \ " b.presence, b.op_depth " \ "FROM nodes d " \ "LEFT OUTER JOIN nodes b ON b.wc_id = ?1 AND b.local_relpath = d.local_relpath " \ " AND b.op_depth = (SELECT MAX(x.op_depth) FROM nodes x " \ " WHERE x.wc_id = ?1 " \ " AND x.local_relpath = b.local_relpath " \ " AND x.op_depth < ?3) " \ "WHERE d.wc_id = ?1 " \ " AND (((d.local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((d.local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \ " AND d.op_depth = ?3 " \ " AND NOT EXISTS(SELECT * FROM nodes s " \ " WHERE s.wc_id = ?1 " \ " AND s.local_relpath = srp " \ " AND s.op_depth = ?5) " \ "ORDER BY d.local_relpath DESC " \ "" #define STMT_SELECT_OP_DEPTH_CHILDREN 34 #define STMT_34_INFO {"STMT_SELECT_OP_DEPTH_CHILDREN", NULL} #define STMT_34 \ "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 " \ "ORDER BY local_relpath " \ "" #define STMT_SELECT_OP_DEPTH_CHILDREN_EXISTS 35 #define STMT_35_INFO {"STMT_SELECT_OP_DEPTH_CHILDREN_EXISTS", NULL} #define STMT_35 \ "SELECT local_relpath, kind FROM nodes " \ "WHERE wc_id = ?1 " \ " AND parent_relpath = ?2 " \ " AND op_depth = ?3 " \ " AND presence IN ('normal', 'incomplete') " \ "ORDER BY local_relpath " \ "" #define STMT_SELECT_GE_OP_DEPTH_CHILDREN 36 #define STMT_36_INFO {"STMT_SELECT_GE_OP_DEPTH_CHILDREN", NULL} #define STMT_36 \ "SELECT 1 FROM nodes " \ "WHERE wc_id = ?1 AND parent_relpath = ?2 " \ " AND (op_depth > ?3 OR (op_depth = ?3 " \ " AND presence IN ('normal', 'incomplete'))) " \ "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 37 #define STMT_37_INFO {"STMT_DELETE_SHADOWED_RECURSIVE", NULL} #define STMT_37 \ "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 < ?3 " \ " OR (op_depth = ?3 AND presence = 'base-deleted')) " \ "" #define STMT_CLEAR_MOVED_TO_FROM_DEST 38 #define STMT_38_INFO {"STMT_CLEAR_MOVED_TO_FROM_DEST", NULL} #define STMT_38 \ "UPDATE NODES SET moved_to = NULL " \ "WHERE wc_id = ?1 " \ " AND moved_to = ?2 " \ "" #define STMT_SELECT_NOT_PRESENT_DESCENDANTS 39 #define STMT_39_INFO {"STMT_SELECT_NOT_PRESENT_DESCENDANTS", NULL} #define STMT_39 \ "SELECT local_relpath FROM nodes " \ "WHERE wc_id = ?1 AND op_depth = ?3 " \ " 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_DESCENDANTS_TO_BASE 40 #define STMT_40_INFO {"STMT_COMMIT_DESCENDANTS_TO_BASE", NULL} #define STMT_40 \ "UPDATE NODES SET op_depth = 0, " \ " repos_id = ?4, " \ " repos_path = (CASE WHEN (?2) = '' THEN (CASE WHEN (?5) = '' THEN (local_relpath) WHEN (local_relpath) = '' THEN (?5) ELSE (?5) || '/' || (local_relpath) END) WHEN (?5) = '' 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 (?5) WHEN SUBSTR((local_relpath), LENGTH(?2)+1, 1) = '/' THEN (?5) || SUBSTR((local_relpath), LENGTH(?2)+1) END END), " \ " revision = ?6, " \ " dav_cache = NULL, " \ " moved_here = NULL, " \ " moved_to = 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 41 #define STMT_41_INFO {"STMT_SELECT_NODE_CHILDREN", NULL} #define STMT_41 \ "SELECT DISTINCT local_relpath FROM nodes " \ "WHERE wc_id = ?1 AND parent_relpath = ?2 " \ "ORDER BY local_relpath " \ "" #define STMT_SELECT_WORKING_CHILDREN 42 #define STMT_42_INFO {"STMT_SELECT_WORKING_CHILDREN", NULL} #define STMT_42 \ "SELECT DISTINCT local_relpath FROM nodes " \ "WHERE wc_id = ?1 AND parent_relpath = ?2 " \ " AND (op_depth > (SELECT MAX(op_depth) FROM nodes " \ " WHERE wc_id = ?1 AND local_relpath = ?2) " \ " OR " \ " (op_depth = (SELECT MAX(op_depth) FROM nodes " \ " WHERE wc_id = ?1 AND local_relpath = ?2) " \ " AND presence IN ('normal', 'incomplete'))) " \ "ORDER BY local_relpath " \ "" #define STMT_SELECT_BASE_NOT_PRESENT_CHILDREN 43 #define STMT_43_INFO {"STMT_SELECT_BASE_NOT_PRESENT_CHILDREN", NULL} #define STMT_43 \ "SELECT local_relpath FROM nodes " \ "WHERE wc_id = ?1 AND parent_relpath = ?2 AND op_depth = 0 " \ " AND presence = 'not-present' " \ "ORDER BY local_relpath " \ "" #define STMT_SELECT_NODE_PROPS 44 #define STMT_44_INFO {"STMT_SELECT_NODE_PROPS", NULL} #define STMT_44 \ "SELECT properties, presence FROM nodes " \ "WHERE wc_id = ?1 AND local_relpath = ?2 " \ "ORDER BY op_depth DESC " \ "" #define STMT_SELECT_ACTUAL_PROPS 45 #define STMT_45_INFO {"STMT_SELECT_ACTUAL_PROPS", NULL} #define STMT_45 \ "SELECT properties FROM actual_node " \ "WHERE wc_id = ?1 AND local_relpath = ?2 " \ "" #define STMT_UPDATE_ACTUAL_PROPS 46 #define STMT_46_INFO {"STMT_UPDATE_ACTUAL_PROPS", NULL} #define STMT_46 \ "UPDATE actual_node SET properties = ?3 " \ "WHERE wc_id = ?1 AND local_relpath = ?2 " \ "" #define STMT_INSERT_ACTUAL_PROPS 47 #define STMT_47_INFO {"STMT_INSERT_ACTUAL_PROPS", NULL} #define STMT_47 \ "INSERT INTO actual_node (wc_id, local_relpath, parent_relpath, properties) " \ "VALUES (?1, ?2, ?3, ?4) " \ "" #define STMT_INSERT_LOCK 48 #define STMT_48_INFO {"STMT_INSERT_LOCK", NULL} #define STMT_48 \ "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 49 #define STMT_49_INFO {"STMT_SELECT_BASE_NODE_LOCK_TOKENS_RECURSIVE", NULL} #define STMT_49 \ "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 (((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 50 #define STMT_50_INFO {"STMT_INSERT_WCROOT", NULL} #define STMT_50 \ "INSERT INTO wcroot (local_abspath) " \ "VALUES (?1) " \ "" #define STMT_UPDATE_BASE_NODE_DAV_CACHE 51 #define STMT_51_INFO {"STMT_UPDATE_BASE_NODE_DAV_CACHE", NULL} #define STMT_51 \ "UPDATE nodes SET dav_cache = ?3 " \ "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \ "" #define STMT_SELECT_BASE_DAV_CACHE 52 #define STMT_52_INFO {"STMT_SELECT_BASE_DAV_CACHE", NULL} #define STMT_52 \ "SELECT dav_cache FROM nodes " \ "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \ "" #define STMT_SELECT_DELETION_INFO 53 #define STMT_53_INFO {"STMT_SELECT_DELETION_INFO", NULL} #define STMT_53 \ "SELECT b.presence, w.presence, w.op_depth, w.moved_to " \ "FROM nodes w " \ "LEFT JOIN nodes b ON b.wc_id = ?1 AND b.local_relpath = ?2 AND b.op_depth = 0 " \ "WHERE w.wc_id = ?1 AND w.local_relpath = ?2 " \ " AND w.op_depth = (SELECT MAX(op_depth) FROM nodes d " \ " WHERE d.wc_id = ?1 AND d.local_relpath = ?2 " \ " AND d.op_depth > 0) " \ "LIMIT 1 " \ "" #define STMT_SELECT_MOVED_TO_NODE 54 #define STMT_54_INFO {"STMT_SELECT_MOVED_TO_NODE", NULL} #define STMT_54 \ "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 55 #define STMT_55_INFO {"STMT_SELECT_OP_DEPTH_MOVED_TO", NULL} #define STMT_55 \ "SELECT op_depth, moved_to " \ "FROM nodes " \ "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth > ?3 " \ " AND EXISTS(SELECT * from nodes " \ " WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = ?3 " \ " AND presence IN ('normal', 'incomplete')) " \ "ORDER BY op_depth ASC " \ "LIMIT 1 " \ "" #define STMT_SELECT_MOVED_TO 56 #define STMT_56_INFO {"STMT_SELECT_MOVED_TO", NULL} #define STMT_56 \ "SELECT moved_to " \ "FROM nodes " \ "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = ?3 " \ "" #define STMT_SELECT_MOVED_BACK 57 #define STMT_57_INFO {"STMT_SELECT_MOVED_BACK", NULL} #define STMT_57 \ "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_LOCK 58 #define STMT_58_INFO {"STMT_DELETE_LOCK", NULL} #define STMT_58 \ "DELETE FROM lock " \ "WHERE repos_id = ?1 AND repos_relpath = ?2 " \ "" #define STMT_DELETE_LOCK_RECURSIVELY 59 #define STMT_59_INFO {"STMT_DELETE_LOCK_RECURSIVELY", NULL} #define STMT_59 \ "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 60 #define STMT_60_INFO {"STMT_CLEAR_BASE_NODE_RECURSIVE_DAV_CACHE", NULL} #define STMT_60 \ "UPDATE nodes SET dav_cache = NULL " \ "WHERE dav_cache IS NOT NULL AND wc_id = ?1 AND op_depth = 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 61 #define STMT_61_INFO {"STMT_RECURSIVE_UPDATE_NODE_REPO", NULL} #define STMT_61 \ "UPDATE nodes SET repos_id = ?4, dav_cache = NULL " \ "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 62 #define STMT_62_INFO {"STMT_UPDATE_LOCK_REPOS_ID", NULL} #define STMT_62 \ "UPDATE lock SET repos_id = ?2 " \ "WHERE repos_id = ?1 " \ "" #define STMT_UPDATE_NODE_FILEINFO 63 #define STMT_63_INFO {"STMT_UPDATE_NODE_FILEINFO", NULL} #define STMT_63 \ "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_INSERT_ACTUAL_CONFLICT 64 #define STMT_64_INFO {"STMT_INSERT_ACTUAL_CONFLICT", NULL} #define STMT_64 \ "INSERT INTO actual_node (wc_id, local_relpath, conflict_data, parent_relpath) " \ "VALUES (?1, ?2, ?3, ?4) " \ "" #define STMT_UPDATE_ACTUAL_CONFLICT 65 #define STMT_65_INFO {"STMT_UPDATE_ACTUAL_CONFLICT", NULL} #define STMT_65 \ "UPDATE actual_node SET conflict_data = ?3 " \ "WHERE wc_id = ?1 AND local_relpath = ?2 " \ "" #define STMT_UPDATE_ACTUAL_CHANGELISTS 66 #define STMT_66_INFO {"STMT_UPDATE_ACTUAL_CHANGELISTS", NULL} #define STMT_66 \ "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 67 #define STMT_67_INFO {"STMT_UPDATE_ACTUAL_CLEAR_CHANGELIST", NULL} #define STMT_67 \ "UPDATE actual_node SET changelist = NULL " \ " WHERE wc_id = ?1 AND local_relpath = ?2 " \ "" #define STMT_MARK_SKIPPED_CHANGELIST_DIRS 68 #define STMT_68_INFO {"STMT_MARK_SKIPPED_CHANGELIST_DIRS", NULL} #define STMT_68 \ "INSERT INTO changelist_list (wc_id, local_relpath, notify, changelist) " \ "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 69 #define STMT_69_INFO {"STMT_RESET_ACTUAL_WITH_CHANGELIST", NULL} #define STMT_69 \ "REPLACE INTO actual_node ( " \ " wc_id, local_relpath, parent_relpath, changelist) " \ "VALUES (?1, ?2, ?3, ?4) " \ "" #define STMT_CREATE_CHANGELIST_LIST 70 #define STMT_70_INFO {"STMT_CREATE_CHANGELIST_LIST", NULL} #define STMT_70 \ "DROP TABLE IF EXISTS changelist_list; " \ "CREATE TEMPORARY TABLE changelist_list ( " \ " wc_id INTEGER NOT NULL, " \ " local_relpath TEXT NOT NULL, " \ " notify INTEGER NOT NULL, " \ " changelist TEXT NOT NULL, " \ " PRIMARY KEY (wc_id, local_relpath, notify DESC) " \ ") " \ "" #define STMT_CREATE_CHANGELIST_TRIGGER 71 #define STMT_71_INFO {"STMT_CREATE_CHANGELIST_TRIGGER", NULL} #define STMT_71 \ "DROP TRIGGER IF EXISTS trigger_changelist_list_change; " \ "CREATE TEMPORARY TRIGGER trigger_changelist_list_change " \ "BEFORE UPDATE ON actual_node " \ "WHEN old.changelist IS NOT new.changelist " \ "BEGIN " \ " 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_FINALIZE_CHANGELIST 72 #define STMT_72_INFO {"STMT_FINALIZE_CHANGELIST", NULL} #define STMT_72 \ "DROP TRIGGER trigger_changelist_list_change; " \ "DROP TABLE changelist_list; " \ "DROP TABLE targets_list " \ "" #define STMT_SELECT_CHANGELIST_LIST 73 #define STMT_73_INFO {"STMT_SELECT_CHANGELIST_LIST", NULL} #define STMT_73 \ "SELECT wc_id, local_relpath, notify, changelist " \ "FROM changelist_list " \ "ORDER BY wc_id, local_relpath ASC, notify DESC " \ "" #define STMT_CREATE_TARGETS_LIST 74 #define STMT_74_INFO {"STMT_CREATE_TARGETS_LIST", NULL} #define STMT_74 \ "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, " \ " PRIMARY KEY (wc_id, local_relpath) " \ " ); " \ "" #define STMT_DROP_TARGETS_LIST 75 #define STMT_75_INFO {"STMT_DROP_TARGETS_LIST", NULL} #define STMT_75 \ "DROP TABLE targets_list " \ "" #define STMT_INSERT_TARGET 76 #define STMT_76_INFO {"STMT_INSERT_TARGET", 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 local_relpath = ?2 " \ "" #define STMT_INSERT_TARGET_DEPTH_FILES 77 #define STMT_77_INFO {"STMT_INSERT_TARGET_DEPTH_FILES", 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 parent_relpath = ?2 " \ " AND kind = 'file' " \ "" #define STMT_INSERT_TARGET_DEPTH_IMMEDIATES 78 #define STMT_78_INFO {"STMT_INSERT_TARGET_DEPTH_IMMEDIATES", NULL} #define STMT_78 \ "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 " \ "" #define STMT_INSERT_TARGET_DEPTH_INFINITY 79 #define STMT_79_INFO {"STMT_INSERT_TARGET_DEPTH_INFINITY", NULL} #define STMT_79 \ "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) > (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 80 #define STMT_80_INFO {"STMT_INSERT_TARGET_WITH_CHANGELIST", 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 N.local_relpath = ?2 " \ " AND A.changelist = ?3 " \ "" #define STMT_INSERT_TARGET_WITH_CHANGELIST_DEPTH_FILES 81 #define STMT_81_INFO {"STMT_INSERT_TARGET_WITH_CHANGELIST_DEPTH_FILES", 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 N.parent_relpath = ?2 " \ " AND kind = 'file' " \ " AND A.changelist = ?3 " \ "" #define STMT_INSERT_TARGET_WITH_CHANGELIST_DEPTH_IMMEDIATES 82 #define STMT_82_INFO {"STMT_INSERT_TARGET_WITH_CHANGELIST_DEPTH_IMMEDIATES", NULL} #define STMT_82 \ "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 N.parent_relpath = ?2 " \ " AND A.changelist = ?3 " \ "" #define STMT_INSERT_TARGET_WITH_CHANGELIST_DEPTH_INFINITY 83 #define STMT_83_INFO {"STMT_INSERT_TARGET_WITH_CHANGELIST_DEPTH_INFINITY", NULL} #define STMT_83 \ "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 (((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 84 #define STMT_84_INFO {"STMT_INSERT_ACTUAL_EMPTIES", NULL} #define STMT_84 \ "INSERT OR IGNORE INTO actual_node ( " \ " wc_id, local_relpath, parent_relpath) " \ "SELECT wc_id, local_relpath, parent_relpath " \ "FROM targets_list " \ "" #define STMT_INSERT_ACTUAL_EMPTIES_FILES 85 #define STMT_85_INFO {"STMT_INSERT_ACTUAL_EMPTIES_FILES", NULL} #define STMT_85 \ "INSERT OR IGNORE INTO actual_node ( " \ " wc_id, local_relpath, parent_relpath) " \ "SELECT wc_id, local_relpath, parent_relpath " \ "FROM targets_list " \ "WHERE kind='file' " \ "" #define STMT_DELETE_ACTUAL_EMPTY 86 #define STMT_86_INFO {"STMT_DELETE_ACTUAL_EMPTY", NULL} #define STMT_86 \ "DELETE FROM actual_node " \ "WHERE wc_id = ?1 AND local_relpath = ?2 " \ " AND properties IS NULL " \ " AND conflict_data IS NULL " \ " AND changelist IS NULL " \ " AND text_mod IS NULL " \ " AND older_checksum IS NULL " \ " AND right_checksum IS NULL " \ " AND left_checksum IS NULL " \ "" #define STMT_DELETE_ACTUAL_EMPTIES 87 #define STMT_87_INFO {"STMT_DELETE_ACTUAL_EMPTIES", NULL} #define STMT_87 \ "DELETE FROM actual_node " \ "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 properties IS NULL " \ " AND conflict_data IS NULL " \ " AND changelist IS NULL " \ " AND text_mod IS NULL " \ " AND older_checksum IS NULL " \ " AND right_checksum IS NULL " \ " AND left_checksum IS NULL " \ "" #define STMT_DELETE_BASE_NODE 88 #define STMT_88_INFO {"STMT_DELETE_BASE_NODE", NULL} #define STMT_88 \ "DELETE FROM nodes " \ "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \ "" #define STMT_DELETE_WORKING_NODE 89 #define STMT_89_INFO {"STMT_DELETE_WORKING_NODE", NULL} #define STMT_89 \ "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 90 #define STMT_90_INFO {"STMT_DELETE_LOWEST_WORKING_NODE", NULL} #define STMT_90 \ "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 > ?3) " \ " AND presence = 'base-deleted' " \ "" #define STMT_DELETE_NODE_ALL_LAYERS 91 #define STMT_91_INFO {"STMT_DELETE_NODE_ALL_LAYERS", NULL} #define STMT_91 \ "DELETE FROM nodes " \ "WHERE wc_id = ?1 AND local_relpath = ?2 " \ "" #define STMT_DELETE_NODES_ABOVE_DEPTH_RECURSIVE 92 #define STMT_92_INFO {"STMT_DELETE_NODES_ABOVE_DEPTH_RECURSIVE", NULL} #define STMT_92 \ "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_ACTUAL_NODE 93 #define STMT_93_INFO {"STMT_DELETE_ACTUAL_NODE", NULL} #define STMT_93 \ "DELETE FROM actual_node " \ "WHERE wc_id = ?1 AND local_relpath = ?2 " \ "" #define STMT_DELETE_ACTUAL_NODE_RECURSIVE 94 #define STMT_94_INFO {"STMT_DELETE_ACTUAL_NODE_RECURSIVE", NULL} #define STMT_94 \ "DELETE FROM actual_node " \ "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))) " \ "" #define STMT_DELETE_ACTUAL_NODE_LEAVING_CHANGELIST 95 #define STMT_95_INFO {"STMT_DELETE_ACTUAL_NODE_LEAVING_CHANGELIST", NULL} #define STMT_95 \ "DELETE FROM actual_node " \ "WHERE wc_id = ?1 " \ " AND local_relpath = ?2 " \ " AND (changelist IS NULL " \ " OR NOT EXISTS (SELECT 1 FROM nodes_current c " \ " WHERE c.wc_id = ?1 AND c.local_relpath = ?2 " \ " AND c.kind = 'file')) " \ "" #define STMT_DELETE_ACTUAL_NODE_LEAVING_CHANGELIST_RECURSIVE 96 #define STMT_96_INFO {"STMT_DELETE_ACTUAL_NODE_LEAVING_CHANGELIST_RECURSIVE", NULL} #define STMT_96 \ "DELETE FROM actual_node " \ "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 (changelist IS NULL " \ " OR NOT EXISTS (SELECT 1 FROM nodes_current c " \ " WHERE c.wc_id = ?1 " \ " AND c.local_relpath = actual_node.local_relpath " \ " AND c.kind = 'file')) " \ "" #define STMT_CLEAR_ACTUAL_NODE_LEAVING_CHANGELIST 97 #define STMT_97_INFO {"STMT_CLEAR_ACTUAL_NODE_LEAVING_CHANGELIST", NULL} #define STMT_97 \ "UPDATE actual_node " \ "SET properties = NULL, " \ " text_mod = NULL, " \ " conflict_data = NULL, " \ " tree_conflict_data = NULL, " \ " older_checksum = NULL, " \ " left_checksum = NULL, " \ " right_checksum = NULL " \ "WHERE wc_id = ?1 AND local_relpath = ?2 " \ "" #define STMT_CLEAR_ACTUAL_NODE_LEAVING_CONFLICT 98 #define STMT_98_INFO {"STMT_CLEAR_ACTUAL_NODE_LEAVING_CONFLICT", NULL} #define STMT_98 \ "UPDATE actual_node " \ "SET properties = NULL, " \ " text_mod = NULL, " \ " tree_conflict_data = NULL, " \ " older_checksum = NULL, " \ " left_checksum = NULL, " \ " right_checksum = NULL, " \ " changelist = NULL " \ "WHERE wc_id = ?1 AND local_relpath = ?2 " \ "" #define STMT_CLEAR_ACTUAL_NODE_LEAVING_CHANGELIST_RECURSIVE 99 #define STMT_99_INFO {"STMT_CLEAR_ACTUAL_NODE_LEAVING_CHANGELIST_RECURSIVE", NULL} #define STMT_99 \ "UPDATE actual_node " \ "SET properties = NULL, " \ " text_mod = NULL, " \ " conflict_data = NULL, " \ " tree_conflict_data = NULL, " \ " older_checksum = NULL, " \ " left_checksum = NULL, " \ " right_checksum = 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))) " \ "" #define STMT_UPDATE_NODE_BASE_DEPTH 100 #define STMT_100_INFO {"STMT_UPDATE_NODE_BASE_DEPTH", NULL} #define STMT_100 \ "UPDATE nodes SET depth = ?3 " \ "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \ " AND kind='dir' " \ " AND presence IN ('normal', 'incomplete') " \ "" #define STMT_UPDATE_NODE_BASE_PRESENCE 101 #define STMT_101_INFO {"STMT_UPDATE_NODE_BASE_PRESENCE", NULL} #define STMT_101 \ "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 102 #define STMT_102_INFO {"STMT_UPDATE_BASE_NODE_PRESENCE_REVNUM_AND_REPOS_PATH", NULL} #define STMT_102 \ "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 103 #define STMT_103_INFO {"STMT_LOOK_FOR_WORK", NULL} #define STMT_103 \ "SELECT id FROM work_queue LIMIT 1 " \ "" #define STMT_INSERT_WORK_ITEM 104 #define STMT_104_INFO {"STMT_INSERT_WORK_ITEM", NULL} #define STMT_104 \ "INSERT INTO work_queue (work) VALUES (?1) " \ "" #define STMT_SELECT_WORK_ITEM 105 #define STMT_105_INFO {"STMT_SELECT_WORK_ITEM", NULL} #define STMT_105 \ "SELECT id, work FROM work_queue ORDER BY id LIMIT 1 " \ "" #define STMT_DELETE_WORK_ITEM 106 #define STMT_106_INFO {"STMT_DELETE_WORK_ITEM", NULL} #define STMT_106 \ "DELETE FROM work_queue WHERE id = ?1 " \ "" #define STMT_INSERT_OR_IGNORE_PRISTINE 107 #define STMT_107_INFO {"STMT_INSERT_OR_IGNORE_PRISTINE", NULL} #define STMT_107 \ "INSERT OR IGNORE INTO pristine (checksum, md5_checksum, size, refcount) " \ "VALUES (?1, ?2, ?3, 0) " \ "" #define STMT_INSERT_PRISTINE 108 #define STMT_108_INFO {"STMT_INSERT_PRISTINE", NULL} #define STMT_108 \ "INSERT INTO pristine (checksum, md5_checksum, size, refcount) " \ "VALUES (?1, ?2, ?3, 0) " \ "" #define STMT_SELECT_PRISTINE 109 #define STMT_109_INFO {"STMT_SELECT_PRISTINE", NULL} #define STMT_109 \ "SELECT md5_checksum " \ "FROM pristine " \ "WHERE checksum = ?1 " \ "" #define STMT_SELECT_PRISTINE_SIZE 110 #define STMT_110_INFO {"STMT_SELECT_PRISTINE_SIZE", NULL} #define STMT_110 \ "SELECT size " \ "FROM pristine " \ "WHERE checksum = ?1 LIMIT 1 " \ "" #define STMT_SELECT_PRISTINE_BY_MD5 111 #define STMT_111_INFO {"STMT_SELECT_PRISTINE_BY_MD5", NULL} #define STMT_111 \ "SELECT checksum " \ "FROM pristine " \ "WHERE md5_checksum = ?1 " \ "" #define STMT_SELECT_UNREFERENCED_PRISTINES 112 #define STMT_112_INFO {"STMT_SELECT_UNREFERENCED_PRISTINES", NULL} #define STMT_112 \ "SELECT checksum " \ "FROM pristine " \ "WHERE refcount = 0 " \ "" #define STMT_DELETE_PRISTINE_IF_UNREFERENCED 113 #define STMT_113_INFO {"STMT_DELETE_PRISTINE_IF_UNREFERENCED", NULL} #define STMT_113 \ "DELETE FROM pristine " \ "WHERE checksum = ?1 AND refcount = 0 " \ "" #define STMT_SELECT_COPY_PRISTINES 114 #define STMT_114_INFO {"STMT_SELECT_COPY_PRISTINES", NULL} #define STMT_114 \ "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_VACUUM 115 #define STMT_115_INFO {"STMT_VACUUM", NULL} #define STMT_115 \ "VACUUM " \ "" #define STMT_SELECT_CONFLICT_VICTIMS 116 #define STMT_116_INFO {"STMT_SELECT_CONFLICT_VICTIMS", NULL} #define STMT_116 \ "SELECT local_relpath, conflict_data " \ "FROM actual_node " \ "WHERE wc_id = ?1 AND parent_relpath = ?2 AND " \ " NOT (conflict_data IS NULL) " \ "" #define STMT_INSERT_WC_LOCK 117 #define STMT_117_INFO {"STMT_INSERT_WC_LOCK", NULL} #define STMT_117 \ "INSERT INTO wc_lock (wc_id, local_dir_relpath, locked_levels) " \ "VALUES (?1, ?2, ?3) " \ "" #define STMT_SELECT_WC_LOCK 118 #define STMT_118_INFO {"STMT_SELECT_WC_LOCK", NULL} #define STMT_118 \ "SELECT locked_levels FROM wc_lock " \ "WHERE wc_id = ?1 AND local_dir_relpath = ?2 " \ "" #define STMT_SELECT_ANCESTOR_WCLOCKS 119 #define STMT_119_INFO {"STMT_SELECT_ANCESTOR_WCLOCKS", NULL} #define STMT_119 \ "SELECT local_dir_relpath, locked_levels FROM wc_lock " \ "WHERE wc_id = ?1 " \ " AND ((local_dir_relpath >= ?3 AND local_dir_relpath <= ?2) " \ " OR local_dir_relpath = '') " \ "" #define STMT_DELETE_WC_LOCK 120 #define STMT_120_INFO {"STMT_DELETE_WC_LOCK", NULL} #define STMT_120 \ "DELETE FROM wc_lock " \ "WHERE wc_id = ?1 AND local_dir_relpath = ?2 " \ "" #define STMT_FIND_WC_LOCK 121 #define STMT_121_INFO {"STMT_FIND_WC_LOCK", NULL} #define STMT_121 \ "SELECT local_dir_relpath FROM wc_lock " \ "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_FIND_CONFLICT_DESCENDANT 122 #define STMT_122_INFO {"STMT_FIND_CONFLICT_DESCENDANT", NULL} #define STMT_122 \ "SELECT 1 FROM actual_node " \ "WHERE wc_id = ?1 " \ " AND local_relpath > (?2 || '/') " \ " AND local_relpath < (?2 || '0') " \ " AND conflict_data IS NOT NULL " \ "LIMIT 1 " \ "" #define STMT_DELETE_WC_LOCK_ORPHAN 123 #define STMT_123_INFO {"STMT_DELETE_WC_LOCK_ORPHAN", NULL} #define STMT_123 \ "DELETE FROM wc_lock " \ "WHERE wc_id = ?1 AND local_dir_relpath = ?2 " \ "AND NOT EXISTS (SELECT 1 FROM nodes " \ " WHERE nodes.wc_id = ?1 " \ " AND nodes.local_relpath = wc_lock.local_dir_relpath) " \ "" #define STMT_DELETE_WC_LOCK_ORPHAN_RECURSIVE 124 #define STMT_124_INFO {"STMT_DELETE_WC_LOCK_ORPHAN_RECURSIVE", NULL} #define STMT_124 \ "DELETE FROM wc_lock " \ "WHERE wc_id = ?1 " \ " 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 125 #define STMT_125_INFO {"STMT_APPLY_CHANGES_TO_BASE_NODE", NULL} #define STMT_125 \ "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, " \ " inherited_props, file_external ) " \ "VALUES (?1, ?2, 0, " \ " ?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 126 #define STMT_126_INFO {"STMT_INSTALL_WORKING_NODE_FOR_DELETE", NULL} #define STMT_126 \ "INSERT INTO nodes ( " \ " wc_id, local_relpath, op_depth, " \ " parent_relpath, presence, kind) " \ "VALUES(?1, ?2, ?3, ?4, 'base-deleted', ?5) " \ "" #define STMT_REPLACE_WITH_BASE_DELETED 127 #define STMT_127_INFO {"STMT_REPLACE_WITH_BASE_DELETED", NULL} #define STMT_127 \ "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 " \ " AND op_depth = ?3 " \ "" #define STMT_INSERT_DELETE_FROM_NODE_RECURSIVE 128 #define STMT_128_INFO {"STMT_INSERT_DELETE_FROM_NODE_RECURSIVE", NULL} #define STMT_128 \ "INSERT INTO nodes ( " \ " wc_id, local_relpath, op_depth, parent_relpath, presence, kind) " \ "SELECT wc_id, local_relpath, ?4 , parent_relpath, 'base-deleted', " \ " kind " \ "FROM nodes " \ "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = ?3 " \ "UNION ALL " \ "SELECT wc_id, local_relpath, ?4 , parent_relpath, 'base-deleted', " \ " 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 presence NOT IN ('base-deleted', 'not-present', 'excluded', 'server-excluded') " \ " AND file_external IS NULL " \ "ORDER BY local_relpath " \ "" #define STMT_INSERT_WORKING_NODE_FROM_BASE_COPY 129 #define STMT_129_INFO {"STMT_INSERT_WORKING_NODE_FROM_BASE_COPY", NULL} #define STMT_129 \ "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_to ) " \ "SELECT wc_id, local_relpath, ?3 , 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 moved_to FROM nodes " \ " WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = ?3) moved_to " \ "FROM nodes " \ "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \ "" #define STMT_INSERT_DELETE_FROM_BASE 130 #define STMT_130_INFO {"STMT_INSERT_DELETE_FROM_BASE", NULL} #define STMT_130 \ "INSERT INTO nodes ( " \ " wc_id, local_relpath, op_depth, parent_relpath, presence, kind) " \ "SELECT wc_id, local_relpath, ?3 , parent_relpath, " \ " 'base-deleted', kind " \ "FROM nodes " \ "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \ "" #define STMT_UPDATE_OP_DEPTH_INCREASE_RECURSIVE 131 #define STMT_131_INFO {"STMT_UPDATE_OP_DEPTH_INCREASE_RECURSIVE", NULL} #define STMT_131 \ "UPDATE nodes SET op_depth = ?3 + 1 " \ "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_COPY_OP_DEPTH_RECURSIVE 132 #define STMT_132_INFO {"STMT_COPY_OP_DEPTH_RECURSIVE", NULL} #define STMT_132 \ "INSERT 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, local_relpath, ?4, 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, NULL, NULL " \ "FROM nodes " \ "WHERE wc_id = ?1 AND op_depth = ?3 AND local_relpath = ?2 " \ "UNION ALL " \ "SELECT " \ " wc_id, local_relpath, ?4, 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, NULL, NULL " \ "FROM nodes " \ "WHERE wc_id = ?1 AND op_depth = ?3 " \ " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \ "ORDER BY local_relpath " \ "" #define STMT_DOES_NODE_EXIST 133 #define STMT_133_INFO {"STMT_DOES_NODE_EXIST", NULL} #define STMT_133 \ "SELECT 1 FROM nodes WHERE wc_id = ?1 AND local_relpath = ?2 " \ "LIMIT 1 " \ "" #define STMT_HAS_SERVER_EXCLUDED_DESCENDANTS 134 #define STMT_134_INFO {"STMT_HAS_SERVER_EXCLUDED_DESCENDANTS", NULL} #define STMT_134 \ "SELECT local_relpath 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 presence = 'server-excluded' " \ "LIMIT 1 " \ "" #define STMT_SELECT_ALL_EXCLUDED_DESCENDANTS 135 #define STMT_135_INFO {"STMT_SELECT_ALL_EXCLUDED_DESCENDANTS", NULL} #define STMT_135 \ "SELECT local_relpath 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 (presence = 'server-excluded' OR presence = 'excluded') " \ "" #define STMT_INSERT_WORKING_NODE_COPY_FROM 136 #define STMT_136_INFO {"STMT_INSERT_WORKING_NODE_COPY_FROM", NULL} #define STMT_136 \ "INSERT OR REPLACE INTO nodes ( " \ " 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, " \ " ?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_DEPTH 137 #define STMT_137_INFO {"STMT_INSERT_WORKING_NODE_COPY_FROM_DEPTH", NULL} #define STMT_137 \ "INSERT OR REPLACE INTO nodes ( " \ " 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, " \ " ?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_UPDATE_BASE_REVISION 138 #define STMT_138_INFO {"STMT_UPDATE_BASE_REVISION", NULL} #define STMT_138 \ "UPDATE nodes SET revision = ?3 " \ "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \ "" #define STMT_UPDATE_BASE_REPOS 139 #define STMT_139_INFO {"STMT_UPDATE_BASE_REPOS", NULL} #define STMT_139 \ "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 140 #define STMT_140_INFO {"STMT_ACTUAL_HAS_CHILDREN", NULL} #define STMT_140 \ "SELECT 1 FROM actual_node " \ "WHERE wc_id = ?1 AND parent_relpath = ?2 " \ "LIMIT 1 " \ "" #define STMT_INSERT_EXTERNAL 141 #define STMT_141_INFO {"STMT_INSERT_EXTERNAL", NULL} #define STMT_141 \ "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_SELECT_EXTERNAL_INFO 142 #define STMT_142_INFO {"STMT_SELECT_EXTERNAL_INFO", NULL} #define STMT_142 \ "SELECT presence, kind, def_local_relpath, repos_id, " \ " def_repos_relpath, def_operational_revision, def_revision " \ "FROM externals WHERE wc_id = ?1 AND local_relpath = ?2 " \ "LIMIT 1 " \ "" #define STMT_DELETE_FILE_EXTERNALS 143 #define STMT_143_INFO {"STMT_DELETE_FILE_EXTERNALS", NULL} #define STMT_143 \ "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_DELETE_FILE_EXTERNAL_REGISTATIONS 144 #define STMT_144_INFO {"STMT_DELETE_FILE_EXTERNAL_REGISTATIONS", NULL} #define STMT_144 \ "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)) " \ " AND kind != 'dir' " \ "" #define STMT_DELETE_EXTERNAL_REGISTATIONS 145 #define STMT_145_INFO {"STMT_DELETE_EXTERNAL_REGISTATIONS", NULL} #define STMT_145 \ "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_SELECT_COMMITTABLE_EXTERNALS_BELOW 146 #define STMT_146_INFO {"STMT_SELECT_COMMITTABLE_EXTERNALS_BELOW", NULL} #define STMT_146 \ "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 147 #define STMT_147_INFO {"STMT_SELECT_COMMITTABLE_EXTERNALS_IMMEDIATELY_BELOW", NULL} #define STMT_147 \ "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 148 #define STMT_148_INFO {"STMT_SELECT_EXTERNALS_DEFINED", NULL} #define STMT_148 \ "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 149 #define STMT_149_INFO {"STMT_DELETE_EXTERNAL", NULL} #define STMT_149 \ "DELETE FROM externals " \ "WHERE wc_id = ?1 AND local_relpath = ?2 " \ "" #define STMT_SELECT_EXTERNAL_PROPERTIES 150 #define STMT_150_INFO {"STMT_SELECT_EXTERNAL_PROPERTIES", NULL} #define STMT_150 \ "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 = ?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_SELECT_CURRENT_PROPS_RECURSIVE 151 #define STMT_151_INFO {"STMT_SELECT_CURRENT_PROPS_RECURSIVE", NULL} #define STMT_151 \ "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_PRAGMA_LOCKING_MODE 152 #define STMT_152_INFO {"STMT_PRAGMA_LOCKING_MODE", NULL} #define STMT_152 \ "PRAGMA locking_mode = exclusive; " \ "PRAGMA journal_mode = DELETE " \ "" #define STMT_FIND_REPOS_PATH_IN_WC 153 #define STMT_153_INFO {"STMT_FIND_REPOS_PATH_IN_WC", NULL} #define STMT_153 \ "SELECT local_relpath FROM nodes_current " \ " WHERE wc_id = ?1 AND repos_path = ?2 " \ "" #define STMT_INSERT_ACTUAL_NODE 154 #define STMT_154_INFO {"STMT_INSERT_ACTUAL_NODE", NULL} #define STMT_154 \ "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_ALL_FILES 155 #define STMT_155_INFO {"STMT_SELECT_ALL_FILES", NULL} #define STMT_155 \ "SELECT local_relpath FROM nodes_current " \ "WHERE wc_id = ?1 AND parent_relpath = ?2 AND kind = 'file' " \ "" #define STMT_UPDATE_NODE_PROPS 156 #define STMT_156_INFO {"STMT_UPDATE_NODE_PROPS", NULL} #define STMT_156 \ "UPDATE nodes SET properties = ?4 " \ "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = ?3 " \ "" #define STMT_PRAGMA_TABLE_INFO_NODES 157 #define STMT_157_INFO {"STMT_PRAGMA_TABLE_INFO_NODES", NULL} #define STMT_157 \ "PRAGMA table_info(\"NODES\") " \ "" #define STMT_CREATE_TARGET_PROP_CACHE 158 #define STMT_158_INFO {"STMT_CREATE_TARGET_PROP_CACHE", NULL} #define STMT_158 \ "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_TARGET_PROPS 159 #define STMT_159_INFO {"STMT_CACHE_TARGET_PROPS", NULL} #define STMT_159 \ "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 160 #define STMT_160_INFO {"STMT_CACHE_TARGET_PRISTINE_PROPS", NULL} #define STMT_160 \ "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 161 #define STMT_161_INFO {"STMT_SELECT_ALL_TARGET_PROP_CACHE", NULL} #define STMT_161 \ "SELECT local_relpath, properties FROM target_prop_cache " \ "ORDER BY local_relpath " \ "" #define STMT_DROP_TARGET_PROP_CACHE 162 #define STMT_162_INFO {"STMT_DROP_TARGET_PROP_CACHE", NULL} #define STMT_162 \ "DROP TABLE target_prop_cache; " \ "" #define STMT_CREATE_REVERT_LIST 163 #define STMT_163_INFO {"STMT_CREATE_REVERT_LIST", NULL} #define STMT_163 \ "DROP TABLE IF EXISTS revert_list; " \ "CREATE TEMPORARY TABLE revert_list ( " \ " local_relpath TEXT NOT NULL, " \ " actual INTEGER NOT NULL, " \ " conflict_data BLOB, " \ " notify INTEGER, " \ " op_depth INTEGER, " \ " repos_id INTEGER, " \ " kind TEXT, " \ " PRIMARY KEY (local_relpath, actual) " \ " ); " \ "DROP TRIGGER IF EXISTS trigger_revert_list_nodes; " \ "CREATE TEMPORARY TRIGGER trigger_revert_list_nodes " \ "BEFORE DELETE ON nodes " \ "BEGIN " \ " INSERT OR REPLACE INTO revert_list(local_relpath, actual, op_depth, " \ " repos_id, kind) " \ " SELECT OLD.local_relpath, 0, OLD.op_depth, OLD.repos_id, OLD.kind; " \ "END; " \ "DROP TRIGGER IF EXISTS trigger_revert_list_actual_delete; " \ "CREATE TEMPORARY TRIGGER trigger_revert_list_actual_delete " \ "BEFORE DELETE ON actual_node " \ "BEGIN " \ " 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 " \ " 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 " \ " END notify " \ " WHERE OLD.conflict_data IS NOT NULL " \ " OR notify IS NOT NULL; " \ "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_data, " \ " notify) " \ " SELECT OLD.local_relpath, 1, OLD.conflict_data, " \ " CASE " \ " 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 " \ " END notify " \ " WHERE OLD.conflict_data IS NOT NULL " \ " OR notify IS NOT NULL; " \ "END " \ "" #define STMT_DROP_REVERT_LIST_TRIGGERS 164 #define STMT_164_INFO {"STMT_DROP_REVERT_LIST_TRIGGERS", NULL} #define STMT_164 \ "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 165 #define STMT_165_INFO {"STMT_SELECT_REVERT_LIST", NULL} #define STMT_165 \ "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 166 #define STMT_166_INFO {"STMT_SELECT_REVERT_LIST_COPIED_CHILDREN", NULL} #define STMT_166 \ "SELECT local_relpath, kind " \ "FROM revert_list " \ "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 167 #define STMT_167_INFO {"STMT_DELETE_REVERT_LIST", NULL} #define STMT_167 \ "DELETE FROM revert_list WHERE local_relpath = ?1 " \ "" #define STMT_SELECT_REVERT_LIST_RECURSIVE 168 #define STMT_168_INFO {"STMT_SELECT_REVERT_LIST_RECURSIVE", NULL} #define STMT_168 \ "SELECT p.local_relpath, n.kind, a.notify, a.kind " \ "FROM (SELECT DISTINCT local_relpath " \ " FROM revert_list " \ " 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)))) p " \ "LEFT JOIN revert_list n ON n.local_relpath=p.local_relpath AND n.actual=0 " \ "LEFT JOIN revert_list a ON a.local_relpath=p.local_relpath AND a.actual=1 " \ "ORDER BY p.local_relpath " \ "" #define STMT_DELETE_REVERT_LIST_RECURSIVE 169 #define STMT_169_INFO {"STMT_DELETE_REVERT_LIST_RECURSIVE", NULL} #define STMT_169 \ "DELETE FROM revert_list " \ "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 170 #define STMT_170_INFO {"STMT_DROP_REVERT_LIST", NULL} #define STMT_170 \ "DROP TABLE IF EXISTS revert_list " \ "" #define STMT_CREATE_DELETE_LIST 171 #define STMT_171_INFO {"STMT_CREATE_DELETE_LIST", NULL} #define STMT_171 \ "DROP TABLE IF EXISTS delete_list; " \ "CREATE TEMPORARY TABLE delete_list ( " \ " local_relpath TEXT PRIMARY KEY NOT NULL UNIQUE " \ " ) " \ "" #define STMT_INSERT_DELETE_LIST 172 #define STMT_172_INFO {"STMT_INSERT_DELETE_LIST", NULL} #define STMT_172 \ "INSERT INTO delete_list(local_relpath) " \ "SELECT ?2 " \ "UNION ALL " \ "SELECT local_relpath FROM nodes AS 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 >= ?3 " \ " 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 " \ "ORDER by local_relpath " \ "" #define STMT_SELECT_DELETE_LIST 173 #define STMT_173_INFO {"STMT_SELECT_DELETE_LIST", NULL} #define STMT_173 \ "SELECT local_relpath FROM delete_list " \ "ORDER BY local_relpath " \ "" #define STMT_FINALIZE_DELETE 174 #define STMT_174_INFO {"STMT_FINALIZE_DELETE", NULL} #define STMT_174 \ "DROP TABLE IF EXISTS delete_list " \ "" #define STMT_CREATE_UPDATE_MOVE_LIST 175 #define STMT_175_INFO {"STMT_CREATE_UPDATE_MOVE_LIST", NULL} #define STMT_175 \ "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 TEXT NOT NULL, " \ " content_state INTEGER NOT NULL, " \ " prop_state INTEGER NOT NULL " \ " ) " \ "" #define STMT_INSERT_UPDATE_MOVE_LIST 176 #define STMT_176_INFO {"STMT_INSERT_UPDATE_MOVE_LIST", NULL} #define STMT_176 \ "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 177 #define STMT_177_INFO {"STMT_SELECT_UPDATE_MOVE_LIST", NULL} #define STMT_177 \ "SELECT local_relpath, action, kind, content_state, prop_state " \ "FROM update_move_list " \ "ORDER BY local_relpath " \ "" #define STMT_FINALIZE_UPDATE_MOVE 178 #define STMT_178_INFO {"STMT_FINALIZE_UPDATE_MOVE", NULL} #define STMT_178 \ "DROP TABLE IF EXISTS update_move_list " \ "" #define STMT_MOVE_NOTIFY_TO_REVERT 179 #define STMT_179_INFO {"STMT_MOVE_NOTIFY_TO_REVERT", NULL} #define STMT_179 \ "INSERT INTO revert_list (local_relpath, notify, kind, actual) " \ " SELECT local_relpath, 2, kind, 1 FROM update_move_list; " \ "DROP TABLE update_move_list " \ "" #define STMT_SELECT_MIN_MAX_REVISIONS 180 #define STMT_180_INFO {"STMT_SELECT_MIN_MAX_REVISIONS", NULL} #define STMT_180 \ "SELECT MIN(revision), MAX(revision), " \ " MIN(changed_revision), MAX(changed_revision) 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 presence IN ('normal', 'incomplete') " \ " AND file_external IS NULL " \ " AND op_depth = 0 " \ "" #define STMT_HAS_SPARSE_NODES 181 #define STMT_181_INFO {"STMT_HAS_SPARSE_NODES", NULL} #define STMT_181 \ "SELECT 1 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 = 0 " \ " 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 182 #define STMT_182_INFO {"STMT_SUBTREE_HAS_TREE_MODIFICATIONS", NULL} #define STMT_182 \ "SELECT 1 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 > 0 " \ "LIMIT 1 " \ "" #define STMT_SUBTREE_HAS_PROP_MODIFICATIONS 183 #define STMT_183_INFO {"STMT_SUBTREE_HAS_PROP_MODIFICATIONS", NULL} #define STMT_183 \ "SELECT 1 FROM actual_node " \ "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 properties IS NOT NULL " \ "LIMIT 1 " \ "" #define STMT_HAS_SWITCHED 184 #define STMT_184_INFO {"STMT_HAS_SWITCHED", NULL} #define STMT_184 \ "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_SELECT_MOVED_FROM_RELPATH 185 #define STMT_185_INFO {"STMT_SELECT_MOVED_FROM_RELPATH", NULL} #define STMT_185 \ "SELECT local_relpath, op_depth FROM nodes " \ "WHERE wc_id = ?1 AND moved_to = ?2 AND op_depth > 0 " \ "" #define STMT_UPDATE_MOVED_TO_RELPATH 186 #define STMT_186_INFO {"STMT_UPDATE_MOVED_TO_RELPATH", NULL} #define STMT_186 \ "UPDATE nodes SET moved_to = ?4 " \ "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = ?3 " \ "" #define STMT_CLEAR_MOVED_TO_RELPATH 187 #define STMT_187_INFO {"STMT_CLEAR_MOVED_TO_RELPATH", NULL} #define STMT_187 \ "UPDATE nodes SET moved_to = NULL " \ "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = ?3 " \ "" #define STMT_CLEAR_MOVED_HERE_RECURSIVE 188 #define STMT_188_INFO {"STMT_CLEAR_MOVED_HERE_RECURSIVE", NULL} #define STMT_188 \ "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 189 #define STMT_189_INFO {"STMT_SELECT_MOVED_HERE_CHILDREN", NULL} #define STMT_189 \ "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 190 #define STMT_190_INFO {"STMT_SELECT_MOVED_FOR_DELETE", NULL} #define STMT_190 \ "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 (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 191 #define STMT_191_INFO {"STMT_SELECT_MOVED_FROM_FOR_DELETE", NULL} #define STMT_191 \ "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 192 #define STMT_192_INFO {"STMT_UPDATE_MOVED_TO_DESCENDANTS", NULL} #define STMT_192 \ "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 193 #define STMT_193_INFO {"STMT_CLEAR_MOVED_TO_DESCENDANTS", NULL} #define STMT_193 \ "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_PAIR3 194 #define STMT_194_INFO {"STMT_SELECT_MOVED_PAIR3", NULL} #define STMT_194 \ "SELECT n.local_relpath, d.moved_to, d.op_depth, n.kind " \ "FROM nodes n " \ "JOIN nodes d ON d.wc_id = ?1 AND d.local_relpath = n.local_relpath " \ " AND d.op_depth = (SELECT MIN(dd.op_depth) " \ " FROM nodes dd " \ " WHERE dd.wc_id = ?1 " \ " AND dd.local_relpath = d.local_relpath " \ " AND dd.op_depth > ?3) " \ "WHERE n.wc_id = ?1 AND n.local_relpath = ?2 AND n.op_depth = ?3 " \ " AND d.moved_to IS NOT NULL " \ "UNION ALL " \ "SELECT n.local_relpath, d.moved_to, d.op_depth, n.kind " \ "FROM nodes n " \ "JOIN nodes d ON d.wc_id = ?1 AND d.local_relpath = n.local_relpath " \ " AND d.op_depth = (SELECT MIN(dd.op_depth) " \ " FROM nodes dd " \ " WHERE dd.wc_id = ?1 " \ " AND dd.local_relpath = d.local_relpath " \ " AND dd.op_depth > ?3) " \ "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 d.moved_to IS NOT NULL " \ "ORDER BY n.local_relpath " \ "" #define STMT_SELECT_MOVED_OUTSIDE 195 #define STMT_195_INFO {"STMT_SELECT_MOVED_OUTSIDE", NULL} #define STMT_195 \ "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_MOVED_DESCENDANTS_SRC 196 #define STMT_196_INFO {"STMT_SELECT_MOVED_DESCENDANTS_SRC", NULL} #define STMT_196 \ "SELECT s.op_depth, n.local_relpath, n.kind, n.repos_path, s.moved_to " \ "FROM nodes n " \ "JOIN nodes s ON s.wc_id = n.wc_id AND s.local_relpath = n.local_relpath " \ " AND s.op_depth = (SELECT MIN(d.op_depth) " \ " FROM nodes d " \ " WHERE d.wc_id = ?1 " \ " AND d.local_relpath = s.local_relpath " \ " AND d.op_depth > ?3) " \ "WHERE n.wc_id = ?1 AND n.op_depth = ?3 " \ " AND (n.local_relpath = ?2 OR (((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 s.moved_to IS NOT NULL " \ "" #define STMT_COMMIT_UPDATE_ORIGIN 197 #define STMT_197_INFO {"STMT_COMMIT_UPDATE_ORIGIN", NULL} #define STMT_197 \ "UPDATE nodes SET repos_id = ?4, " \ " repos_path = (CASE WHEN (?2) = '' THEN (CASE WHEN (?5) = '' THEN (local_relpath) WHEN (local_relpath) = '' THEN (?5) ELSE (?5) || '/' || (local_relpath) END) WHEN (?5) = '' 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 (?5) WHEN SUBSTR((local_relpath), LENGTH(?2)+1, 1) = '/' THEN (?5) || SUBSTR((local_relpath), LENGTH(?2)+1) END END), " \ " 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 198 #define STMT_198_INFO {"STMT_HAS_LAYER_BETWEEN", NULL} #define STMT_198 \ "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 199 #define STMT_199_INFO {"STMT_SELECT_REPOS_PATH_REVISION", NULL} #define STMT_199 \ "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 200 #define STMT_200_INFO {"STMT_SELECT_HAS_NON_FILE_CHILDREN", NULL} #define STMT_200 \ "SELECT 1 FROM nodes " \ "WHERE wc_id = ?1 AND parent_relpath = ?2 AND op_depth = ?3 AND kind != 'file' " \ "LIMIT 1 " \ "" #define STMT_SELECT_HAS_GRANDCHILDREN 201 #define STMT_201_INFO {"STMT_SELECT_HAS_GRANDCHILDREN", NULL} #define STMT_201 \ "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 = ?3 " \ " AND file_external IS NULL " \ "LIMIT 1 " \ "" #define STMT_SELECT_ALL_NODES 202 #define STMT_202_INFO {"STMT_SELECT_ALL_NODES", NULL} #define STMT_202 \ "SELECT op_depth, local_relpath, parent_relpath, file_external FROM nodes " \ "WHERE wc_id = ?1 " \ "" #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_SELECT_COPIES_OF_REPOS_RELPATH 208 #define STMT_208_INFO {"STMT_SELECT_COPIES_OF_REPOS_RELPATH", NULL} #define STMT_208 \ "SELECT local_relpath " \ "FROM nodes n " \ "WHERE wc_id = ?1 AND repos_path = ?2 AND kind = ?3 " \ " AND presence = 'normal' " \ " 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 ASC " \ "" #define STMT_CREATE_SCHEMA 209 #define STMT_209_INFO {"STMT_CREATE_SCHEMA", NULL} #define STMT_209 \ "CREATE TABLE REPOSITORY ( " \ " id INTEGER PRIMARY KEY AUTOINCREMENT, " \ " root TEXT UNIQUE NOT NULL, " \ " uuid TEXT NOT NULL " \ " ); " \ "CREATE INDEX I_UUID ON REPOSITORY (uuid); " \ "CREATE INDEX I_ROOT ON REPOSITORY (root); " \ "CREATE TABLE WCROOT ( " \ " id INTEGER PRIMARY KEY AUTOINCREMENT, " \ " local_abspath TEXT UNIQUE " \ " ); " \ "CREATE UNIQUE INDEX I_LOCAL_ABSPATH ON WCROOT (local_abspath); " \ "CREATE TABLE PRISTINE ( " \ " checksum TEXT NOT NULL PRIMARY KEY, " \ " compression INTEGER, " \ " size INTEGER NOT NULL, " \ " 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, " \ " parent_relpath TEXT, " \ " properties BLOB, " \ " conflict_old TEXT, " \ " conflict_new TEXT, " \ " conflict_working TEXT, " \ " prop_reject TEXT, " \ " changelist TEXT, " \ " text_mod TEXT, " \ " tree_conflict_data TEXT, " \ " conflict_data BLOB, " \ " older_checksum TEXT REFERENCES PRISTINE (checksum), " \ " left_checksum TEXT REFERENCES PRISTINE (checksum), " \ " right_checksum TEXT REFERENCES PRISTINE (checksum), " \ " PRIMARY KEY (wc_id, local_relpath) " \ " ); " \ "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, " \ " lock_token TEXT NOT NULL, " \ " lock_owner TEXT, " \ " lock_comment TEXT, " \ " lock_date INTEGER, " \ " PRIMARY KEY (repos_id, repos_relpath) " \ " ); " \ "CREATE TABLE WORK_QUEUE ( " \ " id INTEGER PRIMARY KEY AUTOINCREMENT, " \ " work BLOB NOT NULL " \ " ); " \ "CREATE TABLE WC_LOCK ( " \ " wc_id INTEGER NOT NULL REFERENCES WCROOT (id), " \ " local_dir_relpath TEXT NOT NULL, " \ " locked_levels INTEGER NOT NULL DEFAULT -1, " \ " PRIMARY KEY (wc_id, local_dir_relpath) " \ " ); " \ "CREATE TABLE NODES ( " \ " wc_id INTEGER NOT NULL REFERENCES WCROOT (id), " \ " local_relpath TEXT NOT NULL, " \ " op_depth INTEGER NOT NULL, " \ " parent_relpath TEXT, " \ " repos_id INTEGER REFERENCES REPOSITORY (id), " \ " repos_path TEXT, " \ " revision INTEGER, " \ " presence TEXT NOT NULL, " \ " moved_here INTEGER, " \ " moved_to TEXT, " \ " kind TEXT NOT NULL, " \ " properties BLOB, " \ " depth TEXT, " \ " checksum TEXT REFERENCES PRISTINE (checksum), " \ " symlink_target TEXT, " \ " changed_revision INTEGER, " \ " changed_date INTEGER, " \ " changed_author TEXT, " \ " translated_size INTEGER, " \ " last_mod_time INTEGER, " \ " dav_cache BLOB, " \ " file_external INTEGER, " \ " inherited_props BLOB, " \ " PRIMARY KEY (wc_id, local_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 " \ " WHERE n2.wc_id = n.wc_id " \ " AND n2.local_relpath = n.local_relpath); " \ "CREATE VIEW NODES_BASE AS " \ " SELECT * FROM nodes " \ " WHERE op_depth = 0; " \ "CREATE TRIGGER nodes_insert_trigger " \ "AFTER INSERT ON nodes " \ "WHEN NEW.checksum IS NOT NULL " \ "BEGIN " \ " UPDATE pristine SET refcount = refcount + 1 " \ " WHERE checksum = NEW.checksum; " \ "END; " \ "CREATE TRIGGER nodes_delete_trigger " \ "AFTER DELETE ON nodes " \ "WHEN OLD.checksum IS NOT NULL " \ "BEGIN " \ " UPDATE pristine SET refcount = refcount - 1 " \ " WHERE checksum = OLD.checksum; " \ "END; " \ "CREATE TRIGGER nodes_update_checksum_trigger " \ "AFTER UPDATE OF checksum ON nodes " \ "WHEN NEW.checksum IS NOT OLD.checksum " \ "BEGIN " \ " UPDATE pristine SET refcount = refcount + 1 " \ " WHERE checksum = NEW.checksum; " \ " UPDATE pristine SET refcount = refcount - 1 " \ " WHERE checksum = OLD.checksum; " \ "END; " \ "CREATE TABLE EXTERNALS ( " \ " wc_id INTEGER NOT NULL REFERENCES WCROOT (id), " \ " local_relpath TEXT NOT NULL, " \ " parent_relpath TEXT NOT NULL, " \ " repos_id INTEGER NOT NULL REFERENCES REPOSITORY (id), " \ " presence TEXT NOT NULL, " \ " kind TEXT NOT NULL, " \ " def_local_relpath TEXT NOT NULL, " \ " def_repos_relpath TEXT NOT NULL, " \ " def_operational_revision TEXT, " \ " def_revision TEXT, " \ " PRIMARY KEY (wc_id, local_relpath) " \ "); " \ "CREATE UNIQUE INDEX I_EXTERNALS_DEFINED ON EXTERNALS (wc_id, " \ " def_local_relpath, " \ " local_relpath); " \ "PRAGMA user_version = " \ APR_STRINGIFY(SVN_WC__VERSION) \ "; " \ "" #define STMT_INSTALL_SCHEMA_STATISTICS 210 #define STMT_210_INFO {"STMT_INSTALL_SCHEMA_STATISTICS", NULL} #define STMT_210 \ "ANALYZE sqlite_master; " \ "DELETE FROM sqlite_stat1 " \ "WHERE tbl in ('NODES', 'ACTUAL_NODE', 'LOCK', 'WC_LOCK', 'EXTERNALS'); " \ "INSERT INTO sqlite_stat1(tbl, idx, stat) VALUES " \ " ('NODES', 'sqlite_autoindex_NODES_1', '8000 8000 2 1'); " \ "INSERT INTO sqlite_stat1(tbl, idx, stat) VALUES " \ " ('NODES', 'I_NODES_PARENT', '8000 8000 10 2 1'); " \ "INSERT INTO sqlite_stat1(tbl, idx, stat) VALUES " \ " ('NODES', 'I_NODES_MOVED', '8000 8000 1 1'); " \ "INSERT INTO sqlite_stat1(tbl, idx, stat) VALUES " \ " ('ACTUAL_NODE', 'sqlite_autoindex_ACTUAL_NODE_1', '8000 8000 1'); " \ "INSERT INTO sqlite_stat1(tbl, idx, stat) VALUES " \ " ('ACTUAL_NODE', 'I_ACTUAL_PARENT', '8000 8000 10 1'); " \ "INSERT INTO sqlite_stat1(tbl, idx, stat) VALUES " \ " ('LOCK', 'sqlite_autoindex_LOCK_1', '100 100 1'); " \ "INSERT INTO sqlite_stat1(tbl, idx, stat) VALUES " \ " ('WC_LOCK', 'sqlite_autoindex_WC_LOCK_1', '100 100 1'); " \ "INSERT INTO sqlite_stat1(tbl, idx, stat) VALUES " \ " ('EXTERNALS','sqlite_autoindex_EXTERNALS_1', '100 100 1'); " \ "INSERT INTO sqlite_stat1(tbl, idx, stat) VALUES " \ " ('EXTERNALS','I_EXTERNALS_DEFINED', '100 100 3 1'); " \ "ANALYZE sqlite_master; " \ "" #define STMT_UPGRADE_TO_30 211 #define STMT_211_INFO {"STMT_UPGRADE_TO_30", NULL} #define STMT_211 \ "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 212 #define STMT_212_INFO {"STMT_UPGRADE_30_SELECT_CONFLICT_SEPARATE", NULL} #define STMT_212 \ "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 213 #define STMT_213_INFO {"STMT_UPGRADE_30_SET_CONFLICT", NULL} #define STMT_213 \ "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 214 #define STMT_214_INFO {"STMT_UPGRADE_TO_31", NULL} #define STMT_214 \ "ALTER TABLE NODES ADD COLUMN inherited_props BLOB; " \ "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 215 #define STMT_215_INFO {"STMT_UPGRADE_31_SELECT_WCROOT_NODES", NULL} #define STMT_215 \ "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 WC_QUERIES_SQL_99 \ "CREATE TABLE ACTUAL_NODE_BACKUP ( " \ " wc_id INTEGER NOT NULL, " \ " local_relpath TEXT NOT NULL, " \ " parent_relpath TEXT, " \ " properties BLOB, " \ " conflict_old TEXT, " \ " conflict_new TEXT, " \ " conflict_working TEXT, " \ " prop_reject TEXT, " \ " changelist TEXT, " \ " text_mod TEXT " \ " ); " \ "INSERT INTO ACTUAL_NODE_BACKUP SELECT " \ " wc_id, local_relpath, parent_relpath, properties, conflict_old, " \ " conflict_new, conflict_working, prop_reject, changelist, text_mod " \ "FROM ACTUAL_NODE; " \ "DROP TABLE ACTUAL_NODE; " \ "CREATE TABLE ACTUAL_NODE ( " \ " wc_id INTEGER NOT NULL REFERENCES WCROOT (id), " \ " local_relpath TEXT NOT NULL, " \ " parent_relpath TEXT, " \ " properties BLOB, " \ " conflict_old TEXT, " \ " conflict_new TEXT, " \ " conflict_working TEXT, " \ " prop_reject TEXT, " \ " changelist TEXT, " \ " text_mod TEXT, " \ " PRIMARY KEY (wc_id, local_relpath) " \ " ); " \ "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 " \ "FROM ACTUAL_NODE_BACKUP; " \ "DROP TABLE ACTUAL_NODE_BACKUP; " \ "" #define STMT_VERIFICATION_TRIGGERS 216 #define STMT_216_INFO {"STMT_VERIFICATION_TRIGGERS", NULL} #define STMT_216 \ "CREATE TEMPORARY TRIGGER no_repository_updates BEFORE UPDATE ON repository " \ "BEGIN " \ " SELECT RAISE(FAIL, 'Updates to REPOSITORY are not allowed.'); " \ "END; " \ "CREATE TEMPORARY TRIGGER validation_01 BEFORE INSERT ON nodes " \ "WHEN NOT ((new.local_relpath = '' AND new.parent_relpath IS NULL) " \ " OR (relpath_depth(new.local_relpath) " \ " = relpath_depth(new.parent_relpath) + 1)) " \ "BEGIN " \ " SELECT RAISE(FAIL, 'WC DB validity check 01 failed'); " \ "END; " \ "CREATE TEMPORARY TRIGGER validation_02 BEFORE INSERT ON nodes " \ "WHEN NOT new.op_depth <= relpath_depth(new.local_relpath) " \ "BEGIN " \ " SELECT RAISE(FAIL, 'WC DB validity check 02 failed'); " \ "END; " \ "CREATE TEMPORARY TRIGGER validation_03 BEFORE INSERT ON nodes " \ "WHEN NOT ( " \ " (new.op_depth = relpath_depth(new.local_relpath)) " \ " OR " \ " (EXISTS (SELECT 1 FROM nodes " \ " WHERE wc_id = new.wc_id AND op_depth = new.op_depth " \ " AND local_relpath = new.parent_relpath)) " \ " ) " \ " AND NOT (new.file_external IS NOT NULL AND new.op_depth = 0) " \ "BEGIN " \ " SELECT RAISE(FAIL, 'WC DB validity check 03 failed'); " \ "END; " \ "CREATE TEMPORARY TRIGGER validation_04 BEFORE INSERT ON actual_node " \ "WHEN NOT (new.local_relpath = '' " \ " OR EXISTS (SELECT 1 FROM nodes " \ " WHERE wc_id = new.wc_id " \ " AND local_relpath = new.parent_relpath)) " \ "BEGIN " \ " SELECT RAISE(FAIL, 'WC DB validity check 04 failed'); " \ "END; " \ "" #define STMT_STATIC_VERIFY 217 #define STMT_217_INFO {"STMT_STATIC_VERIFY", NULL} #define STMT_217 \ "SELECT local_relpath, op_depth, 1, 'Invalid parent relpath set in NODES' " \ "FROM nodes n WHERE local_relpath != '' " \ " AND (parent_relpath IS NULL " \ " OR NOT (((local_relpath) > (CASE (parent_relpath) WHEN '' THEN '' ELSE (parent_relpath) || '/' END)) AND ((local_relpath) < CASE (parent_relpath) WHEN '' THEN X'FFFF' ELSE (parent_relpath) || '0' END)) " \ " OR relpath_depth(local_relpath) != relpath_depth(parent_relpath)+1) " \ "UNION ALL " \ "SELECT local_relpath, -1, 2, 'Invalid parent relpath set in ACTUAL' " \ "FROM actual_node a WHERE local_relpath != '' " \ " AND (parent_relpath IS NULL " \ " OR NOT (((local_relpath) > (CASE (parent_relpath) WHEN '' THEN '' ELSE (parent_relpath) || '/' END)) AND ((local_relpath) < CASE (parent_relpath) WHEN '' THEN X'FFFF' ELSE (parent_relpath) || '0' END)) " \ " OR relpath_depth(local_relpath) != relpath_depth(parent_relpath)+1) " \ "UNION ALL " \ "SELECT local_relpath, -1, 10, 'No ancestor in ACTUAL' " \ "FROM actual_node a WHERE local_relpath != '' " \ " AND NOT EXISTS(SELECT 1 from nodes i " \ " WHERE i.wc_id=a.wc_id " \ " AND i.local_relpath=a.parent_relpath) " \ " AND NOT EXISTS(SELECT 1 from nodes i " \ " WHERE i.wc_id=a.wc_id " \ " AND i.local_relpath=a.local_relpath) " \ "UNION ALL " \ "SELECT a.local_relpath, -1, 11, 'Bad or Unneeded actual data' " \ "FROM actual_node a " \ "LEFT JOIN nodes n on n.wc_id = a.wc_id AND n.local_relpath = a.local_relpath " \ " AND n.op_depth = (SELECT MAX(op_depth) from nodes i " \ " WHERE i.wc_id=a.wc_id AND i.local_relpath=a.local_relpath) " \ "WHERE (a.properties IS NOT NULL " \ " AND (n.presence IS NULL " \ " OR n.presence NOT IN ('normal', 'incomplete'))) " \ " OR (a.changelist IS NOT NULL AND (n.kind IS NOT NULL AND n.kind != 'file')) " \ " OR (a.conflict_data IS NULL AND a.properties IS NULL AND a.changelist IS NULL) " \ " AND NOT EXISTS(SELECT 1 from nodes i " \ " WHERE i.wc_id=a.wc_id " \ " AND i.local_relpath=a.parent_relpath) " \ "UNION ALL " \ "SELECT local_relpath, op_depth, 20, 'No ancestor in NODES' " \ "FROM nodes n WHERE local_relpath != '' " \ " AND file_external IS NULL " \ " AND NOT EXISTS(SELECT 1 from nodes i " \ " WHERE i.wc_id=n.wc_id " \ " AND i.local_relpath=n.parent_relpath " \ " AND i.op_depth <= n.op_depth) " \ "UNION ALL " \ "SELECT local_relpath, op_depth, 21, 'Unneeded node data' " \ "FROM nodes " \ "WHERE presence NOT IN ('normal', 'incomplete') " \ "AND (properties IS NOT NULL " \ " OR checksum IS NOT NULL " \ " OR depth IS NOT NULL " \ " OR symlink_target IS NOT NULL " \ " OR changed_revision IS NOT NULL " \ " OR (changed_date IS NOT NULL AND changed_date != 0) " \ " OR changed_author IS NOT NULL " \ " OR translated_size IS NOT NULL " \ " OR last_mod_time IS NOT NULL " \ " OR dav_cache IS NOT NULL " \ " OR file_external IS NOT NULL " \ " OR inherited_props IS NOT NULL) " \ "UNION ALL " \ "SELECT local_relpath, op_depth, 22, 'Unneeded base-deleted node data' " \ "FROM nodes " \ "WHERE presence IN ('base-deleted') " \ "AND (repos_id IS NOT NULL " \ " OR repos_path IS NOT NULL " \ " OR revision IS NOT NULL) " \ "UNION ALL " \ "SELECT local_relpath, op_depth, 23, 'Kind specific data invalid on normal' " \ "FROM nodes " \ "WHERE presence IN ('normal', 'incomplete') " \ "AND (kind IS NULL " \ " OR (repos_path IS NULL " \ " AND (properties IS NOT NULL " \ " OR changed_revision IS NOT NULL " \ " OR changed_author IS NOT NULL " \ " OR (changed_date IS NOT NULL AND changed_date != 0))) " \ " OR (CASE WHEN kind = 'file' AND repos_path IS NOT NULL " \ " THEN checksum IS NULL " \ " ELSE checksum IS NOT NULL END) " \ " OR (CASE WHEN kind = 'dir' THEN depth IS NULL " \ " ELSE depth IS NOT NULL END) " \ " OR (CASE WHEN kind = 'symlink' THEN symlink_target IS NULL " \ " ELSE symlink_target IS NOT NULL END)) " \ "UNION ALL " \ "SELECT local_relpath, op_depth, 24, 'Invalid op-depth for local add' " \ "FROM nodes " \ "WHERE presence IN ('normal', 'incomplete') " \ " AND repos_path IS NULL " \ " AND op_depth != relpath_depth(local_relpath) " \ "UNION ALL " \ "SELECT local_relpath, op_depth, 25, 'Node missing op-depth ancestor' " \ "FROM nodes n " \ "WHERE op_depth < relpath_depth(local_relpath) " \ " AND file_external IS NULL " \ " AND NOT EXISTS(SELECT 1 FROM nodes p " \ " WHERE p.wc_id=n.wc_id AND p.local_relpath=n.parent_relpath " \ " AND p.op_depth=n.op_depth " \ " AND (p.presence IN ('normal', 'incomplete') " \ " OR (p.presence IN ('base-deleted', 'not-present') " \ " AND n.presence = 'base-deleted'))) " \ "UNION ALL " \ "SELECT n.local_relpath, n.op_depth, 26, 'Copied descendant mismatch' " \ "FROM nodes n " \ "JOIN nodes p " \ " ON p.wc_id=n.wc_id AND p.local_relpath=n.parent_relpath " \ " AND n.op_depth=p.op_depth " \ "WHERE n.op_depth > 0 AND n.presence IN ('normal', 'incomplete') " \ " AND (n.repos_id != p.repos_id " \ " OR n.repos_path != " \ " (CASE WHEN (n.parent_relpath) = '' THEN (CASE WHEN (p.repos_path) = '' THEN (n.local_relpath) WHEN (n.local_relpath) = '' THEN (p.repos_path) ELSE (p.repos_path) || '/' || (n.local_relpath) END) WHEN (p.repos_path) = '' THEN (CASE WHEN (n.parent_relpath) = '' THEN (n.local_relpath) WHEN SUBSTR((n.local_relpath), 1, LENGTH(n.parent_relpath)) = (n.parent_relpath) THEN CASE WHEN LENGTH(n.parent_relpath) = LENGTH(n.local_relpath) THEN '' WHEN SUBSTR((n.local_relpath), LENGTH(n.parent_relpath)+1, 1) = '/' THEN SUBSTR((n.local_relpath), LENGTH(n.parent_relpath)+2) END END) WHEN SUBSTR((n.local_relpath), 1, LENGTH(n.parent_relpath)) = (n.parent_relpath) THEN CASE WHEN LENGTH(n.parent_relpath) = LENGTH(n.local_relpath) THEN (p.repos_path) WHEN SUBSTR((n.local_relpath), LENGTH(n.parent_relpath)+1, 1) = '/' THEN (p.repos_path) || SUBSTR((n.local_relpath), LENGTH(n.parent_relpath)+1) END END) " \ " OR n.revision != p.revision " \ " OR p.kind != 'dir' " \ " OR n.moved_here IS NOT p.moved_here) " \ "UNION ALL " \ "SELECT n.local_relpath, n.op_depth, 27, 'Invalid op-root presence' " \ "FROM nodes n " \ "WHERE n.op_depth = relpath_depth(local_relpath) " \ " AND presence NOT IN ('normal', 'incomplete', 'base-deleted') " \ "UNION ALL " \ "SELECT n.local_relpath, s.op_depth, 28, 'Incomplete shadowing' " \ "FROM nodes n " \ "JOIN nodes s ON s.wc_id=n.wc_id AND s.local_relpath=n.local_relpath " \ " AND s.op_depth = relpath_depth(s.local_relpath) " \ " AND s.op_depth = (SELECT MIN(op_depth) FROM nodes d " \ " WHERE d.wc_id=s.wc_id AND d.local_relpath=s.local_relpath " \ " AND d.op_depth > n.op_depth) " \ "WHERE n.presence IN ('normal', 'incomplete') " \ " AND EXISTS(SELECT 1 " \ " FROM nodes dn " \ " WHERE dn.wc_id=n.wc_id AND dn.op_depth=n.op_depth " \ " AND dn.presence IN ('normal', 'incomplete') " \ " AND (((dn.local_relpath) > (CASE (n.local_relpath) WHEN '' THEN '' ELSE (n.local_relpath) || '/' END)) AND ((dn.local_relpath) < CASE (n.local_relpath) WHEN '' THEN X'FFFF' ELSE (n.local_relpath) || '0' END)) " \ " AND dn.file_external IS NULL " \ " AND NOT EXISTS(SELECT 1 " \ " FROM nodes ds " \ " WHERE ds.wc_id=n.wc_id AND ds.op_depth=s.op_depth " \ " AND ds.local_relpath=dn.local_relpath)) " \ "UNION ALL " \ "SELECT s.local_relpath, s.op_depth, 29, 'Invalid base-delete' " \ "FROM nodes s " \ "LEFT JOIN nodes n ON n.wc_id=s.wc_id AND n.local_relpath=s.local_relpath " \ " AND n.op_depth = (SELECT MAX(op_depth) FROM nodes d " \ " WHERE d.wc_id=s.wc_id AND d.local_relpath=s.local_relpath " \ " AND d.op_depth < s.op_depth) " \ "WHERE s.presence = 'base-deleted' " \ " AND (n.presence IS NULL " \ " OR n.presence NOT IN ('normal', 'incomplete') " \ " ) " \ "UNION ALL " \ "SELECT n.local_relpath, n.op_depth, 30, 'Invalid data for BASE' " \ "FROM nodes n " \ "WHERE n.op_depth = 0 " \ " AND (n.moved_to IS NOT NULL " \ " OR n.moved_here IS NOT NULL) " \ "UNION ALL " \ "SELECT d.local_relpath, d.op_depth, 60, 'Moved here without origin' " \ "FROM nodes d " \ "WHERE d.op_depth = relpath_depth(d.local_relpath) " \ " AND d.moved_here IS NOT NULL " \ " AND NOT EXISTS(SELECT 1 FROM nodes s " \ " WHERE s.wc_id = d.wc_id AND s.moved_to = d.local_relpath) " \ "UNION ALL " \ "SELECT s.local_relpath, s.op_depth, 61, 'Moved to without target' " \ "FROM nodes s " \ "WHERE s.moved_to IS NOT NULL " \ " AND NOT EXISTS(SELECT 1 FROM nodes d " \ " WHERE d.wc_id = s.wc_id AND d.local_relpath = s.moved_to " \ " AND d.op_depth = relpath_depth(d.local_relpath) " \ " AND d.moved_here =1 AND d.repos_path IS NOT NULL) " \ "" #define WC_QUERIES_SQL_DECLARE_STATEMENTS(varname) \ static const char * const varname[] = { \ STMT_0, \ STMT_1, \ STMT_2, \ STMT_3, \ STMT_4, \ STMT_5, \ STMT_6, \ STMT_7, \ STMT_8, \ STMT_9, \ STMT_10, \ STMT_11, \ STMT_12, \ STMT_13, \ STMT_14, \ STMT_15, \ STMT_16, \ STMT_17, \ STMT_18, \ STMT_19, \ STMT_20, \ STMT_21, \ STMT_22, \ STMT_23, \ STMT_24, \ STMT_25, \ STMT_26, \ STMT_27, \ STMT_28, \ STMT_29, \ STMT_30, \ STMT_31, \ STMT_32, \ STMT_33, \ STMT_34, \ STMT_35, \ STMT_36, \ STMT_37, \ STMT_38, \ STMT_39, \ STMT_40, \ STMT_41, \ STMT_42, \ STMT_43, \ STMT_44, \ STMT_45, \ STMT_46, \ STMT_47, \ STMT_48, \ STMT_49, \ STMT_50, \ STMT_51, \ STMT_52, \ STMT_53, \ STMT_54, \ STMT_55, \ STMT_56, \ STMT_57, \ STMT_58, \ STMT_59, \ STMT_60, \ STMT_61, \ STMT_62, \ STMT_63, \ STMT_64, \ STMT_65, \ STMT_66, \ STMT_67, \ STMT_68, \ STMT_69, \ STMT_70, \ STMT_71, \ STMT_72, \ STMT_73, \ STMT_74, \ STMT_75, \ STMT_76, \ STMT_77, \ STMT_78, \ STMT_79, \ STMT_80, \ STMT_81, \ STMT_82, \ STMT_83, \ STMT_84, \ STMT_85, \ STMT_86, \ STMT_87, \ STMT_88, \ STMT_89, \ STMT_90, \ STMT_91, \ STMT_92, \ STMT_93, \ STMT_94, \ STMT_95, \ STMT_96, \ STMT_97, \ STMT_98, \ STMT_99, \ STMT_100, \ STMT_101, \ STMT_102, \ STMT_103, \ STMT_104, \ STMT_105, \ STMT_106, \ STMT_107, \ STMT_108, \ STMT_109, \ STMT_110, \ STMT_111, \ STMT_112, \ STMT_113, \ STMT_114, \ STMT_115, \ STMT_116, \ STMT_117, \ STMT_118, \ STMT_119, \ STMT_120, \ STMT_121, \ STMT_122, \ STMT_123, \ STMT_124, \ STMT_125, \ STMT_126, \ STMT_127, \ STMT_128, \ STMT_129, \ STMT_130, \ STMT_131, \ STMT_132, \ STMT_133, \ STMT_134, \ STMT_135, \ STMT_136, \ STMT_137, \ STMT_138, \ STMT_139, \ STMT_140, \ STMT_141, \ STMT_142, \ STMT_143, \ STMT_144, \ STMT_145, \ STMT_146, \ STMT_147, \ STMT_148, \ STMT_149, \ STMT_150, \ STMT_151, \ STMT_152, \ STMT_153, \ STMT_154, \ STMT_155, \ STMT_156, \ STMT_157, \ STMT_158, \ STMT_159, \ STMT_160, \ STMT_161, \ STMT_162, \ STMT_163, \ STMT_164, \ STMT_165, \ STMT_166, \ STMT_167, \ STMT_168, \ STMT_169, \ STMT_170, \ STMT_171, \ STMT_172, \ STMT_173, \ STMT_174, \ STMT_175, \ STMT_176, \ STMT_177, \ STMT_178, \ STMT_179, \ STMT_180, \ STMT_181, \ STMT_182, \ STMT_183, \ STMT_184, \ 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, \ 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, \ {NULL, NULL} \ }