1362181Sdim/* This file is automatically generated from wc-queries.sql and token-map.h. 2251881Speter * Do not edit this file -- edit the source and rerun gen-make.py */ 3251881Speter 4251881Speter#define STMT_SELECT_NODE_INFO 0 5251881Speter#define STMT_0_INFO {"STMT_SELECT_NODE_INFO", NULL} 6251881Speter#define STMT_0 \ 7251881Speter "SELECT op_depth, repos_id, repos_path, presence, kind, revision, checksum, " \ 8251881Speter " translated_size, changed_revision, changed_date, changed_author, depth, " \ 9251881Speter " symlink_target, last_mod_time, properties, moved_here, inherited_props, " \ 10251881Speter " moved_to " \ 11251881Speter "FROM nodes " \ 12251881Speter "WHERE wc_id = ?1 AND local_relpath = ?2 " \ 13251881Speter "ORDER BY op_depth DESC " \ 14251881Speter "" 15251881Speter 16251881Speter#define STMT_SELECT_NODE_INFO_WITH_LOCK 1 17251881Speter#define STMT_1_INFO {"STMT_SELECT_NODE_INFO_WITH_LOCK", NULL} 18251881Speter#define STMT_1 \ 19251881Speter "SELECT op_depth, nodes.repos_id, nodes.repos_path, presence, kind, revision, " \ 20251881Speter " checksum, translated_size, changed_revision, changed_date, changed_author, " \ 21251881Speter " depth, symlink_target, last_mod_time, properties, moved_here, " \ 22251881Speter " inherited_props, " \ 23251881Speter " lock_token, lock_owner, lock_comment, lock_date " \ 24251881Speter "FROM nodes " \ 25251881Speter "LEFT OUTER JOIN lock ON nodes.repos_id = lock.repos_id " \ 26362181Sdim " AND nodes.repos_path = lock.repos_relpath AND nodes.op_depth=0 " \ 27251881Speter "WHERE wc_id = ?1 AND local_relpath = ?2 " \ 28251881Speter "ORDER BY op_depth DESC " \ 29251881Speter "" 30251881Speter 31251881Speter#define STMT_SELECT_BASE_NODE 2 32251881Speter#define STMT_2_INFO {"STMT_SELECT_BASE_NODE", NULL} 33251881Speter#define STMT_2 \ 34251881Speter "SELECT repos_id, repos_path, presence, kind, revision, checksum, " \ 35251881Speter " translated_size, changed_revision, changed_date, changed_author, depth, " \ 36251881Speter " symlink_target, last_mod_time, properties, file_external " \ 37251881Speter "FROM nodes " \ 38251881Speter "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \ 39251881Speter "" 40251881Speter 41251881Speter#define STMT_SELECT_BASE_NODE_WITH_LOCK 3 42251881Speter#define STMT_3_INFO {"STMT_SELECT_BASE_NODE_WITH_LOCK", NULL} 43251881Speter#define STMT_3 \ 44251881Speter "SELECT nodes.repos_id, nodes.repos_path, presence, kind, revision, " \ 45251881Speter " checksum, translated_size, changed_revision, changed_date, changed_author, " \ 46251881Speter " depth, symlink_target, last_mod_time, properties, file_external, " \ 47251881Speter " lock_token, lock_owner, lock_comment, lock_date " \ 48251881Speter "FROM nodes " \ 49251881Speter "LEFT OUTER JOIN lock ON nodes.repos_id = lock.repos_id " \ 50251881Speter " AND nodes.repos_path = lock.repos_relpath " \ 51251881Speter "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \ 52251881Speter "" 53251881Speter 54251881Speter#define STMT_SELECT_BASE_CHILDREN_INFO 4 55251881Speter#define STMT_4_INFO {"STMT_SELECT_BASE_CHILDREN_INFO", NULL} 56251881Speter#define STMT_4 \ 57251881Speter "SELECT local_relpath, nodes.repos_id, nodes.repos_path, presence, kind, " \ 58289180Speter " revision, depth, file_external " \ 59289180Speter "FROM nodes " \ 60289180Speter "WHERE wc_id = ?1 AND parent_relpath = ?2 AND op_depth = 0 " \ 61289180Speter "" 62289180Speter 63289180Speter#define STMT_SELECT_BASE_CHILDREN_INFO_LOCK 5 64289180Speter#define STMT_5_INFO {"STMT_SELECT_BASE_CHILDREN_INFO_LOCK", NULL} 65289180Speter#define STMT_5 \ 66289180Speter "SELECT local_relpath, nodes.repos_id, nodes.repos_path, presence, kind, " \ 67251881Speter " revision, depth, file_external, " \ 68251881Speter " lock_token, lock_owner, lock_comment, lock_date " \ 69251881Speter "FROM nodes " \ 70251881Speter "LEFT OUTER JOIN lock ON nodes.repos_id = lock.repos_id " \ 71251881Speter " AND nodes.repos_path = lock.repos_relpath " \ 72251881Speter "WHERE wc_id = ?1 AND parent_relpath = ?2 AND op_depth = 0 " \ 73251881Speter "" 74251881Speter 75289180Speter#define STMT_SELECT_WORKING_NODE 6 76289180Speter#define STMT_6_INFO {"STMT_SELECT_WORKING_NODE", NULL} 77289180Speter#define STMT_6 \ 78251881Speter "SELECT op_depth, presence, kind, checksum, translated_size, " \ 79251881Speter " changed_revision, changed_date, changed_author, depth, symlink_target, " \ 80251881Speter " repos_id, repos_path, revision, " \ 81251881Speter " moved_here, moved_to, last_mod_time, properties " \ 82251881Speter "FROM nodes " \ 83251881Speter "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth > 0 " \ 84251881Speter "ORDER BY op_depth DESC " \ 85251881Speter "LIMIT 1 " \ 86251881Speter "" 87251881Speter 88289180Speter#define STMT_SELECT_DEPTH_NODE 7 89289180Speter#define STMT_7_INFO {"STMT_SELECT_DEPTH_NODE", NULL} 90289180Speter#define STMT_7 \ 91251881Speter "SELECT repos_id, repos_path, presence, kind, revision, checksum, " \ 92251881Speter " translated_size, changed_revision, changed_date, changed_author, depth, " \ 93289180Speter " symlink_target, properties, moved_to, moved_here " \ 94251881Speter "FROM nodes " \ 95251881Speter "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = ?3 " \ 96251881Speter "" 97251881Speter 98289180Speter#define STMT_SELECT_LOWEST_WORKING_NODE 8 99289180Speter#define STMT_8_INFO {"STMT_SELECT_LOWEST_WORKING_NODE", NULL} 100289180Speter#define STMT_8 \ 101251881Speter "SELECT op_depth, presence, kind, moved_to " \ 102251881Speter "FROM nodes " \ 103251881Speter "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth > ?3 " \ 104251881Speter "ORDER BY op_depth " \ 105251881Speter "LIMIT 1 " \ 106251881Speter "" 107251881Speter 108289180Speter#define STMT_SELECT_HIGHEST_WORKING_NODE 9 109289180Speter#define STMT_9_INFO {"STMT_SELECT_HIGHEST_WORKING_NODE", NULL} 110289180Speter#define STMT_9 \ 111251881Speter "SELECT op_depth " \ 112251881Speter "FROM nodes " \ 113251881Speter "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth < ?3 " \ 114251881Speter "ORDER BY op_depth DESC " \ 115251881Speter "LIMIT 1 " \ 116251881Speter "" 117251881Speter 118362181Sdim#define STMT_SELECT_PRESENT_HIGHEST_WORKING_NODES_BY_BASENAME_AND_KIND 10 119362181Sdim#define STMT_10_INFO {"STMT_SELECT_PRESENT_HIGHEST_WORKING_NODES_BY_BASENAME_AND_KIND", NULL} 120289180Speter#define STMT_10 \ 121362181Sdim "SELECT presence, local_relpath " \ 122362181Sdim "FROM nodes n " \ 123362181Sdim "WHERE wc_id = ?1 AND local_relpath = (CASE WHEN (parent_relpath) = '' THEN (?2) WHEN (?2) = '' THEN (parent_relpath) ELSE (parent_relpath) || '/' || (?2) END) " \ 124362181Sdim " AND kind = ?3 " \ 125362181Sdim " AND presence in ('normal', 'incomplete') " \ 126362181Sdim " AND op_depth = (SELECT MAX(op_depth) " \ 127362181Sdim " FROM NODES w " \ 128362181Sdim " WHERE w.wc_id = ?1 " \ 129362181Sdim " AND w.local_relpath = n.local_relpath) " \ 130362181Sdim "" 131362181Sdim 132362181Sdim#define STMT_SELECT_ACTUAL_NODE 11 133362181Sdim#define STMT_11_INFO {"STMT_SELECT_ACTUAL_NODE", NULL} 134362181Sdim#define STMT_11 \ 135251881Speter "SELECT changelist, properties, conflict_data " \ 136251881Speter "FROM actual_node " \ 137251881Speter "WHERE wc_id = ?1 AND local_relpath = ?2 " \ 138251881Speter "" 139251881Speter 140362181Sdim#define STMT_SELECT_NODE_CHILDREN_INFO 12 141362181Sdim#define STMT_12_INFO {"STMT_SELECT_NODE_CHILDREN_INFO", NULL} 142362181Sdim#define STMT_12 \ 143251881Speter "SELECT op_depth, nodes.repos_id, nodes.repos_path, presence, kind, revision, " \ 144251881Speter " checksum, translated_size, changed_revision, changed_date, changed_author, " \ 145251881Speter " depth, symlink_target, last_mod_time, properties, lock_token, lock_owner, " \ 146251881Speter " lock_comment, lock_date, local_relpath, moved_here, moved_to, file_external " \ 147251881Speter "FROM nodes " \ 148251881Speter "LEFT OUTER JOIN lock ON nodes.repos_id = lock.repos_id " \ 149362181Sdim " AND nodes.repos_path = lock.repos_relpath AND nodes.op_depth = 0 " \ 150251881Speter "WHERE wc_id = ?1 AND parent_relpath = ?2 " \ 151289180Speter "ORDER BY local_relpath DESC, op_depth DESC " \ 152251881Speter "" 153251881Speter 154362181Sdim#define STMT_SELECT_BASE_NODE_CHILDREN_INFO 13 155362181Sdim#define STMT_13_INFO {"STMT_SELECT_BASE_NODE_CHILDREN_INFO", NULL} 156362181Sdim#define STMT_13 \ 157289180Speter "SELECT op_depth, nodes.repos_id, nodes.repos_path, presence, kind, revision, " \ 158289180Speter " checksum, translated_size, changed_revision, changed_date, changed_author, " \ 159289180Speter " depth, symlink_target, last_mod_time, properties, lock_token, lock_owner, " \ 160289180Speter " lock_comment, lock_date, local_relpath, moved_here, moved_to, file_external " \ 161289180Speter "FROM nodes " \ 162289180Speter "LEFT OUTER JOIN lock ON nodes.repos_id = lock.repos_id " \ 163362181Sdim " AND nodes.repos_path = lock.repos_relpath " \ 164289180Speter "WHERE wc_id = ?1 AND parent_relpath = ?2 AND op_depth = 0 " \ 165289180Speter "ORDER BY local_relpath DESC " \ 166289180Speter "" 167289180Speter 168362181Sdim#define STMT_SELECT_NODE_CHILDREN_WALKER_INFO 14 169362181Sdim#define STMT_14_INFO {"STMT_SELECT_NODE_CHILDREN_WALKER_INFO", NULL} 170362181Sdim#define STMT_14 \ 171251881Speter "SELECT local_relpath, op_depth, presence, kind " \ 172251881Speter "FROM nodes_current " \ 173251881Speter "WHERE wc_id = ?1 AND parent_relpath = ?2 " \ 174289180Speter "ORDER BY local_relpath " \ 175251881Speter "" 176251881Speter 177362181Sdim#define STMT_SELECT_ACTUAL_CHILDREN_INFO 15 178362181Sdim#define STMT_15_INFO {"STMT_SELECT_ACTUAL_CHILDREN_INFO", NULL} 179362181Sdim#define STMT_15 \ 180251881Speter "SELECT local_relpath, changelist, properties, conflict_data " \ 181251881Speter "FROM actual_node " \ 182251881Speter "WHERE wc_id = ?1 AND parent_relpath = ?2 " \ 183251881Speter "" 184251881Speter 185362181Sdim#define STMT_SELECT_REPOSITORY_BY_ID 16 186362181Sdim#define STMT_16_INFO {"STMT_SELECT_REPOSITORY_BY_ID", NULL} 187362181Sdim#define STMT_16 \ 188251881Speter "SELECT root, uuid FROM repository WHERE id = ?1 " \ 189251881Speter "" 190251881Speter 191362181Sdim#define STMT_SELECT_WCROOT_NULL 17 192362181Sdim#define STMT_17_INFO {"STMT_SELECT_WCROOT_NULL", NULL} 193362181Sdim#define STMT_17 \ 194251881Speter "SELECT id FROM wcroot WHERE local_abspath IS NULL " \ 195251881Speter "" 196251881Speter 197362181Sdim#define STMT_SELECT_REPOSITORY 18 198362181Sdim#define STMT_18_INFO {"STMT_SELECT_REPOSITORY", NULL} 199362181Sdim#define STMT_18 \ 200251881Speter "SELECT id FROM repository WHERE root = ?1 " \ 201251881Speter "" 202251881Speter 203362181Sdim#define STMT_INSERT_REPOSITORY 19 204362181Sdim#define STMT_19_INFO {"STMT_INSERT_REPOSITORY", NULL} 205362181Sdim#define STMT_19 \ 206251881Speter "INSERT INTO repository (root, uuid) VALUES (?1, ?2) " \ 207251881Speter "" 208251881Speter 209362181Sdim#define STMT_INSERT_NODE 20 210362181Sdim#define STMT_20_INFO {"STMT_INSERT_NODE", NULL} 211362181Sdim#define STMT_20 \ 212251881Speter "INSERT OR REPLACE INTO nodes ( " \ 213251881Speter " wc_id, local_relpath, op_depth, parent_relpath, repos_id, repos_path, " \ 214251881Speter " revision, presence, depth, kind, changed_revision, changed_date, " \ 215251881Speter " changed_author, checksum, properties, translated_size, last_mod_time, " \ 216251881Speter " dav_cache, symlink_target, file_external, moved_to, moved_here, " \ 217251881Speter " inherited_props) " \ 218251881Speter "VALUES (?1, ?2, ?3, ?4, ?5, ?6, ?7, ?8, ?9, ?10, ?11, ?12, ?13, ?14, " \ 219251881Speter " ?15, ?16, ?17, ?18, ?19, ?20, ?21, ?22, ?23) " \ 220251881Speter "" 221251881Speter 222362181Sdim#define STMT_SELECT_WORKING_PRESENT 21 223362181Sdim#define STMT_21_INFO {"STMT_SELECT_WORKING_PRESENT", NULL} 224362181Sdim#define STMT_21 \ 225251881Speter "SELECT local_relpath, kind, checksum, translated_size, last_mod_time " \ 226251881Speter "FROM nodes n " \ 227251881Speter "WHERE wc_id = ?1 " \ 228251881Speter " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \ 229251881Speter " AND presence in ('normal', 'incomplete') " \ 230251881Speter " AND op_depth = (SELECT MAX(op_depth) " \ 231251881Speter " FROM NODES w " \ 232251881Speter " WHERE w.wc_id = ?1 " \ 233251881Speter " AND w.local_relpath = n.local_relpath) " \ 234251881Speter "ORDER BY local_relpath DESC " \ 235251881Speter "" 236251881Speter 237362181Sdim#define STMT_DELETE_NODE_RECURSIVE 22 238362181Sdim#define STMT_22_INFO {"STMT_DELETE_NODE_RECURSIVE", NULL} 239362181Sdim#define STMT_22 \ 240251881Speter "DELETE FROM NODES " \ 241251881Speter "WHERE wc_id = ?1 " \ 242251881Speter " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \ 243251881Speter "" 244251881Speter 245362181Sdim#define STMT_DELETE_NODE 23 246362181Sdim#define STMT_23_INFO {"STMT_DELETE_NODE", NULL} 247362181Sdim#define STMT_23 \ 248251881Speter "DELETE " \ 249251881Speter "FROM NODES " \ 250266731Speter "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = ?3 " \ 251251881Speter "" 252251881Speter 253362181Sdim#define STMT_DELETE_ACTUAL_FOR_BASE_RECURSIVE 24 254362181Sdim#define STMT_24_INFO {"STMT_DELETE_ACTUAL_FOR_BASE_RECURSIVE", NULL} 255362181Sdim#define STMT_24 \ 256251881Speter "DELETE FROM actual_node " \ 257251881Speter "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)) " \ 258251881Speter " AND EXISTS(SELECT 1 FROM NODES b " \ 259251881Speter " WHERE b.wc_id = ?1 " \ 260251881Speter " AND b.local_relpath = actual_node.local_relpath " \ 261251881Speter " AND op_depth = 0) " \ 262251881Speter " AND NOT EXISTS(SELECT 1 FROM NODES w " \ 263251881Speter " WHERE w.wc_id = ?1 " \ 264251881Speter " AND w.local_relpath = actual_node.local_relpath " \ 265251881Speter " AND op_depth > 0 " \ 266251881Speter " AND presence in ('normal', 'incomplete', 'not-present')) " \ 267251881Speter "" 268251881Speter 269362181Sdim#define STMT_DELETE_WORKING_BASE_DELETE 25 270362181Sdim#define STMT_25_INFO {"STMT_DELETE_WORKING_BASE_DELETE", NULL} 271362181Sdim#define STMT_25 \ 272251881Speter "DELETE FROM nodes " \ 273289180Speter "WHERE wc_id = ?1 AND local_relpath = ?2 " \ 274251881Speter " AND presence = 'base-deleted' " \ 275289180Speter " AND op_depth > ?3 " \ 276251881Speter " AND op_depth = (SELECT MIN(op_depth) FROM nodes n " \ 277251881Speter " WHERE n.wc_id = ?1 " \ 278251881Speter " AND n.local_relpath = nodes.local_relpath " \ 279289180Speter " AND op_depth > ?3) " \ 280251881Speter "" 281251881Speter 282362181Sdim#define STMT_DELETE_WORKING_BASE_DELETE_RECURSIVE 26 283362181Sdim#define STMT_26_INFO {"STMT_DELETE_WORKING_BASE_DELETE_RECURSIVE", NULL} 284362181Sdim#define STMT_26 \ 285251881Speter "DELETE FROM nodes " \ 286251881Speter "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)) " \ 287289180Speter " AND presence = 'base-deleted' " \ 288289180Speter " AND op_depth > ?3 " \ 289289180Speter " AND op_depth = (SELECT MIN(op_depth) FROM nodes n " \ 290289180Speter " WHERE n.wc_id = ?1 " \ 291289180Speter " AND n.local_relpath = nodes.local_relpath " \ 292289180Speter " AND op_depth > ?3) " \ 293251881Speter "" 294251881Speter 295362181Sdim#define STMT_DELETE_WORKING_RECURSIVE 27 296362181Sdim#define STMT_27_INFO {"STMT_DELETE_WORKING_RECURSIVE", NULL} 297362181Sdim#define STMT_27 \ 298251881Speter "DELETE FROM nodes " \ 299289180Speter "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)) " \ 300289180Speter " AND op_depth > 0 " \ 301251881Speter "" 302251881Speter 303362181Sdim#define STMT_DELETE_BASE_RECURSIVE 28 304362181Sdim#define STMT_28_INFO {"STMT_DELETE_BASE_RECURSIVE", NULL} 305362181Sdim#define STMT_28 \ 306251881Speter "DELETE FROM nodes " \ 307289180Speter "WHERE wc_id = ?1 AND (local_relpath = ?2 " \ 308289180Speter " OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \ 309289180Speter " AND op_depth = 0 " \ 310251881Speter "" 311251881Speter 312362181Sdim#define STMT_DELETE_WORKING_OP_DEPTH 29 313362181Sdim#define STMT_29_INFO {"STMT_DELETE_WORKING_OP_DEPTH", NULL} 314362181Sdim#define STMT_29 \ 315289180Speter "DELETE FROM nodes " \ 316251881Speter "WHERE wc_id = ?1 " \ 317251881Speter " 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))) " \ 318251881Speter " AND op_depth = ?3 " \ 319251881Speter "" 320251881Speter 321362181Sdim#define STMT_SELECT_LAYER_FOR_REPLACE 30 322362181Sdim#define STMT_30_INFO {"STMT_SELECT_LAYER_FOR_REPLACE", NULL} 323362181Sdim#define STMT_30 \ 324289180Speter "SELECT s.local_relpath, s.kind, " \ 325289180Speter " (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' " \ 326289180Speter "FROM nodes s " \ 327289180Speter "WHERE s.wc_id = ?1 AND s.local_relpath = ?2 AND s.op_depth = ?3 " \ 328289180Speter "UNION ALL " \ 329289180Speter "SELECT s.local_relpath, s.kind, " \ 330289180Speter " (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 " \ 331289180Speter "FROM nodes s " \ 332289180Speter "LEFT OUTER JOIN nodes d ON d.wc_id= ?1 AND d.op_depth = ?5 " \ 333289180Speter " AND d.local_relpath = drp " \ 334289180Speter "WHERE s.wc_id = ?1 " \ 335289180Speter " 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)) " \ 336289180Speter " AND s.op_depth = ?3 " \ 337289180Speter "ORDER BY s.local_relpath " \ 338289180Speter "" 339289180Speter 340362181Sdim#define STMT_SELECT_DESCENDANTS_OP_DEPTH_RV 31 341362181Sdim#define STMT_31_INFO {"STMT_SELECT_DESCENDANTS_OP_DEPTH_RV", NULL} 342362181Sdim#define STMT_31 \ 343251881Speter "SELECT local_relpath, kind " \ 344251881Speter "FROM nodes " \ 345251881Speter "WHERE wc_id = ?1 " \ 346251881Speter " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \ 347251881Speter " AND op_depth = ?3 " \ 348289180Speter " AND presence in ('normal', 'incomplete') " \ 349251881Speter "ORDER BY local_relpath DESC " \ 350251881Speter "" 351251881Speter 352362181Sdim#define STMT_COPY_NODE_MOVE 32 353362181Sdim#define STMT_32_INFO {"STMT_COPY_NODE_MOVE", NULL} 354362181Sdim#define STMT_32 \ 355251881Speter "INSERT OR REPLACE INTO nodes ( " \ 356251881Speter " wc_id, local_relpath, op_depth, parent_relpath, repos_id, repos_path, " \ 357251881Speter " revision, presence, depth, kind, changed_revision, changed_date, " \ 358251881Speter " changed_author, checksum, properties, translated_size, last_mod_time, " \ 359251881Speter " symlink_target, moved_here, moved_to ) " \ 360251881Speter "SELECT " \ 361289180Speter " s.wc_id, ?4 , ?5 , ?6 , " \ 362289180Speter " s.repos_id, " \ 363289180Speter " s.repos_path, s.revision, s.presence, s.depth, s.kind, s.changed_revision, " \ 364289180Speter " s.changed_date, s.changed_author, s.checksum, s.properties, " \ 365289180Speter " CASE WHEN d.checksum=s.checksum THEN d.translated_size END, " \ 366289180Speter " CASE WHEN d.checksum=s.checksum THEN d.last_mod_time END, " \ 367289180Speter " s.symlink_target, 1, d.moved_to " \ 368289180Speter "FROM nodes s " \ 369289180Speter "LEFT JOIN nodes d ON d.wc_id=?1 AND d.local_relpath=?4 AND d.op_depth=?5 " \ 370289180Speter "WHERE s.wc_id = ?1 AND s.local_relpath = ?2 AND s.op_depth = ?3 " \ 371251881Speter "" 372251881Speter 373362181Sdim#define STMT_SELECT_NO_LONGER_MOVED_RV 33 374362181Sdim#define STMT_33_INFO {"STMT_SELECT_NO_LONGER_MOVED_RV", NULL} 375362181Sdim#define STMT_33 \ 376289180Speter "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, " \ 377289180Speter " b.presence, b.op_depth " \ 378289180Speter "FROM nodes d " \ 379289180Speter "LEFT OUTER JOIN nodes b ON b.wc_id = ?1 AND b.local_relpath = d.local_relpath " \ 380289180Speter " AND b.op_depth = (SELECT MAX(x.op_depth) FROM nodes x " \ 381289180Speter " WHERE x.wc_id = ?1 " \ 382289180Speter " AND x.local_relpath = b.local_relpath " \ 383289180Speter " AND x.op_depth < ?3) " \ 384289180Speter "WHERE d.wc_id = ?1 " \ 385289180Speter " 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)) " \ 386289180Speter " AND d.op_depth = ?3 " \ 387289180Speter " AND NOT EXISTS(SELECT * FROM nodes s " \ 388289180Speter " WHERE s.wc_id = ?1 " \ 389289180Speter " AND s.local_relpath = srp " \ 390289180Speter " AND s.op_depth = ?5) " \ 391289180Speter "ORDER BY d.local_relpath DESC " \ 392289180Speter "" 393289180Speter 394362181Sdim#define STMT_SELECT_OP_DEPTH_CHILDREN 34 395362181Sdim#define STMT_34_INFO {"STMT_SELECT_OP_DEPTH_CHILDREN", NULL} 396362181Sdim#define STMT_34 \ 397251881Speter "SELECT local_relpath, kind FROM nodes " \ 398251881Speter "WHERE wc_id = ?1 " \ 399251881Speter " AND parent_relpath = ?2 " \ 400251881Speter " AND op_depth = ?3 " \ 401251881Speter " AND presence != 'base-deleted' " \ 402251881Speter " AND file_external is NULL " \ 403289180Speter "ORDER BY local_relpath " \ 404251881Speter "" 405251881Speter 406362181Sdim#define STMT_SELECT_OP_DEPTH_CHILDREN_EXISTS 35 407362181Sdim#define STMT_35_INFO {"STMT_SELECT_OP_DEPTH_CHILDREN_EXISTS", NULL} 408362181Sdim#define STMT_35 \ 409289180Speter "SELECT local_relpath, kind FROM nodes " \ 410289180Speter "WHERE wc_id = ?1 " \ 411289180Speter " AND parent_relpath = ?2 " \ 412289180Speter " AND op_depth = ?3 " \ 413289180Speter " AND presence IN ('normal', 'incomplete') " \ 414289180Speter "ORDER BY local_relpath " \ 415289180Speter "" 416289180Speter 417362181Sdim#define STMT_SELECT_GE_OP_DEPTH_CHILDREN 36 418362181Sdim#define STMT_36_INFO {"STMT_SELECT_GE_OP_DEPTH_CHILDREN", NULL} 419362181Sdim#define STMT_36 \ 420251881Speter "SELECT 1 FROM nodes " \ 421251881Speter "WHERE wc_id = ?1 AND parent_relpath = ?2 " \ 422289180Speter " AND (op_depth > ?3 OR (op_depth = ?3 " \ 423289180Speter " AND presence IN ('normal', 'incomplete'))) " \ 424251881Speter "UNION ALL " \ 425251881Speter "SELECT 1 FROM ACTUAL_NODE a " \ 426251881Speter "WHERE wc_id = ?1 AND parent_relpath = ?2 " \ 427251881Speter " AND NOT EXISTS (SELECT 1 FROM nodes n " \ 428251881Speter " WHERE wc_id = ?1 AND n.local_relpath = a.local_relpath) " \ 429251881Speter "" 430251881Speter 431362181Sdim#define STMT_DELETE_SHADOWED_RECURSIVE 37 432362181Sdim#define STMT_37_INFO {"STMT_DELETE_SHADOWED_RECURSIVE", NULL} 433362181Sdim#define STMT_37 \ 434251881Speter "DELETE FROM nodes " \ 435251881Speter "WHERE wc_id = ?1 " \ 436251881Speter " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \ 437251881Speter " AND (op_depth < ?3 " \ 438251881Speter " OR (op_depth = ?3 AND presence = 'base-deleted')) " \ 439251881Speter "" 440251881Speter 441362181Sdim#define STMT_CLEAR_MOVED_TO_FROM_DEST 38 442362181Sdim#define STMT_38_INFO {"STMT_CLEAR_MOVED_TO_FROM_DEST", NULL} 443362181Sdim#define STMT_38 \ 444251881Speter "UPDATE NODES SET moved_to = NULL " \ 445251881Speter "WHERE wc_id = ?1 " \ 446251881Speter " AND moved_to = ?2 " \ 447251881Speter "" 448251881Speter 449362181Sdim#define STMT_SELECT_NOT_PRESENT_DESCENDANTS 39 450362181Sdim#define STMT_39_INFO {"STMT_SELECT_NOT_PRESENT_DESCENDANTS", NULL} 451362181Sdim#define STMT_39 \ 452251881Speter "SELECT local_relpath FROM nodes " \ 453251881Speter "WHERE wc_id = ?1 AND op_depth = ?3 " \ 454251881Speter " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \ 455251881Speter " AND presence = 'not-present' " \ 456251881Speter "" 457251881Speter 458362181Sdim#define STMT_COMMIT_DESCENDANTS_TO_BASE 40 459362181Sdim#define STMT_40_INFO {"STMT_COMMIT_DESCENDANTS_TO_BASE", NULL} 460362181Sdim#define STMT_40 \ 461251881Speter "UPDATE NODES SET op_depth = 0, " \ 462251881Speter " repos_id = ?4, " \ 463289180Speter " 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), " \ 464251881Speter " revision = ?6, " \ 465251881Speter " dav_cache = NULL, " \ 466251881Speter " moved_here = NULL, " \ 467289180Speter " moved_to = NULL, " \ 468251881Speter " presence = CASE presence " \ 469251881Speter " WHEN 'normal' THEN 'normal' " \ 470251881Speter " WHEN 'excluded' THEN 'excluded' " \ 471251881Speter " ELSE 'not-present' " \ 472251881Speter " END " \ 473251881Speter "WHERE wc_id = ?1 " \ 474251881Speter " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \ 475251881Speter " AND op_depth = ?3 " \ 476251881Speter "" 477251881Speter 478362181Sdim#define STMT_SELECT_NODE_CHILDREN 41 479362181Sdim#define STMT_41_INFO {"STMT_SELECT_NODE_CHILDREN", NULL} 480362181Sdim#define STMT_41 \ 481289180Speter "SELECT DISTINCT local_relpath FROM nodes " \ 482251881Speter "WHERE wc_id = ?1 AND parent_relpath = ?2 " \ 483289180Speter "ORDER BY local_relpath " \ 484251881Speter "" 485251881Speter 486362181Sdim#define STMT_SELECT_WORKING_CHILDREN 42 487362181Sdim#define STMT_42_INFO {"STMT_SELECT_WORKING_CHILDREN", NULL} 488362181Sdim#define STMT_42 \ 489289180Speter "SELECT DISTINCT local_relpath FROM nodes " \ 490251881Speter "WHERE wc_id = ?1 AND parent_relpath = ?2 " \ 491251881Speter " AND (op_depth > (SELECT MAX(op_depth) FROM nodes " \ 492251881Speter " WHERE wc_id = ?1 AND local_relpath = ?2) " \ 493251881Speter " OR " \ 494251881Speter " (op_depth = (SELECT MAX(op_depth) FROM nodes " \ 495251881Speter " WHERE wc_id = ?1 AND local_relpath = ?2) " \ 496289180Speter " AND presence IN ('normal', 'incomplete'))) " \ 497289180Speter "ORDER BY local_relpath " \ 498251881Speter "" 499251881Speter 500362181Sdim#define STMT_SELECT_BASE_NOT_PRESENT_CHILDREN 43 501362181Sdim#define STMT_43_INFO {"STMT_SELECT_BASE_NOT_PRESENT_CHILDREN", NULL} 502362181Sdim#define STMT_43 \ 503289180Speter "SELECT local_relpath FROM nodes " \ 504289180Speter "WHERE wc_id = ?1 AND parent_relpath = ?2 AND op_depth = 0 " \ 505289180Speter " AND presence = 'not-present' " \ 506289180Speter "ORDER BY local_relpath " \ 507289180Speter "" 508289180Speter 509362181Sdim#define STMT_SELECT_NODE_PROPS 44 510362181Sdim#define STMT_44_INFO {"STMT_SELECT_NODE_PROPS", NULL} 511362181Sdim#define STMT_44 \ 512251881Speter "SELECT properties, presence FROM nodes " \ 513251881Speter "WHERE wc_id = ?1 AND local_relpath = ?2 " \ 514251881Speter "ORDER BY op_depth DESC " \ 515251881Speter "" 516251881Speter 517362181Sdim#define STMT_SELECT_ACTUAL_PROPS 45 518362181Sdim#define STMT_45_INFO {"STMT_SELECT_ACTUAL_PROPS", NULL} 519362181Sdim#define STMT_45 \ 520251881Speter "SELECT properties FROM actual_node " \ 521251881Speter "WHERE wc_id = ?1 AND local_relpath = ?2 " \ 522251881Speter "" 523251881Speter 524362181Sdim#define STMT_UPDATE_ACTUAL_PROPS 46 525362181Sdim#define STMT_46_INFO {"STMT_UPDATE_ACTUAL_PROPS", NULL} 526362181Sdim#define STMT_46 \ 527251881Speter "UPDATE actual_node SET properties = ?3 " \ 528251881Speter "WHERE wc_id = ?1 AND local_relpath = ?2 " \ 529251881Speter "" 530251881Speter 531362181Sdim#define STMT_INSERT_ACTUAL_PROPS 47 532362181Sdim#define STMT_47_INFO {"STMT_INSERT_ACTUAL_PROPS", NULL} 533362181Sdim#define STMT_47 \ 534251881Speter "INSERT INTO actual_node (wc_id, local_relpath, parent_relpath, properties) " \ 535251881Speter "VALUES (?1, ?2, ?3, ?4) " \ 536251881Speter "" 537251881Speter 538362181Sdim#define STMT_INSERT_LOCK 48 539362181Sdim#define STMT_48_INFO {"STMT_INSERT_LOCK", NULL} 540362181Sdim#define STMT_48 \ 541251881Speter "INSERT OR REPLACE INTO lock " \ 542251881Speter "(repos_id, repos_relpath, lock_token, lock_owner, lock_comment, " \ 543251881Speter " lock_date) " \ 544251881Speter "VALUES (?1, ?2, ?3, ?4, ?5, ?6) " \ 545251881Speter "" 546251881Speter 547362181Sdim#define STMT_SELECT_BASE_NODE_LOCK_TOKENS_RECURSIVE 49 548362181Sdim#define STMT_49_INFO {"STMT_SELECT_BASE_NODE_LOCK_TOKENS_RECURSIVE", NULL} 549362181Sdim#define STMT_49 \ 550251881Speter "SELECT nodes.repos_id, nodes.repos_path, lock_token " \ 551251881Speter "FROM nodes " \ 552251881Speter "LEFT JOIN lock ON nodes.repos_id = lock.repos_id " \ 553251881Speter " AND nodes.repos_path = lock.repos_relpath " \ 554251881Speter "WHERE wc_id = ?1 AND op_depth = 0 " \ 555251881Speter " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \ 556251881Speter "" 557251881Speter 558362181Sdim#define STMT_INSERT_WCROOT 50 559362181Sdim#define STMT_50_INFO {"STMT_INSERT_WCROOT", NULL} 560362181Sdim#define STMT_50 \ 561251881Speter "INSERT INTO wcroot (local_abspath) " \ 562251881Speter "VALUES (?1) " \ 563251881Speter "" 564251881Speter 565362181Sdim#define STMT_UPDATE_BASE_NODE_DAV_CACHE 51 566362181Sdim#define STMT_51_INFO {"STMT_UPDATE_BASE_NODE_DAV_CACHE", NULL} 567362181Sdim#define STMT_51 \ 568251881Speter "UPDATE nodes SET dav_cache = ?3 " \ 569251881Speter "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \ 570251881Speter "" 571251881Speter 572362181Sdim#define STMT_SELECT_BASE_DAV_CACHE 52 573362181Sdim#define STMT_52_INFO {"STMT_SELECT_BASE_DAV_CACHE", NULL} 574362181Sdim#define STMT_52 \ 575251881Speter "SELECT dav_cache FROM nodes " \ 576251881Speter "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \ 577251881Speter "" 578251881Speter 579362181Sdim#define STMT_SELECT_DELETION_INFO 53 580362181Sdim#define STMT_53_INFO {"STMT_SELECT_DELETION_INFO", NULL} 581362181Sdim#define STMT_53 \ 582289180Speter "SELECT b.presence, w.presence, w.op_depth, w.moved_to " \ 583289180Speter "FROM nodes w " \ 584289180Speter "LEFT JOIN nodes b ON b.wc_id = ?1 AND b.local_relpath = ?2 AND b.op_depth = 0 " \ 585289180Speter "WHERE w.wc_id = ?1 AND w.local_relpath = ?2 " \ 586289180Speter " AND w.op_depth = (SELECT MAX(op_depth) FROM nodes d " \ 587289180Speter " WHERE d.wc_id = ?1 AND d.local_relpath = ?2 " \ 588289180Speter " AND d.op_depth > 0) " \ 589251881Speter "LIMIT 1 " \ 590251881Speter "" 591251881Speter 592362181Sdim#define STMT_SELECT_MOVED_TO_NODE 54 593362181Sdim#define STMT_54_INFO {"STMT_SELECT_MOVED_TO_NODE", NULL} 594362181Sdim#define STMT_54 \ 595266731Speter "SELECT op_depth, moved_to " \ 596266731Speter "FROM nodes " \ 597266731Speter "WHERE wc_id = ?1 AND local_relpath = ?2 AND moved_to IS NOT NULL " \ 598266731Speter "ORDER BY op_depth DESC " \ 599266731Speter "" 600266731Speter 601362181Sdim#define STMT_SELECT_OP_DEPTH_MOVED_TO 55 602362181Sdim#define STMT_55_INFO {"STMT_SELECT_OP_DEPTH_MOVED_TO", NULL} 603362181Sdim#define STMT_55 \ 604289180Speter "SELECT op_depth, moved_to " \ 605251881Speter "FROM nodes " \ 606289180Speter "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth > ?3 " \ 607289180Speter " AND EXISTS(SELECT * from nodes " \ 608289180Speter " WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = ?3 " \ 609289180Speter " AND presence IN ('normal', 'incomplete')) " \ 610289180Speter "ORDER BY op_depth ASC " \ 611289180Speter "LIMIT 1 " \ 612251881Speter "" 613251881Speter 614362181Sdim#define STMT_SELECT_MOVED_TO 56 615362181Sdim#define STMT_56_INFO {"STMT_SELECT_MOVED_TO", NULL} 616362181Sdim#define STMT_56 \ 617251881Speter "SELECT moved_to " \ 618251881Speter "FROM nodes " \ 619251881Speter "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = ?3 " \ 620251881Speter "" 621251881Speter 622362181Sdim#define STMT_SELECT_MOVED_BACK 57 623362181Sdim#define STMT_57_INFO {"STMT_SELECT_MOVED_BACK", NULL} 624362181Sdim#define STMT_57 \ 625251881Speter "SELECT u.local_relpath, " \ 626251881Speter " u.presence, u.repos_id, u.repos_path, u.revision, " \ 627251881Speter " l.presence, l.repos_id, l.repos_path, l.revision, " \ 628251881Speter " u.moved_here, u.moved_to " \ 629251881Speter "FROM nodes u " \ 630251881Speter "LEFT OUTER JOIN nodes l ON l.wc_id = ?1 " \ 631251881Speter " AND l.local_relpath = u.local_relpath " \ 632251881Speter " AND l.op_depth = ?3 " \ 633251881Speter "WHERE u.wc_id = ?1 " \ 634251881Speter " AND u.local_relpath = ?2 " \ 635251881Speter " AND u.op_depth = ?4 " \ 636251881Speter "UNION ALL " \ 637251881Speter "SELECT u.local_relpath, " \ 638251881Speter " u.presence, u.repos_id, u.repos_path, u.revision, " \ 639251881Speter " l.presence, l.repos_id, l.repos_path, l.revision, " \ 640251881Speter " u.moved_here, NULL " \ 641251881Speter "FROM nodes u " \ 642251881Speter "LEFT OUTER JOIN nodes l ON l.wc_id=?1 " \ 643251881Speter " AND l.local_relpath=u.local_relpath " \ 644251881Speter " AND l.op_depth=?3 " \ 645251881Speter "WHERE u.wc_id = ?1 " \ 646251881Speter " 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)) " \ 647251881Speter " AND u.op_depth = ?4 " \ 648251881Speter "" 649251881Speter 650362181Sdim#define STMT_DELETE_LOCK 58 651362181Sdim#define STMT_58_INFO {"STMT_DELETE_LOCK", NULL} 652362181Sdim#define STMT_58 \ 653251881Speter "DELETE FROM lock " \ 654251881Speter "WHERE repos_id = ?1 AND repos_relpath = ?2 " \ 655251881Speter "" 656251881Speter 657362181Sdim#define STMT_DELETE_LOCK_RECURSIVELY 59 658362181Sdim#define STMT_59_INFO {"STMT_DELETE_LOCK_RECURSIVELY", NULL} 659362181Sdim#define STMT_59 \ 660253734Speter "DELETE FROM lock " \ 661253734Speter "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))) " \ 662253734Speter "" 663253734Speter 664362181Sdim#define STMT_CLEAR_BASE_NODE_RECURSIVE_DAV_CACHE 60 665362181Sdim#define STMT_60_INFO {"STMT_CLEAR_BASE_NODE_RECURSIVE_DAV_CACHE", NULL} 666362181Sdim#define STMT_60 \ 667251881Speter "UPDATE nodes SET dav_cache = NULL " \ 668251881Speter "WHERE dav_cache IS NOT NULL AND wc_id = ?1 AND op_depth = 0 " \ 669251881Speter " AND (local_relpath = ?2 " \ 670251881Speter " OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \ 671251881Speter "" 672251881Speter 673362181Sdim#define STMT_RECURSIVE_UPDATE_NODE_REPO 61 674362181Sdim#define STMT_61_INFO {"STMT_RECURSIVE_UPDATE_NODE_REPO", NULL} 675362181Sdim#define STMT_61 \ 676251881Speter "UPDATE nodes SET repos_id = ?4, dav_cache = NULL " \ 677251881Speter "WHERE (wc_id = ?1 AND local_relpath = ?2 AND repos_id = ?3) " \ 678251881Speter " 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)) " \ 679251881Speter " AND repos_id = ?3) " \ 680251881Speter "" 681251881Speter 682362181Sdim#define STMT_UPDATE_LOCK_REPOS_ID 62 683362181Sdim#define STMT_62_INFO {"STMT_UPDATE_LOCK_REPOS_ID", NULL} 684362181Sdim#define STMT_62 \ 685251881Speter "UPDATE lock SET repos_id = ?2 " \ 686251881Speter "WHERE repos_id = ?1 " \ 687251881Speter "" 688251881Speter 689362181Sdim#define STMT_UPDATE_NODE_FILEINFO 63 690362181Sdim#define STMT_63_INFO {"STMT_UPDATE_NODE_FILEINFO", NULL} 691362181Sdim#define STMT_63 \ 692251881Speter "UPDATE nodes SET translated_size = ?3, last_mod_time = ?4 " \ 693251881Speter "WHERE wc_id = ?1 AND local_relpath = ?2 " \ 694251881Speter " AND op_depth = (SELECT MAX(op_depth) FROM nodes " \ 695251881Speter " WHERE wc_id = ?1 AND local_relpath = ?2) " \ 696251881Speter "" 697251881Speter 698362181Sdim#define STMT_INSERT_ACTUAL_CONFLICT 64 699362181Sdim#define STMT_64_INFO {"STMT_INSERT_ACTUAL_CONFLICT", NULL} 700362181Sdim#define STMT_64 \ 701251881Speter "INSERT INTO actual_node (wc_id, local_relpath, conflict_data, parent_relpath) " \ 702251881Speter "VALUES (?1, ?2, ?3, ?4) " \ 703251881Speter "" 704251881Speter 705362181Sdim#define STMT_UPDATE_ACTUAL_CONFLICT 65 706362181Sdim#define STMT_65_INFO {"STMT_UPDATE_ACTUAL_CONFLICT", NULL} 707362181Sdim#define STMT_65 \ 708251881Speter "UPDATE actual_node SET conflict_data = ?3 " \ 709251881Speter "WHERE wc_id = ?1 AND local_relpath = ?2 " \ 710251881Speter "" 711251881Speter 712362181Sdim#define STMT_UPDATE_ACTUAL_CHANGELISTS 66 713362181Sdim#define STMT_66_INFO {"STMT_UPDATE_ACTUAL_CHANGELISTS", NULL} 714362181Sdim#define STMT_66 \ 715251881Speter "UPDATE actual_node SET changelist = ?3 " \ 716251881Speter "WHERE wc_id = ?1 " \ 717251881Speter " 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))) " \ 718251881Speter " AND local_relpath = (SELECT local_relpath FROM targets_list AS t " \ 719251881Speter " WHERE wc_id = ?1 " \ 720251881Speter " AND t.local_relpath = actual_node.local_relpath " \ 721251881Speter " AND kind = 'file') " \ 722251881Speter "" 723251881Speter 724362181Sdim#define STMT_UPDATE_ACTUAL_CLEAR_CHANGELIST 67 725362181Sdim#define STMT_67_INFO {"STMT_UPDATE_ACTUAL_CLEAR_CHANGELIST", NULL} 726362181Sdim#define STMT_67 \ 727251881Speter "UPDATE actual_node SET changelist = NULL " \ 728251881Speter " WHERE wc_id = ?1 AND local_relpath = ?2 " \ 729251881Speter "" 730251881Speter 731362181Sdim#define STMT_MARK_SKIPPED_CHANGELIST_DIRS 68 732362181Sdim#define STMT_68_INFO {"STMT_MARK_SKIPPED_CHANGELIST_DIRS", NULL} 733362181Sdim#define STMT_68 \ 734251881Speter "INSERT INTO changelist_list (wc_id, local_relpath, notify, changelist) " \ 735251881Speter "SELECT wc_id, local_relpath, 7, ?3 " \ 736251881Speter "FROM targets_list " \ 737251881Speter "WHERE wc_id = ?1 " \ 738251881Speter " 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))) " \ 739251881Speter " AND kind = 'dir' " \ 740251881Speter "" 741251881Speter 742362181Sdim#define STMT_RESET_ACTUAL_WITH_CHANGELIST 69 743362181Sdim#define STMT_69_INFO {"STMT_RESET_ACTUAL_WITH_CHANGELIST", NULL} 744362181Sdim#define STMT_69 \ 745251881Speter "REPLACE INTO actual_node ( " \ 746251881Speter " wc_id, local_relpath, parent_relpath, changelist) " \ 747251881Speter "VALUES (?1, ?2, ?3, ?4) " \ 748251881Speter "" 749251881Speter 750362181Sdim#define STMT_CREATE_CHANGELIST_LIST 70 751362181Sdim#define STMT_70_INFO {"STMT_CREATE_CHANGELIST_LIST", NULL} 752362181Sdim#define STMT_70 \ 753251881Speter "DROP TABLE IF EXISTS changelist_list; " \ 754251881Speter "CREATE TEMPORARY TABLE changelist_list ( " \ 755251881Speter " wc_id INTEGER NOT NULL, " \ 756251881Speter " local_relpath TEXT NOT NULL, " \ 757251881Speter " notify INTEGER NOT NULL, " \ 758251881Speter " changelist TEXT NOT NULL, " \ 759251881Speter " PRIMARY KEY (wc_id, local_relpath, notify DESC) " \ 760251881Speter ") " \ 761251881Speter "" 762251881Speter 763362181Sdim#define STMT_CREATE_CHANGELIST_TRIGGER 71 764362181Sdim#define STMT_71_INFO {"STMT_CREATE_CHANGELIST_TRIGGER", NULL} 765362181Sdim#define STMT_71 \ 766251881Speter "DROP TRIGGER IF EXISTS trigger_changelist_list_change; " \ 767251881Speter "CREATE TEMPORARY TRIGGER trigger_changelist_list_change " \ 768251881Speter "BEFORE UPDATE ON actual_node " \ 769251881Speter "WHEN old.changelist IS NOT new.changelist " \ 770251881Speter "BEGIN " \ 771251881Speter " INSERT INTO changelist_list(wc_id, local_relpath, notify, changelist) " \ 772251881Speter " SELECT old.wc_id, old.local_relpath, 27, old.changelist " \ 773251881Speter " WHERE old.changelist is NOT NULL; " \ 774251881Speter " INSERT INTO changelist_list(wc_id, local_relpath, notify, changelist) " \ 775251881Speter " SELECT new.wc_id, new.local_relpath, 26, new.changelist " \ 776251881Speter " WHERE new.changelist IS NOT NULL; " \ 777251881Speter "END " \ 778251881Speter "" 779251881Speter 780362181Sdim#define STMT_FINALIZE_CHANGELIST 72 781362181Sdim#define STMT_72_INFO {"STMT_FINALIZE_CHANGELIST", NULL} 782362181Sdim#define STMT_72 \ 783251881Speter "DROP TRIGGER trigger_changelist_list_change; " \ 784251881Speter "DROP TABLE changelist_list; " \ 785251881Speter "DROP TABLE targets_list " \ 786251881Speter "" 787251881Speter 788362181Sdim#define STMT_SELECT_CHANGELIST_LIST 73 789362181Sdim#define STMT_73_INFO {"STMT_SELECT_CHANGELIST_LIST", NULL} 790362181Sdim#define STMT_73 \ 791251881Speter "SELECT wc_id, local_relpath, notify, changelist " \ 792251881Speter "FROM changelist_list " \ 793251881Speter "ORDER BY wc_id, local_relpath ASC, notify DESC " \ 794251881Speter "" 795251881Speter 796362181Sdim#define STMT_CREATE_TARGETS_LIST 74 797362181Sdim#define STMT_74_INFO {"STMT_CREATE_TARGETS_LIST", NULL} 798362181Sdim#define STMT_74 \ 799251881Speter "DROP TABLE IF EXISTS targets_list; " \ 800251881Speter "CREATE TEMPORARY TABLE targets_list ( " \ 801251881Speter " wc_id INTEGER NOT NULL, " \ 802251881Speter " local_relpath TEXT NOT NULL, " \ 803251881Speter " parent_relpath TEXT, " \ 804251881Speter " kind TEXT NOT NULL, " \ 805251881Speter " PRIMARY KEY (wc_id, local_relpath) " \ 806251881Speter " ); " \ 807251881Speter "" 808251881Speter 809362181Sdim#define STMT_DROP_TARGETS_LIST 75 810362181Sdim#define STMT_75_INFO {"STMT_DROP_TARGETS_LIST", NULL} 811362181Sdim#define STMT_75 \ 812251881Speter "DROP TABLE targets_list " \ 813251881Speter "" 814251881Speter 815362181Sdim#define STMT_INSERT_TARGET 76 816362181Sdim#define STMT_76_INFO {"STMT_INSERT_TARGET", NULL} 817362181Sdim#define STMT_76 \ 818251881Speter "INSERT INTO targets_list(wc_id, local_relpath, parent_relpath, kind) " \ 819251881Speter "SELECT wc_id, local_relpath, parent_relpath, kind " \ 820251881Speter "FROM nodes_current " \ 821251881Speter "WHERE wc_id = ?1 " \ 822251881Speter " AND local_relpath = ?2 " \ 823251881Speter "" 824251881Speter 825362181Sdim#define STMT_INSERT_TARGET_DEPTH_FILES 77 826362181Sdim#define STMT_77_INFO {"STMT_INSERT_TARGET_DEPTH_FILES", NULL} 827362181Sdim#define STMT_77 \ 828251881Speter "INSERT INTO targets_list(wc_id, local_relpath, parent_relpath, kind) " \ 829251881Speter "SELECT wc_id, local_relpath, parent_relpath, kind " \ 830251881Speter "FROM nodes_current " \ 831251881Speter "WHERE wc_id = ?1 " \ 832251881Speter " AND parent_relpath = ?2 " \ 833251881Speter " AND kind = 'file' " \ 834251881Speter "" 835251881Speter 836362181Sdim#define STMT_INSERT_TARGET_DEPTH_IMMEDIATES 78 837362181Sdim#define STMT_78_INFO {"STMT_INSERT_TARGET_DEPTH_IMMEDIATES", NULL} 838362181Sdim#define STMT_78 \ 839251881Speter "INSERT INTO targets_list(wc_id, local_relpath, parent_relpath, kind) " \ 840251881Speter "SELECT wc_id, local_relpath, parent_relpath, kind " \ 841251881Speter "FROM nodes_current " \ 842251881Speter "WHERE wc_id = ?1 " \ 843251881Speter " AND parent_relpath = ?2 " \ 844251881Speter "" 845251881Speter 846362181Sdim#define STMT_INSERT_TARGET_DEPTH_INFINITY 79 847362181Sdim#define STMT_79_INFO {"STMT_INSERT_TARGET_DEPTH_INFINITY", NULL} 848362181Sdim#define STMT_79 \ 849251881Speter "INSERT INTO targets_list(wc_id, local_relpath, parent_relpath, kind) " \ 850251881Speter "SELECT wc_id, local_relpath, parent_relpath, kind " \ 851251881Speter "FROM nodes_current " \ 852251881Speter "WHERE wc_id = ?1 " \ 853251881Speter " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \ 854251881Speter "" 855251881Speter 856362181Sdim#define STMT_INSERT_TARGET_WITH_CHANGELIST 80 857362181Sdim#define STMT_80_INFO {"STMT_INSERT_TARGET_WITH_CHANGELIST", NULL} 858362181Sdim#define STMT_80 \ 859251881Speter "INSERT INTO targets_list(wc_id, local_relpath, parent_relpath, kind) " \ 860251881Speter "SELECT N.wc_id, N.local_relpath, N.parent_relpath, N.kind " \ 861251881Speter " FROM actual_node AS A JOIN nodes_current AS N " \ 862251881Speter " ON A.wc_id = N.wc_id AND A.local_relpath = N.local_relpath " \ 863251881Speter " WHERE N.wc_id = ?1 " \ 864251881Speter " AND N.local_relpath = ?2 " \ 865251881Speter " AND A.changelist = ?3 " \ 866251881Speter "" 867251881Speter 868362181Sdim#define STMT_INSERT_TARGET_WITH_CHANGELIST_DEPTH_FILES 81 869362181Sdim#define STMT_81_INFO {"STMT_INSERT_TARGET_WITH_CHANGELIST_DEPTH_FILES", NULL} 870362181Sdim#define STMT_81 \ 871251881Speter "INSERT INTO targets_list(wc_id, local_relpath, parent_relpath, kind) " \ 872251881Speter "SELECT N.wc_id, N.local_relpath, N.parent_relpath, N.kind " \ 873251881Speter " FROM actual_node AS A JOIN nodes_current AS N " \ 874251881Speter " ON A.wc_id = N.wc_id AND A.local_relpath = N.local_relpath " \ 875251881Speter " WHERE N.wc_id = ?1 " \ 876251881Speter " AND N.parent_relpath = ?2 " \ 877251881Speter " AND kind = 'file' " \ 878251881Speter " AND A.changelist = ?3 " \ 879251881Speter "" 880251881Speter 881362181Sdim#define STMT_INSERT_TARGET_WITH_CHANGELIST_DEPTH_IMMEDIATES 82 882362181Sdim#define STMT_82_INFO {"STMT_INSERT_TARGET_WITH_CHANGELIST_DEPTH_IMMEDIATES", NULL} 883362181Sdim#define STMT_82 \ 884251881Speter "INSERT INTO targets_list(wc_id, local_relpath, parent_relpath, kind) " \ 885251881Speter "SELECT N.wc_id, N.local_relpath, N.parent_relpath, N.kind " \ 886251881Speter " FROM actual_node AS A JOIN nodes_current AS N " \ 887251881Speter " ON A.wc_id = N.wc_id AND A.local_relpath = N.local_relpath " \ 888251881Speter " WHERE N.wc_id = ?1 " \ 889251881Speter " AND N.parent_relpath = ?2 " \ 890251881Speter " AND A.changelist = ?3 " \ 891251881Speter "" 892251881Speter 893362181Sdim#define STMT_INSERT_TARGET_WITH_CHANGELIST_DEPTH_INFINITY 83 894362181Sdim#define STMT_83_INFO {"STMT_INSERT_TARGET_WITH_CHANGELIST_DEPTH_INFINITY", NULL} 895362181Sdim#define STMT_83 \ 896251881Speter "INSERT INTO targets_list(wc_id, local_relpath, parent_relpath, kind) " \ 897251881Speter "SELECT N.wc_id, N.local_relpath, N.parent_relpath, N.kind " \ 898251881Speter " FROM actual_node AS A JOIN nodes_current AS N " \ 899251881Speter " ON A.wc_id = N.wc_id AND A.local_relpath = N.local_relpath " \ 900251881Speter " WHERE N.wc_id = ?1 " \ 901251881Speter " 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)) " \ 902251881Speter " AND A.changelist = ?3 " \ 903251881Speter "" 904251881Speter 905362181Sdim#define STMT_INSERT_ACTUAL_EMPTIES 84 906362181Sdim#define STMT_84_INFO {"STMT_INSERT_ACTUAL_EMPTIES", NULL} 907362181Sdim#define STMT_84 \ 908251881Speter "INSERT OR IGNORE INTO actual_node ( " \ 909251881Speter " wc_id, local_relpath, parent_relpath) " \ 910251881Speter "SELECT wc_id, local_relpath, parent_relpath " \ 911251881Speter "FROM targets_list " \ 912251881Speter "" 913251881Speter 914362181Sdim#define STMT_INSERT_ACTUAL_EMPTIES_FILES 85 915362181Sdim#define STMT_85_INFO {"STMT_INSERT_ACTUAL_EMPTIES_FILES", NULL} 916362181Sdim#define STMT_85 \ 917289180Speter "INSERT OR IGNORE INTO actual_node ( " \ 918289180Speter " wc_id, local_relpath, parent_relpath) " \ 919289180Speter "SELECT wc_id, local_relpath, parent_relpath " \ 920289180Speter "FROM targets_list " \ 921289180Speter "WHERE kind='file' " \ 922289180Speter "" 923289180Speter 924362181Sdim#define STMT_DELETE_ACTUAL_EMPTY 86 925362181Sdim#define STMT_86_INFO {"STMT_DELETE_ACTUAL_EMPTY", NULL} 926362181Sdim#define STMT_86 \ 927251881Speter "DELETE FROM actual_node " \ 928251881Speter "WHERE wc_id = ?1 AND local_relpath = ?2 " \ 929251881Speter " AND properties IS NULL " \ 930251881Speter " AND conflict_data IS NULL " \ 931251881Speter " AND changelist IS NULL " \ 932251881Speter " AND text_mod IS NULL " \ 933251881Speter " AND older_checksum IS NULL " \ 934251881Speter " AND right_checksum IS NULL " \ 935251881Speter " AND left_checksum IS NULL " \ 936251881Speter "" 937251881Speter 938362181Sdim#define STMT_DELETE_ACTUAL_EMPTIES 87 939362181Sdim#define STMT_87_INFO {"STMT_DELETE_ACTUAL_EMPTIES", NULL} 940362181Sdim#define STMT_87 \ 941251881Speter "DELETE FROM actual_node " \ 942251881Speter "WHERE wc_id = ?1 " \ 943289180Speter " 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))) " \ 944251881Speter " AND properties IS NULL " \ 945251881Speter " AND conflict_data IS NULL " \ 946251881Speter " AND changelist IS NULL " \ 947251881Speter " AND text_mod IS NULL " \ 948251881Speter " AND older_checksum IS NULL " \ 949251881Speter " AND right_checksum IS NULL " \ 950251881Speter " AND left_checksum IS NULL " \ 951251881Speter "" 952251881Speter 953362181Sdim#define STMT_DELETE_BASE_NODE 88 954362181Sdim#define STMT_88_INFO {"STMT_DELETE_BASE_NODE", NULL} 955362181Sdim#define STMT_88 \ 956251881Speter "DELETE FROM nodes " \ 957251881Speter "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \ 958251881Speter "" 959251881Speter 960362181Sdim#define STMT_DELETE_WORKING_NODE 89 961362181Sdim#define STMT_89_INFO {"STMT_DELETE_WORKING_NODE", NULL} 962362181Sdim#define STMT_89 \ 963251881Speter "DELETE FROM nodes " \ 964251881Speter "WHERE wc_id = ?1 AND local_relpath = ?2 " \ 965251881Speter " AND op_depth = (SELECT MAX(op_depth) FROM nodes " \ 966251881Speter " WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth > 0) " \ 967251881Speter "" 968251881Speter 969362181Sdim#define STMT_DELETE_LOWEST_WORKING_NODE 90 970362181Sdim#define STMT_90_INFO {"STMT_DELETE_LOWEST_WORKING_NODE", NULL} 971362181Sdim#define STMT_90 \ 972251881Speter "DELETE FROM nodes " \ 973251881Speter "WHERE wc_id = ?1 AND local_relpath = ?2 " \ 974251881Speter " AND op_depth = (SELECT MIN(op_depth) FROM nodes " \ 975251881Speter " WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth > ?3) " \ 976251881Speter " AND presence = 'base-deleted' " \ 977251881Speter "" 978251881Speter 979362181Sdim#define STMT_DELETE_NODE_ALL_LAYERS 91 980362181Sdim#define STMT_91_INFO {"STMT_DELETE_NODE_ALL_LAYERS", NULL} 981362181Sdim#define STMT_91 \ 982251881Speter "DELETE FROM nodes " \ 983251881Speter "WHERE wc_id = ?1 AND local_relpath = ?2 " \ 984251881Speter "" 985251881Speter 986362181Sdim#define STMT_DELETE_NODES_ABOVE_DEPTH_RECURSIVE 92 987362181Sdim#define STMT_92_INFO {"STMT_DELETE_NODES_ABOVE_DEPTH_RECURSIVE", NULL} 988362181Sdim#define STMT_92 \ 989251881Speter "DELETE FROM nodes " \ 990251881Speter "WHERE wc_id = ?1 " \ 991251881Speter " AND (local_relpath = ?2 " \ 992251881Speter " OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \ 993251881Speter " AND op_depth >= ?3 " \ 994251881Speter "" 995251881Speter 996362181Sdim#define STMT_DELETE_ACTUAL_NODE 93 997362181Sdim#define STMT_93_INFO {"STMT_DELETE_ACTUAL_NODE", NULL} 998362181Sdim#define STMT_93 \ 999251881Speter "DELETE FROM actual_node " \ 1000251881Speter "WHERE wc_id = ?1 AND local_relpath = ?2 " \ 1001251881Speter "" 1002251881Speter 1003362181Sdim#define STMT_DELETE_ACTUAL_NODE_RECURSIVE 94 1004362181Sdim#define STMT_94_INFO {"STMT_DELETE_ACTUAL_NODE_RECURSIVE", NULL} 1005362181Sdim#define STMT_94 \ 1006251881Speter "DELETE FROM actual_node " \ 1007251881Speter "WHERE wc_id = ?1 " \ 1008251881Speter " AND (local_relpath = ?2 " \ 1009251881Speter " OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \ 1010251881Speter "" 1011251881Speter 1012362181Sdim#define STMT_DELETE_ACTUAL_NODE_LEAVING_CHANGELIST 95 1013362181Sdim#define STMT_95_INFO {"STMT_DELETE_ACTUAL_NODE_LEAVING_CHANGELIST", NULL} 1014362181Sdim#define STMT_95 \ 1015251881Speter "DELETE FROM actual_node " \ 1016251881Speter "WHERE wc_id = ?1 " \ 1017251881Speter " AND local_relpath = ?2 " \ 1018251881Speter " AND (changelist IS NULL " \ 1019251881Speter " OR NOT EXISTS (SELECT 1 FROM nodes_current c " \ 1020251881Speter " WHERE c.wc_id = ?1 AND c.local_relpath = ?2 " \ 1021251881Speter " AND c.kind = 'file')) " \ 1022251881Speter "" 1023251881Speter 1024362181Sdim#define STMT_DELETE_ACTUAL_NODE_LEAVING_CHANGELIST_RECURSIVE 96 1025362181Sdim#define STMT_96_INFO {"STMT_DELETE_ACTUAL_NODE_LEAVING_CHANGELIST_RECURSIVE", NULL} 1026362181Sdim#define STMT_96 \ 1027251881Speter "DELETE FROM actual_node " \ 1028251881Speter "WHERE wc_id = ?1 " \ 1029251881Speter " AND (local_relpath = ?2 " \ 1030251881Speter " OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \ 1031251881Speter " AND (changelist IS NULL " \ 1032251881Speter " OR NOT EXISTS (SELECT 1 FROM nodes_current c " \ 1033251881Speter " WHERE c.wc_id = ?1 " \ 1034251881Speter " AND c.local_relpath = actual_node.local_relpath " \ 1035251881Speter " AND c.kind = 'file')) " \ 1036251881Speter "" 1037251881Speter 1038362181Sdim#define STMT_CLEAR_ACTUAL_NODE_LEAVING_CHANGELIST 97 1039362181Sdim#define STMT_97_INFO {"STMT_CLEAR_ACTUAL_NODE_LEAVING_CHANGELIST", NULL} 1040362181Sdim#define STMT_97 \ 1041251881Speter "UPDATE actual_node " \ 1042251881Speter "SET properties = NULL, " \ 1043251881Speter " text_mod = NULL, " \ 1044251881Speter " conflict_data = NULL, " \ 1045251881Speter " tree_conflict_data = NULL, " \ 1046251881Speter " older_checksum = NULL, " \ 1047251881Speter " left_checksum = NULL, " \ 1048251881Speter " right_checksum = NULL " \ 1049251881Speter "WHERE wc_id = ?1 AND local_relpath = ?2 " \ 1050251881Speter "" 1051251881Speter 1052362181Sdim#define STMT_CLEAR_ACTUAL_NODE_LEAVING_CONFLICT 98 1053362181Sdim#define STMT_98_INFO {"STMT_CLEAR_ACTUAL_NODE_LEAVING_CONFLICT", NULL} 1054362181Sdim#define STMT_98 \ 1055251881Speter "UPDATE actual_node " \ 1056251881Speter "SET properties = NULL, " \ 1057251881Speter " text_mod = NULL, " \ 1058289180Speter " tree_conflict_data = NULL, " \ 1059289180Speter " older_checksum = NULL, " \ 1060289180Speter " left_checksum = NULL, " \ 1061289180Speter " right_checksum = NULL, " \ 1062289180Speter " changelist = NULL " \ 1063289180Speter "WHERE wc_id = ?1 AND local_relpath = ?2 " \ 1064289180Speter "" 1065289180Speter 1066362181Sdim#define STMT_CLEAR_ACTUAL_NODE_LEAVING_CHANGELIST_RECURSIVE 99 1067362181Sdim#define STMT_99_INFO {"STMT_CLEAR_ACTUAL_NODE_LEAVING_CHANGELIST_RECURSIVE", NULL} 1068362181Sdim#define STMT_99 \ 1069289180Speter "UPDATE actual_node " \ 1070289180Speter "SET properties = NULL, " \ 1071289180Speter " text_mod = NULL, " \ 1072251881Speter " conflict_data = NULL, " \ 1073251881Speter " tree_conflict_data = NULL, " \ 1074251881Speter " older_checksum = NULL, " \ 1075251881Speter " left_checksum = NULL, " \ 1076251881Speter " right_checksum = NULL " \ 1077251881Speter "WHERE wc_id = ?1 " \ 1078251881Speter " AND (local_relpath = ?2 " \ 1079251881Speter " OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \ 1080251881Speter "" 1081251881Speter 1082362181Sdim#define STMT_UPDATE_NODE_BASE_DEPTH 100 1083362181Sdim#define STMT_100_INFO {"STMT_UPDATE_NODE_BASE_DEPTH", NULL} 1084362181Sdim#define STMT_100 \ 1085251881Speter "UPDATE nodes SET depth = ?3 " \ 1086251881Speter "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \ 1087251881Speter " AND kind='dir' " \ 1088289180Speter " AND presence IN ('normal', 'incomplete') " \ 1089251881Speter "" 1090251881Speter 1091362181Sdim#define STMT_UPDATE_NODE_BASE_PRESENCE 101 1092362181Sdim#define STMT_101_INFO {"STMT_UPDATE_NODE_BASE_PRESENCE", NULL} 1093362181Sdim#define STMT_101 \ 1094251881Speter "UPDATE nodes SET presence = ?3 " \ 1095251881Speter "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \ 1096251881Speter "" 1097251881Speter 1098362181Sdim#define STMT_UPDATE_BASE_NODE_PRESENCE_REVNUM_AND_REPOS_PATH 102 1099362181Sdim#define STMT_102_INFO {"STMT_UPDATE_BASE_NODE_PRESENCE_REVNUM_AND_REPOS_PATH", NULL} 1100362181Sdim#define STMT_102 \ 1101251881Speter "UPDATE nodes SET presence = ?3, revision = ?4, repos_path = ?5 " \ 1102251881Speter "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \ 1103251881Speter "" 1104251881Speter 1105362181Sdim#define STMT_LOOK_FOR_WORK 103 1106362181Sdim#define STMT_103_INFO {"STMT_LOOK_FOR_WORK", NULL} 1107362181Sdim#define STMT_103 \ 1108251881Speter "SELECT id FROM work_queue LIMIT 1 " \ 1109251881Speter "" 1110251881Speter 1111362181Sdim#define STMT_INSERT_WORK_ITEM 104 1112362181Sdim#define STMT_104_INFO {"STMT_INSERT_WORK_ITEM", NULL} 1113362181Sdim#define STMT_104 \ 1114251881Speter "INSERT INTO work_queue (work) VALUES (?1) " \ 1115251881Speter "" 1116251881Speter 1117362181Sdim#define STMT_SELECT_WORK_ITEM 105 1118362181Sdim#define STMT_105_INFO {"STMT_SELECT_WORK_ITEM", NULL} 1119362181Sdim#define STMT_105 \ 1120251881Speter "SELECT id, work FROM work_queue ORDER BY id LIMIT 1 " \ 1121251881Speter "" 1122251881Speter 1123362181Sdim#define STMT_DELETE_WORK_ITEM 106 1124362181Sdim#define STMT_106_INFO {"STMT_DELETE_WORK_ITEM", NULL} 1125362181Sdim#define STMT_106 \ 1126251881Speter "DELETE FROM work_queue WHERE id = ?1 " \ 1127251881Speter "" 1128251881Speter 1129362181Sdim#define STMT_INSERT_OR_IGNORE_PRISTINE 107 1130362181Sdim#define STMT_107_INFO {"STMT_INSERT_OR_IGNORE_PRISTINE", NULL} 1131362181Sdim#define STMT_107 \ 1132251881Speter "INSERT OR IGNORE INTO pristine (checksum, md5_checksum, size, refcount) " \ 1133251881Speter "VALUES (?1, ?2, ?3, 0) " \ 1134251881Speter "" 1135251881Speter 1136362181Sdim#define STMT_INSERT_PRISTINE 108 1137362181Sdim#define STMT_108_INFO {"STMT_INSERT_PRISTINE", NULL} 1138362181Sdim#define STMT_108 \ 1139251881Speter "INSERT INTO pristine (checksum, md5_checksum, size, refcount) " \ 1140251881Speter "VALUES (?1, ?2, ?3, 0) " \ 1141251881Speter "" 1142251881Speter 1143362181Sdim#define STMT_SELECT_PRISTINE 109 1144362181Sdim#define STMT_109_INFO {"STMT_SELECT_PRISTINE", NULL} 1145362181Sdim#define STMT_109 \ 1146251881Speter "SELECT md5_checksum " \ 1147251881Speter "FROM pristine " \ 1148251881Speter "WHERE checksum = ?1 " \ 1149251881Speter "" 1150251881Speter 1151362181Sdim#define STMT_SELECT_PRISTINE_SIZE 110 1152362181Sdim#define STMT_110_INFO {"STMT_SELECT_PRISTINE_SIZE", NULL} 1153362181Sdim#define STMT_110 \ 1154251881Speter "SELECT size " \ 1155251881Speter "FROM pristine " \ 1156251881Speter "WHERE checksum = ?1 LIMIT 1 " \ 1157251881Speter "" 1158251881Speter 1159362181Sdim#define STMT_SELECT_PRISTINE_BY_MD5 111 1160362181Sdim#define STMT_111_INFO {"STMT_SELECT_PRISTINE_BY_MD5", NULL} 1161362181Sdim#define STMT_111 \ 1162251881Speter "SELECT checksum " \ 1163251881Speter "FROM pristine " \ 1164251881Speter "WHERE md5_checksum = ?1 " \ 1165251881Speter "" 1166251881Speter 1167362181Sdim#define STMT_SELECT_UNREFERENCED_PRISTINES 112 1168362181Sdim#define STMT_112_INFO {"STMT_SELECT_UNREFERENCED_PRISTINES", NULL} 1169362181Sdim#define STMT_112 \ 1170251881Speter "SELECT checksum " \ 1171251881Speter "FROM pristine " \ 1172251881Speter "WHERE refcount = 0 " \ 1173251881Speter "" 1174251881Speter 1175362181Sdim#define STMT_DELETE_PRISTINE_IF_UNREFERENCED 113 1176362181Sdim#define STMT_113_INFO {"STMT_DELETE_PRISTINE_IF_UNREFERENCED", NULL} 1177362181Sdim#define STMT_113 \ 1178251881Speter "DELETE FROM pristine " \ 1179251881Speter "WHERE checksum = ?1 AND refcount = 0 " \ 1180251881Speter "" 1181251881Speter 1182362181Sdim#define STMT_SELECT_COPY_PRISTINES 114 1183362181Sdim#define STMT_114_INFO {"STMT_SELECT_COPY_PRISTINES", NULL} 1184362181Sdim#define STMT_114 \ 1185251881Speter "SELECT n.checksum, md5_checksum, size " \ 1186251881Speter "FROM nodes_current n " \ 1187251881Speter "LEFT JOIN pristine p ON n.checksum = p.checksum " \ 1188251881Speter "WHERE wc_id = ?1 " \ 1189251881Speter " AND n.local_relpath = ?2 " \ 1190251881Speter " AND n.checksum IS NOT NULL " \ 1191251881Speter "UNION ALL " \ 1192251881Speter "SELECT n.checksum, md5_checksum, size " \ 1193251881Speter "FROM nodes n " \ 1194251881Speter "LEFT JOIN pristine p ON n.checksum = p.checksum " \ 1195251881Speter "WHERE wc_id = ?1 " \ 1196251881Speter " 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)) " \ 1197251881Speter " AND op_depth >= " \ 1198251881Speter " (SELECT MAX(op_depth) FROM nodes WHERE wc_id = ?1 AND local_relpath = ?2) " \ 1199251881Speter " AND n.checksum IS NOT NULL " \ 1200251881Speter "" 1201251881Speter 1202362181Sdim#define STMT_VACUUM 115 1203362181Sdim#define STMT_115_INFO {"STMT_VACUUM", NULL} 1204362181Sdim#define STMT_115 \ 1205251881Speter "VACUUM " \ 1206251881Speter "" 1207251881Speter 1208362181Sdim#define STMT_SELECT_CONFLICT_VICTIMS 116 1209362181Sdim#define STMT_116_INFO {"STMT_SELECT_CONFLICT_VICTIMS", NULL} 1210362181Sdim#define STMT_116 \ 1211251881Speter "SELECT local_relpath, conflict_data " \ 1212251881Speter "FROM actual_node " \ 1213251881Speter "WHERE wc_id = ?1 AND parent_relpath = ?2 AND " \ 1214251881Speter " NOT (conflict_data IS NULL) " \ 1215251881Speter "" 1216251881Speter 1217362181Sdim#define STMT_INSERT_WC_LOCK 117 1218362181Sdim#define STMT_117_INFO {"STMT_INSERT_WC_LOCK", NULL} 1219362181Sdim#define STMT_117 \ 1220251881Speter "INSERT INTO wc_lock (wc_id, local_dir_relpath, locked_levels) " \ 1221251881Speter "VALUES (?1, ?2, ?3) " \ 1222251881Speter "" 1223251881Speter 1224362181Sdim#define STMT_SELECT_WC_LOCK 118 1225362181Sdim#define STMT_118_INFO {"STMT_SELECT_WC_LOCK", NULL} 1226362181Sdim#define STMT_118 \ 1227251881Speter "SELECT locked_levels FROM wc_lock " \ 1228251881Speter "WHERE wc_id = ?1 AND local_dir_relpath = ?2 " \ 1229251881Speter "" 1230251881Speter 1231362181Sdim#define STMT_SELECT_ANCESTOR_WCLOCKS 119 1232362181Sdim#define STMT_119_INFO {"STMT_SELECT_ANCESTOR_WCLOCKS", NULL} 1233362181Sdim#define STMT_119 \ 1234251881Speter "SELECT local_dir_relpath, locked_levels FROM wc_lock " \ 1235251881Speter "WHERE wc_id = ?1 " \ 1236251881Speter " AND ((local_dir_relpath >= ?3 AND local_dir_relpath <= ?2) " \ 1237251881Speter " OR local_dir_relpath = '') " \ 1238251881Speter "" 1239251881Speter 1240362181Sdim#define STMT_DELETE_WC_LOCK 120 1241362181Sdim#define STMT_120_INFO {"STMT_DELETE_WC_LOCK", NULL} 1242362181Sdim#define STMT_120 \ 1243251881Speter "DELETE FROM wc_lock " \ 1244251881Speter "WHERE wc_id = ?1 AND local_dir_relpath = ?2 " \ 1245251881Speter "" 1246251881Speter 1247362181Sdim#define STMT_FIND_WC_LOCK 121 1248362181Sdim#define STMT_121_INFO {"STMT_FIND_WC_LOCK", NULL} 1249362181Sdim#define STMT_121 \ 1250251881Speter "SELECT local_dir_relpath FROM wc_lock " \ 1251251881Speter "WHERE wc_id = ?1 " \ 1252251881Speter " 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)) " \ 1253251881Speter "" 1254251881Speter 1255362181Sdim#define STMT_FIND_CONFLICT_DESCENDANT 122 1256362181Sdim#define STMT_122_INFO {"STMT_FIND_CONFLICT_DESCENDANT", NULL} 1257362181Sdim#define STMT_122 \ 1258289180Speter "SELECT 1 FROM actual_node " \ 1259289180Speter "WHERE wc_id = ?1 " \ 1260289180Speter " AND local_relpath > (?2 || '/') " \ 1261289180Speter " AND local_relpath < (?2 || '0') " \ 1262289180Speter " AND conflict_data IS NOT NULL " \ 1263289180Speter "LIMIT 1 " \ 1264289180Speter "" 1265289180Speter 1266362181Sdim#define STMT_DELETE_WC_LOCK_ORPHAN 123 1267362181Sdim#define STMT_123_INFO {"STMT_DELETE_WC_LOCK_ORPHAN", NULL} 1268362181Sdim#define STMT_123 \ 1269251881Speter "DELETE FROM wc_lock " \ 1270251881Speter "WHERE wc_id = ?1 AND local_dir_relpath = ?2 " \ 1271251881Speter "AND NOT EXISTS (SELECT 1 FROM nodes " \ 1272251881Speter " WHERE nodes.wc_id = ?1 " \ 1273251881Speter " AND nodes.local_relpath = wc_lock.local_dir_relpath) " \ 1274251881Speter "" 1275251881Speter 1276362181Sdim#define STMT_DELETE_WC_LOCK_ORPHAN_RECURSIVE 124 1277362181Sdim#define STMT_124_INFO {"STMT_DELETE_WC_LOCK_ORPHAN_RECURSIVE", NULL} 1278362181Sdim#define STMT_124 \ 1279251881Speter "DELETE FROM wc_lock " \ 1280251881Speter "WHERE wc_id = ?1 " \ 1281251881Speter " AND (local_dir_relpath = ?2 " \ 1282251881Speter " 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))) " \ 1283251881Speter " AND NOT EXISTS (SELECT 1 FROM nodes " \ 1284251881Speter " WHERE nodes.wc_id = ?1 " \ 1285251881Speter " AND nodes.local_relpath = wc_lock.local_dir_relpath) " \ 1286251881Speter "" 1287251881Speter 1288362181Sdim#define STMT_APPLY_CHANGES_TO_BASE_NODE 125 1289362181Sdim#define STMT_125_INFO {"STMT_APPLY_CHANGES_TO_BASE_NODE", NULL} 1290362181Sdim#define STMT_125 \ 1291251881Speter "INSERT OR REPLACE INTO nodes ( " \ 1292251881Speter " wc_id, local_relpath, op_depth, parent_relpath, repos_id, repos_path, " \ 1293251881Speter " revision, presence, depth, kind, changed_revision, changed_date, " \ 1294251881Speter " changed_author, checksum, properties, dav_cache, symlink_target, " \ 1295251881Speter " inherited_props, file_external ) " \ 1296251881Speter "VALUES (?1, ?2, 0, " \ 1297251881Speter " ?3, ?4, ?5, ?6, ?7, ?8, ?9, ?10, ?11, ?12, ?13, ?14, ?15, ?16, ?17, " \ 1298251881Speter " (SELECT file_external FROM nodes " \ 1299251881Speter " WHERE wc_id = ?1 " \ 1300251881Speter " AND local_relpath = ?2 " \ 1301251881Speter " AND op_depth = 0)) " \ 1302251881Speter "" 1303251881Speter 1304362181Sdim#define STMT_INSTALL_WORKING_NODE_FOR_DELETE 126 1305362181Sdim#define STMT_126_INFO {"STMT_INSTALL_WORKING_NODE_FOR_DELETE", NULL} 1306362181Sdim#define STMT_126 \ 1307289180Speter "INSERT INTO nodes ( " \ 1308251881Speter " wc_id, local_relpath, op_depth, " \ 1309251881Speter " parent_relpath, presence, kind) " \ 1310251881Speter "VALUES(?1, ?2, ?3, ?4, 'base-deleted', ?5) " \ 1311251881Speter "" 1312251881Speter 1313362181Sdim#define STMT_REPLACE_WITH_BASE_DELETED 127 1314362181Sdim#define STMT_127_INFO {"STMT_REPLACE_WITH_BASE_DELETED", NULL} 1315362181Sdim#define STMT_127 \ 1316251881Speter "INSERT OR REPLACE INTO nodes (wc_id, local_relpath, op_depth, parent_relpath, " \ 1317251881Speter " kind, moved_to, presence) " \ 1318251881Speter "SELECT wc_id, local_relpath, op_depth, parent_relpath, " \ 1319251881Speter " kind, moved_to, 'base-deleted' " \ 1320251881Speter " FROM nodes " \ 1321251881Speter " WHERE wc_id = ?1 " \ 1322289180Speter " AND local_relpath = ?2 " \ 1323251881Speter " AND op_depth = ?3 " \ 1324251881Speter "" 1325251881Speter 1326362181Sdim#define STMT_INSERT_DELETE_FROM_NODE_RECURSIVE 128 1327362181Sdim#define STMT_128_INFO {"STMT_INSERT_DELETE_FROM_NODE_RECURSIVE", NULL} 1328362181Sdim#define STMT_128 \ 1329251881Speter "INSERT INTO nodes ( " \ 1330251881Speter " wc_id, local_relpath, op_depth, parent_relpath, presence, kind) " \ 1331251881Speter "SELECT wc_id, local_relpath, ?4 , parent_relpath, 'base-deleted', " \ 1332251881Speter " kind " \ 1333251881Speter "FROM nodes " \ 1334289180Speter "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = ?3 " \ 1335289180Speter "UNION ALL " \ 1336289180Speter "SELECT wc_id, local_relpath, ?4 , parent_relpath, 'base-deleted', " \ 1337289180Speter " kind " \ 1338289180Speter "FROM nodes " \ 1339251881Speter "WHERE wc_id = ?1 " \ 1340289180Speter " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \ 1341251881Speter " AND op_depth = ?3 " \ 1342251881Speter " AND presence NOT IN ('base-deleted', 'not-present', 'excluded', 'server-excluded') " \ 1343251881Speter " AND file_external IS NULL " \ 1344289180Speter "ORDER BY local_relpath " \ 1345251881Speter "" 1346251881Speter 1347362181Sdim#define STMT_INSERT_WORKING_NODE_FROM_BASE_COPY 129 1348362181Sdim#define STMT_129_INFO {"STMT_INSERT_WORKING_NODE_FROM_BASE_COPY", NULL} 1349362181Sdim#define STMT_129 \ 1350289180Speter "INSERT OR REPLACE INTO nodes ( " \ 1351251881Speter " wc_id, local_relpath, op_depth, parent_relpath, repos_id, repos_path, " \ 1352251881Speter " revision, presence, depth, kind, changed_revision, changed_date, " \ 1353251881Speter " changed_author, checksum, properties, translated_size, last_mod_time, " \ 1354289180Speter " symlink_target, moved_to ) " \ 1355251881Speter "SELECT wc_id, local_relpath, ?3 , parent_relpath, repos_id, " \ 1356251881Speter " repos_path, revision, presence, depth, kind, changed_revision, " \ 1357251881Speter " changed_date, changed_author, checksum, properties, translated_size, " \ 1358289180Speter " last_mod_time, symlink_target, " \ 1359289180Speter " (SELECT moved_to FROM nodes " \ 1360289180Speter " WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = ?3) moved_to " \ 1361251881Speter "FROM nodes " \ 1362251881Speter "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \ 1363251881Speter "" 1364251881Speter 1365362181Sdim#define STMT_INSERT_DELETE_FROM_BASE 130 1366362181Sdim#define STMT_130_INFO {"STMT_INSERT_DELETE_FROM_BASE", NULL} 1367362181Sdim#define STMT_130 \ 1368251881Speter "INSERT INTO nodes ( " \ 1369251881Speter " wc_id, local_relpath, op_depth, parent_relpath, presence, kind) " \ 1370251881Speter "SELECT wc_id, local_relpath, ?3 , parent_relpath, " \ 1371251881Speter " 'base-deleted', kind " \ 1372251881Speter "FROM nodes " \ 1373251881Speter "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \ 1374251881Speter "" 1375251881Speter 1376362181Sdim#define STMT_UPDATE_OP_DEPTH_INCREASE_RECURSIVE 131 1377362181Sdim#define STMT_131_INFO {"STMT_UPDATE_OP_DEPTH_INCREASE_RECURSIVE", NULL} 1378362181Sdim#define STMT_131 \ 1379251881Speter "UPDATE nodes SET op_depth = ?3 + 1 " \ 1380251881Speter "WHERE wc_id = ?1 " \ 1381251881Speter " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \ 1382251881Speter " AND op_depth = ?3 " \ 1383251881Speter "" 1384251881Speter 1385362181Sdim#define STMT_COPY_OP_DEPTH_RECURSIVE 132 1386362181Sdim#define STMT_132_INFO {"STMT_COPY_OP_DEPTH_RECURSIVE", NULL} 1387362181Sdim#define STMT_132 \ 1388289180Speter "INSERT INTO nodes ( " \ 1389289180Speter " wc_id, local_relpath, op_depth, parent_relpath, repos_id, repos_path, " \ 1390289180Speter " revision, presence, depth, kind, changed_revision, changed_date, " \ 1391289180Speter " changed_author, checksum, properties, translated_size, last_mod_time, " \ 1392289180Speter " symlink_target, moved_here, moved_to ) " \ 1393289180Speter "SELECT " \ 1394289180Speter " wc_id, local_relpath, ?4, parent_relpath, repos_id, " \ 1395289180Speter " repos_path, revision, presence, depth, kind, changed_revision, " \ 1396289180Speter " changed_date, changed_author, checksum, properties, translated_size, " \ 1397289180Speter " last_mod_time, symlink_target, NULL, NULL " \ 1398289180Speter "FROM nodes " \ 1399289180Speter "WHERE wc_id = ?1 AND op_depth = ?3 AND local_relpath = ?2 " \ 1400289180Speter "UNION ALL " \ 1401289180Speter "SELECT " \ 1402289180Speter " wc_id, local_relpath, ?4, parent_relpath, repos_id, " \ 1403289180Speter " repos_path, revision, presence, depth, kind, changed_revision, " \ 1404289180Speter " changed_date, changed_author, checksum, properties, translated_size, " \ 1405289180Speter " last_mod_time, symlink_target, NULL, NULL " \ 1406289180Speter "FROM nodes " \ 1407289180Speter "WHERE wc_id = ?1 AND op_depth = ?3 " \ 1408289180Speter " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \ 1409289180Speter "ORDER BY local_relpath " \ 1410251881Speter "" 1411251881Speter 1412362181Sdim#define STMT_DOES_NODE_EXIST 133 1413362181Sdim#define STMT_133_INFO {"STMT_DOES_NODE_EXIST", NULL} 1414362181Sdim#define STMT_133 \ 1415251881Speter "SELECT 1 FROM nodes WHERE wc_id = ?1 AND local_relpath = ?2 " \ 1416251881Speter "LIMIT 1 " \ 1417251881Speter "" 1418251881Speter 1419362181Sdim#define STMT_HAS_SERVER_EXCLUDED_DESCENDANTS 134 1420362181Sdim#define STMT_134_INFO {"STMT_HAS_SERVER_EXCLUDED_DESCENDANTS", NULL} 1421362181Sdim#define STMT_134 \ 1422251881Speter "SELECT local_relpath FROM nodes " \ 1423251881Speter "WHERE wc_id = ?1 " \ 1424251881Speter " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \ 1425251881Speter " AND op_depth = 0 AND presence = 'server-excluded' " \ 1426251881Speter "LIMIT 1 " \ 1427251881Speter "" 1428251881Speter 1429362181Sdim#define STMT_SELECT_ALL_EXCLUDED_DESCENDANTS 135 1430362181Sdim#define STMT_135_INFO {"STMT_SELECT_ALL_EXCLUDED_DESCENDANTS", NULL} 1431362181Sdim#define STMT_135 \ 1432251881Speter "SELECT local_relpath FROM nodes " \ 1433251881Speter "WHERE wc_id = ?1 " \ 1434251881Speter " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \ 1435251881Speter " AND op_depth = 0 " \ 1436251881Speter " AND (presence = 'server-excluded' OR presence = 'excluded') " \ 1437251881Speter "" 1438251881Speter 1439362181Sdim#define STMT_INSERT_WORKING_NODE_COPY_FROM 136 1440362181Sdim#define STMT_136_INFO {"STMT_INSERT_WORKING_NODE_COPY_FROM", NULL} 1441362181Sdim#define STMT_136 \ 1442251881Speter "INSERT OR REPLACE INTO nodes ( " \ 1443251881Speter " wc_id, local_relpath, op_depth, parent_relpath, repos_id, " \ 1444251881Speter " repos_path, revision, presence, depth, moved_here, kind, changed_revision, " \ 1445251881Speter " changed_date, changed_author, checksum, properties, translated_size, " \ 1446251881Speter " last_mod_time, symlink_target, moved_to ) " \ 1447251881Speter "SELECT wc_id, ?3 , ?4 , ?5 , " \ 1448251881Speter " repos_id, repos_path, revision, ?6 , depth, " \ 1449251881Speter " ?7, kind, changed_revision, changed_date, " \ 1450251881Speter " changed_author, checksum, properties, translated_size, " \ 1451251881Speter " last_mod_time, symlink_target, " \ 1452251881Speter " (SELECT dst.moved_to FROM nodes AS dst " \ 1453251881Speter " WHERE dst.wc_id = ?1 " \ 1454251881Speter " AND dst.local_relpath = ?3 " \ 1455251881Speter " AND dst.op_depth = ?4) " \ 1456251881Speter "FROM nodes_current " \ 1457251881Speter "WHERE wc_id = ?1 AND local_relpath = ?2 " \ 1458251881Speter "" 1459251881Speter 1460362181Sdim#define STMT_INSERT_WORKING_NODE_COPY_FROM_DEPTH 137 1461362181Sdim#define STMT_137_INFO {"STMT_INSERT_WORKING_NODE_COPY_FROM_DEPTH", NULL} 1462362181Sdim#define STMT_137 \ 1463251881Speter "INSERT OR REPLACE INTO nodes ( " \ 1464251881Speter " wc_id, local_relpath, op_depth, parent_relpath, repos_id, " \ 1465251881Speter " repos_path, revision, presence, depth, moved_here, kind, changed_revision, " \ 1466251881Speter " changed_date, changed_author, checksum, properties, translated_size, " \ 1467251881Speter " last_mod_time, symlink_target, moved_to ) " \ 1468251881Speter "SELECT wc_id, ?3 , ?4 , ?5 , " \ 1469251881Speter " repos_id, repos_path, revision, ?6 , depth, " \ 1470251881Speter " ?8 , kind, changed_revision, changed_date, " \ 1471251881Speter " changed_author, checksum, properties, translated_size, " \ 1472251881Speter " last_mod_time, symlink_target, " \ 1473251881Speter " (SELECT dst.moved_to FROM nodes AS dst " \ 1474251881Speter " WHERE dst.wc_id = ?1 " \ 1475251881Speter " AND dst.local_relpath = ?3 " \ 1476251881Speter " AND dst.op_depth = ?4) " \ 1477251881Speter "FROM nodes " \ 1478251881Speter "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = ?7 " \ 1479251881Speter "" 1480251881Speter 1481362181Sdim#define STMT_UPDATE_BASE_REVISION 138 1482362181Sdim#define STMT_138_INFO {"STMT_UPDATE_BASE_REVISION", NULL} 1483362181Sdim#define STMT_138 \ 1484251881Speter "UPDATE nodes SET revision = ?3 " \ 1485251881Speter "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \ 1486251881Speter "" 1487251881Speter 1488362181Sdim#define STMT_UPDATE_BASE_REPOS 139 1489362181Sdim#define STMT_139_INFO {"STMT_UPDATE_BASE_REPOS", NULL} 1490362181Sdim#define STMT_139 \ 1491251881Speter "UPDATE nodes SET repos_id = ?3, repos_path = ?4 " \ 1492251881Speter "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \ 1493251881Speter "" 1494251881Speter 1495362181Sdim#define STMT_ACTUAL_HAS_CHILDREN 140 1496362181Sdim#define STMT_140_INFO {"STMT_ACTUAL_HAS_CHILDREN", NULL} 1497362181Sdim#define STMT_140 \ 1498251881Speter "SELECT 1 FROM actual_node " \ 1499251881Speter "WHERE wc_id = ?1 AND parent_relpath = ?2 " \ 1500251881Speter "LIMIT 1 " \ 1501251881Speter "" 1502251881Speter 1503362181Sdim#define STMT_INSERT_EXTERNAL 141 1504362181Sdim#define STMT_141_INFO {"STMT_INSERT_EXTERNAL", NULL} 1505362181Sdim#define STMT_141 \ 1506251881Speter "INSERT OR REPLACE INTO externals ( " \ 1507251881Speter " wc_id, local_relpath, parent_relpath, presence, kind, def_local_relpath, " \ 1508251881Speter " repos_id, def_repos_relpath, def_operational_revision, def_revision) " \ 1509251881Speter "VALUES (?1, ?2, ?3, ?4, ?5, ?6, ?7, ?8, ?9, ?10) " \ 1510251881Speter "" 1511251881Speter 1512362181Sdim#define STMT_SELECT_EXTERNAL_INFO 142 1513362181Sdim#define STMT_142_INFO {"STMT_SELECT_EXTERNAL_INFO", NULL} 1514362181Sdim#define STMT_142 \ 1515251881Speter "SELECT presence, kind, def_local_relpath, repos_id, " \ 1516251881Speter " def_repos_relpath, def_operational_revision, def_revision " \ 1517251881Speter "FROM externals WHERE wc_id = ?1 AND local_relpath = ?2 " \ 1518251881Speter "LIMIT 1 " \ 1519251881Speter "" 1520251881Speter 1521362181Sdim#define STMT_DELETE_FILE_EXTERNALS 143 1522362181Sdim#define STMT_143_INFO {"STMT_DELETE_FILE_EXTERNALS", NULL} 1523362181Sdim#define STMT_143 \ 1524251881Speter "DELETE FROM nodes " \ 1525251881Speter "WHERE wc_id = ?1 " \ 1526251881Speter " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \ 1527251881Speter " AND op_depth = 0 " \ 1528251881Speter " AND file_external IS NOT NULL " \ 1529251881Speter "" 1530251881Speter 1531362181Sdim#define STMT_DELETE_FILE_EXTERNAL_REGISTATIONS 144 1532362181Sdim#define STMT_144_INFO {"STMT_DELETE_FILE_EXTERNAL_REGISTATIONS", NULL} 1533362181Sdim#define STMT_144 \ 1534251881Speter "DELETE FROM externals " \ 1535251881Speter "WHERE wc_id = ?1 " \ 1536251881Speter " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \ 1537251881Speter " AND kind != 'dir' " \ 1538251881Speter "" 1539251881Speter 1540362181Sdim#define STMT_DELETE_EXTERNAL_REGISTATIONS 145 1541362181Sdim#define STMT_145_INFO {"STMT_DELETE_EXTERNAL_REGISTATIONS", NULL} 1542362181Sdim#define STMT_145 \ 1543251881Speter "DELETE FROM externals " \ 1544251881Speter "WHERE wc_id = ?1 " \ 1545251881Speter " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \ 1546251881Speter "" 1547251881Speter 1548362181Sdim#define STMT_SELECT_COMMITTABLE_EXTERNALS_BELOW 146 1549362181Sdim#define STMT_146_INFO {"STMT_SELECT_COMMITTABLE_EXTERNALS_BELOW", NULL} 1550362181Sdim#define STMT_146 \ 1551251881Speter "SELECT local_relpath, kind, def_repos_relpath, " \ 1552251881Speter " (SELECT root FROM repository AS r WHERE r.id = e.repos_id) " \ 1553251881Speter "FROM externals e " \ 1554251881Speter "WHERE wc_id = ?1 " \ 1555251881Speter " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \ 1556251881Speter " AND def_revision IS NULL " \ 1557251881Speter " AND repos_id = (SELECT repos_id " \ 1558251881Speter " FROM nodes AS n " \ 1559251881Speter " WHERE n.wc_id = ?1 " \ 1560251881Speter " AND n.local_relpath = '' " \ 1561251881Speter " AND n.op_depth = 0) " \ 1562251881Speter " AND ((kind='dir') " \ 1563251881Speter " OR EXISTS (SELECT 1 FROM nodes " \ 1564251881Speter " WHERE nodes.wc_id = e.wc_id " \ 1565251881Speter " AND nodes.local_relpath = e.parent_relpath)) " \ 1566251881Speter "" 1567251881Speter 1568362181Sdim#define STMT_SELECT_COMMITTABLE_EXTERNALS_IMMEDIATELY_BELOW 147 1569362181Sdim#define STMT_147_INFO {"STMT_SELECT_COMMITTABLE_EXTERNALS_IMMEDIATELY_BELOW", NULL} 1570362181Sdim#define STMT_147 \ 1571251881Speter "SELECT local_relpath, kind, def_repos_relpath, " \ 1572251881Speter " (SELECT root FROM repository AS r WHERE r.id = e.repos_id) " \ 1573251881Speter "FROM externals e " \ 1574251881Speter "WHERE wc_id = ?1 " \ 1575251881Speter " 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)) " \ 1576251881Speter " AND parent_relpath = ?2 " \ 1577251881Speter " AND def_revision IS NULL " \ 1578251881Speter " AND repos_id = (SELECT repos_id " \ 1579251881Speter " FROM nodes AS n " \ 1580251881Speter " WHERE n.wc_id = ?1 " \ 1581251881Speter " AND n.local_relpath = '' " \ 1582251881Speter " AND n.op_depth = 0) " \ 1583251881Speter " AND ((kind='dir') " \ 1584251881Speter " OR EXISTS (SELECT 1 FROM nodes " \ 1585251881Speter " WHERE nodes.wc_id = e.wc_id " \ 1586251881Speter " AND nodes.local_relpath = e.parent_relpath)) " \ 1587251881Speter "" 1588251881Speter 1589362181Sdim#define STMT_SELECT_EXTERNALS_DEFINED 148 1590362181Sdim#define STMT_148_INFO {"STMT_SELECT_EXTERNALS_DEFINED", NULL} 1591362181Sdim#define STMT_148 \ 1592251881Speter "SELECT local_relpath, def_local_relpath " \ 1593251881Speter "FROM externals " \ 1594251881Speter "WHERE (wc_id = ?1 AND def_local_relpath = ?2) " \ 1595251881Speter " 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))) " \ 1596251881Speter "" 1597251881Speter 1598362181Sdim#define STMT_DELETE_EXTERNAL 149 1599362181Sdim#define STMT_149_INFO {"STMT_DELETE_EXTERNAL", NULL} 1600362181Sdim#define STMT_149 \ 1601251881Speter "DELETE FROM externals " \ 1602251881Speter "WHERE wc_id = ?1 AND local_relpath = ?2 " \ 1603251881Speter "" 1604251881Speter 1605362181Sdim#define STMT_SELECT_EXTERNAL_PROPERTIES 150 1606362181Sdim#define STMT_150_INFO {"STMT_SELECT_EXTERNAL_PROPERTIES", NULL} 1607362181Sdim#define STMT_150 \ 1608251881Speter "SELECT IFNULL((SELECT properties FROM actual_node a " \ 1609251881Speter " WHERE a.wc_id = ?1 AND A.local_relpath = n.local_relpath), " \ 1610251881Speter " properties), " \ 1611251881Speter " local_relpath, depth " \ 1612251881Speter "FROM nodes_current n " \ 1613251881Speter "WHERE wc_id = ?1 AND local_relpath = ?2 " \ 1614251881Speter " AND kind = 'dir' AND presence IN ('normal', 'incomplete') " \ 1615251881Speter "UNION ALL " \ 1616251881Speter "SELECT IFNULL((SELECT properties FROM actual_node a " \ 1617251881Speter " WHERE a.wc_id = ?1 AND A.local_relpath = n.local_relpath), " \ 1618251881Speter " properties), " \ 1619251881Speter " local_relpath, depth " \ 1620251881Speter "FROM nodes_current n " \ 1621251881Speter "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)) " \ 1622251881Speter " AND kind = 'dir' AND presence IN ('normal', 'incomplete') " \ 1623251881Speter "" 1624251881Speter 1625362181Sdim#define STMT_SELECT_CURRENT_PROPS_RECURSIVE 151 1626362181Sdim#define STMT_151_INFO {"STMT_SELECT_CURRENT_PROPS_RECURSIVE", NULL} 1627362181Sdim#define STMT_151 \ 1628251881Speter "SELECT IFNULL((SELECT properties FROM actual_node a " \ 1629251881Speter " WHERE a.wc_id = ?1 AND A.local_relpath = n.local_relpath), " \ 1630251881Speter " properties), " \ 1631251881Speter " local_relpath " \ 1632251881Speter "FROM nodes_current n " \ 1633251881Speter "WHERE (wc_id = ?1 AND local_relpath = ?2) " \ 1634251881Speter " 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))) " \ 1635251881Speter "" 1636251881Speter 1637362181Sdim#define STMT_PRAGMA_LOCKING_MODE 152 1638362181Sdim#define STMT_152_INFO {"STMT_PRAGMA_LOCKING_MODE", NULL} 1639362181Sdim#define STMT_152 \ 1640298845Sdim "PRAGMA locking_mode = exclusive; " \ 1641298845Sdim "PRAGMA journal_mode = DELETE " \ 1642251881Speter "" 1643251881Speter 1644362181Sdim#define STMT_FIND_REPOS_PATH_IN_WC 153 1645362181Sdim#define STMT_153_INFO {"STMT_FIND_REPOS_PATH_IN_WC", NULL} 1646362181Sdim#define STMT_153 \ 1647362181Sdim "SELECT local_relpath FROM nodes_current " \ 1648362181Sdim " WHERE wc_id = ?1 AND repos_path = ?2 " \ 1649362181Sdim "" 1650362181Sdim 1651362181Sdim#define STMT_INSERT_ACTUAL_NODE 154 1652362181Sdim#define STMT_154_INFO {"STMT_INSERT_ACTUAL_NODE", NULL} 1653362181Sdim#define STMT_154 \ 1654251881Speter "INSERT OR REPLACE INTO actual_node ( " \ 1655251881Speter " wc_id, local_relpath, parent_relpath, properties, changelist, conflict_data) " \ 1656251881Speter "VALUES (?1, ?2, ?3, ?4, ?5, ?6) " \ 1657251881Speter "" 1658251881Speter 1659362181Sdim#define STMT_SELECT_ALL_FILES 155 1660362181Sdim#define STMT_155_INFO {"STMT_SELECT_ALL_FILES", NULL} 1661362181Sdim#define STMT_155 \ 1662251881Speter "SELECT local_relpath FROM nodes_current " \ 1663251881Speter "WHERE wc_id = ?1 AND parent_relpath = ?2 AND kind = 'file' " \ 1664251881Speter "" 1665251881Speter 1666362181Sdim#define STMT_UPDATE_NODE_PROPS 156 1667362181Sdim#define STMT_156_INFO {"STMT_UPDATE_NODE_PROPS", NULL} 1668362181Sdim#define STMT_156 \ 1669251881Speter "UPDATE nodes SET properties = ?4 " \ 1670251881Speter "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = ?3 " \ 1671251881Speter "" 1672251881Speter 1673362181Sdim#define STMT_PRAGMA_TABLE_INFO_NODES 157 1674362181Sdim#define STMT_157_INFO {"STMT_PRAGMA_TABLE_INFO_NODES", NULL} 1675362181Sdim#define STMT_157 \ 1676251881Speter "PRAGMA table_info(\"NODES\") " \ 1677251881Speter "" 1678251881Speter 1679362181Sdim#define STMT_CREATE_TARGET_PROP_CACHE 158 1680362181Sdim#define STMT_158_INFO {"STMT_CREATE_TARGET_PROP_CACHE", NULL} 1681362181Sdim#define STMT_158 \ 1682251881Speter "DROP TABLE IF EXISTS target_prop_cache; " \ 1683251881Speter "CREATE TEMPORARY TABLE target_prop_cache ( " \ 1684251881Speter " local_relpath TEXT NOT NULL PRIMARY KEY, " \ 1685251881Speter " kind TEXT NOT NULL, " \ 1686251881Speter " properties BLOB " \ 1687251881Speter "); " \ 1688251881Speter "" 1689251881Speter 1690362181Sdim#define STMT_CACHE_TARGET_PROPS 159 1691362181Sdim#define STMT_159_INFO {"STMT_CACHE_TARGET_PROPS", NULL} 1692362181Sdim#define STMT_159 \ 1693251881Speter "INSERT INTO target_prop_cache(local_relpath, kind, properties) " \ 1694251881Speter " SELECT n.local_relpath, n.kind, " \ 1695251881Speter " IFNULL((SELECT properties FROM actual_node AS a " \ 1696251881Speter " WHERE a.wc_id = n.wc_id " \ 1697251881Speter " AND a.local_relpath = n.local_relpath), " \ 1698251881Speter " n.properties) " \ 1699251881Speter " FROM targets_list AS t " \ 1700251881Speter " JOIN nodes AS n " \ 1701251881Speter " ON n.wc_id = ?1 " \ 1702251881Speter " AND n.local_relpath = t.local_relpath " \ 1703251881Speter " AND n.op_depth = (SELECT MAX(op_depth) FROM nodes AS n3 " \ 1704251881Speter " WHERE n3.wc_id = ?1 " \ 1705251881Speter " AND n3.local_relpath = t.local_relpath) " \ 1706251881Speter " WHERE t.wc_id = ?1 " \ 1707251881Speter " AND (presence='normal' OR presence='incomplete') " \ 1708251881Speter " ORDER BY t.local_relpath " \ 1709251881Speter "" 1710251881Speter 1711362181Sdim#define STMT_CACHE_TARGET_PRISTINE_PROPS 160 1712362181Sdim#define STMT_160_INFO {"STMT_CACHE_TARGET_PRISTINE_PROPS", NULL} 1713362181Sdim#define STMT_160 \ 1714251881Speter "INSERT INTO target_prop_cache(local_relpath, kind, properties) " \ 1715251881Speter " SELECT n.local_relpath, n.kind, " \ 1716251881Speter " CASE n.presence " \ 1717251881Speter " WHEN 'base-deleted' " \ 1718251881Speter " THEN (SELECT properties FROM nodes AS p " \ 1719251881Speter " WHERE p.wc_id = n.wc_id " \ 1720251881Speter " AND p.local_relpath = n.local_relpath " \ 1721251881Speter " AND p.op_depth < n.op_depth " \ 1722251881Speter " ORDER BY p.op_depth DESC ) " \ 1723251881Speter " ELSE properties END " \ 1724251881Speter " FROM targets_list AS t " \ 1725251881Speter " JOIN nodes AS n " \ 1726251881Speter " ON n.wc_id = ?1 " \ 1727251881Speter " AND n.local_relpath = t.local_relpath " \ 1728251881Speter " AND n.op_depth = (SELECT MAX(op_depth) FROM nodes AS n3 " \ 1729251881Speter " WHERE n3.wc_id = ?1 " \ 1730251881Speter " AND n3.local_relpath = t.local_relpath) " \ 1731251881Speter " WHERE t.wc_id = ?1 " \ 1732251881Speter " AND (presence = 'normal' " \ 1733251881Speter " OR presence = 'incomplete' " \ 1734251881Speter " OR presence = 'base-deleted') " \ 1735251881Speter " ORDER BY t.local_relpath " \ 1736251881Speter "" 1737251881Speter 1738362181Sdim#define STMT_SELECT_ALL_TARGET_PROP_CACHE 161 1739362181Sdim#define STMT_161_INFO {"STMT_SELECT_ALL_TARGET_PROP_CACHE", NULL} 1740362181Sdim#define STMT_161 \ 1741251881Speter "SELECT local_relpath, properties FROM target_prop_cache " \ 1742251881Speter "ORDER BY local_relpath " \ 1743251881Speter "" 1744251881Speter 1745362181Sdim#define STMT_DROP_TARGET_PROP_CACHE 162 1746362181Sdim#define STMT_162_INFO {"STMT_DROP_TARGET_PROP_CACHE", NULL} 1747362181Sdim#define STMT_162 \ 1748251881Speter "DROP TABLE target_prop_cache; " \ 1749251881Speter "" 1750251881Speter 1751362181Sdim#define STMT_CREATE_REVERT_LIST 163 1752362181Sdim#define STMT_163_INFO {"STMT_CREATE_REVERT_LIST", NULL} 1753362181Sdim#define STMT_163 \ 1754251881Speter "DROP TABLE IF EXISTS revert_list; " \ 1755251881Speter "CREATE TEMPORARY TABLE revert_list ( " \ 1756251881Speter " local_relpath TEXT NOT NULL, " \ 1757251881Speter " actual INTEGER NOT NULL, " \ 1758251881Speter " conflict_data BLOB, " \ 1759251881Speter " notify INTEGER, " \ 1760251881Speter " op_depth INTEGER, " \ 1761251881Speter " repos_id INTEGER, " \ 1762251881Speter " kind TEXT, " \ 1763251881Speter " PRIMARY KEY (local_relpath, actual) " \ 1764251881Speter " ); " \ 1765251881Speter "DROP TRIGGER IF EXISTS trigger_revert_list_nodes; " \ 1766251881Speter "CREATE TEMPORARY TRIGGER trigger_revert_list_nodes " \ 1767251881Speter "BEFORE DELETE ON nodes " \ 1768251881Speter "BEGIN " \ 1769251881Speter " INSERT OR REPLACE INTO revert_list(local_relpath, actual, op_depth, " \ 1770251881Speter " repos_id, kind) " \ 1771251881Speter " SELECT OLD.local_relpath, 0, OLD.op_depth, OLD.repos_id, OLD.kind; " \ 1772251881Speter "END; " \ 1773251881Speter "DROP TRIGGER IF EXISTS trigger_revert_list_actual_delete; " \ 1774251881Speter "CREATE TEMPORARY TRIGGER trigger_revert_list_actual_delete " \ 1775251881Speter "BEFORE DELETE ON actual_node " \ 1776251881Speter "BEGIN " \ 1777251881Speter " INSERT OR REPLACE INTO revert_list(local_relpath, actual, conflict_data, " \ 1778251881Speter " notify) " \ 1779251881Speter " SELECT OLD.local_relpath, 1, OLD.conflict_data, " \ 1780251881Speter " CASE " \ 1781251881Speter " WHEN OLD.properties IS NOT NULL " \ 1782251881Speter " THEN 1 " \ 1783251881Speter " WHEN NOT EXISTS(SELECT 1 FROM NODES n " \ 1784251881Speter " WHERE n.wc_id = OLD.wc_id " \ 1785251881Speter " AND n.local_relpath = OLD.local_relpath) " \ 1786251881Speter " THEN 1 " \ 1787289180Speter " END notify " \ 1788289180Speter " WHERE OLD.conflict_data IS NOT NULL " \ 1789289180Speter " OR notify IS NOT NULL; " \ 1790251881Speter "END; " \ 1791251881Speter "DROP TRIGGER IF EXISTS trigger_revert_list_actual_update; " \ 1792251881Speter "CREATE TEMPORARY TRIGGER trigger_revert_list_actual_update " \ 1793251881Speter "BEFORE UPDATE ON actual_node " \ 1794251881Speter "BEGIN " \ 1795251881Speter " INSERT OR REPLACE INTO revert_list(local_relpath, actual, conflict_data, " \ 1796251881Speter " notify) " \ 1797251881Speter " SELECT OLD.local_relpath, 1, OLD.conflict_data, " \ 1798251881Speter " CASE " \ 1799251881Speter " WHEN OLD.properties IS NOT NULL " \ 1800251881Speter " THEN 1 " \ 1801251881Speter " WHEN NOT EXISTS(SELECT 1 FROM NODES n " \ 1802251881Speter " WHERE n.wc_id = OLD.wc_id " \ 1803251881Speter " AND n.local_relpath = OLD.local_relpath) " \ 1804251881Speter " THEN 1 " \ 1805289180Speter " END notify " \ 1806289180Speter " WHERE OLD.conflict_data IS NOT NULL " \ 1807289180Speter " OR notify IS NOT NULL; " \ 1808251881Speter "END " \ 1809251881Speter "" 1810251881Speter 1811362181Sdim#define STMT_DROP_REVERT_LIST_TRIGGERS 164 1812362181Sdim#define STMT_164_INFO {"STMT_DROP_REVERT_LIST_TRIGGERS", NULL} 1813362181Sdim#define STMT_164 \ 1814251881Speter "DROP TRIGGER trigger_revert_list_nodes; " \ 1815251881Speter "DROP TRIGGER trigger_revert_list_actual_delete; " \ 1816251881Speter "DROP TRIGGER trigger_revert_list_actual_update " \ 1817251881Speter "" 1818251881Speter 1819362181Sdim#define STMT_SELECT_REVERT_LIST 165 1820362181Sdim#define STMT_165_INFO {"STMT_SELECT_REVERT_LIST", NULL} 1821362181Sdim#define STMT_165 \ 1822251881Speter "SELECT actual, notify, kind, op_depth, repos_id, conflict_data " \ 1823251881Speter "FROM revert_list " \ 1824251881Speter "WHERE local_relpath = ?1 " \ 1825251881Speter "ORDER BY actual DESC " \ 1826251881Speter "" 1827251881Speter 1828362181Sdim#define STMT_SELECT_REVERT_LIST_COPIED_CHILDREN 166 1829362181Sdim#define STMT_166_INFO {"STMT_SELECT_REVERT_LIST_COPIED_CHILDREN", NULL} 1830362181Sdim#define STMT_166 \ 1831251881Speter "SELECT local_relpath, kind " \ 1832251881Speter "FROM revert_list " \ 1833251881Speter "WHERE (((local_relpath) > (CASE (?1) WHEN '' THEN '' ELSE (?1) || '/' END)) AND ((local_relpath) < CASE (?1) WHEN '' THEN X'FFFF' ELSE (?1) || '0' END)) " \ 1834251881Speter " AND op_depth >= ?2 " \ 1835251881Speter " AND repos_id IS NOT NULL " \ 1836251881Speter "ORDER BY local_relpath " \ 1837251881Speter "" 1838251881Speter 1839362181Sdim#define STMT_DELETE_REVERT_LIST 167 1840362181Sdim#define STMT_167_INFO {"STMT_DELETE_REVERT_LIST", NULL} 1841362181Sdim#define STMT_167 \ 1842251881Speter "DELETE FROM revert_list WHERE local_relpath = ?1 " \ 1843251881Speter "" 1844251881Speter 1845362181Sdim#define STMT_SELECT_REVERT_LIST_RECURSIVE 168 1846362181Sdim#define STMT_168_INFO {"STMT_SELECT_REVERT_LIST_RECURSIVE", NULL} 1847362181Sdim#define STMT_168 \ 1848289180Speter "SELECT p.local_relpath, n.kind, a.notify, a.kind " \ 1849289180Speter "FROM (SELECT DISTINCT local_relpath " \ 1850289180Speter " FROM revert_list " \ 1851289180Speter " WHERE (local_relpath = ?1 " \ 1852289180Speter " OR (((local_relpath) > (CASE (?1) WHEN '' THEN '' ELSE (?1) || '/' END)) AND ((local_relpath) < CASE (?1) WHEN '' THEN X'FFFF' ELSE (?1) || '0' END)))) p " \ 1853289180Speter "LEFT JOIN revert_list n ON n.local_relpath=p.local_relpath AND n.actual=0 " \ 1854289180Speter "LEFT JOIN revert_list a ON a.local_relpath=p.local_relpath AND a.actual=1 " \ 1855289180Speter "ORDER BY p.local_relpath " \ 1856251881Speter "" 1857251881Speter 1858362181Sdim#define STMT_DELETE_REVERT_LIST_RECURSIVE 169 1859362181Sdim#define STMT_169_INFO {"STMT_DELETE_REVERT_LIST_RECURSIVE", NULL} 1860362181Sdim#define STMT_169 \ 1861251881Speter "DELETE FROM revert_list " \ 1862251881Speter "WHERE (local_relpath = ?1 " \ 1863251881Speter " OR (((local_relpath) > (CASE (?1) WHEN '' THEN '' ELSE (?1) || '/' END)) AND ((local_relpath) < CASE (?1) WHEN '' THEN X'FFFF' ELSE (?1) || '0' END))) " \ 1864251881Speter "" 1865251881Speter 1866362181Sdim#define STMT_DROP_REVERT_LIST 170 1867362181Sdim#define STMT_170_INFO {"STMT_DROP_REVERT_LIST", NULL} 1868362181Sdim#define STMT_170 \ 1869251881Speter "DROP TABLE IF EXISTS revert_list " \ 1870251881Speter "" 1871251881Speter 1872362181Sdim#define STMT_CREATE_DELETE_LIST 171 1873362181Sdim#define STMT_171_INFO {"STMT_CREATE_DELETE_LIST", NULL} 1874362181Sdim#define STMT_171 \ 1875251881Speter "DROP TABLE IF EXISTS delete_list; " \ 1876251881Speter "CREATE TEMPORARY TABLE delete_list ( " \ 1877251881Speter " local_relpath TEXT PRIMARY KEY NOT NULL UNIQUE " \ 1878251881Speter " ) " \ 1879251881Speter "" 1880251881Speter 1881362181Sdim#define STMT_INSERT_DELETE_LIST 172 1882362181Sdim#define STMT_172_INFO {"STMT_INSERT_DELETE_LIST", NULL} 1883362181Sdim#define STMT_172 \ 1884251881Speter "INSERT INTO delete_list(local_relpath) " \ 1885289180Speter "SELECT ?2 " \ 1886289180Speter "UNION ALL " \ 1887251881Speter "SELECT local_relpath FROM nodes AS n " \ 1888251881Speter "WHERE wc_id = ?1 " \ 1889289180Speter " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \ 1890251881Speter " AND op_depth >= ?3 " \ 1891251881Speter " AND op_depth = (SELECT MAX(s.op_depth) FROM nodes AS s " \ 1892251881Speter " WHERE s.wc_id = ?1 " \ 1893251881Speter " AND s.local_relpath = n.local_relpath) " \ 1894251881Speter " AND presence NOT IN ('base-deleted', 'not-present', 'excluded', 'server-excluded') " \ 1895251881Speter " AND file_external IS NULL " \ 1896289180Speter "ORDER by local_relpath " \ 1897251881Speter "" 1898251881Speter 1899362181Sdim#define STMT_SELECT_DELETE_LIST 173 1900362181Sdim#define STMT_173_INFO {"STMT_SELECT_DELETE_LIST", NULL} 1901362181Sdim#define STMT_173 \ 1902251881Speter "SELECT local_relpath FROM delete_list " \ 1903251881Speter "ORDER BY local_relpath " \ 1904251881Speter "" 1905251881Speter 1906362181Sdim#define STMT_FINALIZE_DELETE 174 1907362181Sdim#define STMT_174_INFO {"STMT_FINALIZE_DELETE", NULL} 1908362181Sdim#define STMT_174 \ 1909251881Speter "DROP TABLE IF EXISTS delete_list " \ 1910251881Speter "" 1911251881Speter 1912362181Sdim#define STMT_CREATE_UPDATE_MOVE_LIST 175 1913362181Sdim#define STMT_175_INFO {"STMT_CREATE_UPDATE_MOVE_LIST", NULL} 1914362181Sdim#define STMT_175 \ 1915251881Speter "DROP TABLE IF EXISTS update_move_list; " \ 1916251881Speter "CREATE TEMPORARY TABLE update_move_list ( " \ 1917251881Speter " local_relpath TEXT PRIMARY KEY NOT NULL UNIQUE, " \ 1918251881Speter " action INTEGER NOT NULL, " \ 1919289180Speter " kind TEXT NOT NULL, " \ 1920251881Speter " content_state INTEGER NOT NULL, " \ 1921251881Speter " prop_state INTEGER NOT NULL " \ 1922251881Speter " ) " \ 1923251881Speter "" 1924251881Speter 1925362181Sdim#define STMT_INSERT_UPDATE_MOVE_LIST 176 1926362181Sdim#define STMT_176_INFO {"STMT_INSERT_UPDATE_MOVE_LIST", NULL} 1927362181Sdim#define STMT_176 \ 1928251881Speter "INSERT INTO update_move_list(local_relpath, action, kind, content_state, " \ 1929251881Speter " prop_state) " \ 1930251881Speter "VALUES (?1, ?2, ?3, ?4, ?5) " \ 1931251881Speter "" 1932251881Speter 1933362181Sdim#define STMT_SELECT_UPDATE_MOVE_LIST 177 1934362181Sdim#define STMT_177_INFO {"STMT_SELECT_UPDATE_MOVE_LIST", NULL} 1935362181Sdim#define STMT_177 \ 1936251881Speter "SELECT local_relpath, action, kind, content_state, prop_state " \ 1937251881Speter "FROM update_move_list " \ 1938251881Speter "ORDER BY local_relpath " \ 1939251881Speter "" 1940251881Speter 1941362181Sdim#define STMT_FINALIZE_UPDATE_MOVE 178 1942362181Sdim#define STMT_178_INFO {"STMT_FINALIZE_UPDATE_MOVE", NULL} 1943362181Sdim#define STMT_178 \ 1944251881Speter "DROP TABLE IF EXISTS update_move_list " \ 1945251881Speter "" 1946251881Speter 1947362181Sdim#define STMT_MOVE_NOTIFY_TO_REVERT 179 1948362181Sdim#define STMT_179_INFO {"STMT_MOVE_NOTIFY_TO_REVERT", NULL} 1949362181Sdim#define STMT_179 \ 1950289180Speter "INSERT INTO revert_list (local_relpath, notify, kind, actual) " \ 1951289180Speter " SELECT local_relpath, 2, kind, 1 FROM update_move_list; " \ 1952289180Speter "DROP TABLE update_move_list " \ 1953289180Speter "" 1954289180Speter 1955362181Sdim#define STMT_SELECT_MIN_MAX_REVISIONS 180 1956362181Sdim#define STMT_180_INFO {"STMT_SELECT_MIN_MAX_REVISIONS", NULL} 1957362181Sdim#define STMT_180 \ 1958251881Speter "SELECT MIN(revision), MAX(revision), " \ 1959251881Speter " MIN(changed_revision), MAX(changed_revision) FROM nodes " \ 1960251881Speter " WHERE wc_id = ?1 " \ 1961251881Speter " AND (local_relpath = ?2 " \ 1962251881Speter " OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \ 1963251881Speter " AND presence IN ('normal', 'incomplete') " \ 1964251881Speter " AND file_external IS NULL " \ 1965251881Speter " AND op_depth = 0 " \ 1966251881Speter "" 1967251881Speter 1968362181Sdim#define STMT_HAS_SPARSE_NODES 181 1969362181Sdim#define STMT_181_INFO {"STMT_HAS_SPARSE_NODES", NULL} 1970362181Sdim#define STMT_181 \ 1971251881Speter "SELECT 1 FROM nodes " \ 1972251881Speter "WHERE wc_id = ?1 " \ 1973251881Speter " AND (local_relpath = ?2 " \ 1974251881Speter " OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \ 1975251881Speter " AND op_depth = 0 " \ 1976251881Speter " AND (presence IN ('server-excluded', 'excluded') " \ 1977251881Speter " OR depth NOT IN ('infinity', 'unknown')) " \ 1978251881Speter " AND file_external IS NULL " \ 1979251881Speter "LIMIT 1 " \ 1980251881Speter "" 1981251881Speter 1982362181Sdim#define STMT_SUBTREE_HAS_TREE_MODIFICATIONS 182 1983362181Sdim#define STMT_182_INFO {"STMT_SUBTREE_HAS_TREE_MODIFICATIONS", NULL} 1984362181Sdim#define STMT_182 \ 1985251881Speter "SELECT 1 FROM nodes " \ 1986251881Speter "WHERE wc_id = ?1 " \ 1987251881Speter " AND (local_relpath = ?2 " \ 1988251881Speter " OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \ 1989251881Speter " AND op_depth > 0 " \ 1990251881Speter "LIMIT 1 " \ 1991251881Speter "" 1992251881Speter 1993362181Sdim#define STMT_SUBTREE_HAS_PROP_MODIFICATIONS 183 1994362181Sdim#define STMT_183_INFO {"STMT_SUBTREE_HAS_PROP_MODIFICATIONS", NULL} 1995362181Sdim#define STMT_183 \ 1996251881Speter "SELECT 1 FROM actual_node " \ 1997251881Speter "WHERE wc_id = ?1 " \ 1998251881Speter " AND (local_relpath = ?2 " \ 1999251881Speter " OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \ 2000251881Speter " AND properties IS NOT NULL " \ 2001251881Speter "LIMIT 1 " \ 2002251881Speter "" 2003251881Speter 2004362181Sdim#define STMT_HAS_SWITCHED 184 2005362181Sdim#define STMT_184_INFO {"STMT_HAS_SWITCHED", NULL} 2006362181Sdim#define STMT_184 \ 2007251881Speter "SELECT 1 " \ 2008251881Speter "FROM nodes " \ 2009251881Speter "WHERE wc_id = ?1 " \ 2010251881Speter " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \ 2011251881Speter " AND op_depth = 0 " \ 2012251881Speter " AND file_external IS NULL " \ 2013251881Speter " AND presence IN ('normal', 'incomplete') " \ 2014251881Speter " 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) " \ 2015251881Speter "LIMIT 1 " \ 2016251881Speter "" 2017251881Speter 2018362181Sdim#define STMT_SELECT_MOVED_FROM_RELPATH 185 2019362181Sdim#define STMT_185_INFO {"STMT_SELECT_MOVED_FROM_RELPATH", NULL} 2020362181Sdim#define STMT_185 \ 2021251881Speter "SELECT local_relpath, op_depth FROM nodes " \ 2022251881Speter "WHERE wc_id = ?1 AND moved_to = ?2 AND op_depth > 0 " \ 2023251881Speter "" 2024251881Speter 2025362181Sdim#define STMT_UPDATE_MOVED_TO_RELPATH 186 2026362181Sdim#define STMT_186_INFO {"STMT_UPDATE_MOVED_TO_RELPATH", NULL} 2027362181Sdim#define STMT_186 \ 2028251881Speter "UPDATE nodes SET moved_to = ?4 " \ 2029251881Speter "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = ?3 " \ 2030251881Speter "" 2031251881Speter 2032362181Sdim#define STMT_CLEAR_MOVED_TO_RELPATH 187 2033362181Sdim#define STMT_187_INFO {"STMT_CLEAR_MOVED_TO_RELPATH", NULL} 2034362181Sdim#define STMT_187 \ 2035251881Speter "UPDATE nodes SET moved_to = NULL " \ 2036251881Speter "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = ?3 " \ 2037251881Speter "" 2038251881Speter 2039362181Sdim#define STMT_CLEAR_MOVED_HERE_RECURSIVE 188 2040362181Sdim#define STMT_188_INFO {"STMT_CLEAR_MOVED_HERE_RECURSIVE", NULL} 2041362181Sdim#define STMT_188 \ 2042251881Speter "UPDATE nodes SET moved_here = NULL " \ 2043251881Speter "WHERE wc_id = ?1 " \ 2044251881Speter " 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))) " \ 2045251881Speter " AND op_depth = ?3 " \ 2046251881Speter "" 2047251881Speter 2048362181Sdim#define STMT_SELECT_MOVED_HERE_CHILDREN 189 2049362181Sdim#define STMT_189_INFO {"STMT_SELECT_MOVED_HERE_CHILDREN", NULL} 2050362181Sdim#define STMT_189 \ 2051251881Speter "SELECT moved_to, local_relpath FROM nodes " \ 2052251881Speter "WHERE wc_id = ?1 AND op_depth > 0 " \ 2053251881Speter " AND (((moved_to) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((moved_to) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \ 2054251881Speter "" 2055251881Speter 2056362181Sdim#define STMT_SELECT_MOVED_FOR_DELETE 190 2057362181Sdim#define STMT_190_INFO {"STMT_SELECT_MOVED_FOR_DELETE", NULL} 2058362181Sdim#define STMT_190 \ 2059266731Speter "SELECT local_relpath, moved_to, op_depth, " \ 2060266731Speter " (SELECT CASE WHEN r.moved_here THEN r.op_depth END FROM nodes r " \ 2061266731Speter " WHERE r.wc_id = ?1 " \ 2062266731Speter " AND r.local_relpath = n.local_relpath " \ 2063266731Speter " AND r.op_depth < n.op_depth " \ 2064266731Speter " ORDER BY r.op_depth DESC LIMIT 1) AS moved_here_op_depth " \ 2065266731Speter " FROM nodes n " \ 2066251881Speter "WHERE wc_id = ?1 " \ 2067251881Speter " 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))) " \ 2068251881Speter " AND moved_to IS NOT NULL " \ 2069266731Speter " AND op_depth >= ?3 " \ 2070251881Speter "" 2071251881Speter 2072362181Sdim#define STMT_SELECT_MOVED_FROM_FOR_DELETE 191 2073362181Sdim#define STMT_191_INFO {"STMT_SELECT_MOVED_FROM_FOR_DELETE", NULL} 2074362181Sdim#define STMT_191 \ 2075266731Speter "SELECT local_relpath, op_depth, " \ 2076266731Speter " (SELECT CASE WHEN r.moved_here THEN r.op_depth END FROM nodes r " \ 2077266731Speter " WHERE r.wc_id = ?1 " \ 2078266731Speter " AND r.local_relpath = n.local_relpath " \ 2079266731Speter " AND r.op_depth < n.op_depth " \ 2080266731Speter " ORDER BY r.op_depth DESC LIMIT 1) AS moved_here_op_depth " \ 2081266731Speter " FROM nodes n " \ 2082266731Speter "WHERE wc_id = ?1 AND moved_to = ?2 AND op_depth > 0 " \ 2083266731Speter "" 2084266731Speter 2085362181Sdim#define STMT_UPDATE_MOVED_TO_DESCENDANTS 192 2086362181Sdim#define STMT_192_INFO {"STMT_UPDATE_MOVED_TO_DESCENDANTS", NULL} 2087362181Sdim#define STMT_192 \ 2088251881Speter "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) " \ 2089251881Speter " WHERE wc_id = ?1 " \ 2090251881Speter " AND (((moved_to) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((moved_to) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \ 2091251881Speter "" 2092251881Speter 2093362181Sdim#define STMT_CLEAR_MOVED_TO_DESCENDANTS 193 2094362181Sdim#define STMT_193_INFO {"STMT_CLEAR_MOVED_TO_DESCENDANTS", NULL} 2095362181Sdim#define STMT_193 \ 2096251881Speter "UPDATE nodes SET moved_to = NULL " \ 2097251881Speter " WHERE wc_id = ?1 " \ 2098251881Speter " AND (((moved_to) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((moved_to) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \ 2099251881Speter "" 2100251881Speter 2101362181Sdim#define STMT_SELECT_MOVED_PAIR3 194 2102362181Sdim#define STMT_194_INFO {"STMT_SELECT_MOVED_PAIR3", NULL} 2103362181Sdim#define STMT_194 \ 2104289180Speter "SELECT n.local_relpath, d.moved_to, d.op_depth, n.kind " \ 2105289180Speter "FROM nodes n " \ 2106289180Speter "JOIN nodes d ON d.wc_id = ?1 AND d.local_relpath = n.local_relpath " \ 2107289180Speter " AND d.op_depth = (SELECT MIN(dd.op_depth) " \ 2108289180Speter " FROM nodes dd " \ 2109289180Speter " WHERE dd.wc_id = ?1 " \ 2110289180Speter " AND dd.local_relpath = d.local_relpath " \ 2111289180Speter " AND dd.op_depth > ?3) " \ 2112289180Speter "WHERE n.wc_id = ?1 AND n.local_relpath = ?2 AND n.op_depth = ?3 " \ 2113289180Speter " AND d.moved_to IS NOT NULL " \ 2114262250Speter "UNION ALL " \ 2115289180Speter "SELECT n.local_relpath, d.moved_to, d.op_depth, n.kind " \ 2116289180Speter "FROM nodes n " \ 2117289180Speter "JOIN nodes d ON d.wc_id = ?1 AND d.local_relpath = n.local_relpath " \ 2118289180Speter " AND d.op_depth = (SELECT MIN(dd.op_depth) " \ 2119289180Speter " FROM nodes dd " \ 2120289180Speter " WHERE dd.wc_id = ?1 " \ 2121289180Speter " AND dd.local_relpath = d.local_relpath " \ 2122289180Speter " AND dd.op_depth > ?3) " \ 2123289180Speter "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)) " \ 2124289180Speter " AND n.op_depth = ?3 " \ 2125289180Speter " AND d.moved_to IS NOT NULL " \ 2126289180Speter "ORDER BY n.local_relpath " \ 2127251881Speter "" 2128251881Speter 2129362181Sdim#define STMT_SELECT_MOVED_OUTSIDE 195 2130362181Sdim#define STMT_195_INFO {"STMT_SELECT_MOVED_OUTSIDE", NULL} 2131362181Sdim#define STMT_195 \ 2132257936Speter "SELECT local_relpath, moved_to, op_depth FROM nodes " \ 2133251881Speter "WHERE wc_id = ?1 " \ 2134251881Speter " 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))) " \ 2135251881Speter " AND op_depth >= ?3 " \ 2136251881Speter " AND moved_to IS NOT NULL " \ 2137251881Speter " AND NOT (((moved_to) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((moved_to) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \ 2138251881Speter "" 2139251881Speter 2140362181Sdim#define STMT_SELECT_MOVED_DESCENDANTS_SRC 196 2141362181Sdim#define STMT_196_INFO {"STMT_SELECT_MOVED_DESCENDANTS_SRC", NULL} 2142362181Sdim#define STMT_196 \ 2143289180Speter "SELECT s.op_depth, n.local_relpath, n.kind, n.repos_path, s.moved_to " \ 2144289180Speter "FROM nodes n " \ 2145289180Speter "JOIN nodes s ON s.wc_id = n.wc_id AND s.local_relpath = n.local_relpath " \ 2146289180Speter " AND s.op_depth = (SELECT MIN(d.op_depth) " \ 2147289180Speter " FROM nodes d " \ 2148289180Speter " WHERE d.wc_id = ?1 " \ 2149289180Speter " AND d.local_relpath = s.local_relpath " \ 2150289180Speter " AND d.op_depth > ?3) " \ 2151289180Speter "WHERE n.wc_id = ?1 AND n.op_depth = ?3 " \ 2152289180Speter " 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))) " \ 2153289180Speter " AND s.moved_to IS NOT NULL " \ 2154251881Speter "" 2155251881Speter 2156362181Sdim#define STMT_COMMIT_UPDATE_ORIGIN 197 2157362181Sdim#define STMT_197_INFO {"STMT_COMMIT_UPDATE_ORIGIN", NULL} 2158362181Sdim#define STMT_197 \ 2159251881Speter "UPDATE nodes SET repos_id = ?4, " \ 2160289180Speter " 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), " \ 2161251881Speter " revision = ?6 " \ 2162251881Speter "WHERE wc_id = ?1 " \ 2163251881Speter " AND (local_relpath = ?2 " \ 2164251881Speter " OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \ 2165251881Speter " AND op_depth = ?3 " \ 2166251881Speter "" 2167251881Speter 2168362181Sdim#define STMT_HAS_LAYER_BETWEEN 198 2169362181Sdim#define STMT_198_INFO {"STMT_HAS_LAYER_BETWEEN", NULL} 2170362181Sdim#define STMT_198 \ 2171251881Speter "SELECT 1 FROM NODES " \ 2172251881Speter "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth > ?3 AND op_depth < ?4 " \ 2173251881Speter "" 2174251881Speter 2175362181Sdim#define STMT_SELECT_REPOS_PATH_REVISION 199 2176362181Sdim#define STMT_199_INFO {"STMT_SELECT_REPOS_PATH_REVISION", NULL} 2177362181Sdim#define STMT_199 \ 2178251881Speter "SELECT local_relpath, repos_path, revision FROM nodes " \ 2179251881Speter "WHERE wc_id = ?1 " \ 2180251881Speter " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \ 2181251881Speter " AND op_depth = 0 " \ 2182251881Speter "ORDER BY local_relpath " \ 2183251881Speter "" 2184251881Speter 2185362181Sdim#define STMT_SELECT_HAS_NON_FILE_CHILDREN 200 2186362181Sdim#define STMT_200_INFO {"STMT_SELECT_HAS_NON_FILE_CHILDREN", NULL} 2187362181Sdim#define STMT_200 \ 2188251881Speter "SELECT 1 FROM nodes " \ 2189289180Speter "WHERE wc_id = ?1 AND parent_relpath = ?2 AND op_depth = ?3 AND kind != 'file' " \ 2190289180Speter "LIMIT 1 " \ 2191251881Speter "" 2192251881Speter 2193362181Sdim#define STMT_SELECT_HAS_GRANDCHILDREN 201 2194362181Sdim#define STMT_201_INFO {"STMT_SELECT_HAS_GRANDCHILDREN", NULL} 2195362181Sdim#define STMT_201 \ 2196251881Speter "SELECT 1 FROM nodes " \ 2197251881Speter "WHERE wc_id = ?1 " \ 2198251881Speter " AND (((parent_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((parent_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \ 2199289180Speter " AND op_depth = ?3 " \ 2200251881Speter " AND file_external IS NULL " \ 2201289180Speter "LIMIT 1 " \ 2202251881Speter "" 2203251881Speter 2204362181Sdim#define STMT_SELECT_ALL_NODES 202 2205362181Sdim#define STMT_202_INFO {"STMT_SELECT_ALL_NODES", NULL} 2206362181Sdim#define STMT_202 \ 2207251881Speter "SELECT op_depth, local_relpath, parent_relpath, file_external FROM nodes " \ 2208251881Speter "WHERE wc_id = ?1 " \ 2209251881Speter "" 2210251881Speter 2211362181Sdim#define STMT_UPDATE_IPROP 203 2212362181Sdim#define STMT_203_INFO {"STMT_UPDATE_IPROP", NULL} 2213362181Sdim#define STMT_203 \ 2214251881Speter "UPDATE nodes " \ 2215251881Speter "SET inherited_props = ?3 " \ 2216251881Speter "WHERE (wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0) " \ 2217251881Speter "" 2218251881Speter 2219362181Sdim#define STMT_SELECT_IPROPS_NODE 204 2220362181Sdim#define STMT_204_INFO {"STMT_SELECT_IPROPS_NODE", NULL} 2221362181Sdim#define STMT_204 \ 2222251881Speter "SELECT local_relpath, repos_path FROM nodes " \ 2223251881Speter "WHERE wc_id = ?1 " \ 2224251881Speter " AND local_relpath = ?2 " \ 2225251881Speter " AND op_depth = 0 " \ 2226251881Speter " AND (inherited_props not null) " \ 2227251881Speter "" 2228251881Speter 2229362181Sdim#define STMT_SELECT_IPROPS_RECURSIVE 205 2230362181Sdim#define STMT_205_INFO {"STMT_SELECT_IPROPS_RECURSIVE", NULL} 2231362181Sdim#define STMT_205 \ 2232251881Speter "SELECT local_relpath, repos_path FROM nodes " \ 2233251881Speter "WHERE wc_id = ?1 " \ 2234251881Speter " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \ 2235251881Speter " AND op_depth = 0 " \ 2236251881Speter " AND (inherited_props not null) " \ 2237251881Speter "" 2238251881Speter 2239362181Sdim#define STMT_SELECT_IPROPS_CHILDREN 206 2240362181Sdim#define STMT_206_INFO {"STMT_SELECT_IPROPS_CHILDREN", NULL} 2241362181Sdim#define STMT_206 \ 2242251881Speter "SELECT local_relpath, repos_path FROM nodes " \ 2243251881Speter "WHERE wc_id = ?1 " \ 2244251881Speter " AND parent_relpath = ?2 " \ 2245251881Speter " AND op_depth = 0 " \ 2246251881Speter " AND (inherited_props not null) " \ 2247251881Speter "" 2248251881Speter 2249362181Sdim#define STMT_HAVE_STAT1_TABLE 207 2250362181Sdim#define STMT_207_INFO {"STMT_HAVE_STAT1_TABLE", NULL} 2251362181Sdim#define STMT_207 \ 2252286506Speter "SELECT 1 FROM sqlite_master WHERE name='sqlite_stat1' AND type='table' " \ 2253286506Speter "LIMIT 1 " \ 2254286506Speter "" 2255286506Speter 2256362181Sdim#define STMT_SELECT_COPIES_OF_REPOS_RELPATH 208 2257362181Sdim#define STMT_208_INFO {"STMT_SELECT_COPIES_OF_REPOS_RELPATH", NULL} 2258362181Sdim#define STMT_208 \ 2259362181Sdim "SELECT local_relpath " \ 2260362181Sdim "FROM nodes n " \ 2261362181Sdim "WHERE wc_id = ?1 AND repos_path = ?2 AND kind = ?3 " \ 2262362181Sdim " AND presence = 'normal' " \ 2263362181Sdim " AND op_depth = (SELECT MAX(op_depth) " \ 2264362181Sdim " FROM NODES w " \ 2265362181Sdim " WHERE w.wc_id = ?1 " \ 2266362181Sdim " AND w.local_relpath = n.local_relpath) " \ 2267362181Sdim "ORDER BY local_relpath ASC " \ 2268362181Sdim "" 2269362181Sdim 2270362181Sdim#define STMT_CREATE_SCHEMA 209 2271362181Sdim#define STMT_209_INFO {"STMT_CREATE_SCHEMA", NULL} 2272362181Sdim#define STMT_209 \ 2273251881Speter "CREATE TABLE REPOSITORY ( " \ 2274251881Speter " id INTEGER PRIMARY KEY AUTOINCREMENT, " \ 2275251881Speter " root TEXT UNIQUE NOT NULL, " \ 2276251881Speter " uuid TEXT NOT NULL " \ 2277251881Speter " ); " \ 2278251881Speter "CREATE INDEX I_UUID ON REPOSITORY (uuid); " \ 2279251881Speter "CREATE INDEX I_ROOT ON REPOSITORY (root); " \ 2280251881Speter "CREATE TABLE WCROOT ( " \ 2281251881Speter " id INTEGER PRIMARY KEY AUTOINCREMENT, " \ 2282251881Speter " local_abspath TEXT UNIQUE " \ 2283251881Speter " ); " \ 2284251881Speter "CREATE UNIQUE INDEX I_LOCAL_ABSPATH ON WCROOT (local_abspath); " \ 2285251881Speter "CREATE TABLE PRISTINE ( " \ 2286251881Speter " checksum TEXT NOT NULL PRIMARY KEY, " \ 2287251881Speter " compression INTEGER, " \ 2288251881Speter " size INTEGER NOT NULL, " \ 2289251881Speter " refcount INTEGER NOT NULL, " \ 2290251881Speter " md5_checksum TEXT NOT NULL " \ 2291251881Speter " ); " \ 2292251881Speter "CREATE INDEX I_PRISTINE_MD5 ON PRISTINE (md5_checksum); " \ 2293251881Speter "CREATE TABLE ACTUAL_NODE ( " \ 2294251881Speter " wc_id INTEGER NOT NULL REFERENCES WCROOT (id), " \ 2295251881Speter " local_relpath TEXT NOT NULL, " \ 2296251881Speter " parent_relpath TEXT, " \ 2297251881Speter " properties BLOB, " \ 2298251881Speter " conflict_old TEXT, " \ 2299251881Speter " conflict_new TEXT, " \ 2300251881Speter " conflict_working TEXT, " \ 2301251881Speter " prop_reject TEXT, " \ 2302251881Speter " changelist TEXT, " \ 2303251881Speter " text_mod TEXT, " \ 2304251881Speter " tree_conflict_data TEXT, " \ 2305251881Speter " conflict_data BLOB, " \ 2306251881Speter " older_checksum TEXT REFERENCES PRISTINE (checksum), " \ 2307251881Speter " left_checksum TEXT REFERENCES PRISTINE (checksum), " \ 2308251881Speter " right_checksum TEXT REFERENCES PRISTINE (checksum), " \ 2309251881Speter " PRIMARY KEY (wc_id, local_relpath) " \ 2310251881Speter " ); " \ 2311251881Speter "CREATE UNIQUE INDEX I_ACTUAL_PARENT ON ACTUAL_NODE (wc_id, parent_relpath, " \ 2312251881Speter " local_relpath); " \ 2313251881Speter "CREATE TABLE LOCK ( " \ 2314251881Speter " repos_id INTEGER NOT NULL REFERENCES REPOSITORY (id), " \ 2315251881Speter " repos_relpath TEXT NOT NULL, " \ 2316251881Speter " lock_token TEXT NOT NULL, " \ 2317251881Speter " lock_owner TEXT, " \ 2318251881Speter " lock_comment TEXT, " \ 2319251881Speter " lock_date INTEGER, " \ 2320251881Speter " PRIMARY KEY (repos_id, repos_relpath) " \ 2321251881Speter " ); " \ 2322251881Speter "CREATE TABLE WORK_QUEUE ( " \ 2323251881Speter " id INTEGER PRIMARY KEY AUTOINCREMENT, " \ 2324251881Speter " work BLOB NOT NULL " \ 2325251881Speter " ); " \ 2326251881Speter "CREATE TABLE WC_LOCK ( " \ 2327251881Speter " wc_id INTEGER NOT NULL REFERENCES WCROOT (id), " \ 2328251881Speter " local_dir_relpath TEXT NOT NULL, " \ 2329251881Speter " locked_levels INTEGER NOT NULL DEFAULT -1, " \ 2330251881Speter " PRIMARY KEY (wc_id, local_dir_relpath) " \ 2331251881Speter " ); " \ 2332251881Speter "CREATE TABLE NODES ( " \ 2333251881Speter " wc_id INTEGER NOT NULL REFERENCES WCROOT (id), " \ 2334251881Speter " local_relpath TEXT NOT NULL, " \ 2335251881Speter " op_depth INTEGER NOT NULL, " \ 2336251881Speter " parent_relpath TEXT, " \ 2337251881Speter " repos_id INTEGER REFERENCES REPOSITORY (id), " \ 2338251881Speter " repos_path TEXT, " \ 2339251881Speter " revision INTEGER, " \ 2340251881Speter " presence TEXT NOT NULL, " \ 2341251881Speter " moved_here INTEGER, " \ 2342251881Speter " moved_to TEXT, " \ 2343251881Speter " kind TEXT NOT NULL, " \ 2344251881Speter " properties BLOB, " \ 2345251881Speter " depth TEXT, " \ 2346251881Speter " checksum TEXT REFERENCES PRISTINE (checksum), " \ 2347251881Speter " symlink_target TEXT, " \ 2348251881Speter " changed_revision INTEGER, " \ 2349251881Speter " changed_date INTEGER, " \ 2350251881Speter " changed_author TEXT, " \ 2351251881Speter " translated_size INTEGER, " \ 2352251881Speter " last_mod_time INTEGER, " \ 2353251881Speter " dav_cache BLOB, " \ 2354251881Speter " file_external INTEGER, " \ 2355251881Speter " inherited_props BLOB, " \ 2356251881Speter " PRIMARY KEY (wc_id, local_relpath, op_depth) " \ 2357251881Speter " ); " \ 2358251881Speter "CREATE UNIQUE INDEX I_NODES_PARENT ON NODES (wc_id, parent_relpath, " \ 2359251881Speter " local_relpath, op_depth); " \ 2360251881Speter "CREATE UNIQUE INDEX I_NODES_MOVED ON NODES (wc_id, moved_to, op_depth); " \ 2361251881Speter "CREATE VIEW NODES_CURRENT AS " \ 2362251881Speter " SELECT * FROM nodes AS n " \ 2363251881Speter " WHERE op_depth = (SELECT MAX(op_depth) FROM nodes AS n2 " \ 2364251881Speter " WHERE n2.wc_id = n.wc_id " \ 2365251881Speter " AND n2.local_relpath = n.local_relpath); " \ 2366251881Speter "CREATE VIEW NODES_BASE AS " \ 2367251881Speter " SELECT * FROM nodes " \ 2368251881Speter " WHERE op_depth = 0; " \ 2369251881Speter "CREATE TRIGGER nodes_insert_trigger " \ 2370251881Speter "AFTER INSERT ON nodes " \ 2371251881Speter "WHEN NEW.checksum IS NOT NULL " \ 2372251881Speter "BEGIN " \ 2373251881Speter " UPDATE pristine SET refcount = refcount + 1 " \ 2374251881Speter " WHERE checksum = NEW.checksum; " \ 2375251881Speter "END; " \ 2376251881Speter "CREATE TRIGGER nodes_delete_trigger " \ 2377251881Speter "AFTER DELETE ON nodes " \ 2378251881Speter "WHEN OLD.checksum IS NOT NULL " \ 2379251881Speter "BEGIN " \ 2380251881Speter " UPDATE pristine SET refcount = refcount - 1 " \ 2381251881Speter " WHERE checksum = OLD.checksum; " \ 2382251881Speter "END; " \ 2383251881Speter "CREATE TRIGGER nodes_update_checksum_trigger " \ 2384251881Speter "AFTER UPDATE OF checksum ON nodes " \ 2385251881Speter "WHEN NEW.checksum IS NOT OLD.checksum " \ 2386251881Speter "BEGIN " \ 2387251881Speter " UPDATE pristine SET refcount = refcount + 1 " \ 2388251881Speter " WHERE checksum = NEW.checksum; " \ 2389251881Speter " UPDATE pristine SET refcount = refcount - 1 " \ 2390251881Speter " WHERE checksum = OLD.checksum; " \ 2391251881Speter "END; " \ 2392251881Speter "CREATE TABLE EXTERNALS ( " \ 2393251881Speter " wc_id INTEGER NOT NULL REFERENCES WCROOT (id), " \ 2394251881Speter " local_relpath TEXT NOT NULL, " \ 2395251881Speter " parent_relpath TEXT NOT NULL, " \ 2396251881Speter " repos_id INTEGER NOT NULL REFERENCES REPOSITORY (id), " \ 2397251881Speter " presence TEXT NOT NULL, " \ 2398251881Speter " kind TEXT NOT NULL, " \ 2399251881Speter " def_local_relpath TEXT NOT NULL, " \ 2400251881Speter " def_repos_relpath TEXT NOT NULL, " \ 2401251881Speter " def_operational_revision TEXT, " \ 2402251881Speter " def_revision TEXT, " \ 2403251881Speter " PRIMARY KEY (wc_id, local_relpath) " \ 2404251881Speter "); " \ 2405251881Speter "CREATE UNIQUE INDEX I_EXTERNALS_DEFINED ON EXTERNALS (wc_id, " \ 2406251881Speter " def_local_relpath, " \ 2407251881Speter " local_relpath); " \ 2408362181Sdim "PRAGMA user_version = " \ 2409362181Sdim APR_STRINGIFY(SVN_WC__VERSION) \ 2410362181Sdim "; " \ 2411251881Speter "" 2412251881Speter 2413362181Sdim#define STMT_INSTALL_SCHEMA_STATISTICS 210 2414362181Sdim#define STMT_210_INFO {"STMT_INSTALL_SCHEMA_STATISTICS", NULL} 2415362181Sdim#define STMT_210 \ 2416262250Speter "ANALYZE sqlite_master; " \ 2417266731Speter "DELETE FROM sqlite_stat1 " \ 2418286506Speter "WHERE tbl in ('NODES', 'ACTUAL_NODE', 'LOCK', 'WC_LOCK', 'EXTERNALS'); " \ 2419286506Speter "INSERT INTO sqlite_stat1(tbl, idx, stat) VALUES " \ 2420262250Speter " ('NODES', 'sqlite_autoindex_NODES_1', '8000 8000 2 1'); " \ 2421286506Speter "INSERT INTO sqlite_stat1(tbl, idx, stat) VALUES " \ 2422262250Speter " ('NODES', 'I_NODES_PARENT', '8000 8000 10 2 1'); " \ 2423286506Speter "INSERT INTO sqlite_stat1(tbl, idx, stat) VALUES " \ 2424262250Speter " ('NODES', 'I_NODES_MOVED', '8000 8000 1 1'); " \ 2425286506Speter "INSERT INTO sqlite_stat1(tbl, idx, stat) VALUES " \ 2426262250Speter " ('ACTUAL_NODE', 'sqlite_autoindex_ACTUAL_NODE_1', '8000 8000 1'); " \ 2427286506Speter "INSERT INTO sqlite_stat1(tbl, idx, stat) VALUES " \ 2428262250Speter " ('ACTUAL_NODE', 'I_ACTUAL_PARENT', '8000 8000 10 1'); " \ 2429286506Speter "INSERT INTO sqlite_stat1(tbl, idx, stat) VALUES " \ 2430262250Speter " ('LOCK', 'sqlite_autoindex_LOCK_1', '100 100 1'); " \ 2431286506Speter "INSERT INTO sqlite_stat1(tbl, idx, stat) VALUES " \ 2432262250Speter " ('WC_LOCK', 'sqlite_autoindex_WC_LOCK_1', '100 100 1'); " \ 2433286506Speter "INSERT INTO sqlite_stat1(tbl, idx, stat) VALUES " \ 2434286506Speter " ('EXTERNALS','sqlite_autoindex_EXTERNALS_1', '100 100 1'); " \ 2435286506Speter "INSERT INTO sqlite_stat1(tbl, idx, stat) VALUES " \ 2436286506Speter " ('EXTERNALS','I_EXTERNALS_DEFINED', '100 100 3 1'); " \ 2437262250Speter "ANALYZE sqlite_master; " \ 2438262250Speter "" 2439262250Speter 2440362181Sdim#define STMT_UPGRADE_TO_30 211 2441362181Sdim#define STMT_211_INFO {"STMT_UPGRADE_TO_30", NULL} 2442362181Sdim#define STMT_211 \ 2443251881Speter "CREATE UNIQUE INDEX IF NOT EXISTS I_NODES_MOVED " \ 2444251881Speter "ON NODES (wc_id, moved_to, op_depth); " \ 2445251881Speter "CREATE INDEX IF NOT EXISTS I_PRISTINE_MD5 ON PRISTINE (md5_checksum); " \ 2446369302Sdim "UPDATE nodes SET presence = 'server-excluded' WHERE presence = 'absent'; " \ 2447251881Speter "UPDATE nodes SET file_external=1 WHERE file_external IS NOT NULL; " \ 2448251881Speter "" 2449251881Speter 2450362181Sdim#define STMT_UPGRADE_30_SELECT_CONFLICT_SEPARATE 212 2451362181Sdim#define STMT_212_INFO {"STMT_UPGRADE_30_SELECT_CONFLICT_SEPARATE", NULL} 2452362181Sdim#define STMT_212 \ 2453251881Speter "SELECT wc_id, local_relpath, " \ 2454251881Speter " conflict_old, conflict_working, conflict_new, prop_reject, tree_conflict_data " \ 2455251881Speter "FROM actual_node " \ 2456251881Speter "WHERE conflict_old IS NOT NULL " \ 2457251881Speter " OR conflict_working IS NOT NULL " \ 2458251881Speter " OR conflict_new IS NOT NULL " \ 2459251881Speter " OR prop_reject IS NOT NULL " \ 2460251881Speter " OR tree_conflict_data IS NOT NULL " \ 2461251881Speter "ORDER by wc_id, local_relpath " \ 2462251881Speter "" 2463251881Speter 2464362181Sdim#define STMT_UPGRADE_30_SET_CONFLICT 213 2465362181Sdim#define STMT_213_INFO {"STMT_UPGRADE_30_SET_CONFLICT", NULL} 2466362181Sdim#define STMT_213 \ 2467251881Speter "UPDATE actual_node SET conflict_data = ?3, conflict_old = NULL, " \ 2468251881Speter " conflict_working = NULL, conflict_new = NULL, prop_reject = NULL, " \ 2469251881Speter " tree_conflict_data = NULL " \ 2470251881Speter "WHERE wc_id = ?1 and local_relpath = ?2 " \ 2471251881Speter "" 2472251881Speter 2473362181Sdim#define STMT_UPGRADE_TO_31 214 2474362181Sdim#define STMT_214_INFO {"STMT_UPGRADE_TO_31", NULL} 2475362181Sdim#define STMT_214 \ 2476251881Speter "ALTER TABLE NODES ADD COLUMN inherited_props BLOB; " \ 2477251881Speter "DROP INDEX IF EXISTS I_ACTUAL_CHANGELIST; " \ 2478251881Speter "DROP INDEX IF EXISTS I_EXTERNALS_PARENT; " \ 2479251881Speter "DROP INDEX I_NODES_PARENT; " \ 2480251881Speter "CREATE UNIQUE INDEX I_NODES_PARENT ON NODES (wc_id, parent_relpath, " \ 2481251881Speter " local_relpath, op_depth); " \ 2482251881Speter "DROP INDEX I_ACTUAL_PARENT; " \ 2483251881Speter "CREATE UNIQUE INDEX I_ACTUAL_PARENT ON ACTUAL_NODE (wc_id, parent_relpath, " \ 2484251881Speter " local_relpath); " \ 2485251881Speter "PRAGMA user_version = 31; " \ 2486251881Speter "" 2487251881Speter 2488362181Sdim#define STMT_UPGRADE_31_SELECT_WCROOT_NODES 215 2489362181Sdim#define STMT_215_INFO {"STMT_UPGRADE_31_SELECT_WCROOT_NODES", NULL} 2490362181Sdim#define STMT_215 \ 2491251881Speter "SELECT l.wc_id, l.local_relpath FROM nodes as l " \ 2492251881Speter "LEFT OUTER JOIN nodes as r " \ 2493251881Speter "ON l.wc_id = r.wc_id " \ 2494251881Speter " AND r.local_relpath = l.parent_relpath " \ 2495251881Speter " AND r.op_depth = 0 " \ 2496251881Speter "WHERE l.op_depth = 0 " \ 2497251881Speter " AND l.repos_path != '' " \ 2498251881Speter " AND ((l.repos_id IS NOT r.repos_id) " \ 2499251881Speter " 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))) " \ 2500251881Speter "" 2501251881Speter 2502251881Speter#define WC_QUERIES_SQL_99 \ 2503251881Speter "CREATE TABLE ACTUAL_NODE_BACKUP ( " \ 2504251881Speter " wc_id INTEGER NOT NULL, " \ 2505251881Speter " local_relpath TEXT NOT NULL, " \ 2506251881Speter " parent_relpath TEXT, " \ 2507251881Speter " properties BLOB, " \ 2508251881Speter " conflict_old TEXT, " \ 2509251881Speter " conflict_new TEXT, " \ 2510251881Speter " conflict_working TEXT, " \ 2511251881Speter " prop_reject TEXT, " \ 2512251881Speter " changelist TEXT, " \ 2513251881Speter " text_mod TEXT " \ 2514251881Speter " ); " \ 2515251881Speter "INSERT INTO ACTUAL_NODE_BACKUP SELECT " \ 2516251881Speter " wc_id, local_relpath, parent_relpath, properties, conflict_old, " \ 2517251881Speter " conflict_new, conflict_working, prop_reject, changelist, text_mod " \ 2518251881Speter "FROM ACTUAL_NODE; " \ 2519251881Speter "DROP TABLE ACTUAL_NODE; " \ 2520251881Speter "CREATE TABLE ACTUAL_NODE ( " \ 2521251881Speter " wc_id INTEGER NOT NULL REFERENCES WCROOT (id), " \ 2522251881Speter " local_relpath TEXT NOT NULL, " \ 2523251881Speter " parent_relpath TEXT, " \ 2524251881Speter " properties BLOB, " \ 2525251881Speter " conflict_old TEXT, " \ 2526251881Speter " conflict_new TEXT, " \ 2527251881Speter " conflict_working TEXT, " \ 2528251881Speter " prop_reject TEXT, " \ 2529251881Speter " changelist TEXT, " \ 2530251881Speter " text_mod TEXT, " \ 2531251881Speter " PRIMARY KEY (wc_id, local_relpath) " \ 2532251881Speter " ); " \ 2533251881Speter "CREATE UNIQUE INDEX I_ACTUAL_PARENT ON ACTUAL_NODE (wc_id, parent_relpath, " \ 2534251881Speter " local_relpath); " \ 2535251881Speter "INSERT INTO ACTUAL_NODE SELECT " \ 2536251881Speter " wc_id, local_relpath, parent_relpath, properties, conflict_old, " \ 2537251881Speter " conflict_new, conflict_working, prop_reject, changelist, text_mod " \ 2538251881Speter "FROM ACTUAL_NODE_BACKUP; " \ 2539251881Speter "DROP TABLE ACTUAL_NODE_BACKUP; " \ 2540251881Speter "" 2541251881Speter 2542362181Sdim#define STMT_VERIFICATION_TRIGGERS 216 2543362181Sdim#define STMT_216_INFO {"STMT_VERIFICATION_TRIGGERS", NULL} 2544362181Sdim#define STMT_216 \ 2545251881Speter "CREATE TEMPORARY TRIGGER no_repository_updates BEFORE UPDATE ON repository " \ 2546251881Speter "BEGIN " \ 2547251881Speter " SELECT RAISE(FAIL, 'Updates to REPOSITORY are not allowed.'); " \ 2548251881Speter "END; " \ 2549251881Speter "CREATE TEMPORARY TRIGGER validation_01 BEFORE INSERT ON nodes " \ 2550251881Speter "WHEN NOT ((new.local_relpath = '' AND new.parent_relpath IS NULL) " \ 2551251881Speter " OR (relpath_depth(new.local_relpath) " \ 2552251881Speter " = relpath_depth(new.parent_relpath) + 1)) " \ 2553251881Speter "BEGIN " \ 2554251881Speter " SELECT RAISE(FAIL, 'WC DB validity check 01 failed'); " \ 2555251881Speter "END; " \ 2556251881Speter "CREATE TEMPORARY TRIGGER validation_02 BEFORE INSERT ON nodes " \ 2557251881Speter "WHEN NOT new.op_depth <= relpath_depth(new.local_relpath) " \ 2558251881Speter "BEGIN " \ 2559251881Speter " SELECT RAISE(FAIL, 'WC DB validity check 02 failed'); " \ 2560251881Speter "END; " \ 2561251881Speter "CREATE TEMPORARY TRIGGER validation_03 BEFORE INSERT ON nodes " \ 2562251881Speter "WHEN NOT ( " \ 2563251881Speter " (new.op_depth = relpath_depth(new.local_relpath)) " \ 2564251881Speter " OR " \ 2565251881Speter " (EXISTS (SELECT 1 FROM nodes " \ 2566251881Speter " WHERE wc_id = new.wc_id AND op_depth = new.op_depth " \ 2567251881Speter " AND local_relpath = new.parent_relpath)) " \ 2568251881Speter " ) " \ 2569251881Speter " AND NOT (new.file_external IS NOT NULL AND new.op_depth = 0) " \ 2570251881Speter "BEGIN " \ 2571251881Speter " SELECT RAISE(FAIL, 'WC DB validity check 03 failed'); " \ 2572251881Speter "END; " \ 2573251881Speter "CREATE TEMPORARY TRIGGER validation_04 BEFORE INSERT ON actual_node " \ 2574251881Speter "WHEN NOT (new.local_relpath = '' " \ 2575251881Speter " OR EXISTS (SELECT 1 FROM nodes " \ 2576251881Speter " WHERE wc_id = new.wc_id " \ 2577251881Speter " AND local_relpath = new.parent_relpath)) " \ 2578251881Speter "BEGIN " \ 2579251881Speter " SELECT RAISE(FAIL, 'WC DB validity check 04 failed'); " \ 2580251881Speter "END; " \ 2581251881Speter "" 2582251881Speter 2583362181Sdim#define STMT_STATIC_VERIFY 217 2584362181Sdim#define STMT_217_INFO {"STMT_STATIC_VERIFY", NULL} 2585362181Sdim#define STMT_217 \ 2586289180Speter "SELECT local_relpath, op_depth, 1, 'Invalid parent relpath set in NODES' " \ 2587289180Speter "FROM nodes n WHERE local_relpath != '' " \ 2588289180Speter " AND (parent_relpath IS NULL " \ 2589289180Speter " 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)) " \ 2590289180Speter " OR relpath_depth(local_relpath) != relpath_depth(parent_relpath)+1) " \ 2591289180Speter "UNION ALL " \ 2592289180Speter "SELECT local_relpath, -1, 2, 'Invalid parent relpath set in ACTUAL' " \ 2593289180Speter "FROM actual_node a WHERE local_relpath != '' " \ 2594289180Speter " AND (parent_relpath IS NULL " \ 2595289180Speter " 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)) " \ 2596289180Speter " OR relpath_depth(local_relpath) != relpath_depth(parent_relpath)+1) " \ 2597289180Speter "UNION ALL " \ 2598289180Speter "SELECT local_relpath, -1, 10, 'No ancestor in ACTUAL' " \ 2599289180Speter "FROM actual_node a WHERE local_relpath != '' " \ 2600289180Speter " AND NOT EXISTS(SELECT 1 from nodes i " \ 2601289180Speter " WHERE i.wc_id=a.wc_id " \ 2602289180Speter " AND i.local_relpath=a.parent_relpath) " \ 2603289180Speter " AND NOT EXISTS(SELECT 1 from nodes i " \ 2604289180Speter " WHERE i.wc_id=a.wc_id " \ 2605289180Speter " AND i.local_relpath=a.local_relpath) " \ 2606289180Speter "UNION ALL " \ 2607289180Speter "SELECT a.local_relpath, -1, 11, 'Bad or Unneeded actual data' " \ 2608289180Speter "FROM actual_node a " \ 2609289180Speter "LEFT JOIN nodes n on n.wc_id = a.wc_id AND n.local_relpath = a.local_relpath " \ 2610289180Speter " AND n.op_depth = (SELECT MAX(op_depth) from nodes i " \ 2611289180Speter " WHERE i.wc_id=a.wc_id AND i.local_relpath=a.local_relpath) " \ 2612289180Speter "WHERE (a.properties IS NOT NULL " \ 2613289180Speter " AND (n.presence IS NULL " \ 2614289180Speter " OR n.presence NOT IN ('normal', 'incomplete'))) " \ 2615289180Speter " OR (a.changelist IS NOT NULL AND (n.kind IS NOT NULL AND n.kind != 'file')) " \ 2616289180Speter " OR (a.conflict_data IS NULL AND a.properties IS NULL AND a.changelist IS NULL) " \ 2617289180Speter " AND NOT EXISTS(SELECT 1 from nodes i " \ 2618289180Speter " WHERE i.wc_id=a.wc_id " \ 2619289180Speter " AND i.local_relpath=a.parent_relpath) " \ 2620289180Speter "UNION ALL " \ 2621289180Speter "SELECT local_relpath, op_depth, 20, 'No ancestor in NODES' " \ 2622289180Speter "FROM nodes n WHERE local_relpath != '' " \ 2623289180Speter " AND file_external IS NULL " \ 2624289180Speter " AND NOT EXISTS(SELECT 1 from nodes i " \ 2625289180Speter " WHERE i.wc_id=n.wc_id " \ 2626289180Speter " AND i.local_relpath=n.parent_relpath " \ 2627289180Speter " AND i.op_depth <= n.op_depth) " \ 2628289180Speter "UNION ALL " \ 2629289180Speter "SELECT local_relpath, op_depth, 21, 'Unneeded node data' " \ 2630289180Speter "FROM nodes " \ 2631289180Speter "WHERE presence NOT IN ('normal', 'incomplete') " \ 2632289180Speter "AND (properties IS NOT NULL " \ 2633289180Speter " OR checksum IS NOT NULL " \ 2634289180Speter " OR depth IS NOT NULL " \ 2635289180Speter " OR symlink_target IS NOT NULL " \ 2636289180Speter " OR changed_revision IS NOT NULL " \ 2637289180Speter " OR (changed_date IS NOT NULL AND changed_date != 0) " \ 2638289180Speter " OR changed_author IS NOT NULL " \ 2639289180Speter " OR translated_size IS NOT NULL " \ 2640289180Speter " OR last_mod_time IS NOT NULL " \ 2641289180Speter " OR dav_cache IS NOT NULL " \ 2642289180Speter " OR file_external IS NOT NULL " \ 2643289180Speter " OR inherited_props IS NOT NULL) " \ 2644289180Speter "UNION ALL " \ 2645289180Speter "SELECT local_relpath, op_depth, 22, 'Unneeded base-deleted node data' " \ 2646289180Speter "FROM nodes " \ 2647289180Speter "WHERE presence IN ('base-deleted') " \ 2648289180Speter "AND (repos_id IS NOT NULL " \ 2649289180Speter " OR repos_path IS NOT NULL " \ 2650289180Speter " OR revision IS NOT NULL) " \ 2651289180Speter "UNION ALL " \ 2652289180Speter "SELECT local_relpath, op_depth, 23, 'Kind specific data invalid on normal' " \ 2653289180Speter "FROM nodes " \ 2654289180Speter "WHERE presence IN ('normal', 'incomplete') " \ 2655289180Speter "AND (kind IS NULL " \ 2656289180Speter " OR (repos_path IS NULL " \ 2657289180Speter " AND (properties IS NOT NULL " \ 2658289180Speter " OR changed_revision IS NOT NULL " \ 2659289180Speter " OR changed_author IS NOT NULL " \ 2660289180Speter " OR (changed_date IS NOT NULL AND changed_date != 0))) " \ 2661289180Speter " OR (CASE WHEN kind = 'file' AND repos_path IS NOT NULL " \ 2662289180Speter " THEN checksum IS NULL " \ 2663289180Speter " ELSE checksum IS NOT NULL END) " \ 2664289180Speter " OR (CASE WHEN kind = 'dir' THEN depth IS NULL " \ 2665289180Speter " ELSE depth IS NOT NULL END) " \ 2666289180Speter " OR (CASE WHEN kind = 'symlink' THEN symlink_target IS NULL " \ 2667289180Speter " ELSE symlink_target IS NOT NULL END)) " \ 2668289180Speter "UNION ALL " \ 2669289180Speter "SELECT local_relpath, op_depth, 24, 'Invalid op-depth for local add' " \ 2670289180Speter "FROM nodes " \ 2671289180Speter "WHERE presence IN ('normal', 'incomplete') " \ 2672289180Speter " AND repos_path IS NULL " \ 2673289180Speter " AND op_depth != relpath_depth(local_relpath) " \ 2674289180Speter "UNION ALL " \ 2675289180Speter "SELECT local_relpath, op_depth, 25, 'Node missing op-depth ancestor' " \ 2676289180Speter "FROM nodes n " \ 2677289180Speter "WHERE op_depth < relpath_depth(local_relpath) " \ 2678289180Speter " AND file_external IS NULL " \ 2679289180Speter " AND NOT EXISTS(SELECT 1 FROM nodes p " \ 2680289180Speter " WHERE p.wc_id=n.wc_id AND p.local_relpath=n.parent_relpath " \ 2681289180Speter " AND p.op_depth=n.op_depth " \ 2682289180Speter " AND (p.presence IN ('normal', 'incomplete') " \ 2683289180Speter " OR (p.presence IN ('base-deleted', 'not-present') " \ 2684289180Speter " AND n.presence = 'base-deleted'))) " \ 2685289180Speter "UNION ALL " \ 2686289180Speter "SELECT n.local_relpath, n.op_depth, 26, 'Copied descendant mismatch' " \ 2687289180Speter "FROM nodes n " \ 2688289180Speter "JOIN nodes p " \ 2689289180Speter " ON p.wc_id=n.wc_id AND p.local_relpath=n.parent_relpath " \ 2690289180Speter " AND n.op_depth=p.op_depth " \ 2691289180Speter "WHERE n.op_depth > 0 AND n.presence IN ('normal', 'incomplete') " \ 2692289180Speter " AND (n.repos_id != p.repos_id " \ 2693289180Speter " OR n.repos_path != " \ 2694289180Speter " (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) " \ 2695289180Speter " OR n.revision != p.revision " \ 2696289180Speter " OR p.kind != 'dir' " \ 2697289180Speter " OR n.moved_here IS NOT p.moved_here) " \ 2698289180Speter "UNION ALL " \ 2699289180Speter "SELECT n.local_relpath, n.op_depth, 27, 'Invalid op-root presence' " \ 2700289180Speter "FROM nodes n " \ 2701289180Speter "WHERE n.op_depth = relpath_depth(local_relpath) " \ 2702289180Speter " AND presence NOT IN ('normal', 'incomplete', 'base-deleted') " \ 2703289180Speter "UNION ALL " \ 2704289180Speter "SELECT n.local_relpath, s.op_depth, 28, 'Incomplete shadowing' " \ 2705289180Speter "FROM nodes n " \ 2706289180Speter "JOIN nodes s ON s.wc_id=n.wc_id AND s.local_relpath=n.local_relpath " \ 2707289180Speter " AND s.op_depth = relpath_depth(s.local_relpath) " \ 2708289180Speter " AND s.op_depth = (SELECT MIN(op_depth) FROM nodes d " \ 2709289180Speter " WHERE d.wc_id=s.wc_id AND d.local_relpath=s.local_relpath " \ 2710289180Speter " AND d.op_depth > n.op_depth) " \ 2711289180Speter "WHERE n.presence IN ('normal', 'incomplete') " \ 2712289180Speter " AND EXISTS(SELECT 1 " \ 2713289180Speter " FROM nodes dn " \ 2714289180Speter " WHERE dn.wc_id=n.wc_id AND dn.op_depth=n.op_depth " \ 2715289180Speter " AND dn.presence IN ('normal', 'incomplete') " \ 2716289180Speter " 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)) " \ 2717289180Speter " AND dn.file_external IS NULL " \ 2718289180Speter " AND NOT EXISTS(SELECT 1 " \ 2719289180Speter " FROM nodes ds " \ 2720289180Speter " WHERE ds.wc_id=n.wc_id AND ds.op_depth=s.op_depth " \ 2721289180Speter " AND ds.local_relpath=dn.local_relpath)) " \ 2722289180Speter "UNION ALL " \ 2723289180Speter "SELECT s.local_relpath, s.op_depth, 29, 'Invalid base-delete' " \ 2724289180Speter "FROM nodes s " \ 2725289180Speter "LEFT JOIN nodes n ON n.wc_id=s.wc_id AND n.local_relpath=s.local_relpath " \ 2726289180Speter " AND n.op_depth = (SELECT MAX(op_depth) FROM nodes d " \ 2727289180Speter " WHERE d.wc_id=s.wc_id AND d.local_relpath=s.local_relpath " \ 2728289180Speter " AND d.op_depth < s.op_depth) " \ 2729289180Speter "WHERE s.presence = 'base-deleted' " \ 2730289180Speter " AND (n.presence IS NULL " \ 2731289180Speter " OR n.presence NOT IN ('normal', 'incomplete') " \ 2732289180Speter " ) " \ 2733289180Speter "UNION ALL " \ 2734289180Speter "SELECT n.local_relpath, n.op_depth, 30, 'Invalid data for BASE' " \ 2735289180Speter "FROM nodes n " \ 2736289180Speter "WHERE n.op_depth = 0 " \ 2737289180Speter " AND (n.moved_to IS NOT NULL " \ 2738289180Speter " OR n.moved_here IS NOT NULL) " \ 2739289180Speter "UNION ALL " \ 2740289180Speter "SELECT d.local_relpath, d.op_depth, 60, 'Moved here without origin' " \ 2741289180Speter "FROM nodes d " \ 2742289180Speter "WHERE d.op_depth = relpath_depth(d.local_relpath) " \ 2743289180Speter " AND d.moved_here IS NOT NULL " \ 2744289180Speter " AND NOT EXISTS(SELECT 1 FROM nodes s " \ 2745289180Speter " WHERE s.wc_id = d.wc_id AND s.moved_to = d.local_relpath) " \ 2746289180Speter "UNION ALL " \ 2747289180Speter "SELECT s.local_relpath, s.op_depth, 61, 'Moved to without target' " \ 2748289180Speter "FROM nodes s " \ 2749289180Speter "WHERE s.moved_to IS NOT NULL " \ 2750289180Speter " AND NOT EXISTS(SELECT 1 FROM nodes d " \ 2751289180Speter " WHERE d.wc_id = s.wc_id AND d.local_relpath = s.moved_to " \ 2752289180Speter " AND d.op_depth = relpath_depth(d.local_relpath) " \ 2753289180Speter " AND d.moved_here =1 AND d.repos_path IS NOT NULL) " \ 2754289180Speter "" 2755289180Speter 2756251881Speter#define WC_QUERIES_SQL_DECLARE_STATEMENTS(varname) \ 2757251881Speter static const char * const varname[] = { \ 2758251881Speter STMT_0, \ 2759251881Speter STMT_1, \ 2760251881Speter STMT_2, \ 2761251881Speter STMT_3, \ 2762251881Speter STMT_4, \ 2763251881Speter STMT_5, \ 2764251881Speter STMT_6, \ 2765251881Speter STMT_7, \ 2766251881Speter STMT_8, \ 2767251881Speter STMT_9, \ 2768251881Speter STMT_10, \ 2769251881Speter STMT_11, \ 2770251881Speter STMT_12, \ 2771251881Speter STMT_13, \ 2772251881Speter STMT_14, \ 2773251881Speter STMT_15, \ 2774251881Speter STMT_16, \ 2775251881Speter STMT_17, \ 2776251881Speter STMT_18, \ 2777251881Speter STMT_19, \ 2778251881Speter STMT_20, \ 2779251881Speter STMT_21, \ 2780251881Speter STMT_22, \ 2781251881Speter STMT_23, \ 2782251881Speter STMT_24, \ 2783251881Speter STMT_25, \ 2784251881Speter STMT_26, \ 2785251881Speter STMT_27, \ 2786251881Speter STMT_28, \ 2787251881Speter STMT_29, \ 2788251881Speter STMT_30, \ 2789251881Speter STMT_31, \ 2790251881Speter STMT_32, \ 2791251881Speter STMT_33, \ 2792251881Speter STMT_34, \ 2793251881Speter STMT_35, \ 2794251881Speter STMT_36, \ 2795251881Speter STMT_37, \ 2796251881Speter STMT_38, \ 2797251881Speter STMT_39, \ 2798251881Speter STMT_40, \ 2799251881Speter STMT_41, \ 2800251881Speter STMT_42, \ 2801251881Speter STMT_43, \ 2802251881Speter STMT_44, \ 2803251881Speter STMT_45, \ 2804251881Speter STMT_46, \ 2805251881Speter STMT_47, \ 2806251881Speter STMT_48, \ 2807251881Speter STMT_49, \ 2808251881Speter STMT_50, \ 2809251881Speter STMT_51, \ 2810251881Speter STMT_52, \ 2811251881Speter STMT_53, \ 2812251881Speter STMT_54, \ 2813251881Speter STMT_55, \ 2814251881Speter STMT_56, \ 2815251881Speter STMT_57, \ 2816251881Speter STMT_58, \ 2817251881Speter STMT_59, \ 2818251881Speter STMT_60, \ 2819251881Speter STMT_61, \ 2820251881Speter STMT_62, \ 2821251881Speter STMT_63, \ 2822251881Speter STMT_64, \ 2823251881Speter STMT_65, \ 2824251881Speter STMT_66, \ 2825251881Speter STMT_67, \ 2826251881Speter STMT_68, \ 2827251881Speter STMT_69, \ 2828251881Speter STMT_70, \ 2829251881Speter STMT_71, \ 2830251881Speter STMT_72, \ 2831251881Speter STMT_73, \ 2832251881Speter STMT_74, \ 2833251881Speter STMT_75, \ 2834251881Speter STMT_76, \ 2835251881Speter STMT_77, \ 2836251881Speter STMT_78, \ 2837251881Speter STMT_79, \ 2838251881Speter STMT_80, \ 2839251881Speter STMT_81, \ 2840251881Speter STMT_82, \ 2841251881Speter STMT_83, \ 2842251881Speter STMT_84, \ 2843251881Speter STMT_85, \ 2844251881Speter STMT_86, \ 2845251881Speter STMT_87, \ 2846251881Speter STMT_88, \ 2847251881Speter STMT_89, \ 2848251881Speter STMT_90, \ 2849251881Speter STMT_91, \ 2850251881Speter STMT_92, \ 2851251881Speter STMT_93, \ 2852251881Speter STMT_94, \ 2853251881Speter STMT_95, \ 2854251881Speter STMT_96, \ 2855251881Speter STMT_97, \ 2856251881Speter STMT_98, \ 2857251881Speter STMT_99, \ 2858251881Speter STMT_100, \ 2859251881Speter STMT_101, \ 2860251881Speter STMT_102, \ 2861251881Speter STMT_103, \ 2862251881Speter STMT_104, \ 2863251881Speter STMT_105, \ 2864251881Speter STMT_106, \ 2865251881Speter STMT_107, \ 2866251881Speter STMT_108, \ 2867251881Speter STMT_109, \ 2868251881Speter STMT_110, \ 2869251881Speter STMT_111, \ 2870251881Speter STMT_112, \ 2871251881Speter STMT_113, \ 2872251881Speter STMT_114, \ 2873251881Speter STMT_115, \ 2874251881Speter STMT_116, \ 2875251881Speter STMT_117, \ 2876251881Speter STMT_118, \ 2877251881Speter STMT_119, \ 2878251881Speter STMT_120, \ 2879251881Speter STMT_121, \ 2880251881Speter STMT_122, \ 2881251881Speter STMT_123, \ 2882251881Speter STMT_124, \ 2883251881Speter STMT_125, \ 2884251881Speter STMT_126, \ 2885251881Speter STMT_127, \ 2886251881Speter STMT_128, \ 2887251881Speter STMT_129, \ 2888251881Speter STMT_130, \ 2889251881Speter STMT_131, \ 2890251881Speter STMT_132, \ 2891251881Speter STMT_133, \ 2892251881Speter STMT_134, \ 2893251881Speter STMT_135, \ 2894251881Speter STMT_136, \ 2895251881Speter STMT_137, \ 2896251881Speter STMT_138, \ 2897251881Speter STMT_139, \ 2898251881Speter STMT_140, \ 2899251881Speter STMT_141, \ 2900251881Speter STMT_142, \ 2901251881Speter STMT_143, \ 2902251881Speter STMT_144, \ 2903251881Speter STMT_145, \ 2904251881Speter STMT_146, \ 2905251881Speter STMT_147, \ 2906251881Speter STMT_148, \ 2907251881Speter STMT_149, \ 2908251881Speter STMT_150, \ 2909251881Speter STMT_151, \ 2910251881Speter STMT_152, \ 2911251881Speter STMT_153, \ 2912251881Speter STMT_154, \ 2913251881Speter STMT_155, \ 2914251881Speter STMT_156, \ 2915251881Speter STMT_157, \ 2916251881Speter STMT_158, \ 2917251881Speter STMT_159, \ 2918251881Speter STMT_160, \ 2919251881Speter STMT_161, \ 2920251881Speter STMT_162, \ 2921251881Speter STMT_163, \ 2922251881Speter STMT_164, \ 2923251881Speter STMT_165, \ 2924251881Speter STMT_166, \ 2925251881Speter STMT_167, \ 2926251881Speter STMT_168, \ 2927251881Speter STMT_169, \ 2928251881Speter STMT_170, \ 2929251881Speter STMT_171, \ 2930251881Speter STMT_172, \ 2931251881Speter STMT_173, \ 2932251881Speter STMT_174, \ 2933251881Speter STMT_175, \ 2934251881Speter STMT_176, \ 2935251881Speter STMT_177, \ 2936251881Speter STMT_178, \ 2937251881Speter STMT_179, \ 2938251881Speter STMT_180, \ 2939251881Speter STMT_181, \ 2940251881Speter STMT_182, \ 2941251881Speter STMT_183, \ 2942251881Speter STMT_184, \ 2943251881Speter STMT_185, \ 2944251881Speter STMT_186, \ 2945251881Speter STMT_187, \ 2946251881Speter STMT_188, \ 2947251881Speter STMT_189, \ 2948251881Speter STMT_190, \ 2949251881Speter STMT_191, \ 2950251881Speter STMT_192, \ 2951251881Speter STMT_193, \ 2952251881Speter STMT_194, \ 2953251881Speter STMT_195, \ 2954251881Speter STMT_196, \ 2955251881Speter STMT_197, \ 2956251881Speter STMT_198, \ 2957251881Speter STMT_199, \ 2958251881Speter STMT_200, \ 2959251881Speter STMT_201, \ 2960251881Speter STMT_202, \ 2961251881Speter STMT_203, \ 2962251881Speter STMT_204, \ 2963251881Speter STMT_205, \ 2964251881Speter STMT_206, \ 2965251881Speter STMT_207, \ 2966251881Speter STMT_208, \ 2967251881Speter STMT_209, \ 2968251881Speter STMT_210, \ 2969251881Speter STMT_211, \ 2970251881Speter STMT_212, \ 2971251881Speter STMT_213, \ 2972251881Speter STMT_214, \ 2973251881Speter STMT_215, \ 2974251881Speter STMT_216, \ 2975251881Speter STMT_217, \ 2976251881Speter NULL \ 2977251881Speter } 2978251881Speter 2979251881Speter#define WC_QUERIES_SQL_DECLARE_STATEMENT_INFO(varname) \ 2980251881Speter static const char * const varname[][2] = { \ 2981251881Speter STMT_0_INFO, \ 2982251881Speter STMT_1_INFO, \ 2983251881Speter STMT_2_INFO, \ 2984251881Speter STMT_3_INFO, \ 2985251881Speter STMT_4_INFO, \ 2986251881Speter STMT_5_INFO, \ 2987251881Speter STMT_6_INFO, \ 2988251881Speter STMT_7_INFO, \ 2989251881Speter STMT_8_INFO, \ 2990251881Speter STMT_9_INFO, \ 2991251881Speter STMT_10_INFO, \ 2992251881Speter STMT_11_INFO, \ 2993251881Speter STMT_12_INFO, \ 2994251881Speter STMT_13_INFO, \ 2995251881Speter STMT_14_INFO, \ 2996251881Speter STMT_15_INFO, \ 2997251881Speter STMT_16_INFO, \ 2998251881Speter STMT_17_INFO, \ 2999251881Speter STMT_18_INFO, \ 3000251881Speter STMT_19_INFO, \ 3001251881Speter STMT_20_INFO, \ 3002251881Speter STMT_21_INFO, \ 3003251881Speter STMT_22_INFO, \ 3004251881Speter STMT_23_INFO, \ 3005251881Speter STMT_24_INFO, \ 3006251881Speter STMT_25_INFO, \ 3007251881Speter STMT_26_INFO, \ 3008251881Speter STMT_27_INFO, \ 3009251881Speter STMT_28_INFO, \ 3010251881Speter STMT_29_INFO, \ 3011251881Speter STMT_30_INFO, \ 3012251881Speter STMT_31_INFO, \ 3013251881Speter STMT_32_INFO, \ 3014251881Speter STMT_33_INFO, \ 3015251881Speter STMT_34_INFO, \ 3016251881Speter STMT_35_INFO, \ 3017251881Speter STMT_36_INFO, \ 3018251881Speter STMT_37_INFO, \ 3019251881Speter STMT_38_INFO, \ 3020251881Speter STMT_39_INFO, \ 3021251881Speter STMT_40_INFO, \ 3022251881Speter STMT_41_INFO, \ 3023251881Speter STMT_42_INFO, \ 3024251881Speter STMT_43_INFO, \ 3025251881Speter STMT_44_INFO, \ 3026251881Speter STMT_45_INFO, \ 3027251881Speter STMT_46_INFO, \ 3028251881Speter STMT_47_INFO, \ 3029251881Speter STMT_48_INFO, \ 3030251881Speter STMT_49_INFO, \ 3031251881Speter STMT_50_INFO, \ 3032251881Speter STMT_51_INFO, \ 3033251881Speter STMT_52_INFO, \ 3034251881Speter STMT_53_INFO, \ 3035251881Speter STMT_54_INFO, \ 3036251881Speter STMT_55_INFO, \ 3037251881Speter STMT_56_INFO, \ 3038251881Speter STMT_57_INFO, \ 3039251881Speter STMT_58_INFO, \ 3040251881Speter STMT_59_INFO, \ 3041251881Speter STMT_60_INFO, \ 3042251881Speter STMT_61_INFO, \ 3043251881Speter STMT_62_INFO, \ 3044251881Speter STMT_63_INFO, \ 3045251881Speter STMT_64_INFO, \ 3046251881Speter STMT_65_INFO, \ 3047251881Speter STMT_66_INFO, \ 3048251881Speter STMT_67_INFO, \ 3049251881Speter STMT_68_INFO, \ 3050251881Speter STMT_69_INFO, \ 3051251881Speter STMT_70_INFO, \ 3052251881Speter STMT_71_INFO, \ 3053251881Speter STMT_72_INFO, \ 3054251881Speter STMT_73_INFO, \ 3055251881Speter STMT_74_INFO, \ 3056251881Speter STMT_75_INFO, \ 3057251881Speter STMT_76_INFO, \ 3058251881Speter STMT_77_INFO, \ 3059251881Speter STMT_78_INFO, \ 3060251881Speter STMT_79_INFO, \ 3061251881Speter STMT_80_INFO, \ 3062251881Speter STMT_81_INFO, \ 3063251881Speter STMT_82_INFO, \ 3064251881Speter STMT_83_INFO, \ 3065251881Speter STMT_84_INFO, \ 3066251881Speter STMT_85_INFO, \ 3067251881Speter STMT_86_INFO, \ 3068251881Speter STMT_87_INFO, \ 3069251881Speter STMT_88_INFO, \ 3070251881Speter STMT_89_INFO, \ 3071251881Speter STMT_90_INFO, \ 3072251881Speter STMT_91_INFO, \ 3073251881Speter STMT_92_INFO, \ 3074251881Speter STMT_93_INFO, \ 3075251881Speter STMT_94_INFO, \ 3076251881Speter STMT_95_INFO, \ 3077251881Speter STMT_96_INFO, \ 3078251881Speter STMT_97_INFO, \ 3079251881Speter STMT_98_INFO, \ 3080251881Speter STMT_99_INFO, \ 3081251881Speter STMT_100_INFO, \ 3082251881Speter STMT_101_INFO, \ 3083251881Speter STMT_102_INFO, \ 3084251881Speter STMT_103_INFO, \ 3085251881Speter STMT_104_INFO, \ 3086251881Speter STMT_105_INFO, \ 3087251881Speter STMT_106_INFO, \ 3088251881Speter STMT_107_INFO, \ 3089251881Speter STMT_108_INFO, \ 3090251881Speter STMT_109_INFO, \ 3091251881Speter STMT_110_INFO, \ 3092251881Speter STMT_111_INFO, \ 3093251881Speter STMT_112_INFO, \ 3094251881Speter STMT_113_INFO, \ 3095251881Speter STMT_114_INFO, \ 3096251881Speter STMT_115_INFO, \ 3097251881Speter STMT_116_INFO, \ 3098251881Speter STMT_117_INFO, \ 3099251881Speter STMT_118_INFO, \ 3100251881Speter STMT_119_INFO, \ 3101251881Speter STMT_120_INFO, \ 3102251881Speter STMT_121_INFO, \ 3103251881Speter STMT_122_INFO, \ 3104251881Speter STMT_123_INFO, \ 3105251881Speter STMT_124_INFO, \ 3106251881Speter STMT_125_INFO, \ 3107251881Speter STMT_126_INFO, \ 3108251881Speter STMT_127_INFO, \ 3109251881Speter STMT_128_INFO, \ 3110251881Speter STMT_129_INFO, \ 3111251881Speter STMT_130_INFO, \ 3112251881Speter STMT_131_INFO, \ 3113251881Speter STMT_132_INFO, \ 3114251881Speter STMT_133_INFO, \ 3115251881Speter STMT_134_INFO, \ 3116251881Speter STMT_135_INFO, \ 3117251881Speter STMT_136_INFO, \ 3118251881Speter STMT_137_INFO, \ 3119251881Speter STMT_138_INFO, \ 3120251881Speter STMT_139_INFO, \ 3121251881Speter STMT_140_INFO, \ 3122251881Speter STMT_141_INFO, \ 3123251881Speter STMT_142_INFO, \ 3124251881Speter STMT_143_INFO, \ 3125251881Speter STMT_144_INFO, \ 3126251881Speter STMT_145_INFO, \ 3127251881Speter STMT_146_INFO, \ 3128251881Speter STMT_147_INFO, \ 3129251881Speter STMT_148_INFO, \ 3130251881Speter STMT_149_INFO, \ 3131251881Speter STMT_150_INFO, \ 3132251881Speter STMT_151_INFO, \ 3133251881Speter STMT_152_INFO, \ 3134251881Speter STMT_153_INFO, \ 3135251881Speter STMT_154_INFO, \ 3136251881Speter STMT_155_INFO, \ 3137251881Speter STMT_156_INFO, \ 3138251881Speter STMT_157_INFO, \ 3139251881Speter STMT_158_INFO, \ 3140251881Speter STMT_159_INFO, \ 3141251881Speter STMT_160_INFO, \ 3142251881Speter STMT_161_INFO, \ 3143251881Speter STMT_162_INFO, \ 3144251881Speter STMT_163_INFO, \ 3145251881Speter STMT_164_INFO, \ 3146251881Speter STMT_165_INFO, \ 3147251881Speter STMT_166_INFO, \ 3148251881Speter STMT_167_INFO, \ 3149251881Speter STMT_168_INFO, \ 3150251881Speter STMT_169_INFO, \ 3151251881Speter STMT_170_INFO, \ 3152251881Speter STMT_171_INFO, \ 3153251881Speter STMT_172_INFO, \ 3154251881Speter STMT_173_INFO, \ 3155251881Speter STMT_174_INFO, \ 3156251881Speter STMT_175_INFO, \ 3157251881Speter STMT_176_INFO, \ 3158251881Speter STMT_177_INFO, \ 3159251881Speter STMT_178_INFO, \ 3160251881Speter STMT_179_INFO, \ 3161251881Speter STMT_180_INFO, \ 3162251881Speter STMT_181_INFO, \ 3163251881Speter STMT_182_INFO, \ 3164251881Speter STMT_183_INFO, \ 3165251881Speter STMT_184_INFO, \ 3166251881Speter STMT_185_INFO, \ 3167251881Speter STMT_186_INFO, \ 3168251881Speter STMT_187_INFO, \ 3169251881Speter STMT_188_INFO, \ 3170251881Speter STMT_189_INFO, \ 3171251881Speter STMT_190_INFO, \ 3172251881Speter STMT_191_INFO, \ 3173251881Speter STMT_192_INFO, \ 3174251881Speter STMT_193_INFO, \ 3175251881Speter STMT_194_INFO, \ 3176251881Speter STMT_195_INFO, \ 3177251881Speter STMT_196_INFO, \ 3178251881Speter STMT_197_INFO, \ 3179251881Speter STMT_198_INFO, \ 3180251881Speter STMT_199_INFO, \ 3181251881Speter STMT_200_INFO, \ 3182251881Speter STMT_201_INFO, \ 3183251881Speter STMT_202_INFO, \ 3184251881Speter STMT_203_INFO, \ 3185251881Speter STMT_204_INFO, \ 3186251881Speter STMT_205_INFO, \ 3187251881Speter STMT_206_INFO, \ 3188251881Speter STMT_207_INFO, \ 3189251881Speter STMT_208_INFO, \ 3190251881Speter STMT_209_INFO, \ 3191251881Speter STMT_210_INFO, \ 3192251881Speter STMT_211_INFO, \ 3193251881Speter STMT_212_INFO, \ 3194251881Speter STMT_213_INFO, \ 3195251881Speter STMT_214_INFO, \ 3196251881Speter STMT_215_INFO, \ 3197251881Speter STMT_216_INFO, \ 3198251881Speter STMT_217_INFO, \ 3199251881Speter {NULL, NULL} \ 3200251881Speter } 3201