wc-queries.h   [plain text]


/* This file is automatically generated from wc-queries.sql.
 * Do not edit this file -- edit the source and rerun gen-make.py */

#define STMT_SELECT_NODE_INFO 0
#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 " \
  "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 \
  "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 " \
  "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 " \
  "ORDER BY op_depth DESC " \
  ""

#define STMT_SELECT_BASE_NODE 2
#define STMT_2 \
  "SELECT repos_id, repos_path, presence, kind, revision, checksum, " \
  "  translated_size, changed_revision, changed_date, changed_author, depth, " \
  "  symlink_target, last_mod_time, properties, file_external IS NOT NULL " \
  "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 \
  "SELECT nodes.repos_id, nodes.repos_path, presence, kind, revision, " \
  "  checksum, translated_size, changed_revision, changed_date, changed_author, " \
  "  depth, symlink_target, last_mod_time, properties, file_external IS NOT NULL, " \
  "  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 \
  "SELECT local_relpath, nodes.repos_id, nodes.repos_path, presence, kind, " \
  "  revision, depth, file_external IS NOT NULL, " \
  "  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 5
#define STMT_5 \
  "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 6
#define STMT_6 \
  "SELECT repos_id, repos_path, presence, kind, revision, checksum, " \
  "  translated_size, changed_revision, changed_date, changed_author, depth, " \
  "  symlink_target, last_mod_time, properties " \
  "FROM nodes " \
  "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = ?3 " \
  ""

#define STMT_SELECT_LOWEST_WORKING_NODE 7
#define STMT_7 \
  "SELECT op_depth, presence " \
  "FROM nodes " \
  "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth > 0 " \
  "ORDER BY op_depth " \
  "LIMIT 1 " \
  ""

#define STMT_SELECT_ACTUAL_NODE 8
#define STMT_8 \
  "SELECT prop_reject, changelist, conflict_old, conflict_new, " \
  "conflict_working, tree_conflict_data, properties " \
  "FROM actual_node " \
  "WHERE wc_id = ?1 AND local_relpath = ?2 " \
  ""

#define STMT_SELECT_ACTUAL_TREE_CONFLICT 9
#define STMT_9 \
  "SELECT tree_conflict_data " \
  "FROM actual_node " \
  "WHERE wc_id = ?1 AND local_relpath = ?2 AND tree_conflict_data IS NOT NULL " \
  ""

#define STMT_SELECT_ACTUAL_CHANGELIST 10
#define STMT_10 \
  "SELECT changelist " \
  "FROM actual_node " \
  "WHERE wc_id = ?1 AND local_relpath = ?2 AND changelist IS NOT NULL " \
  ""

#define STMT_SELECT_NODE_CHILDREN_INFO 11
#define STMT_11 \
  "SELECT op_depth, nodes.repos_id, nodes.repos_path, presence, kind, revision, " \
  "  checksum, translated_size, changed_revision, changed_date, changed_author, " \
  "  depth, symlink_target, last_mod_time, properties, lock_token, lock_owner, " \
  "  lock_comment, lock_date, local_relpath " \
  "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 " \
  ""

#define STMT_SELECT_NODE_CHILDREN_WALKER_INFO 12
#define STMT_12 \
  "SELECT local_relpath, op_depth, presence, kind " \
  "FROM nodes_current " \
  "WHERE wc_id = ?1 AND parent_relpath = ?2 " \
  ""

#define STMT_SELECT_ACTUAL_CHILDREN_INFO 13
#define STMT_13 \
  "SELECT prop_reject, changelist, conflict_old, conflict_new, " \
  "conflict_working, tree_conflict_data, properties, local_relpath, " \
  "conflict_data " \
  "FROM actual_node " \
  "WHERE wc_id = ?1 AND parent_relpath = ?2 " \
  ""

#define STMT_SELECT_REPOSITORY_BY_ID 14
#define STMT_14 \
  "SELECT root, uuid FROM repository WHERE id = ?1 " \
  ""

#define STMT_SELECT_WCROOT_NULL 15
#define STMT_15 \
  "SELECT id FROM wcroot WHERE local_abspath IS NULL " \
  ""

#define STMT_SELECT_REPOSITORY 16
#define STMT_16 \
  "SELECT id FROM repository WHERE root = ?1 " \
  ""

#define STMT_INSERT_REPOSITORY 17
#define STMT_17 \
  "INSERT INTO repository (root, uuid) VALUES (?1, ?2) " \
  ""

#define STMT_INSERT_NODE 18
#define STMT_18 \
  "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) " \
  "VALUES (?1, ?2, ?3, ?4, ?5, ?6, ?7, ?8, ?9, ?10, ?11, ?12, ?13, ?14, " \
  "        ?15, ?16, ?17, ?18, ?19, ?20) " \
  ""

#define STMT_SELECT_OP_DEPTH_CHILDREN 19
#define STMT_19 \
  "SELECT local_relpath FROM nodes " \
  "WHERE wc_id = ?1 AND parent_relpath = ?2 AND op_depth = ?3 " \
  "  AND (?3 != 0 OR file_external is NULL) " \
  ""

#define STMT_SELECT_GE_OP_DEPTH_CHILDREN 20
#define STMT_20 \
  "SELECT 1 FROM nodes " \
  "WHERE wc_id = ?1 AND parent_relpath = ?2 " \
  "  AND (op_depth > ?3 OR (op_depth = ?3 AND presence != 'base-deleted')) " \
  "UNION " \
  "SELECT 1 FROM ACTUAL_NODE " \
  "WHERE wc_id = ?1 AND parent_relpath = ?2 " \
  ""

#define STMT_DELETE_SHADOWED_RECURSIVE 21
#define STMT_21 \
  "DELETE FROM nodes " \
  "WHERE wc_id = ?1 " \
  "  AND (local_relpath = ?2 " \
  "       OR ((local_relpath) > (?2) || '/' AND (local_relpath) < (?2) || '0') ) " \
  "  AND (op_depth < ?3 " \
  "       OR (op_depth = ?3 AND presence = 'base-deleted')) " \
  ""

#define STMT_SELECT_NOT_PRESENT_DESCENDANTS 22
#define STMT_22 \
  "SELECT local_relpath FROM nodes " \
  "WHERE wc_id = ?1 AND op_depth = ?3 " \
  "  AND (parent_relpath = ?2 " \
  "       OR ((parent_relpath) > (?2) || '/' AND (parent_relpath) < (?2) || '0') ) " \
  "  AND presence == 'not-present' " \
  ""

#define STMT_COMMIT_DESCENDANT_TO_BASE 23
#define STMT_23 \
  "UPDATE NODES SET op_depth = 0, repos_id = ?4, repos_path = ?5, revision = ?6, " \
  "  moved_here = NULL, moved_to = NULL, dav_cache = NULL, " \
  "  presence = CASE presence WHEN 'normal' THEN 'normal' " \
  "                           WHEN 'excluded' THEN 'excluded' " \
  "                           ELSE 'not-present' END " \
  "WHERE wc_id = ?1 AND local_relpath = ?2 and op_depth = ?3 " \
  ""

#define STMT_SELECT_NODE_CHILDREN 24
#define STMT_24 \
  "SELECT local_relpath FROM nodes " \
  "WHERE wc_id = ?1 AND parent_relpath = ?2 " \
  ""

#define STMT_SELECT_WORKING_CHILDREN 25
#define STMT_25 \
  "SELECT 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 != 'base-deleted')) " \
  ""

#define STMT_SELECT_BASE_PROPS 26
#define STMT_26 \
  "SELECT properties FROM nodes " \
  "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \
  ""

#define STMT_SELECT_NODE_PROPS 27
#define STMT_27 \
  "SELECT properties, presence FROM nodes " \
  "WHERE wc_id = ?1 AND local_relpath = ?2 " \
  "ORDER BY op_depth DESC " \
  ""

#define STMT_SELECT_ACTUAL_PROPS 28
#define STMT_28 \
  "SELECT properties FROM actual_node " \
  "WHERE wc_id = ?1 AND local_relpath = ?2 " \
  ""

#define STMT_UPDATE_NODE_BASE_PROPS 29
#define STMT_29 \
  "UPDATE nodes SET properties = ?3 " \
  "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \
  ""

#define STMT_UPDATE_NODE_WORKING_PROPS 30
#define STMT_30 \
  "UPDATE nodes SET properties = ?3 " \
  "WHERE wc_id = ?1 AND local_relpath = ?2 " \
  "  AND op_depth = " \
  "   (SELECT MAX(op_depth) FROM nodes " \
  "    WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth > 0) " \
  ""

#define STMT_UPDATE_ACTUAL_PROPS 31
#define STMT_31 \
  "UPDATE actual_node SET properties = ?3 " \
  "WHERE wc_id = ?1 AND local_relpath = ?2 " \
  ""

#define STMT_INSERT_ACTUAL_PROPS 32
#define STMT_32 \
  "INSERT INTO actual_node (wc_id, local_relpath, parent_relpath, properties) " \
  "VALUES (?1, ?2, ?3, ?4) " \
  ""

#define STMT_INSERT_LOCK 33
#define STMT_33 \
  "INSERT OR REPLACE INTO lock " \
  "(repos_id, repos_relpath, lock_token, lock_owner, lock_comment, " \
  " lock_date) " \
  "VALUES (?1, ?2, ?3, ?4, ?5, ?6) " \
  ""

#define STMT_SELECT_BASE_NODE_LOCK_TOKENS_RECURSIVE 34
#define STMT_34 \
  "SELECT nodes.repos_id, nodes.repos_path, lock_token " \
  "FROM nodes " \
  "LEFT JOIN lock ON nodes.repos_id = lock.repos_id " \
  "  AND nodes.repos_path = lock.repos_relpath " \
  "WHERE wc_id = ?1 AND op_depth = 0 " \
  "  AND (?2 = '' " \
  "       OR local_relpath = ?2 " \
  "       OR ((local_relpath) > (?2) || '/' AND (local_relpath) < (?2) || '0') ) " \
  ""

#define STMT_INSERT_WCROOT 35
#define STMT_35 \
  "INSERT INTO wcroot (local_abspath) " \
  "VALUES (?1) " \
  ""

#define STMT_UPDATE_BASE_NODE_DAV_CACHE 36
#define STMT_36 \
  "UPDATE nodes SET dav_cache = ?3 " \
  "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \
  ""

#define STMT_SELECT_BASE_DAV_CACHE 37
#define STMT_37 \
  "SELECT dav_cache FROM nodes " \
  "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \
  ""

#define STMT_SELECT_DELETION_INFO 38
#define STMT_38 \
  "SELECT nodes_base.presence, nodes_work.presence, nodes_work.moved_to, " \
  "       nodes_work.op_depth " \
  "FROM nodes AS nodes_work " \
  "LEFT OUTER JOIN nodes nodes_base ON nodes_base.wc_id = nodes_work.wc_id " \
  "  AND nodes_base.local_relpath = nodes_work.local_relpath " \
  "  AND nodes_base.op_depth = 0 " \
  "WHERE nodes_work.wc_id = ?1 AND nodes_work.local_relpath = ?2 " \
  "  AND nodes_work.op_depth = (SELECT MAX(op_depth) FROM nodes " \
  "                             WHERE wc_id = ?1 AND local_relpath = ?2 " \
  "                                              AND op_depth > 0) " \
  ""

#define STMT_DELETE_LOCK 39
#define STMT_39 \
  "DELETE FROM lock " \
  "WHERE repos_id = ?1 AND repos_relpath = ?2 " \
  ""

#define STMT_CLEAR_BASE_NODE_RECURSIVE_DAV_CACHE 40
#define STMT_40 \
  "UPDATE nodes SET dav_cache = NULL " \
  "WHERE dav_cache IS NOT NULL AND wc_id = ?1 AND op_depth = 0 " \
  "  AND (?2 = '' " \
  "       OR local_relpath = ?2 " \
  "       OR ((local_relpath) > (?2) || '/' AND (local_relpath) < (?2) || '0') ) " \
  ""

#define STMT_RECURSIVE_UPDATE_NODE_REPO 41
#define STMT_41 \
  "UPDATE nodes SET repos_id = ?4, dav_cache = NULL " \
  "WHERE wc_id = ?1 " \
  "  AND repos_id = ?3 " \
  "  AND (?2 = '' " \
  "       OR local_relpath = ?2 " \
  "       OR ((local_relpath) > (?2) || '/' AND (local_relpath) < (?2) || '0') ) " \
  ""

#define STMT_UPDATE_LOCK_REPOS_ID 42
#define STMT_42 \
  "UPDATE lock SET repos_id = ?2 " \
  "WHERE repos_id = ?1 " \
  ""

#define STMT_UPDATE_NODE_FILEINFO 43
#define STMT_43 \
  "UPDATE nodes SET translated_size = ?3, last_mod_time = ?4 " \
  "WHERE wc_id = ?1 AND local_relpath = ?2 " \
  "  AND op_depth = (SELECT MAX(op_depth) FROM nodes " \
  "                  WHERE wc_id = ?1 AND local_relpath = ?2) " \
  ""

#define STMT_UPDATE_ACTUAL_TREE_CONFLICTS 44
#define STMT_44 \
  "UPDATE actual_node SET tree_conflict_data = ?3 " \
  "WHERE wc_id = ?1 AND local_relpath = ?2 " \
  ""

#define STMT_INSERT_ACTUAL_TREE_CONFLICTS 45
#define STMT_45 \
  "INSERT INTO actual_node ( " \
  "  wc_id, local_relpath, tree_conflict_data, parent_relpath) " \
  "VALUES (?1, ?2, ?3, ?4) " \
  ""

#define STMT_UPDATE_ACTUAL_TEXT_CONFLICTS 46
#define STMT_46 \
  "UPDATE actual_node SET conflict_old = ?3, conflict_new = ?4, " \
  "  conflict_working = ?5 " \
  "WHERE wc_id = ?1 AND local_relpath = ?2 " \
  ""

#define STMT_INSERT_ACTUAL_TEXT_CONFLICTS 47
#define STMT_47 \
  "INSERT INTO actual_node ( " \
  "  wc_id, local_relpath, conflict_old, conflict_new, conflict_working, " \
  "  parent_relpath) " \
  "VALUES (?1, ?2, ?3, ?4, ?5, ?6) " \
  ""

#define STMT_UPDATE_ACTUAL_PROPERTY_CONFLICTS 48
#define STMT_48 \
  "UPDATE actual_node SET prop_reject = ?3 " \
  "WHERE wc_id = ?1 AND local_relpath = ?2 " \
  ""

#define STMT_INSERT_ACTUAL_PROPERTY_CONFLICTS 49
#define STMT_49 \
  "INSERT INTO actual_node ( " \
  "  wc_id, local_relpath, prop_reject, parent_relpath) " \
  "VALUES (?1, ?2, ?3, ?4) " \
  ""

#define STMT_UPDATE_ACTUAL_CHANGELISTS 50
#define STMT_50 \
  "UPDATE actual_node SET changelist = ?2 " \
  "WHERE wc_id = ?1 AND local_relpath IN " \
  "(SELECT local_relpath FROM targets_list WHERE kind = 'file' AND wc_id = ?1) " \
  ""

#define STMT_UPDATE_ACTUAL_CLEAR_CHANGELIST 51
#define STMT_51 \
  "UPDATE actual_node SET changelist = NULL " \
  " WHERE wc_id = ?1 AND local_relpath = ?2 " \
  ""

#define STMT_MARK_SKIPPED_CHANGELIST_DIRS 52
#define STMT_52 \
  "INSERT INTO changelist_list (wc_id, local_relpath, notify, changelist) " \
  "SELECT wc_id, local_relpath, 7, ?1 FROM targets_list WHERE kind = 'dir' " \
  ""

#define STMT_RESET_ACTUAL_WITH_CHANGELIST 53
#define STMT_53 \
  "REPLACE INTO actual_node ( " \
  "  wc_id, local_relpath, parent_relpath, changelist) " \
  "VALUES (?1, ?2, ?3, ?4) " \
  ""

#define STMT_CREATE_CHANGELIST_LIST 54
#define STMT_54 \
  "DROP TABLE IF EXISTS changelist_list; " \
  "CREATE TEMPORARY TABLE changelist_list ( " \
  "  wc_id  INTEGER NOT NULL, " \
  "  local_relpath TEXT NOT NULL, " \
  "  notify INTEGER, " \
  "  changelist TEXT NOT NULL " \
  "  ); " \
  "CREATE INDEX changelist_list_index ON changelist_list(wc_id, local_relpath); " \
  "DROP TRIGGER IF EXISTS   trigger_changelist_list_actual_cl_insert; " \
  "CREATE TEMPORARY TRIGGER trigger_changelist_list_actual_cl_insert " \
  "BEFORE INSERT ON actual_node " \
  "BEGIN " \
  "    INSERT INTO changelist_list(wc_id, local_relpath, notify, changelist) " \
  "    VALUES (NEW.wc_id, NEW.local_relpath, 26, NEW.changelist); " \
  "END; " \
  "DROP TRIGGER IF EXISTS   trigger_changelist_list_actual_cl_clear; " \
  "CREATE TEMPORARY TRIGGER trigger_changelist_list_actual_cl_clear " \
  "BEFORE UPDATE ON actual_node " \
  "WHEN OLD.changelist IS NOT NULL AND " \
  "        (OLD.changelist != NEW.changelist OR NEW.changelist IS NULL) " \
  "BEGIN " \
  "    INSERT INTO changelist_list(wc_id, local_relpath, notify, changelist) " \
  "    VALUES (OLD.wc_id, OLD.local_relpath, 27, OLD.changelist); " \
  "END; " \
  "DROP TRIGGER IF EXISTS   trigger_changelist_list_actual_cl_set; " \
  "CREATE TEMPORARY TRIGGER trigger_changelist_list_actual_cl_set " \
  "BEFORE UPDATE ON actual_node " \
  "WHEN NEW.CHANGELIST IS NOT NULL AND " \
  "        (OLD.changelist != NEW.changelist OR OLD.changelist IS NULL) " \
  "BEGIN " \
  "    INSERT INTO changelist_list(wc_id, local_relpath, notify, changelist) " \
  "    VALUES (NEW.wc_id, NEW.local_relpath, 26, NEW.changelist); " \
  "END " \
  ""

#define STMT_INSERT_CHANGELIST_LIST 55
#define STMT_55 \
  "INSERT INTO changelist_list(wc_id, local_relpath, notify, changelist) " \
  "VALUES (?1, ?2, ?3, ?4) " \
  ""

#define STMT_FINALIZE_CHANGELIST 56
#define STMT_56 \
  "DROP TRIGGER IF EXISTS trigger_changelist_list_actual_cl_insert; " \
  "DROP TRIGGER IF EXISTS trigger_changelist_list_actual_cl_set; " \
  "DROP TRIGGER IF EXISTS trigger_changelist_list_actual_cl_clear; " \
  "DROP TABLE IF EXISTS changelist_list; " \
  "DROP TABLE IF EXISTS targets_list " \
  ""

#define STMT_SELECT_CHANGELIST_LIST 57
#define STMT_57 \
  "SELECT wc_id, local_relpath, notify, changelist " \
  "FROM changelist_list " \
  "ORDER BY wc_id, local_relpath " \
  ""

#define STMT_CREATE_TARGETS_LIST 58
#define STMT_58 \
  "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 " \
  "  ); " \
  "CREATE INDEX targets_list_kind " \
  "  ON targets_list (kind) " \
  ""

#define STMT_DROP_TARGETS_LIST 59
#define STMT_59 \
  "DROP TABLE IF EXISTS targets_list " \
  ""

#define STMT_INSERT_TARGET 60
#define STMT_60 \
  "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 61
#define STMT_61 \
  "INSERT INTO targets_list(wc_id, local_relpath, parent_relpath, kind) " \
  "SELECT wc_id, local_relpath, parent_relpath, kind " \
  "FROM nodes_current " \
  "WHERE wc_id = ?1 AND ((parent_relpath = ?2 AND kind = 'file') " \
  "                      OR local_relpath = ?2) " \
  ""

#define STMT_INSERT_TARGET_DEPTH_IMMEDIATES 62
#define STMT_62 \
  "INSERT INTO targets_list(wc_id, local_relpath, parent_relpath, kind) " \
  "SELECT wc_id, local_relpath, parent_relpath, kind " \
  "FROM nodes_current " \
  "WHERE wc_id = ?1 AND (parent_relpath = ?2 OR local_relpath = ?2) " \
  ""

#define STMT_INSERT_TARGET_DEPTH_INFINITY 63
#define STMT_63 \
  "INSERT INTO targets_list(wc_id, local_relpath, parent_relpath, kind) " \
  "SELECT wc_id, local_relpath, parent_relpath, kind " \
  "FROM nodes_current " \
  "WHERE wc_id = ?1 " \
  "       AND (?2 = '' " \
  "            OR local_relpath = ?2 " \
  "            OR ((local_relpath) > (?2) || '/' AND (local_relpath) < (?2) || '0') ) " \
  ""

#define STMT_INSERT_TARGET_WITH_CHANGELIST 64
#define STMT_64 \
  "INSERT INTO targets_list(wc_id, local_relpath, parent_relpath, kind) " \
  "SELECT N.wc_id, N.local_relpath, N.parent_relpath, N.kind " \
  "  FROM actual_node AS A JOIN nodes_current AS N " \
  "    ON A.wc_id = N.wc_id AND A.local_relpath = N.local_relpath " \
  " WHERE N.wc_id = ?1 AND A.changelist = ?3 AND N.local_relpath = ?2 " \
  ""

#define STMT_INSERT_TARGET_WITH_CHANGELIST_DEPTH_FILES 65
#define STMT_65 \
  "INSERT INTO targets_list(wc_id, local_relpath, parent_relpath, kind) " \
  "SELECT N.wc_id, N.local_relpath, N.parent_relpath, N.kind " \
  "  FROM actual_node AS A JOIN nodes_current AS N " \
  "    ON A.wc_id = N.wc_id AND A.local_relpath = N.local_relpath " \
  " WHERE N.wc_id = ?1 AND A.changelist = ?3 " \
  "       AND ((N.parent_relpath = ?2 AND kind = 'file') OR N.local_relpath = ?2) " \
  ""

#define STMT_INSERT_TARGET_WITH_CHANGELIST_DEPTH_IMMEDIATES 66
#define STMT_66 \
  "INSERT INTO targets_list(wc_id, local_relpath, parent_relpath, kind) " \
  "SELECT N.wc_id, N.local_relpath, N.parent_relpath, N.kind " \
  "  FROM actual_node AS A JOIN nodes_current AS N " \
  "    ON A.wc_id = N.wc_id AND A.local_relpath = N.local_relpath " \
  " WHERE N.wc_id = ?1 AND A.changelist = ?3 " \
  "       AND (N.parent_relpath = ?2 OR N.local_relpath = ?2) " \
  ""

#define STMT_INSERT_TARGET_WITH_CHANGELIST_DEPTH_INFINITY 67
#define STMT_67 \
  "INSERT INTO targets_list(wc_id, local_relpath, parent_relpath, kind) " \
  "SELECT N.wc_id, N.local_relpath, N.parent_relpath, N.kind " \
  "  FROM actual_node AS A JOIN nodes_current AS N " \
  "    ON A.wc_id = N.wc_id AND A.local_relpath = N.local_relpath " \
  " WHERE N.wc_id = ?1 " \
  "       AND (?2 = '' " \
  "            OR N.local_relpath = ?2 " \
  "            OR ((N.local_relpath) > (?2) || '/' AND (N.local_relpath) < (?2) || '0') ) " \
  "       AND A.changelist = ?3 " \
  ""

#define STMT_SELECT_TARGETS 68
#define STMT_68 \
  "SELECT local_relpath, parent_relpath from targets_list " \
  ""

#define STMT_INSERT_ACTUAL_EMPTIES 69
#define STMT_69 \
  "INSERT OR IGNORE INTO actual_node ( " \
  "     wc_id, local_relpath, parent_relpath, properties, " \
  "     conflict_old, conflict_new, conflict_working, " \
  "     prop_reject, changelist, text_mod, tree_conflict_data ) " \
  "SELECT wc_id, local_relpath, parent_relpath, NULL, NULL, NULL, NULL, " \
  "       NULL, NULL, NULL, NULL " \
  "FROM targets_list " \
  ""

#define STMT_DELETE_ACTUAL_EMPTY 70
#define STMT_70 \
  "DELETE FROM actual_node " \
  "WHERE wc_id = ?1 AND local_relpath = ?2 " \
  "  AND properties IS NULL " \
  "  AND conflict_old IS NULL " \
  "  AND conflict_new IS NULL " \
  "  AND prop_reject IS NULL " \
  "  AND changelist IS NULL " \
  "  AND text_mod IS NULL " \
  "  AND tree_conflict_data IS NULL " \
  "  AND older_checksum IS NULL " \
  "  AND right_checksum IS NULL " \
  "  AND left_checksum IS NULL " \
  ""

#define STMT_DELETE_ACTUAL_EMPTIES 71
#define STMT_71 \
  "DELETE FROM actual_node " \
  "WHERE wc_id = ?1 " \
  "  AND properties IS NULL " \
  "  AND conflict_old IS NULL " \
  "  AND conflict_new IS NULL " \
  "  AND prop_reject IS NULL " \
  "  AND changelist IS NULL " \
  "  AND text_mod IS NULL " \
  "  AND tree_conflict_data IS NULL " \
  "  AND older_checksum IS NULL " \
  "  AND right_checksum IS NULL " \
  "  AND left_checksum IS NULL " \
  ""

#define STMT_DELETE_BASE_NODE 72
#define STMT_72 \
  "DELETE FROM nodes " \
  "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \
  ""

#define STMT_DELETE_WORKING_NODE 73
#define STMT_73 \
  "DELETE FROM nodes " \
  "WHERE wc_id = ?1 AND local_relpath = ?2 " \
  "  AND op_depth = (SELECT MAX(op_depth) FROM nodes " \
  "                  WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth > 0) " \
  ""

#define STMT_DELETE_LOWEST_WORKING_NODE 74
#define STMT_74 \
  "DELETE FROM nodes " \
  "WHERE wc_id = ?1 AND local_relpath = ?2 " \
  "  AND op_depth = (SELECT MIN(op_depth) FROM nodes " \
  "                  WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth > 0) " \
  "  AND presence = 'base-deleted' " \
  ""

#define STMT_DELETE_ALL_LAYERS 75
#define STMT_75 \
  "DELETE FROM nodes " \
  "WHERE wc_id = ?1 AND local_relpath = ?2 " \
  ""

#define STMT_DELETE_NODES_RECURSIVE 76
#define STMT_76 \
  "DELETE FROM nodes " \
  "WHERE wc_id = ?1 " \
  "  AND (?2 = '' " \
  "       OR local_relpath = ?2 " \
  "       OR ((local_relpath) > (?2) || '/' AND (local_relpath) < (?2) || '0') ) " \
  "  AND op_depth >= ?3 " \
  ""

#define STMT_DELETE_ACTUAL_NODE 77
#define STMT_77 \
  "DELETE FROM actual_node " \
  "WHERE wc_id = ?1 AND local_relpath = ?2 " \
  ""

#define STMT_DELETE_ACTUAL_NODE_RECURSIVE 78
#define STMT_78 \
  "DELETE FROM actual_node " \
  "WHERE wc_id = ?1 " \
  "  AND (?2 = '' " \
  "       OR local_relpath = ?2 " \
  "       OR ((local_relpath) > (?2) || '/' AND (local_relpath) < (?2) || '0') ) " \
  ""

#define STMT_DELETE_ACTUAL_NODE_WITHOUT_CONFLICT 79
#define STMT_79 \
  "DELETE FROM actual_node " \
  "WHERE wc_id = ?1 AND local_relpath = ?2 " \
  "      AND tree_conflict_data IS NULL " \
  ""

#define STMT_DELETE_ACTUAL_NODE_LEAVING_CHANGELIST 80
#define STMT_80 \
  "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 81
#define STMT_81 \
  "DELETE FROM actual_node " \
  "WHERE wc_id = ?1 " \
  "  AND (?2 = '' " \
  "       OR local_relpath = ?2 " \
  "       OR ((local_relpath) > (?2) || '/' AND (local_relpath) < (?2) || '0') ) " \
  "  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 82
#define STMT_82 \
  "UPDATE actual_node " \
  "SET properties = NULL, " \
  "    text_mod = NULL, " \
  "    tree_conflict_data = NULL, " \
  "    conflict_old = NULL, " \
  "    conflict_new = NULL, " \
  "    conflict_working = NULL, " \
  "    prop_reject = NULL, " \
  "    older_checksum = NULL, " \
  "    left_checksum = NULL, " \
  "    right_checksum = NULL " \
  "WHERE wc_id = ?1 AND local_relpath = ?2 " \
  ""

#define STMT_CLEAR_ACTUAL_NODE_LEAVING_CHANGELIST_RECURSIVE 83
#define STMT_83 \
  "UPDATE actual_node " \
  "SET properties = NULL, " \
  "    text_mod = NULL, " \
  "    tree_conflict_data = NULL, " \
  "    conflict_old = NULL, " \
  "    conflict_new = NULL, " \
  "    conflict_working = NULL, " \
  "    prop_reject = NULL, " \
  "    older_checksum = NULL, " \
  "    left_checksum = NULL, " \
  "    right_checksum = NULL " \
  "WHERE wc_id = ?1 " \
  "  AND (?2 = '' " \
  "       OR local_relpath = ?2 " \
  "       OR ((local_relpath) > (?2) || '/' AND (local_relpath) < (?2) || '0') ) " \
  ""

#define STMT_UPDATE_NODE_BASE_DEPTH 84
#define STMT_84 \
  "UPDATE nodes SET depth = ?3 " \
  "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \
  "  AND kind='dir' " \
  ""

#define STMT_UPDATE_NODE_BASE_PRESENCE 85
#define STMT_85 \
  "UPDATE nodes SET presence = ?3 " \
  "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \
  ""

#define STMT_UPDATE_BASE_NODE_PRESENCE_REVNUM_AND_REPOS_PATH 86
#define STMT_86 \
  "UPDATE nodes SET presence = ?3, revision = ?4, repos_path = ?5 " \
  "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \
  ""

#define STMT_LOOK_FOR_WORK 87
#define STMT_87 \
  "SELECT id FROM work_queue LIMIT 1 " \
  ""

#define STMT_INSERT_WORK_ITEM 88
#define STMT_88 \
  "INSERT INTO work_queue (work) VALUES (?1) " \
  ""

#define STMT_SELECT_WORK_ITEM 89
#define STMT_89 \
  "SELECT id, work FROM work_queue ORDER BY id LIMIT 1 " \
  ""

#define STMT_DELETE_WORK_ITEM 90
#define STMT_90 \
  "DELETE FROM work_queue WHERE id = ?1 " \
  ""

#define STMT_INSERT_OR_IGNORE_PRISTINE 91
#define STMT_91 \
  "INSERT OR IGNORE INTO pristine (checksum, md5_checksum, size, refcount) " \
  "VALUES (?1, ?2, ?3, 0) " \
  ""

#define STMT_INSERT_PRISTINE 92
#define STMT_92 \
  "INSERT INTO pristine (checksum, md5_checksum, size, refcount) " \
  "VALUES (?1, ?2, ?3, 0) " \
  ""

#define STMT_SELECT_PRISTINE 93
#define STMT_93 \
  "SELECT md5_checksum " \
  "FROM pristine " \
  "WHERE checksum = ?1 " \
  ""

#define STMT_SELECT_PRISTINE_SIZE 94
#define STMT_94 \
  "SELECT size " \
  "FROM pristine " \
  "WHERE checksum = ?1 LIMIT 1 " \
  ""

#define STMT_SELECT_PRISTINE_BY_MD5 95
#define STMT_95 \
  "SELECT checksum " \
  "FROM pristine " \
  "WHERE md5_checksum = ?1 " \
  ""

#define STMT_SELECT_UNREFERENCED_PRISTINES 96
#define STMT_96 \
  "SELECT checksum " \
  "FROM pristine " \
  "WHERE refcount = 0 " \
  ""

#define STMT_DELETE_PRISTINE_IF_UNREFERENCED 97
#define STMT_97 \
  "DELETE FROM pristine " \
  "WHERE checksum = ?1 AND refcount = 0 " \
  ""

#define STMT_SELECT_ACTUAL_CONFLICT_VICTIMS 98
#define STMT_98 \
  "SELECT local_relpath " \
  "FROM actual_node " \
  "WHERE wc_id = ?1 AND parent_relpath = ?2 AND " \
  "  NOT ((prop_reject IS NULL) AND (conflict_old IS NULL) " \
  "       AND (conflict_new IS NULL) AND (conflict_working IS NULL) " \
  "       AND (tree_conflict_data IS NULL)) " \
  ""

#define STMT_SELECT_CONFLICT_MARKER_FILES 99
#define STMT_99 \
  "SELECT prop_reject, conflict_old, conflict_new, conflict_working " \
  "FROM actual_node " \
  "WHERE wc_id = ?1 AND (local_relpath = ?2 OR parent_relpath = ?2) " \
  "  AND ((prop_reject IS NOT NULL) OR (conflict_old IS NOT NULL) " \
  "       OR (conflict_new IS NOT NULL) OR (conflict_working IS NOT NULL)) " \
  ""

#define STMT_SELECT_ACTUAL_CHILDREN_TREE_CONFLICT 100
#define STMT_100 \
  "SELECT local_relpath, tree_conflict_data " \
  "FROM actual_node " \
  "WHERE wc_id = ?1 AND parent_relpath = ?2 AND tree_conflict_data IS NOT NULL " \
  ""

#define STMT_SELECT_CONFLICT_DETAILS 101
#define STMT_101 \
  "SELECT prop_reject, conflict_old, conflict_new, conflict_working, " \
  "    tree_conflict_data " \
  "FROM actual_node " \
  "WHERE wc_id = ?1 AND local_relpath = ?2 " \
  ""

#define STMT_CLEAR_TEXT_CONFLICT 102
#define STMT_102 \
  "UPDATE actual_node SET " \
  "  conflict_old = NULL, " \
  "  conflict_new = NULL, " \
  "  conflict_working = NULL " \
  "WHERE wc_id = ?1 AND local_relpath = ?2 " \
  ""

#define STMT_CLEAR_PROPS_CONFLICT 103
#define STMT_103 \
  "UPDATE actual_node SET " \
  "  prop_reject = NULL " \
  "WHERE wc_id = ?1 AND local_relpath = ?2 " \
  ""

#define STMT_INSERT_WC_LOCK 104
#define STMT_104 \
  "INSERT INTO wc_lock (wc_id, local_dir_relpath, locked_levels) " \
  "VALUES (?1, ?2, ?3) " \
  ""

#define STMT_SELECT_WC_LOCK 105
#define STMT_105 \
  "SELECT locked_levels FROM wc_lock " \
  "WHERE wc_id = ?1 AND local_dir_relpath = ?2 " \
  ""

#define STMT_SELECT_ANCESTOR_WCLOCKS 106
#define STMT_106 \
  "SELECT local_dir_relpath, locked_levels FROM wc_lock " \
  "WHERE wc_id = ?1 " \
  "  AND ((local_dir_relpath <= ?2 AND local_dir_relpath >= ?3) " \
  "       OR local_dir_relpath = '') " \
  "ORDER BY local_dir_relpath DESC " \
  ""

#define STMT_DELETE_WC_LOCK 107
#define STMT_107 \
  "DELETE FROM wc_lock " \
  "WHERE wc_id = ?1 AND local_dir_relpath = ?2 " \
  ""

#define STMT_FIND_WC_LOCK 108
#define STMT_108 \
  "SELECT local_dir_relpath FROM wc_lock " \
  "WHERE wc_id = ?1 AND local_dir_relpath LIKE ?2 ESCAPE '#' " \
  ""

#define STMT_DELETE_WC_LOCK_ORPHAN 109
#define STMT_109 \
  "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 110
#define STMT_110 \
  "DELETE FROM wc_lock " \
  "WHERE wc_id = ?1 " \
  "  AND (?2 = '' " \
  "       OR local_dir_relpath = ?2 " \
  "       OR ((local_dir_relpath) > (?2) || '/' AND (local_dir_relpath) < (?2) || '0') ) " \
  "  AND NOT EXISTS (SELECT 1 FROM nodes " \
  "                   WHERE nodes.wc_id = ?1 " \
  "                     AND nodes.local_relpath = wc_lock.local_dir_relpath) " \
  ""

#define STMT_APPLY_CHANGES_TO_BASE_NODE 111
#define STMT_111 \
  "INSERT OR REPLACE INTO nodes ( " \
  "  wc_id, local_relpath, op_depth, parent_relpath, repos_id, repos_path, " \
  "  revision, presence, depth, kind, changed_revision, changed_date, " \
  "  changed_author, checksum, properties, dav_cache, symlink_target, " \
  "  file_external ) " \
  "VALUES (?1, ?2, 0, " \
  "        ?3, ?4, ?5, ?6, ?7, ?8, ?9, ?10, ?11, ?12, ?13, ?14, ?15, ?16, " \
  "        (SELECT file_external FROM nodes " \
  "          WHERE wc_id = ?1 " \
  "            AND local_relpath = ?2 " \
  "            AND op_depth = 0)) " \
  ""

#define STMT_INSTALL_WORKING_NODE_FOR_DELETE 112
#define STMT_112 \
  "INSERT OR REPLACE INTO nodes ( " \
  "    wc_id, local_relpath, op_depth, " \
  "    parent_relpath, presence, kind) " \
  "SELECT wc_id, local_relpath, ?3 , " \
  "       parent_relpath, ?4 , kind " \
  "FROM nodes " \
  "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \
  ""

#define STMT_INSERT_DELETE_FROM_NODE_RECURSIVE 113
#define STMT_113 \
  "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 " \
  "       OR ((local_relpath) > (?2) || '/' AND (local_relpath) < (?2) || '0') ) " \
  "  AND op_depth = ?3 " \
  "  AND presence NOT IN ('base-deleted', 'not-present', 'excluded', 'absent') " \
  ""

#define STMT_INSERT_WORKING_NODE_FROM_BASE_COPY 114
#define STMT_114 \
  "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 ) " \
  "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 " \
  "FROM nodes " \
  "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \
  ""

#define STMT_INSERT_DELETE_FROM_BASE 115
#define STMT_115 \
  "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 116
#define STMT_116 \
  "UPDATE nodes SET op_depth = ?3 + 1 " \
  "WHERE wc_id = ?1 " \
  "  AND (?2 = '' " \
  "       OR ((local_relpath) > (?2) || '/' AND (local_relpath) < (?2) || '0') ) " \
  " AND op_depth = ?3 " \
  ""

#define STMT_DOES_NODE_EXIST 117
#define STMT_117 \
  "SELECT 1 FROM nodes WHERE wc_id = ?1 AND local_relpath = ?2 " \
  "LIMIT 1 " \
  ""

#define STMT_HAS_SERVER_EXCLUDED_NODES 118
#define STMT_118 \
  "SELECT local_relpath FROM nodes " \
  "WHERE wc_id = ?1 " \
  "  AND (?2 = '' " \
  "       OR local_relpath = ?2 " \
  "       OR ((local_relpath) > (?2) || '/' AND (local_relpath) < (?2) || '0') ) " \
  "  AND op_depth = 0 AND presence = 'absent' " \
  "LIMIT 1 " \
  ""

#define STMT_SELECT_ALL_SERVER_EXCLUDED_NODES 119
#define STMT_119 \
  "SELECT local_relpath FROM nodes " \
  "WHERE wc_id = ?1 " \
  "  AND (?2 = '' " \
  "       OR local_relpath = ?2 " \
  "       OR ((local_relpath) > (?2) || '/' AND (local_relpath) < (?2) || '0') ) " \
  "  AND op_depth = 0 " \
  "  AND presence = 'absent' " \
  ""

#define STMT_INSERT_WORKING_NODE_COPY_FROM_BASE 120
#define STMT_120 \
  "INSERT OR REPLACE INTO nodes ( " \
  "    wc_id, local_relpath, op_depth, parent_relpath, repos_id, " \
  "    repos_path, revision, presence, depth, kind, changed_revision, " \
  "    changed_date, changed_author, checksum, properties, translated_size, " \
  "    last_mod_time, symlink_target ) " \
  "SELECT wc_id, ?3 , ?4 , ?5 , " \
  "    repos_id, repos_path, revision, ?6 , depth, " \
  "    kind, changed_revision, changed_date, changed_author, checksum, properties, " \
  "    translated_size, last_mod_time, symlink_target " \
  "FROM nodes " \
  "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \
  ""

#define STMT_INSERT_WORKING_NODE_COPY_FROM_WORKING 121
#define STMT_121 \
  "INSERT OR REPLACE INTO nodes ( " \
  "    wc_id, local_relpath, op_depth, parent_relpath, repos_id, repos_path, " \
  "    revision, presence, depth, kind, changed_revision, changed_date, " \
  "    changed_author, checksum, properties, translated_size, last_mod_time, " \
  "    symlink_target ) " \
  "SELECT wc_id, ?3 , ?4 , ?5 , " \
  "    repos_id, repos_path, revision, ?6 , depth, " \
  "    kind, changed_revision, changed_date, changed_author, checksum, properties, " \
  "    translated_size, last_mod_time, symlink_target " \
  "FROM nodes " \
  "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth > 0 " \
  "ORDER BY op_depth DESC " \
  "LIMIT 1 " \
  ""

#define STMT_INSERT_WORKING_NODE_COPY_FROM_DEPTH 122
#define STMT_122 \
  "INSERT OR REPLACE INTO nodes ( " \
  "    wc_id, local_relpath, op_depth, parent_relpath, repos_id, repos_path, " \
  "    revision, presence, depth, kind, changed_revision, changed_date, " \
  "    changed_author, checksum, properties, translated_size, last_mod_time, " \
  "    symlink_target ) " \
  "SELECT wc_id, ?3 , ?4 , ?5 , " \
  "    repos_id, repos_path, revision, ?6 , " \
  "    depth, kind, changed_revision, changed_date, changed_author, checksum, " \
  "    properties, translated_size, last_mod_time, symlink_target " \
  "FROM nodes " \
  "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = ?7 " \
  ""

#define STMT_INSERT_ACTUAL_NODE_FROM_ACTUAL_NODE 123
#define STMT_123 \
  "INSERT OR REPLACE INTO actual_node ( " \
  "     wc_id, local_relpath, parent_relpath, properties, " \
  "     conflict_old, conflict_new, conflict_working, " \
  "     prop_reject, changelist, text_mod, tree_conflict_data ) " \
  "SELECT wc_id, ?3 , ?4 , properties, " \
  "     conflict_old, conflict_new, conflict_working, " \
  "     prop_reject, changelist, text_mod, tree_conflict_data " \
  "FROM actual_node " \
  "WHERE wc_id = ?1 AND local_relpath = ?2 " \
  ""

#define STMT_UPDATE_BASE_REVISION 124
#define STMT_124 \
  "UPDATE nodes SET revision = ?3 " \
  "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \
  ""

#define STMT_UPDATE_BASE_REPOS 125
#define STMT_125 \
  "UPDATE nodes SET repos_id = ?3, repos_path = ?4 " \
  "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \
  ""

#define STMT_ACTUAL_HAS_CHILDREN 126
#define STMT_126 \
  "SELECT 1 FROM actual_node " \
  "WHERE wc_id = ?1 AND parent_relpath = ?2 " \
  "LIMIT 1 " \
  ""

#define STMT_INSERT_EXTERNAL 127
#define STMT_127 \
  "INSERT OR REPLACE INTO externals ( " \
  "    wc_id, local_relpath, parent_relpath, presence, kind, def_local_relpath, " \
  "    repos_id, def_repos_relpath, def_operational_revision, def_revision) " \
  "VALUES (?1, ?2, ?3, ?4, ?5, ?6, ?7, ?8, ?9, ?10) " \
  ""

#define STMT_INSERT_EXTERNAL_UPGRADE 128
#define STMT_128 \
  "INSERT OR REPLACE INTO externals ( " \
  "    wc_id, local_relpath, parent_relpath, presence, kind, def_local_relpath, " \
  "    repos_id, def_repos_relpath, def_operational_revision, def_revision) " \
  "VALUES (?1, ?2, ?3, ?4, " \
  "        CASE WHEN (SELECT file_external FROM nodes " \
  "                   WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0) " \
  "             IS NOT NULL THEN 'file' ELSE 'unknown' END, " \
  "        ?5, ?6, ?7, ?8, ?9) " \
  ""

#define STMT_SELECT_EXTERNAL_INFO 129
#define STMT_129 \
  "SELECT presence, kind, def_local_relpath, repos_id, " \
  "    def_repos_relpath, def_operational_revision, def_revision, presence " \
  "FROM externals WHERE wc_id = ?1 AND local_relpath = ?2 " \
  "LIMIT 1 " \
  ""

#define STMT_SELECT_EXTERNAL_CHILDREN 130
#define STMT_130 \
  "SELECT local_relpath " \
  "FROM externals WHERE wc_id = ?1 AND parent_relpath = ?2 " \
  ""

#define STMT_SELECT_EXTERNALS_DEFINED 131
#define STMT_131 \
  "SELECT local_relpath, def_local_relpath " \
  "FROM externals " \
  "WHERE wc_id = ?1 " \
  "  AND (?2 = '' " \
  "       OR def_local_relpath = ?2 " \
  "       OR ((def_local_relpath) > (?2) || '/' AND (def_local_relpath) < (?2) || '0') ) " \
  ""

#define STMT_UPDATE_EXTERNAL_FILEINFO 132
#define STMT_132 \
  "UPDATE externals SET recorded_size = ?3, recorded_mod_time = ?4 " \
  "WHERE wc_id = ?1 AND local_relpath = ?2 " \
  ""

#define STMT_DELETE_EXTERNAL 133
#define STMT_133 \
  "DELETE FROM externals " \
  "WHERE wc_id = ?1 AND local_relpath = ?2 " \
  ""

#define STMT_SELECT_EXTERNAL_PROPERTIES 134
#define STMT_134 \
  "SELECT IFNULL((SELECT properties FROM actual_node a " \
  "               WHERE a.wc_id = ?1 AND A.local_relpath = n.local_relpath), " \
  "              properties), " \
  "       local_relpath, depth " \
  "FROM nodes n " \
  "WHERE wc_id = ?1 " \
  "  AND (?2 = '' " \
  "       OR local_relpath = ?2 " \
  "       OR ((local_relpath) > (?2) || '/' AND (local_relpath) < (?2) || '0') ) " \
  "  AND kind = 'dir' AND presence='normal' " \
  "  AND op_depth=(SELECT MAX(op_depth) FROM nodes o " \
  "                WHERE o.wc_id = ?1 AND o.local_relpath = n.local_relpath) " \
  ""

#define STMT_INSERT_ACTUAL_NODE 135
#define STMT_135 \
  "INSERT OR REPLACE INTO actual_node ( " \
  "  wc_id, local_relpath, parent_relpath, properties, conflict_old, " \
  "  conflict_new, " \
  "  conflict_working, prop_reject, changelist, text_mod, " \
  "  tree_conflict_data) " \
  "VALUES (?1, ?2, ?3, ?4, ?5, ?6, ?7, ?8, ?9, NULL, ?10) " \
  ""

#define STMT_UPDATE_ACTUAL_CONFLICT_DATA 136
#define STMT_136 \
  "UPDATE actual_node SET conflict_data = ?3 " \
  "WHERE wc_id = ?1 AND local_relpath = ?2 " \
  ""

#define STMT_INSERT_ACTUAL_CONFLICT_DATA 137
#define STMT_137 \
  "INSERT INTO actual_node ( " \
  "  wc_id, local_relpath, conflict_data, parent_relpath) " \
  "VALUES (?1, ?2, ?3, ?4) " \
  ""

#define STMT_SELECT_OLD_TREE_CONFLICT 138
#define STMT_138 \
  "SELECT wc_id, local_relpath, tree_conflict_data " \
  "FROM actual_node " \
  "WHERE tree_conflict_data IS NOT NULL " \
  ""

#define STMT_ERASE_OLD_CONFLICTS 139
#define STMT_139 \
  "UPDATE actual_node SET tree_conflict_data = NULL " \
  ""

#define STMT_SELECT_ALL_FILES 140
#define STMT_140 \
  "SELECT local_relpath FROM nodes_current " \
  "WHERE wc_id = ?1 AND parent_relpath = ?2 AND kind = 'file' " \
  ""

#define STMT_UPDATE_NODE_PROPS 141
#define STMT_141 \
  "UPDATE nodes SET properties = ?4 " \
  "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = ?3 " \
  ""

#define STMT_HAS_WORKING_NODES 142
#define STMT_142 \
  "SELECT 1 FROM nodes WHERE op_depth > 0 " \
  "LIMIT 1 " \
  ""

#define STMT_HAS_ACTUAL_NODES_CONFLICTS 143
#define STMT_143 \
  "SELECT 1 FROM actual_node " \
  "WHERE NOT ((prop_reject IS NULL) AND (conflict_old IS NULL) " \
  "           AND (conflict_new IS NULL) AND (conflict_working IS NULL) " \
  "           AND (tree_conflict_data IS NULL)) " \
  "LIMIT 1 " \
  ""

#define STMT_CREATE_NODE_PROPS_CACHE 144
#define STMT_144 \
  "DROP TABLE IF EXISTS temp__node_props_cache; " \
  "CREATE TEMPORARY TABLE temp__node_props_cache ( " \
  "  local_Relpath TEXT NOT NULL, " \
  "  kind TEXT NOT NULL, " \
  "  properties BLOB " \
  "  ); " \
  ""

#define STMT_CACHE_NODE_PROPS 145
#define STMT_145 \
  "INSERT INTO temp__node_props_cache(local_relpath, kind, properties) " \
  " SELECT local_relpath, kind, properties FROM nodes_current " \
  "  WHERE wc_id = ?1 " \
  "    AND local_relpath IN (SELECT local_relpath FROM targets_list) " \
  "    AND presence IN ('normal', 'incomplete') " \
  ""

#define STMT_CACHE_ACTUAL_PROPS 146
#define STMT_146 \
  "UPDATE temp__node_props_cache " \
  "   SET properties= " \
  "        IFNULL((SELECT properties FROM actual_node a " \
  "                 WHERE a.wc_id = ?1 " \
  "                   AND a.local_relpath = temp__node_props_cache.local_relpath), " \
  "               properties) " \
  ""

#define STMT_CACHE_NODE_BASE_PROPS 147
#define STMT_147 \
  "INSERT INTO temp__node_props_cache (local_relpath, kind, properties) " \
  "  SELECT local_relpath, kind, properties FROM nodes_base " \
  "  WHERE wc_id = ?1 " \
  "    AND local_relpath IN (SELECT local_relpath FROM targets_list) " \
  "    AND presence IN ('normal', 'incomplete') " \
  ""

#define STMT_CACHE_NODE_PRISTINE_PROPS 148
#define STMT_148 \
  "INSERT INTO temp__node_props_cache(local_relpath, kind, properties) " \
  " SELECT local_relpath, kind, " \
  "        IFNULL((SELECT properties FROM nodes nn " \
  "                 WHERE n.presence = 'base-deleted' " \
  "                   AND nn.wc_id = n.wc_id " \
  "                   AND nn.local_relpath = n.local_relpath " \
  "                   AND nn.op_depth < n.op_depth " \
  "                 ORDER BY op_depth DESC), " \
  "               properties) " \
  "  FROM nodes_current n " \
  "  WHERE wc_id = ?1 " \
  "    AND local_relpath IN (SELECT local_relpath FROM targets_list) " \
  "    AND presence IN ('normal', 'incomplete', 'base-deleted') " \
  ""

#define STMT_SELECT_RELEVANT_PROPS_FROM_CACHE 149
#define STMT_149 \
  "SELECT local_relpath, properties FROM temp__node_props_cache " \
  "ORDER BY local_relpath " \
  ""

#define STMT_DROP_NODE_PROPS_CACHE 150
#define STMT_150 \
  "DROP TABLE IF EXISTS temp__node_props_cache; " \
  ""

#define STMT_CREATE_REVERT_LIST 151
#define STMT_151 \
  "DROP TABLE IF EXISTS revert_list; " \
  "CREATE TEMPORARY TABLE revert_list ( " \
  "   local_relpath TEXT NOT NULL, " \
  "   actual INTEGER NOT NULL, " \
  "   conflict_old TEXT, " \
  "   conflict_new TEXT, " \
  "   conflict_working TEXT, " \
  "   prop_reject TEXT, " \
  "   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_old, " \
  "                                       conflict_new, conflict_working, " \
  "                                       prop_reject, notify) " \
  "   SELECT OLD.local_relpath, 1, " \
  "          OLD.conflict_old, OLD.conflict_new, OLD.conflict_working, " \
  "          OLD.prop_reject, " \
  "          CASE " \
  "          WHEN OLD.properties IS NOT NULL OR OLD.tree_conflict_data IS NOT NULL " \
  "          THEN 1 ELSE NULL END; " \
  "END; " \
  "DROP TRIGGER IF EXISTS   trigger_revert_list_actual_update; " \
  "CREATE TEMPORARY TRIGGER trigger_revert_list_actual_update " \
  "BEFORE UPDATE ON actual_node " \
  "BEGIN " \
  "   INSERT OR REPLACE INTO revert_list(local_relpath, actual, conflict_old, " \
  "                                       conflict_new, conflict_working, " \
  "                                       prop_reject, notify) " \
  "   SELECT OLD.local_relpath, 1, " \
  "          OLD.conflict_old, OLD.conflict_new, OLD.conflict_working, " \
  "          OLD.prop_reject, " \
  "          CASE " \
  "          WHEN OLD.properties IS NOT NULL OR OLD.tree_conflict_data IS NOT NULL " \
  "          THEN 1 ELSE NULL END; " \
  "END " \
  ""

#define STMT_DROP_REVERT_LIST_TRIGGERS 152
#define STMT_152 \
  "DROP TRIGGER IF EXISTS trigger_revert_list_nodes; " \
  "DROP TRIGGER IF EXISTS trigger_revert_list_actual_delete; " \
  "DROP TRIGGER IF EXISTS trigger_revert_list_actual_update " \
  ""

#define STMT_SELECT_REVERT_LIST 153
#define STMT_153 \
  "SELECT conflict_old, conflict_new, conflict_working, prop_reject, notify, " \
  "       actual, op_depth, repos_id, kind " \
  "FROM revert_list " \
  "WHERE local_relpath = ?1 " \
  "ORDER BY actual DESC " \
  ""

#define STMT_SELECT_REVERT_LIST_COPIED_CHILDREN 154
#define STMT_154 \
  "SELECT local_relpath, kind " \
  "FROM revert_list " \
  "WHERE local_relpath LIKE ?1 ESCAPE '#' " \
  "  AND op_depth >= ?2 " \
  "  AND repos_id IS NOT NULL " \
  "ORDER BY local_relpath " \
  ""

#define STMT_DELETE_REVERT_LIST 155
#define STMT_155 \
  "DELETE FROM revert_list WHERE local_relpath = ?1 " \
  ""

#define STMT_SELECT_REVERT_LIST_RECURSIVE 156
#define STMT_156 \
  "SELECT DISTINCT local_relpath " \
  "FROM revert_list " \
  "WHERE (local_relpath = ?1 OR local_relpath LIKE ?2 ESCAPE '#') " \
  "  AND (notify OR actual = 0) " \
  "ORDER BY local_relpath " \
  ""

#define STMT_DELETE_REVERT_LIST_RECURSIVE 157
#define STMT_157 \
  "DELETE FROM revert_list " \
  "WHERE local_relpath = ?1 OR local_relpath LIKE ?2 ESCAPE '#' " \
  ""

#define STMT_DROP_REVERT_LIST 158
#define STMT_158 \
  "DROP TABLE IF EXISTS revert_list " \
  ""

#define STMT_CREATE_DELETE_LIST 159
#define STMT_159 \
  "DROP TABLE IF EXISTS delete_list; " \
  "CREATE TEMPORARY TABLE delete_list ( " \
  "   local_relpath TEXT PRIMARY KEY NOT NULL " \
  "   ) " \
  ""

#define STMT_INSERT_DELETE_LIST 160
#define STMT_160 \
  "INSERT INTO delete_list(local_relpath) " \
  "SELECT local_relpath FROM nodes n " \
  "WHERE wc_id = ?1 " \
  "  AND (local_relpath = ?2 " \
  "       OR ((local_relpath) > (?2) || '/' AND (local_relpath) < (?2) || '0') ) " \
  "  AND op_depth >= ?3 " \
  "  AND presence NOT IN ('base-deleted', 'not-present', 'excluded', 'absent') " \
  "  AND op_depth = (SELECT MAX(op_depth) FROM nodes s " \
  "                  WHERE s.wc_id = n.wc_id " \
  "                    AND s.local_relpath = n.local_relpath) " \
  ""

#define STMT_SELECT_DELETE_LIST 161
#define STMT_161 \
  "SELECT local_relpath FROM delete_list " \
  "ORDER BY local_relpath " \
  ""

#define STMT_FINALIZE_DELETE 162
#define STMT_162 \
  "DROP TABLE IF EXISTS delete_list " \
  ""

#define STMT_SELECT_MIN_MAX_REVISIONS 163
#define STMT_163 \
  "SELECT MIN(revision), MAX(revision), " \
  "       MIN(changed_revision), MAX(changed_revision) FROM nodes " \
  "  WHERE wc_id = ?1 " \
  "    AND (?2 = '' " \
  "       OR local_relpath = ?2 " \
  "       OR ((local_relpath) > (?2) || '/' AND (local_relpath) < (?2) || '0') ) " \
  "    AND presence IN ('normal', 'incomplete') " \
  "    AND file_external IS NULL " \
  "    AND op_depth = 0 " \
  ""

#define STMT_HAS_SPARSE_NODES 164
#define STMT_164 \
  "SELECT 1 FROM nodes " \
  "WHERE wc_id = ?1 " \
  "  AND (?2 = '' " \
  "       OR local_relpath = ?2 " \
  "       OR ((local_relpath) > (?2) || '/' AND (local_relpath) < (?2) || '0') ) " \
  "  AND op_depth = 0 " \
  "  AND (presence IN ('absent', 'excluded') " \
  "        OR depth NOT IN ('infinity', 'unknown')) " \
  "  AND file_external IS NULL " \
  "LIMIT 1 " \
  ""

#define STMT_SUBTREE_HAS_TREE_MODIFICATIONS 165
#define STMT_165 \
  "SELECT 1 FROM nodes " \
  "WHERE wc_id = ?1 " \
  "  AND (?2 = '' " \
  "       OR local_relpath = ?2 " \
  "       OR ((local_relpath) > (?2) || '/' AND (local_relpath) < (?2) || '0') ) " \
  "  AND op_depth > 0 " \
  "LIMIT 1 " \
  ""

#define STMT_SUBTREE_HAS_PROP_MODIFICATIONS 166
#define STMT_166 \
  "SELECT 1 FROM actual_node " \
  "WHERE wc_id = ?1 " \
  "  AND (?2 = '' " \
  "       OR local_relpath = ?2 " \
  "       OR ((local_relpath) > (?2) || '/' AND (local_relpath) < (?2) || '0') ) " \
  "  AND properties IS NOT NULL " \
  "LIMIT 1 " \
  ""

#define STMT_HAS_SWITCHED 167
#define STMT_167 \
  "SELECT o.repos_path || '/' || SUBSTR(s.local_relpath, LENGTH(?2)+2) AS expected " \
  "FROM nodes AS o " \
  "LEFT JOIN nodes AS s " \
  "ON o.wc_id = s.wc_id " \
  "   AND ((s.local_relpath) > (?2) || '/' AND (s.local_relpath) < (?2) || '0') " \
  "   AND s.op_depth = 0 " \
  "   AND s.repos_id = o.repos_id " \
  "   AND s.file_external IS NULL " \
  "WHERE o.wc_id = ?1 AND o.local_relpath=?2 AND o.op_depth=0 " \
  "  AND s.repos_path != expected " \
  "LIMIT 1 " \
  ""

#define STMT_HAS_SWITCHED_REPOS_ROOT 168
#define STMT_168 \
  "SELECT SUBSTR(s.local_relpath, LENGTH(?2)+2) AS expected " \
  "FROM nodes AS o " \
  "LEFT JOIN nodes AS s " \
  "ON o.wc_id = s.wc_id " \
  "   AND ((s.local_relpath) > (?2) || '/' AND (s.local_relpath) < (?2) || '0') " \
  "   AND s.op_depth = 0 " \
  "   AND s.repos_id = o.repos_id " \
  "   AND s.file_external IS NULL " \
  "WHERE o.wc_id = ?1 AND o.local_relpath=?2 AND o.op_depth=0 " \
  "  AND s.repos_path != expected " \
  "LIMIT 1 " \
  ""

#define STMT_HAS_SWITCHED_WCROOT 169
#define STMT_169 \
  "SELECT o.repos_path || '/' || s.local_relpath AS expected " \
  "FROM nodes AS o " \
  "LEFT JOIN nodes AS s " \
  "ON o.wc_id = s.wc_id " \
  "   AND s.local_relpath != '' " \
  "   AND s.op_depth = 0 " \
  "   AND s.repos_id = o.repos_id " \
  "   AND s.file_external IS NULL " \
  "WHERE o.wc_id = ?1 AND o.local_relpath=?2 AND o.op_depth=0 " \
  "  AND s.repos_path != expected " \
  "LIMIT 1 " \
  ""

#define STMT_HAS_SWITCHED_WCROOT_REPOS_ROOT 170
#define STMT_170 \
  "SELECT s.local_relpath AS expected " \
  "FROM nodes AS o " \
  "LEFT JOIN nodes AS s " \
  "ON o.wc_id = s.wc_id " \
  "   AND s.local_relpath != '' " \
  "   AND s.op_depth = 0 " \
  "   AND s.repos_id = o.repos_id " \
  "   AND s.file_external IS NULL " \
  "WHERE o.wc_id = ?1 AND o.local_relpath=?2 AND o.op_depth=0 " \
  "  AND s.repos_path != expected " \
  "LIMIT 1 " \
  ""

#define STMT_SELECT_BASE_FILES_RECURSIVE 171
#define STMT_171 \
  "SELECT local_relpath, translated_size, last_mod_time FROM nodes AS n " \
  "WHERE wc_id = ?1 " \
  "  AND (?2 = '' " \
  "       OR local_relpath = ?2 " \
  "       OR ((local_relpath) > (?2) || '/' AND (local_relpath) < (?2) || '0') ) " \
  "  AND op_depth = 0 " \
  "  AND kind='file' " \
  "  AND presence='normal' " \
  "  AND file_external IS NULL " \
  ""

#define STMT_SELECT_ALL_NODES 172
#define STMT_172 \
  "SELECT op_depth, local_relpath, parent_relpath, file_external FROM nodes " \
  "WHERE wc_id == ?1 " \
  ""

#define STMT_CREATE_SCHEMA 173
#define STMT_173 \
  "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 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 INDEX I_ACTUAL_PARENT ON ACTUAL_NODE (wc_id, parent_relpath); " \
  "CREATE INDEX I_ACTUAL_CHANGELIST ON ACTUAL_NODE (changelist); " \
  "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) " \
  " ); " \
  "PRAGMA user_version = " \
  APR_STRINGIFY(SVN_WC__VERSION) \
  "; " \
  ""

#define STMT_CREATE_NODES 174
#define STMT_174 \
  "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  TEXT, " \
  "  PRIMARY KEY (wc_id, local_relpath, op_depth) " \
  "  ); " \
  "CREATE INDEX I_NODES_PARENT ON NODES (wc_id, parent_relpath, 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; " \
  ""

#define STMT_CREATE_NODES_TRIGGERS 175
#define STMT_175 \
  "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; " \
  ""

#define STMT_CREATE_EXTERNALS 176
#define STMT_176 \
  "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 INDEX I_EXTERNALS_PARENT ON EXTERNALS (wc_id, parent_relpath); " \
  "CREATE UNIQUE INDEX I_EXTERNALS_DEFINED ON EXTERNALS (wc_id, " \
  "                                                      def_local_relpath, " \
  "                                                      local_relpath); " \
  ""

#define STMT_UPGRADE_TO_20 177
#define STMT_177 \
  "UPDATE BASE_NODE SET checksum=(SELECT checksum FROM pristine " \
  "                           WHERE md5_checksum=BASE_NODE.checksum) " \
  "WHERE EXISTS(SELECT 1 FROM pristine WHERE md5_checksum=BASE_NODE.checksum); " \
  "UPDATE WORKING_NODE SET checksum=(SELECT checksum FROM pristine " \
  "                           WHERE md5_checksum=WORKING_NODE.checksum) " \
  "WHERE EXISTS(SELECT 1 FROM pristine WHERE md5_checksum=WORKING_NODE.checksum); " \
  "INSERT INTO NODES ( " \
  "       wc_id, local_relpath, op_depth, parent_relpath, " \
  "       repos_id, repos_path, revision, " \
  "       presence, depth, moved_here, moved_to, kind, " \
  "       changed_revision, changed_date, changed_author, " \
  "       checksum, properties, translated_size, last_mod_time, " \
  "       dav_cache, symlink_target, file_external ) " \
  "SELECT wc_id, local_relpath, 0 , parent_relpath, " \
  "       repos_id, repos_relpath, revnum, " \
  "       presence, depth, NULL , NULL , kind, " \
  "       changed_rev, changed_date, changed_author, " \
  "       checksum, properties, translated_size, last_mod_time, " \
  "       dav_cache, symlink_target, file_external " \
  "FROM BASE_NODE; " \
  "INSERT INTO NODES ( " \
  "       wc_id, local_relpath, op_depth, parent_relpath, " \
  "       repos_id, repos_path, revision, " \
  "       presence, depth, moved_here, moved_to, kind, " \
  "       changed_revision, changed_date, changed_author, " \
  "       checksum, properties, translated_size, last_mod_time, " \
  "       dav_cache, symlink_target, file_external ) " \
  "SELECT wc_id, local_relpath, 2 , parent_relpath, " \
  "       copyfrom_repos_id, copyfrom_repos_path, copyfrom_revnum, " \
  "       presence, depth, NULL , NULL , kind, " \
  "       changed_rev, changed_date, changed_author, " \
  "       checksum, properties, translated_size, last_mod_time, " \
  "       NULL , symlink_target, NULL " \
  "FROM WORKING_NODE; " \
  "DROP TABLE BASE_NODE; " \
  "DROP TABLE WORKING_NODE; " \
  "PRAGMA user_version = 20; " \
  ""

#define STMT_UPGRADE_TO_21 178
#define STMT_178 \
  "PRAGMA user_version = 21; " \
  ""

#define STMT_UPGRADE_TO_22 179
#define STMT_179 \
  "UPDATE actual_node SET tree_conflict_data = conflict_data; " \
  "UPDATE actual_node SET conflict_data = NULL; " \
  "PRAGMA user_version = 22; " \
  ""

#define STMT_UPGRADE_TO_23 180
#define STMT_180 \
  "PRAGMA user_version = 23; " \
  ""

#define STMT_UPGRADE_TO_24 181
#define STMT_181 \
  "UPDATE pristine SET refcount = " \
  "  (SELECT COUNT(*) FROM nodes " \
  "   WHERE checksum = pristine.checksum ); " \
  "PRAGMA user_version = 24; " \
  ""

#define STMT_UPGRADE_TO_25 182
#define STMT_182 \
  "DROP VIEW IF EXISTS NODES_CURRENT; " \
  "CREATE VIEW NODES_CURRENT AS " \
  "  SELECT * FROM nodes " \
  "    JOIN (SELECT wc_id, local_relpath, MAX(op_depth) AS op_depth FROM nodes " \
  "          GROUP BY wc_id, local_relpath) AS filter " \
  "    ON nodes.wc_id = filter.wc_id " \
  "      AND nodes.local_relpath = filter.local_relpath " \
  "      AND nodes.op_depth = filter.op_depth; " \
  "PRAGMA user_version = 25; " \
  ""

#define STMT_UPGRADE_TO_26 183
#define STMT_183 \
  "DROP VIEW IF EXISTS NODES_BASE; " \
  "CREATE VIEW NODES_BASE AS " \
  "  SELECT * FROM nodes " \
  "  WHERE op_depth = 0; " \
  "PRAGMA user_version = 26; " \
  ""

#define STMT_UPGRADE_TO_27 184
#define STMT_184 \
  "PRAGMA user_version = 27; " \
  ""

#define STMT_UPGRADE_TO_28 185
#define STMT_185 \
  "UPDATE NODES SET checksum=(SELECT checksum FROM pristine " \
  "                           WHERE md5_checksum=nodes.checksum) " \
  "WHERE EXISTS(SELECT 1 FROM pristine WHERE md5_checksum=nodes.checksum); " \
  "PRAGMA user_version = 28; " \
  ""

#define STMT_UPGRADE_TO_29 186
#define STMT_186 \
  "DROP TRIGGER IF EXISTS nodes_update_checksum_trigger; " \
  "DROP TRIGGER IF EXISTS nodes_insert_trigger; " \
  "DROP TRIGGER IF EXISTS nodes_delete_trigger; " \
  "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 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; " \
  "PRAGMA user_version = 29; " \
  "-- format: YYY " \
  ""

#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 INDEX I_ACTUAL_PARENT ON ACTUAL_NODE (wc_id, parent_relpath); " \
  "CREATE INDEX I_ACTUAL_CHANGELIST ON ACTUAL_NODE (changelist); " \
  "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 187
#define STMT_187 \
  "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 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, \
    NULL \
  }