wc-queries.h revision 289166
1/* This file is automatically generated from wc-queries.sql and .dist_sandbox/subversion-1.8.14/subversion/libsvn_wc/token-map.h. 2 * Do not edit this file -- edit the source and rerun gen-make.py */ 3 4#define STMT_SELECT_NODE_INFO 0 5#define STMT_0_INFO {"STMT_SELECT_NODE_INFO", NULL} 6#define STMT_0 \ 7 "SELECT op_depth, repos_id, repos_path, presence, kind, revision, checksum, " \ 8 " translated_size, changed_revision, changed_date, changed_author, depth, " \ 9 " symlink_target, last_mod_time, properties, moved_here, inherited_props, " \ 10 " moved_to " \ 11 "FROM nodes " \ 12 "WHERE wc_id = ?1 AND local_relpath = ?2 " \ 13 "ORDER BY op_depth DESC " \ 14 "" 15 16#define STMT_SELECT_NODE_INFO_WITH_LOCK 1 17#define STMT_1_INFO {"STMT_SELECT_NODE_INFO_WITH_LOCK", NULL} 18#define STMT_1 \ 19 "SELECT op_depth, nodes.repos_id, nodes.repos_path, presence, kind, revision, " \ 20 " checksum, translated_size, changed_revision, changed_date, changed_author, " \ 21 " depth, symlink_target, last_mod_time, properties, moved_here, " \ 22 " inherited_props, " \ 23 " lock_token, lock_owner, lock_comment, lock_date " \ 24 "FROM nodes " \ 25 "LEFT OUTER JOIN lock ON nodes.repos_id = lock.repos_id " \ 26 " AND nodes.repos_path = lock.repos_relpath " \ 27 "WHERE wc_id = ?1 AND local_relpath = ?2 " \ 28 "ORDER BY op_depth DESC " \ 29 "" 30 31#define STMT_SELECT_BASE_NODE 2 32#define STMT_2_INFO {"STMT_SELECT_BASE_NODE", NULL} 33#define STMT_2 \ 34 "SELECT repos_id, repos_path, presence, kind, revision, checksum, " \ 35 " translated_size, changed_revision, changed_date, changed_author, depth, " \ 36 " symlink_target, last_mod_time, properties, file_external " \ 37 "FROM nodes " \ 38 "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \ 39 "" 40 41#define STMT_SELECT_BASE_NODE_WITH_LOCK 3 42#define STMT_3_INFO {"STMT_SELECT_BASE_NODE_WITH_LOCK", NULL} 43#define STMT_3 \ 44 "SELECT nodes.repos_id, nodes.repos_path, presence, kind, revision, " \ 45 " checksum, translated_size, changed_revision, changed_date, changed_author, " \ 46 " depth, symlink_target, last_mod_time, properties, file_external, " \ 47 " lock_token, lock_owner, lock_comment, lock_date " \ 48 "FROM nodes " \ 49 "LEFT OUTER JOIN lock ON nodes.repos_id = lock.repos_id " \ 50 " AND nodes.repos_path = lock.repos_relpath " \ 51 "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \ 52 "" 53 54#define STMT_SELECT_BASE_CHILDREN_INFO 4 55#define STMT_4_INFO {"STMT_SELECT_BASE_CHILDREN_INFO", NULL} 56#define STMT_4 \ 57 "SELECT local_relpath, nodes.repos_id, nodes.repos_path, presence, kind, " \ 58 " revision, depth, file_external, " \ 59 " lock_token, lock_owner, lock_comment, lock_date " \ 60 "FROM nodes " \ 61 "LEFT OUTER JOIN lock ON nodes.repos_id = lock.repos_id " \ 62 " AND nodes.repos_path = lock.repos_relpath " \ 63 "WHERE wc_id = ?1 AND parent_relpath = ?2 AND op_depth = 0 " \ 64 "" 65 66#define STMT_SELECT_WORKING_NODE 5 67#define STMT_5_INFO {"STMT_SELECT_WORKING_NODE", NULL} 68#define STMT_5 \ 69 "SELECT op_depth, presence, kind, checksum, translated_size, " \ 70 " changed_revision, changed_date, changed_author, depth, symlink_target, " \ 71 " repos_id, repos_path, revision, " \ 72 " moved_here, moved_to, last_mod_time, properties " \ 73 "FROM nodes " \ 74 "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth > 0 " \ 75 "ORDER BY op_depth DESC " \ 76 "LIMIT 1 " \ 77 "" 78 79#define STMT_SELECT_DEPTH_NODE 6 80#define STMT_6_INFO {"STMT_SELECT_DEPTH_NODE", NULL} 81#define STMT_6 \ 82 "SELECT repos_id, repos_path, presence, kind, revision, checksum, " \ 83 " translated_size, changed_revision, changed_date, changed_author, depth, " \ 84 " symlink_target, last_mod_time, properties " \ 85 "FROM nodes " \ 86 "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = ?3 " \ 87 "" 88 89#define STMT_SELECT_LOWEST_WORKING_NODE 7 90#define STMT_7_INFO {"STMT_SELECT_LOWEST_WORKING_NODE", NULL} 91#define STMT_7 \ 92 "SELECT op_depth, presence, kind, moved_to " \ 93 "FROM nodes " \ 94 "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth > ?3 " \ 95 "ORDER BY op_depth " \ 96 "LIMIT 1 " \ 97 "" 98 99#define STMT_SELECT_HIGHEST_WORKING_NODE 8 100#define STMT_8_INFO {"STMT_SELECT_HIGHEST_WORKING_NODE", NULL} 101#define STMT_8 \ 102 "SELECT op_depth " \ 103 "FROM nodes " \ 104 "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth < ?3 " \ 105 "ORDER BY op_depth DESC " \ 106 "LIMIT 1 " \ 107 "" 108 109#define STMT_SELECT_ACTUAL_NODE 9 110#define STMT_9_INFO {"STMT_SELECT_ACTUAL_NODE", NULL} 111#define STMT_9 \ 112 "SELECT changelist, properties, conflict_data " \ 113 "FROM actual_node " \ 114 "WHERE wc_id = ?1 AND local_relpath = ?2 " \ 115 "" 116 117#define STMT_SELECT_NODE_CHILDREN_INFO 10 118#define STMT_10_INFO {"STMT_SELECT_NODE_CHILDREN_INFO", NULL} 119#define STMT_10 \ 120 "SELECT op_depth, nodes.repos_id, nodes.repos_path, presence, kind, revision, " \ 121 " checksum, translated_size, changed_revision, changed_date, changed_author, " \ 122 " depth, symlink_target, last_mod_time, properties, lock_token, lock_owner, " \ 123 " lock_comment, lock_date, local_relpath, moved_here, moved_to, file_external " \ 124 "FROM nodes " \ 125 "LEFT OUTER JOIN lock ON nodes.repos_id = lock.repos_id " \ 126 " AND nodes.repos_path = lock.repos_relpath AND op_depth = 0 " \ 127 "WHERE wc_id = ?1 AND parent_relpath = ?2 " \ 128 "" 129 130#define STMT_SELECT_NODE_CHILDREN_WALKER_INFO 11 131#define STMT_11_INFO {"STMT_SELECT_NODE_CHILDREN_WALKER_INFO", NULL} 132#define STMT_11 \ 133 "SELECT local_relpath, op_depth, presence, kind " \ 134 "FROM nodes_current " \ 135 "WHERE wc_id = ?1 AND parent_relpath = ?2 " \ 136 "" 137 138#define STMT_SELECT_ACTUAL_CHILDREN_INFO 12 139#define STMT_12_INFO {"STMT_SELECT_ACTUAL_CHILDREN_INFO", NULL} 140#define STMT_12 \ 141 "SELECT local_relpath, changelist, properties, conflict_data " \ 142 "FROM actual_node " \ 143 "WHERE wc_id = ?1 AND parent_relpath = ?2 " \ 144 "" 145 146#define STMT_SELECT_REPOSITORY_BY_ID 13 147#define STMT_13_INFO {"STMT_SELECT_REPOSITORY_BY_ID", NULL} 148#define STMT_13 \ 149 "SELECT root, uuid FROM repository WHERE id = ?1 " \ 150 "" 151 152#define STMT_SELECT_WCROOT_NULL 14 153#define STMT_14_INFO {"STMT_SELECT_WCROOT_NULL", NULL} 154#define STMT_14 \ 155 "SELECT id FROM wcroot WHERE local_abspath IS NULL " \ 156 "" 157 158#define STMT_SELECT_REPOSITORY 15 159#define STMT_15_INFO {"STMT_SELECT_REPOSITORY", NULL} 160#define STMT_15 \ 161 "SELECT id FROM repository WHERE root = ?1 " \ 162 "" 163 164#define STMT_INSERT_REPOSITORY 16 165#define STMT_16_INFO {"STMT_INSERT_REPOSITORY", NULL} 166#define STMT_16 \ 167 "INSERT INTO repository (root, uuid) VALUES (?1, ?2) " \ 168 "" 169 170#define STMT_INSERT_NODE 17 171#define STMT_17_INFO {"STMT_INSERT_NODE", NULL} 172#define STMT_17 \ 173 "INSERT OR REPLACE INTO nodes ( " \ 174 " wc_id, local_relpath, op_depth, parent_relpath, repos_id, repos_path, " \ 175 " revision, presence, depth, kind, changed_revision, changed_date, " \ 176 " changed_author, checksum, properties, translated_size, last_mod_time, " \ 177 " dav_cache, symlink_target, file_external, moved_to, moved_here, " \ 178 " inherited_props) " \ 179 "VALUES (?1, ?2, ?3, ?4, ?5, ?6, ?7, ?8, ?9, ?10, ?11, ?12, ?13, ?14, " \ 180 " ?15, ?16, ?17, ?18, ?19, ?20, ?21, ?22, ?23) " \ 181 "" 182 183#define STMT_SELECT_BASE_PRESENT 18 184#define STMT_18_INFO {"STMT_SELECT_BASE_PRESENT", NULL} 185#define STMT_18 \ 186 "SELECT local_relpath, kind FROM nodes n " \ 187 "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)) " \ 188 " AND op_depth = 0 " \ 189 " AND presence in ('normal', 'incomplete') " \ 190 " AND NOT EXISTS(SELECT 1 FROM NODES w " \ 191 " WHERE w.wc_id = ?1 AND w.local_relpath = n.local_relpath " \ 192 " AND op_depth > 0) " \ 193 "ORDER BY local_relpath DESC " \ 194 "" 195 196#define STMT_SELECT_WORKING_PRESENT 19 197#define STMT_19_INFO {"STMT_SELECT_WORKING_PRESENT", NULL} 198#define STMT_19 \ 199 "SELECT local_relpath, kind, checksum, translated_size, last_mod_time " \ 200 "FROM nodes n " \ 201 "WHERE wc_id = ?1 " \ 202 " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \ 203 " AND presence in ('normal', 'incomplete') " \ 204 " AND op_depth = (SELECT MAX(op_depth) " \ 205 " FROM NODES w " \ 206 " WHERE w.wc_id = ?1 " \ 207 " AND w.local_relpath = n.local_relpath) " \ 208 "ORDER BY local_relpath DESC " \ 209 "" 210 211#define STMT_DELETE_NODE_RECURSIVE 20 212#define STMT_20_INFO {"STMT_DELETE_NODE_RECURSIVE", NULL} 213#define STMT_20 \ 214 "DELETE FROM NODES " \ 215 "WHERE wc_id = ?1 " \ 216 " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \ 217 "" 218 219#define STMT_DELETE_NODE 21 220#define STMT_21_INFO {"STMT_DELETE_NODE", NULL} 221#define STMT_21 \ 222 "DELETE " \ 223 "FROM NODES " \ 224 "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = ?3 " \ 225 "" 226 227#define STMT_DELETE_ACTUAL_FOR_BASE_RECURSIVE 22 228#define STMT_22_INFO {"STMT_DELETE_ACTUAL_FOR_BASE_RECURSIVE", NULL} 229#define STMT_22 \ 230 "DELETE FROM actual_node " \ 231 "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)) " \ 232 " AND EXISTS(SELECT 1 FROM NODES b " \ 233 " WHERE b.wc_id = ?1 " \ 234 " AND b.local_relpath = actual_node.local_relpath " \ 235 " AND op_depth = 0) " \ 236 " AND NOT EXISTS(SELECT 1 FROM NODES w " \ 237 " WHERE w.wc_id = ?1 " \ 238 " AND w.local_relpath = actual_node.local_relpath " \ 239 " AND op_depth > 0 " \ 240 " AND presence in ('normal', 'incomplete', 'not-present')) " \ 241 "" 242 243#define STMT_DELETE_WORKING_BASE_DELETE 23 244#define STMT_23_INFO {"STMT_DELETE_WORKING_BASE_DELETE", NULL} 245#define STMT_23 \ 246 "DELETE FROM nodes " \ 247 "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)) " \ 248 " AND presence = 'base-deleted' " \ 249 " AND op_depth > 0 " \ 250 " AND op_depth = (SELECT MIN(op_depth) FROM nodes n " \ 251 " WHERE n.wc_id = ?1 " \ 252 " AND n.local_relpath = nodes.local_relpath " \ 253 " AND op_depth > 0) " \ 254 "" 255 256#define STMT_DELETE_WORKING_RECURSIVE 24 257#define STMT_24_INFO {"STMT_DELETE_WORKING_RECURSIVE", NULL} 258#define STMT_24 \ 259 "DELETE FROM nodes " \ 260 "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)) " \ 261 " AND op_depth > 0 " \ 262 "" 263 264#define STMT_DELETE_BASE_RECURSIVE 25 265#define STMT_25_INFO {"STMT_DELETE_BASE_RECURSIVE", NULL} 266#define STMT_25 \ 267 "DELETE FROM nodes " \ 268 "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)) " \ 269 " AND op_depth = 0 " \ 270 "" 271 272#define STMT_DELETE_WORKING_OP_DEPTH 26 273#define STMT_26_INFO {"STMT_DELETE_WORKING_OP_DEPTH", NULL} 274#define STMT_26 \ 275 "DELETE FROM nodes " \ 276 "WHERE wc_id = ?1 " \ 277 " 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))) " \ 278 " AND op_depth = ?3 " \ 279 "" 280 281#define STMT_DELETE_WORKING_OP_DEPTH_ABOVE 27 282#define STMT_27_INFO {"STMT_DELETE_WORKING_OP_DEPTH_ABOVE", NULL} 283#define STMT_27 \ 284 "DELETE FROM nodes " \ 285 "WHERE wc_id = ?1 " \ 286 " 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))) " \ 287 " AND op_depth > ?3 " \ 288 "" 289 290#define STMT_SELECT_LOCAL_RELPATH_OP_DEPTH 28 291#define STMT_28_INFO {"STMT_SELECT_LOCAL_RELPATH_OP_DEPTH", NULL} 292#define STMT_28 \ 293 "SELECT local_relpath " \ 294 "FROM nodes " \ 295 "WHERE wc_id = ?1 " \ 296 " 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))) " \ 297 " AND op_depth = ?3 " \ 298 "" 299 300#define STMT_SELECT_CHILDREN_OP_DEPTH 29 301#define STMT_29_INFO {"STMT_SELECT_CHILDREN_OP_DEPTH", NULL} 302#define STMT_29 \ 303 "SELECT local_relpath, kind " \ 304 "FROM nodes " \ 305 "WHERE wc_id = ?1 " \ 306 " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \ 307 " AND op_depth = ?3 " \ 308 "ORDER BY local_relpath DESC " \ 309 "" 310 311#define STMT_COPY_NODE_MOVE 30 312#define STMT_30_INFO {"STMT_COPY_NODE_MOVE", NULL} 313#define STMT_30 \ 314 "INSERT OR REPLACE INTO nodes ( " \ 315 " wc_id, local_relpath, op_depth, parent_relpath, repos_id, repos_path, " \ 316 " revision, presence, depth, kind, changed_revision, changed_date, " \ 317 " changed_author, checksum, properties, translated_size, last_mod_time, " \ 318 " symlink_target, moved_here, moved_to ) " \ 319 "SELECT " \ 320 " wc_id, ?4 , ?5 , ?6 , " \ 321 " repos_id, " \ 322 " repos_path, revision, presence, depth, kind, changed_revision, " \ 323 " changed_date, changed_author, checksum, properties, translated_size, " \ 324 " last_mod_time, symlink_target, 1, " \ 325 " (SELECT dst.moved_to FROM nodes AS dst " \ 326 " WHERE dst.wc_id = ?1 " \ 327 " AND dst.local_relpath = ?4 " \ 328 " AND dst.op_depth = ?5) " \ 329 "FROM nodes " \ 330 "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = ?3 " \ 331 "" 332 333#define STMT_SELECT_OP_DEPTH_CHILDREN 31 334#define STMT_31_INFO {"STMT_SELECT_OP_DEPTH_CHILDREN", NULL} 335#define STMT_31 \ 336 "SELECT local_relpath, kind FROM nodes " \ 337 "WHERE wc_id = ?1 " \ 338 " AND parent_relpath = ?2 " \ 339 " AND op_depth = ?3 " \ 340 " AND presence != 'base-deleted' " \ 341 " AND file_external is NULL " \ 342 "" 343 344#define STMT_SELECT_GE_OP_DEPTH_CHILDREN 32 345#define STMT_32_INFO {"STMT_SELECT_GE_OP_DEPTH_CHILDREN", NULL} 346#define STMT_32 \ 347 "SELECT 1 FROM nodes " \ 348 "WHERE wc_id = ?1 AND parent_relpath = ?2 " \ 349 " AND (op_depth > ?3 OR (op_depth = ?3 AND presence != 'base-deleted')) " \ 350 "UNION ALL " \ 351 "SELECT 1 FROM ACTUAL_NODE a " \ 352 "WHERE wc_id = ?1 AND parent_relpath = ?2 " \ 353 " AND NOT EXISTS (SELECT 1 FROM nodes n " \ 354 " WHERE wc_id = ?1 AND n.local_relpath = a.local_relpath) " \ 355 "" 356 357#define STMT_DELETE_SHADOWED_RECURSIVE 33 358#define STMT_33_INFO {"STMT_DELETE_SHADOWED_RECURSIVE", NULL} 359#define STMT_33 \ 360 "DELETE FROM nodes " \ 361 "WHERE wc_id = ?1 " \ 362 " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \ 363 " AND (op_depth < ?3 " \ 364 " OR (op_depth = ?3 AND presence = 'base-deleted')) " \ 365 "" 366 367#define STMT_CLEAR_MOVED_TO_FROM_DEST 34 368#define STMT_34_INFO {"STMT_CLEAR_MOVED_TO_FROM_DEST", NULL} 369#define STMT_34 \ 370 "UPDATE NODES SET moved_to = NULL " \ 371 "WHERE wc_id = ?1 " \ 372 " AND moved_to = ?2 " \ 373 "" 374 375#define STMT_SELECT_NOT_PRESENT_DESCENDANTS 35 376#define STMT_35_INFO {"STMT_SELECT_NOT_PRESENT_DESCENDANTS", NULL} 377#define STMT_35 \ 378 "SELECT local_relpath FROM nodes " \ 379 "WHERE wc_id = ?1 AND op_depth = ?3 " \ 380 " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \ 381 " AND presence = 'not-present' " \ 382 "" 383 384#define STMT_COMMIT_DESCENDANTS_TO_BASE 36 385#define STMT_36_INFO {"STMT_COMMIT_DESCENDANTS_TO_BASE", NULL} 386#define STMT_36 \ 387 "UPDATE NODES SET op_depth = 0, " \ 388 " repos_id = ?4, " \ 389 " repos_path = ?5 || SUBSTR(local_relpath, LENGTH(?2)+1), " \ 390 " revision = ?6, " \ 391 " dav_cache = NULL, " \ 392 " moved_here = NULL, " \ 393 " presence = CASE presence " \ 394 " WHEN 'normal' THEN 'normal' " \ 395 " WHEN 'excluded' THEN 'excluded' " \ 396 " ELSE 'not-present' " \ 397 " END " \ 398 "WHERE wc_id = ?1 " \ 399 " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \ 400 " AND op_depth = ?3 " \ 401 "" 402 403#define STMT_SELECT_NODE_CHILDREN 37 404#define STMT_37_INFO {"STMT_SELECT_NODE_CHILDREN", NULL} 405#define STMT_37 \ 406 "SELECT local_relpath FROM nodes " \ 407 "WHERE wc_id = ?1 AND parent_relpath = ?2 " \ 408 "" 409 410#define STMT_SELECT_WORKING_CHILDREN 38 411#define STMT_38_INFO {"STMT_SELECT_WORKING_CHILDREN", NULL} 412#define STMT_38 \ 413 "SELECT local_relpath FROM nodes " \ 414 "WHERE wc_id = ?1 AND parent_relpath = ?2 " \ 415 " AND (op_depth > (SELECT MAX(op_depth) FROM nodes " \ 416 " WHERE wc_id = ?1 AND local_relpath = ?2) " \ 417 " OR " \ 418 " (op_depth = (SELECT MAX(op_depth) FROM nodes " \ 419 " WHERE wc_id = ?1 AND local_relpath = ?2) " \ 420 " AND presence != 'base-deleted')) " \ 421 "" 422 423#define STMT_SELECT_NODE_PROPS 39 424#define STMT_39_INFO {"STMT_SELECT_NODE_PROPS", NULL} 425#define STMT_39 \ 426 "SELECT properties, presence FROM nodes " \ 427 "WHERE wc_id = ?1 AND local_relpath = ?2 " \ 428 "ORDER BY op_depth DESC " \ 429 "" 430 431#define STMT_SELECT_ACTUAL_PROPS 40 432#define STMT_40_INFO {"STMT_SELECT_ACTUAL_PROPS", NULL} 433#define STMT_40 \ 434 "SELECT properties FROM actual_node " \ 435 "WHERE wc_id = ?1 AND local_relpath = ?2 " \ 436 "" 437 438#define STMT_UPDATE_ACTUAL_PROPS 41 439#define STMT_41_INFO {"STMT_UPDATE_ACTUAL_PROPS", NULL} 440#define STMT_41 \ 441 "UPDATE actual_node SET properties = ?3 " \ 442 "WHERE wc_id = ?1 AND local_relpath = ?2 " \ 443 "" 444 445#define STMT_INSERT_ACTUAL_PROPS 42 446#define STMT_42_INFO {"STMT_INSERT_ACTUAL_PROPS", NULL} 447#define STMT_42 \ 448 "INSERT INTO actual_node (wc_id, local_relpath, parent_relpath, properties) " \ 449 "VALUES (?1, ?2, ?3, ?4) " \ 450 "" 451 452#define STMT_INSERT_LOCK 43 453#define STMT_43_INFO {"STMT_INSERT_LOCK", NULL} 454#define STMT_43 \ 455 "INSERT OR REPLACE INTO lock " \ 456 "(repos_id, repos_relpath, lock_token, lock_owner, lock_comment, " \ 457 " lock_date) " \ 458 "VALUES (?1, ?2, ?3, ?4, ?5, ?6) " \ 459 "" 460 461#define STMT_SELECT_BASE_NODE_LOCK_TOKENS_RECURSIVE 44 462#define STMT_44_INFO {"STMT_SELECT_BASE_NODE_LOCK_TOKENS_RECURSIVE", NULL} 463#define STMT_44 \ 464 "SELECT nodes.repos_id, nodes.repos_path, lock_token " \ 465 "FROM nodes " \ 466 "LEFT JOIN lock ON nodes.repos_id = lock.repos_id " \ 467 " AND nodes.repos_path = lock.repos_relpath " \ 468 "WHERE wc_id = ?1 AND op_depth = 0 " \ 469 " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \ 470 "" 471 472#define STMT_INSERT_WCROOT 45 473#define STMT_45_INFO {"STMT_INSERT_WCROOT", NULL} 474#define STMT_45 \ 475 "INSERT INTO wcroot (local_abspath) " \ 476 "VALUES (?1) " \ 477 "" 478 479#define STMT_UPDATE_BASE_NODE_DAV_CACHE 46 480#define STMT_46_INFO {"STMT_UPDATE_BASE_NODE_DAV_CACHE", NULL} 481#define STMT_46 \ 482 "UPDATE nodes SET dav_cache = ?3 " \ 483 "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \ 484 "" 485 486#define STMT_SELECT_BASE_DAV_CACHE 47 487#define STMT_47_INFO {"STMT_SELECT_BASE_DAV_CACHE", NULL} 488#define STMT_47 \ 489 "SELECT dav_cache FROM nodes " \ 490 "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \ 491 "" 492 493#define STMT_SELECT_DELETION_INFO 48 494#define STMT_48_INFO {"STMT_SELECT_DELETION_INFO", NULL} 495#define STMT_48 \ 496 "SELECT (SELECT b.presence FROM nodes AS b " \ 497 " WHERE b.wc_id = ?1 AND b.local_relpath = ?2 AND b.op_depth = 0), " \ 498 " work.presence, work.op_depth " \ 499 "FROM nodes_current AS work " \ 500 "WHERE work.wc_id = ?1 AND work.local_relpath = ?2 AND work.op_depth > 0 " \ 501 "LIMIT 1 " \ 502 "" 503 504#define STMT_SELECT_DELETION_INFO_SCAN 49 505#define STMT_49_INFO {"STMT_SELECT_DELETION_INFO_SCAN", NULL} 506#define STMT_49 \ 507 "SELECT (SELECT b.presence FROM nodes AS b " \ 508 " WHERE b.wc_id = ?1 AND b.local_relpath = ?2 AND b.op_depth = 0), " \ 509 " work.presence, work.op_depth, moved.moved_to " \ 510 "FROM nodes_current AS work " \ 511 "LEFT OUTER JOIN nodes AS moved " \ 512 " ON moved.wc_id = work.wc_id " \ 513 " AND moved.local_relpath = work.local_relpath " \ 514 " AND moved.moved_to IS NOT NULL " \ 515 "WHERE work.wc_id = ?1 AND work.local_relpath = ?2 AND work.op_depth > 0 " \ 516 "LIMIT 1 " \ 517 "" 518 519#define STMT_SELECT_MOVED_TO_NODE 50 520#define STMT_50_INFO {"STMT_SELECT_MOVED_TO_NODE", NULL} 521#define STMT_50 \ 522 "SELECT op_depth, moved_to " \ 523 "FROM nodes " \ 524 "WHERE wc_id = ?1 AND local_relpath = ?2 AND moved_to IS NOT NULL " \ 525 "ORDER BY op_depth DESC " \ 526 "" 527 528#define STMT_SELECT_OP_DEPTH_MOVED_TO 51 529#define STMT_51_INFO {"STMT_SELECT_OP_DEPTH_MOVED_TO", NULL} 530#define STMT_51 \ 531 "SELECT op_depth, moved_to, repos_path, revision " \ 532 "FROM nodes " \ 533 "WHERE wc_id = ?1 AND local_relpath = ?2 " \ 534 " AND op_depth <= (SELECT MIN(op_depth) FROM nodes " \ 535 " WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth > ?3) " \ 536 "ORDER BY op_depth DESC " \ 537 "" 538 539#define STMT_SELECT_MOVED_TO 52 540#define STMT_52_INFO {"STMT_SELECT_MOVED_TO", NULL} 541#define STMT_52 \ 542 "SELECT moved_to " \ 543 "FROM nodes " \ 544 "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = ?3 " \ 545 "" 546 547#define STMT_SELECT_MOVED_HERE 53 548#define STMT_53_INFO {"STMT_SELECT_MOVED_HERE", NULL} 549#define STMT_53 \ 550 "SELECT moved_here, presence, repos_path, revision " \ 551 "FROM nodes " \ 552 "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth >= ?3 " \ 553 "ORDER BY op_depth " \ 554 "" 555 556#define STMT_SELECT_MOVED_BACK 54 557#define STMT_54_INFO {"STMT_SELECT_MOVED_BACK", NULL} 558#define STMT_54 \ 559 "SELECT u.local_relpath, " \ 560 " u.presence, u.repos_id, u.repos_path, u.revision, " \ 561 " l.presence, l.repos_id, l.repos_path, l.revision, " \ 562 " u.moved_here, u.moved_to " \ 563 "FROM nodes u " \ 564 "LEFT OUTER JOIN nodes l ON l.wc_id = ?1 " \ 565 " AND l.local_relpath = u.local_relpath " \ 566 " AND l.op_depth = ?3 " \ 567 "WHERE u.wc_id = ?1 " \ 568 " AND u.local_relpath = ?2 " \ 569 " AND u.op_depth = ?4 " \ 570 "UNION ALL " \ 571 "SELECT u.local_relpath, " \ 572 " u.presence, u.repos_id, u.repos_path, u.revision, " \ 573 " l.presence, l.repos_id, l.repos_path, l.revision, " \ 574 " u.moved_here, NULL " \ 575 "FROM nodes u " \ 576 "LEFT OUTER JOIN nodes l ON l.wc_id=?1 " \ 577 " AND l.local_relpath=u.local_relpath " \ 578 " AND l.op_depth=?3 " \ 579 "WHERE u.wc_id = ?1 " \ 580 " 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)) " \ 581 " AND u.op_depth = ?4 " \ 582 "" 583 584#define STMT_DELETE_MOVED_BACK 55 585#define STMT_55_INFO {"STMT_DELETE_MOVED_BACK", NULL} 586#define STMT_55 \ 587 "DELETE FROM nodes " \ 588 "WHERE wc_id = ?1 " \ 589 " AND (local_relpath = ?2 " \ 590 " OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \ 591 " AND op_depth = ?3 " \ 592 "" 593 594#define STMT_DELETE_LOCK 56 595#define STMT_56_INFO {"STMT_DELETE_LOCK", NULL} 596#define STMT_56 \ 597 "DELETE FROM lock " \ 598 "WHERE repos_id = ?1 AND repos_relpath = ?2 " \ 599 "" 600 601#define STMT_DELETE_LOCK_RECURSIVELY 57 602#define STMT_57_INFO {"STMT_DELETE_LOCK_RECURSIVELY", NULL} 603#define STMT_57 \ 604 "DELETE FROM lock " \ 605 "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))) " \ 606 "" 607 608#define STMT_CLEAR_BASE_NODE_RECURSIVE_DAV_CACHE 58 609#define STMT_58_INFO {"STMT_CLEAR_BASE_NODE_RECURSIVE_DAV_CACHE", NULL} 610#define STMT_58 \ 611 "UPDATE nodes SET dav_cache = NULL " \ 612 "WHERE dav_cache IS NOT NULL AND wc_id = ?1 AND op_depth = 0 " \ 613 " AND (local_relpath = ?2 " \ 614 " OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \ 615 "" 616 617#define STMT_RECURSIVE_UPDATE_NODE_REPO 59 618#define STMT_59_INFO {"STMT_RECURSIVE_UPDATE_NODE_REPO", NULL} 619#define STMT_59 \ 620 "UPDATE nodes SET repos_id = ?4, dav_cache = NULL " \ 621 "WHERE (wc_id = ?1 AND local_relpath = ?2 AND repos_id = ?3) " \ 622 " 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)) " \ 623 " AND repos_id = ?3) " \ 624 "" 625 626#define STMT_UPDATE_LOCK_REPOS_ID 60 627#define STMT_60_INFO {"STMT_UPDATE_LOCK_REPOS_ID", NULL} 628#define STMT_60 \ 629 "UPDATE lock SET repos_id = ?2 " \ 630 "WHERE repos_id = ?1 " \ 631 "" 632 633#define STMT_UPDATE_NODE_FILEINFO 61 634#define STMT_61_INFO {"STMT_UPDATE_NODE_FILEINFO", NULL} 635#define STMT_61 \ 636 "UPDATE nodes SET translated_size = ?3, last_mod_time = ?4 " \ 637 "WHERE wc_id = ?1 AND local_relpath = ?2 " \ 638 " AND op_depth = (SELECT MAX(op_depth) FROM nodes " \ 639 " WHERE wc_id = ?1 AND local_relpath = ?2) " \ 640 "" 641 642#define STMT_INSERT_ACTUAL_CONFLICT 62 643#define STMT_62_INFO {"STMT_INSERT_ACTUAL_CONFLICT", NULL} 644#define STMT_62 \ 645 "INSERT INTO actual_node (wc_id, local_relpath, conflict_data, parent_relpath) " \ 646 "VALUES (?1, ?2, ?3, ?4) " \ 647 "" 648 649#define STMT_UPDATE_ACTUAL_CONFLICT 63 650#define STMT_63_INFO {"STMT_UPDATE_ACTUAL_CONFLICT", NULL} 651#define STMT_63 \ 652 "UPDATE actual_node SET conflict_data = ?3 " \ 653 "WHERE wc_id = ?1 AND local_relpath = ?2 " \ 654 "" 655 656#define STMT_UPDATE_ACTUAL_CHANGELISTS 64 657#define STMT_64_INFO {"STMT_UPDATE_ACTUAL_CHANGELISTS", NULL} 658#define STMT_64 \ 659 "UPDATE actual_node SET changelist = ?3 " \ 660 "WHERE wc_id = ?1 " \ 661 " 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))) " \ 662 " AND local_relpath = (SELECT local_relpath FROM targets_list AS t " \ 663 " WHERE wc_id = ?1 " \ 664 " AND t.local_relpath = actual_node.local_relpath " \ 665 " AND kind = 'file') " \ 666 "" 667 668#define STMT_UPDATE_ACTUAL_CLEAR_CHANGELIST 65 669#define STMT_65_INFO {"STMT_UPDATE_ACTUAL_CLEAR_CHANGELIST", NULL} 670#define STMT_65 \ 671 "UPDATE actual_node SET changelist = NULL " \ 672 " WHERE wc_id = ?1 AND local_relpath = ?2 " \ 673 "" 674 675#define STMT_MARK_SKIPPED_CHANGELIST_DIRS 66 676#define STMT_66_INFO {"STMT_MARK_SKIPPED_CHANGELIST_DIRS", NULL} 677#define STMT_66 \ 678 "INSERT INTO changelist_list (wc_id, local_relpath, notify, changelist) " \ 679 "SELECT wc_id, local_relpath, 7, ?3 " \ 680 "FROM targets_list " \ 681 "WHERE wc_id = ?1 " \ 682 " 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))) " \ 683 " AND kind = 'dir' " \ 684 "" 685 686#define STMT_RESET_ACTUAL_WITH_CHANGELIST 67 687#define STMT_67_INFO {"STMT_RESET_ACTUAL_WITH_CHANGELIST", NULL} 688#define STMT_67 \ 689 "REPLACE INTO actual_node ( " \ 690 " wc_id, local_relpath, parent_relpath, changelist) " \ 691 "VALUES (?1, ?2, ?3, ?4) " \ 692 "" 693 694#define STMT_CREATE_CHANGELIST_LIST 68 695#define STMT_68_INFO {"STMT_CREATE_CHANGELIST_LIST", NULL} 696#define STMT_68 \ 697 "DROP TABLE IF EXISTS changelist_list; " \ 698 "CREATE TEMPORARY TABLE changelist_list ( " \ 699 " wc_id INTEGER NOT NULL, " \ 700 " local_relpath TEXT NOT NULL, " \ 701 " notify INTEGER NOT NULL, " \ 702 " changelist TEXT NOT NULL, " \ 703 " PRIMARY KEY (wc_id, local_relpath, notify DESC) " \ 704 ") " \ 705 "" 706 707#define STMT_CREATE_CHANGELIST_TRIGGER 69 708#define STMT_69_INFO {"STMT_CREATE_CHANGELIST_TRIGGER", NULL} 709#define STMT_69 \ 710 "DROP TRIGGER IF EXISTS trigger_changelist_list_change; " \ 711 "CREATE TEMPORARY TRIGGER trigger_changelist_list_change " \ 712 "BEFORE UPDATE ON actual_node " \ 713 "WHEN old.changelist IS NOT new.changelist " \ 714 "BEGIN " \ 715 " INSERT INTO changelist_list(wc_id, local_relpath, notify, changelist) " \ 716 " SELECT old.wc_id, old.local_relpath, 27, old.changelist " \ 717 " WHERE old.changelist is NOT NULL; " \ 718 " INSERT INTO changelist_list(wc_id, local_relpath, notify, changelist) " \ 719 " SELECT new.wc_id, new.local_relpath, 26, new.changelist " \ 720 " WHERE new.changelist IS NOT NULL; " \ 721 "END " \ 722 "" 723 724#define STMT_FINALIZE_CHANGELIST 70 725#define STMT_70_INFO {"STMT_FINALIZE_CHANGELIST", NULL} 726#define STMT_70 \ 727 "DROP TRIGGER trigger_changelist_list_change; " \ 728 "DROP TABLE changelist_list; " \ 729 "DROP TABLE targets_list " \ 730 "" 731 732#define STMT_SELECT_CHANGELIST_LIST 71 733#define STMT_71_INFO {"STMT_SELECT_CHANGELIST_LIST", NULL} 734#define STMT_71 \ 735 "SELECT wc_id, local_relpath, notify, changelist " \ 736 "FROM changelist_list " \ 737 "ORDER BY wc_id, local_relpath ASC, notify DESC " \ 738 "" 739 740#define STMT_CREATE_TARGETS_LIST 72 741#define STMT_72_INFO {"STMT_CREATE_TARGETS_LIST", NULL} 742#define STMT_72 \ 743 "DROP TABLE IF EXISTS targets_list; " \ 744 "CREATE TEMPORARY TABLE targets_list ( " \ 745 " wc_id INTEGER NOT NULL, " \ 746 " local_relpath TEXT NOT NULL, " \ 747 " parent_relpath TEXT, " \ 748 " kind TEXT NOT NULL, " \ 749 " PRIMARY KEY (wc_id, local_relpath) " \ 750 " ); " \ 751 "" 752 753#define STMT_DROP_TARGETS_LIST 73 754#define STMT_73_INFO {"STMT_DROP_TARGETS_LIST", NULL} 755#define STMT_73 \ 756 "DROP TABLE targets_list " \ 757 "" 758 759#define STMT_INSERT_TARGET 74 760#define STMT_74_INFO {"STMT_INSERT_TARGET", NULL} 761#define STMT_74 \ 762 "INSERT INTO targets_list(wc_id, local_relpath, parent_relpath, kind) " \ 763 "SELECT wc_id, local_relpath, parent_relpath, kind " \ 764 "FROM nodes_current " \ 765 "WHERE wc_id = ?1 " \ 766 " AND local_relpath = ?2 " \ 767 "" 768 769#define STMT_INSERT_TARGET_DEPTH_FILES 75 770#define STMT_75_INFO {"STMT_INSERT_TARGET_DEPTH_FILES", NULL} 771#define STMT_75 \ 772 "INSERT INTO targets_list(wc_id, local_relpath, parent_relpath, kind) " \ 773 "SELECT wc_id, local_relpath, parent_relpath, kind " \ 774 "FROM nodes_current " \ 775 "WHERE wc_id = ?1 " \ 776 " AND parent_relpath = ?2 " \ 777 " AND kind = 'file' " \ 778 "" 779 780#define STMT_INSERT_TARGET_DEPTH_IMMEDIATES 76 781#define STMT_76_INFO {"STMT_INSERT_TARGET_DEPTH_IMMEDIATES", NULL} 782#define STMT_76 \ 783 "INSERT INTO targets_list(wc_id, local_relpath, parent_relpath, kind) " \ 784 "SELECT wc_id, local_relpath, parent_relpath, kind " \ 785 "FROM nodes_current " \ 786 "WHERE wc_id = ?1 " \ 787 " AND parent_relpath = ?2 " \ 788 "" 789 790#define STMT_INSERT_TARGET_DEPTH_INFINITY 77 791#define STMT_77_INFO {"STMT_INSERT_TARGET_DEPTH_INFINITY", NULL} 792#define STMT_77 \ 793 "INSERT INTO targets_list(wc_id, local_relpath, parent_relpath, kind) " \ 794 "SELECT wc_id, local_relpath, parent_relpath, kind " \ 795 "FROM nodes_current " \ 796 "WHERE wc_id = ?1 " \ 797 " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \ 798 "" 799 800#define STMT_INSERT_TARGET_WITH_CHANGELIST 78 801#define STMT_78_INFO {"STMT_INSERT_TARGET_WITH_CHANGELIST", NULL} 802#define STMT_78 \ 803 "INSERT INTO targets_list(wc_id, local_relpath, parent_relpath, kind) " \ 804 "SELECT N.wc_id, N.local_relpath, N.parent_relpath, N.kind " \ 805 " FROM actual_node AS A JOIN nodes_current AS N " \ 806 " ON A.wc_id = N.wc_id AND A.local_relpath = N.local_relpath " \ 807 " WHERE N.wc_id = ?1 " \ 808 " AND N.local_relpath = ?2 " \ 809 " AND A.changelist = ?3 " \ 810 "" 811 812#define STMT_INSERT_TARGET_WITH_CHANGELIST_DEPTH_FILES 79 813#define STMT_79_INFO {"STMT_INSERT_TARGET_WITH_CHANGELIST_DEPTH_FILES", NULL} 814#define STMT_79 \ 815 "INSERT INTO targets_list(wc_id, local_relpath, parent_relpath, kind) " \ 816 "SELECT N.wc_id, N.local_relpath, N.parent_relpath, N.kind " \ 817 " FROM actual_node AS A JOIN nodes_current AS N " \ 818 " ON A.wc_id = N.wc_id AND A.local_relpath = N.local_relpath " \ 819 " WHERE N.wc_id = ?1 " \ 820 " AND N.parent_relpath = ?2 " \ 821 " AND kind = 'file' " \ 822 " AND A.changelist = ?3 " \ 823 "" 824 825#define STMT_INSERT_TARGET_WITH_CHANGELIST_DEPTH_IMMEDIATES 80 826#define STMT_80_INFO {"STMT_INSERT_TARGET_WITH_CHANGELIST_DEPTH_IMMEDIATES", NULL} 827#define STMT_80 \ 828 "INSERT INTO targets_list(wc_id, local_relpath, parent_relpath, kind) " \ 829 "SELECT N.wc_id, N.local_relpath, N.parent_relpath, N.kind " \ 830 " FROM actual_node AS A JOIN nodes_current AS N " \ 831 " ON A.wc_id = N.wc_id AND A.local_relpath = N.local_relpath " \ 832 " WHERE N.wc_id = ?1 " \ 833 " AND N.parent_relpath = ?2 " \ 834 " AND A.changelist = ?3 " \ 835 "" 836 837#define STMT_INSERT_TARGET_WITH_CHANGELIST_DEPTH_INFINITY 81 838#define STMT_81_INFO {"STMT_INSERT_TARGET_WITH_CHANGELIST_DEPTH_INFINITY", NULL} 839#define STMT_81 \ 840 "INSERT INTO targets_list(wc_id, local_relpath, parent_relpath, kind) " \ 841 "SELECT N.wc_id, N.local_relpath, N.parent_relpath, N.kind " \ 842 " FROM actual_node AS A JOIN nodes_current AS N " \ 843 " ON A.wc_id = N.wc_id AND A.local_relpath = N.local_relpath " \ 844 " WHERE N.wc_id = ?1 " \ 845 " 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)) " \ 846 " AND A.changelist = ?3 " \ 847 "" 848 849#define STMT_INSERT_ACTUAL_EMPTIES 82 850#define STMT_82_INFO {"STMT_INSERT_ACTUAL_EMPTIES", NULL} 851#define STMT_82 \ 852 "INSERT OR IGNORE INTO actual_node ( " \ 853 " wc_id, local_relpath, parent_relpath) " \ 854 "SELECT wc_id, local_relpath, parent_relpath " \ 855 "FROM targets_list " \ 856 "" 857 858#define STMT_DELETE_ACTUAL_EMPTY 83 859#define STMT_83_INFO {"STMT_DELETE_ACTUAL_EMPTY", NULL} 860#define STMT_83 \ 861 "DELETE FROM actual_node " \ 862 "WHERE wc_id = ?1 AND local_relpath = ?2 " \ 863 " AND properties IS NULL " \ 864 " AND conflict_data IS NULL " \ 865 " AND changelist IS NULL " \ 866 " AND text_mod IS NULL " \ 867 " AND older_checksum IS NULL " \ 868 " AND right_checksum IS NULL " \ 869 " AND left_checksum IS NULL " \ 870 "" 871 872#define STMT_DELETE_ACTUAL_EMPTIES 84 873#define STMT_84_INFO {"STMT_DELETE_ACTUAL_EMPTIES", NULL} 874#define STMT_84 \ 875 "DELETE FROM actual_node " \ 876 "WHERE wc_id = ?1 " \ 877 " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \ 878 " AND properties IS NULL " \ 879 " AND conflict_data IS NULL " \ 880 " AND changelist IS NULL " \ 881 " AND text_mod IS NULL " \ 882 " AND older_checksum IS NULL " \ 883 " AND right_checksum IS NULL " \ 884 " AND left_checksum IS NULL " \ 885 "" 886 887#define STMT_DELETE_BASE_NODE 85 888#define STMT_85_INFO {"STMT_DELETE_BASE_NODE", NULL} 889#define STMT_85 \ 890 "DELETE FROM nodes " \ 891 "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \ 892 "" 893 894#define STMT_DELETE_WORKING_NODE 86 895#define STMT_86_INFO {"STMT_DELETE_WORKING_NODE", NULL} 896#define STMT_86 \ 897 "DELETE FROM nodes " \ 898 "WHERE wc_id = ?1 AND local_relpath = ?2 " \ 899 " AND op_depth = (SELECT MAX(op_depth) FROM nodes " \ 900 " WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth > 0) " \ 901 "" 902 903#define STMT_DELETE_LOWEST_WORKING_NODE 87 904#define STMT_87_INFO {"STMT_DELETE_LOWEST_WORKING_NODE", NULL} 905#define STMT_87 \ 906 "DELETE FROM nodes " \ 907 "WHERE wc_id = ?1 AND local_relpath = ?2 " \ 908 " AND op_depth = (SELECT MIN(op_depth) FROM nodes " \ 909 " WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth > ?3) " \ 910 " AND presence = 'base-deleted' " \ 911 "" 912 913#define STMT_DELETE_NODE_ALL_LAYERS 88 914#define STMT_88_INFO {"STMT_DELETE_NODE_ALL_LAYERS", NULL} 915#define STMT_88 \ 916 "DELETE FROM nodes " \ 917 "WHERE wc_id = ?1 AND local_relpath = ?2 " \ 918 "" 919 920#define STMT_DELETE_NODES_ABOVE_DEPTH_RECURSIVE 89 921#define STMT_89_INFO {"STMT_DELETE_NODES_ABOVE_DEPTH_RECURSIVE", NULL} 922#define STMT_89 \ 923 "DELETE FROM nodes " \ 924 "WHERE wc_id = ?1 " \ 925 " AND (local_relpath = ?2 " \ 926 " OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \ 927 " AND op_depth >= ?3 " \ 928 "" 929 930#define STMT_DELETE_ACTUAL_NODE 90 931#define STMT_90_INFO {"STMT_DELETE_ACTUAL_NODE", NULL} 932#define STMT_90 \ 933 "DELETE FROM actual_node " \ 934 "WHERE wc_id = ?1 AND local_relpath = ?2 " \ 935 "" 936 937#define STMT_DELETE_ACTUAL_NODE_RECURSIVE 91 938#define STMT_91_INFO {"STMT_DELETE_ACTUAL_NODE_RECURSIVE", NULL} 939#define STMT_91 \ 940 "DELETE FROM actual_node " \ 941 "WHERE wc_id = ?1 " \ 942 " AND (local_relpath = ?2 " \ 943 " OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \ 944 "" 945 946#define STMT_DELETE_ACTUAL_NODE_LEAVING_CHANGELIST 92 947#define STMT_92_INFO {"STMT_DELETE_ACTUAL_NODE_LEAVING_CHANGELIST", NULL} 948#define STMT_92 \ 949 "DELETE FROM actual_node " \ 950 "WHERE wc_id = ?1 " \ 951 " AND local_relpath = ?2 " \ 952 " AND (changelist IS NULL " \ 953 " OR NOT EXISTS (SELECT 1 FROM nodes_current c " \ 954 " WHERE c.wc_id = ?1 AND c.local_relpath = ?2 " \ 955 " AND c.kind = 'file')) " \ 956 "" 957 958#define STMT_DELETE_ACTUAL_NODE_LEAVING_CHANGELIST_RECURSIVE 93 959#define STMT_93_INFO {"STMT_DELETE_ACTUAL_NODE_LEAVING_CHANGELIST_RECURSIVE", NULL} 960#define STMT_93 \ 961 "DELETE FROM actual_node " \ 962 "WHERE wc_id = ?1 " \ 963 " AND (local_relpath = ?2 " \ 964 " OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \ 965 " AND (changelist IS NULL " \ 966 " OR NOT EXISTS (SELECT 1 FROM nodes_current c " \ 967 " WHERE c.wc_id = ?1 " \ 968 " AND c.local_relpath = actual_node.local_relpath " \ 969 " AND c.kind = 'file')) " \ 970 "" 971 972#define STMT_CLEAR_ACTUAL_NODE_LEAVING_CHANGELIST 94 973#define STMT_94_INFO {"STMT_CLEAR_ACTUAL_NODE_LEAVING_CHANGELIST", NULL} 974#define STMT_94 \ 975 "UPDATE actual_node " \ 976 "SET properties = NULL, " \ 977 " text_mod = NULL, " \ 978 " conflict_data = NULL, " \ 979 " tree_conflict_data = NULL, " \ 980 " older_checksum = NULL, " \ 981 " left_checksum = NULL, " \ 982 " right_checksum = NULL " \ 983 "WHERE wc_id = ?1 AND local_relpath = ?2 " \ 984 "" 985 986#define STMT_CLEAR_ACTUAL_NODE_LEAVING_CHANGELIST_RECURSIVE 95 987#define STMT_95_INFO {"STMT_CLEAR_ACTUAL_NODE_LEAVING_CHANGELIST_RECURSIVE", NULL} 988#define STMT_95 \ 989 "UPDATE actual_node " \ 990 "SET properties = NULL, " \ 991 " text_mod = NULL, " \ 992 " conflict_data = NULL, " \ 993 " tree_conflict_data = NULL, " \ 994 " older_checksum = NULL, " \ 995 " left_checksum = NULL, " \ 996 " right_checksum = NULL " \ 997 "WHERE wc_id = ?1 " \ 998 " AND (local_relpath = ?2 " \ 999 " OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \ 1000 "" 1001 1002#define STMT_UPDATE_NODE_BASE_DEPTH 96 1003#define STMT_96_INFO {"STMT_UPDATE_NODE_BASE_DEPTH", NULL} 1004#define STMT_96 \ 1005 "UPDATE nodes SET depth = ?3 " \ 1006 "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \ 1007 " AND kind='dir' " \ 1008 "" 1009 1010#define STMT_UPDATE_NODE_BASE_PRESENCE 97 1011#define STMT_97_INFO {"STMT_UPDATE_NODE_BASE_PRESENCE", NULL} 1012#define STMT_97 \ 1013 "UPDATE nodes SET presence = ?3 " \ 1014 "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \ 1015 "" 1016 1017#define STMT_UPDATE_BASE_NODE_PRESENCE_REVNUM_AND_REPOS_PATH 98 1018#define STMT_98_INFO {"STMT_UPDATE_BASE_NODE_PRESENCE_REVNUM_AND_REPOS_PATH", NULL} 1019#define STMT_98 \ 1020 "UPDATE nodes SET presence = ?3, revision = ?4, repos_path = ?5 " \ 1021 "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \ 1022 "" 1023 1024#define STMT_LOOK_FOR_WORK 99 1025#define STMT_99_INFO {"STMT_LOOK_FOR_WORK", NULL} 1026#define STMT_99 \ 1027 "SELECT id FROM work_queue LIMIT 1 " \ 1028 "" 1029 1030#define STMT_INSERT_WORK_ITEM 100 1031#define STMT_100_INFO {"STMT_INSERT_WORK_ITEM", NULL} 1032#define STMT_100 \ 1033 "INSERT INTO work_queue (work) VALUES (?1) " \ 1034 "" 1035 1036#define STMT_SELECT_WORK_ITEM 101 1037#define STMT_101_INFO {"STMT_SELECT_WORK_ITEM", NULL} 1038#define STMT_101 \ 1039 "SELECT id, work FROM work_queue ORDER BY id LIMIT 1 " \ 1040 "" 1041 1042#define STMT_DELETE_WORK_ITEM 102 1043#define STMT_102_INFO {"STMT_DELETE_WORK_ITEM", NULL} 1044#define STMT_102 \ 1045 "DELETE FROM work_queue WHERE id = ?1 " \ 1046 "" 1047 1048#define STMT_INSERT_OR_IGNORE_PRISTINE 103 1049#define STMT_103_INFO {"STMT_INSERT_OR_IGNORE_PRISTINE", NULL} 1050#define STMT_103 \ 1051 "INSERT OR IGNORE INTO pristine (checksum, md5_checksum, size, refcount) " \ 1052 "VALUES (?1, ?2, ?3, 0) " \ 1053 "" 1054 1055#define STMT_INSERT_PRISTINE 104 1056#define STMT_104_INFO {"STMT_INSERT_PRISTINE", NULL} 1057#define STMT_104 \ 1058 "INSERT INTO pristine (checksum, md5_checksum, size, refcount) " \ 1059 "VALUES (?1, ?2, ?3, 0) " \ 1060 "" 1061 1062#define STMT_SELECT_PRISTINE 105 1063#define STMT_105_INFO {"STMT_SELECT_PRISTINE", NULL} 1064#define STMT_105 \ 1065 "SELECT md5_checksum " \ 1066 "FROM pristine " \ 1067 "WHERE checksum = ?1 " \ 1068 "" 1069 1070#define STMT_SELECT_PRISTINE_SIZE 106 1071#define STMT_106_INFO {"STMT_SELECT_PRISTINE_SIZE", NULL} 1072#define STMT_106 \ 1073 "SELECT size " \ 1074 "FROM pristine " \ 1075 "WHERE checksum = ?1 LIMIT 1 " \ 1076 "" 1077 1078#define STMT_SELECT_PRISTINE_BY_MD5 107 1079#define STMT_107_INFO {"STMT_SELECT_PRISTINE_BY_MD5", NULL} 1080#define STMT_107 \ 1081 "SELECT checksum " \ 1082 "FROM pristine " \ 1083 "WHERE md5_checksum = ?1 " \ 1084 "" 1085 1086#define STMT_SELECT_UNREFERENCED_PRISTINES 108 1087#define STMT_108_INFO {"STMT_SELECT_UNREFERENCED_PRISTINES", NULL} 1088#define STMT_108 \ 1089 "SELECT checksum " \ 1090 "FROM pristine " \ 1091 "WHERE refcount = 0 " \ 1092 "" 1093 1094#define STMT_DELETE_PRISTINE_IF_UNREFERENCED 109 1095#define STMT_109_INFO {"STMT_DELETE_PRISTINE_IF_UNREFERENCED", NULL} 1096#define STMT_109 \ 1097 "DELETE FROM pristine " \ 1098 "WHERE checksum = ?1 AND refcount = 0 " \ 1099 "" 1100 1101#define STMT_SELECT_COPY_PRISTINES 110 1102#define STMT_110_INFO {"STMT_SELECT_COPY_PRISTINES", NULL} 1103#define STMT_110 \ 1104 "SELECT n.checksum, md5_checksum, size " \ 1105 "FROM nodes_current n " \ 1106 "LEFT JOIN pristine p ON n.checksum = p.checksum " \ 1107 "WHERE wc_id = ?1 " \ 1108 " AND n.local_relpath = ?2 " \ 1109 " AND n.checksum IS NOT NULL " \ 1110 "UNION ALL " \ 1111 "SELECT n.checksum, md5_checksum, size " \ 1112 "FROM nodes n " \ 1113 "LEFT JOIN pristine p ON n.checksum = p.checksum " \ 1114 "WHERE wc_id = ?1 " \ 1115 " 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)) " \ 1116 " AND op_depth >= " \ 1117 " (SELECT MAX(op_depth) FROM nodes WHERE wc_id = ?1 AND local_relpath = ?2) " \ 1118 " AND n.checksum IS NOT NULL " \ 1119 "" 1120 1121#define STMT_VACUUM 111 1122#define STMT_111_INFO {"STMT_VACUUM", NULL} 1123#define STMT_111 \ 1124 "VACUUM " \ 1125 "" 1126 1127#define STMT_SELECT_CONFLICT_VICTIMS 112 1128#define STMT_112_INFO {"STMT_SELECT_CONFLICT_VICTIMS", NULL} 1129#define STMT_112 \ 1130 "SELECT local_relpath, conflict_data " \ 1131 "FROM actual_node " \ 1132 "WHERE wc_id = ?1 AND parent_relpath = ?2 AND " \ 1133 " NOT (conflict_data IS NULL) " \ 1134 "" 1135 1136#define STMT_INSERT_WC_LOCK 113 1137#define STMT_113_INFO {"STMT_INSERT_WC_LOCK", NULL} 1138#define STMT_113 \ 1139 "INSERT INTO wc_lock (wc_id, local_dir_relpath, locked_levels) " \ 1140 "VALUES (?1, ?2, ?3) " \ 1141 "" 1142 1143#define STMT_SELECT_WC_LOCK 114 1144#define STMT_114_INFO {"STMT_SELECT_WC_LOCK", NULL} 1145#define STMT_114 \ 1146 "SELECT locked_levels FROM wc_lock " \ 1147 "WHERE wc_id = ?1 AND local_dir_relpath = ?2 " \ 1148 "" 1149 1150#define STMT_SELECT_ANCESTOR_WCLOCKS 115 1151#define STMT_115_INFO {"STMT_SELECT_ANCESTOR_WCLOCKS", NULL} 1152#define STMT_115 \ 1153 "SELECT local_dir_relpath, locked_levels FROM wc_lock " \ 1154 "WHERE wc_id = ?1 " \ 1155 " AND ((local_dir_relpath >= ?3 AND local_dir_relpath <= ?2) " \ 1156 " OR local_dir_relpath = '') " \ 1157 "" 1158 1159#define STMT_DELETE_WC_LOCK 116 1160#define STMT_116_INFO {"STMT_DELETE_WC_LOCK", NULL} 1161#define STMT_116 \ 1162 "DELETE FROM wc_lock " \ 1163 "WHERE wc_id = ?1 AND local_dir_relpath = ?2 " \ 1164 "" 1165 1166#define STMT_FIND_WC_LOCK 117 1167#define STMT_117_INFO {"STMT_FIND_WC_LOCK", NULL} 1168#define STMT_117 \ 1169 "SELECT local_dir_relpath FROM wc_lock " \ 1170 "WHERE wc_id = ?1 " \ 1171 " 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)) " \ 1172 "" 1173 1174#define STMT_DELETE_WC_LOCK_ORPHAN 118 1175#define STMT_118_INFO {"STMT_DELETE_WC_LOCK_ORPHAN", NULL} 1176#define STMT_118 \ 1177 "DELETE FROM wc_lock " \ 1178 "WHERE wc_id = ?1 AND local_dir_relpath = ?2 " \ 1179 "AND NOT EXISTS (SELECT 1 FROM nodes " \ 1180 " WHERE nodes.wc_id = ?1 " \ 1181 " AND nodes.local_relpath = wc_lock.local_dir_relpath) " \ 1182 "" 1183 1184#define STMT_DELETE_WC_LOCK_ORPHAN_RECURSIVE 119 1185#define STMT_119_INFO {"STMT_DELETE_WC_LOCK_ORPHAN_RECURSIVE", NULL} 1186#define STMT_119 \ 1187 "DELETE FROM wc_lock " \ 1188 "WHERE wc_id = ?1 " \ 1189 " AND (local_dir_relpath = ?2 " \ 1190 " 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))) " \ 1191 " AND NOT EXISTS (SELECT 1 FROM nodes " \ 1192 " WHERE nodes.wc_id = ?1 " \ 1193 " AND nodes.local_relpath = wc_lock.local_dir_relpath) " \ 1194 "" 1195 1196#define STMT_APPLY_CHANGES_TO_BASE_NODE 120 1197#define STMT_120_INFO {"STMT_APPLY_CHANGES_TO_BASE_NODE", NULL} 1198#define STMT_120 \ 1199 "INSERT OR REPLACE INTO nodes ( " \ 1200 " wc_id, local_relpath, op_depth, parent_relpath, repos_id, repos_path, " \ 1201 " revision, presence, depth, kind, changed_revision, changed_date, " \ 1202 " changed_author, checksum, properties, dav_cache, symlink_target, " \ 1203 " inherited_props, file_external ) " \ 1204 "VALUES (?1, ?2, 0, " \ 1205 " ?3, ?4, ?5, ?6, ?7, ?8, ?9, ?10, ?11, ?12, ?13, ?14, ?15, ?16, ?17, " \ 1206 " (SELECT file_external FROM nodes " \ 1207 " WHERE wc_id = ?1 " \ 1208 " AND local_relpath = ?2 " \ 1209 " AND op_depth = 0)) " \ 1210 "" 1211 1212#define STMT_INSTALL_WORKING_NODE_FOR_DELETE 121 1213#define STMT_121_INFO {"STMT_INSTALL_WORKING_NODE_FOR_DELETE", NULL} 1214#define STMT_121 \ 1215 "INSERT OR REPLACE INTO nodes ( " \ 1216 " wc_id, local_relpath, op_depth, " \ 1217 " parent_relpath, presence, kind) " \ 1218 "VALUES(?1, ?2, ?3, ?4, 'base-deleted', ?5) " \ 1219 "" 1220 1221#define STMT_DELETE_NO_LOWER_LAYER 122 1222#define STMT_122_INFO {"STMT_DELETE_NO_LOWER_LAYER", NULL} 1223#define STMT_122 \ 1224 "DELETE FROM nodes " \ 1225 " WHERE wc_id = ?1 " \ 1226 " 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))) " \ 1227 " AND op_depth = ?3 " \ 1228 " AND NOT EXISTS (SELECT 1 FROM nodes n " \ 1229 " WHERE n.wc_id = ?1 " \ 1230 " AND n.local_relpath = nodes.local_relpath " \ 1231 " AND n.op_depth = ?4 " \ 1232 " AND n.presence IN ('normal', 'incomplete')) " \ 1233 "" 1234 1235#define STMT_REPLACE_WITH_BASE_DELETED 123 1236#define STMT_123_INFO {"STMT_REPLACE_WITH_BASE_DELETED", NULL} 1237#define STMT_123 \ 1238 "INSERT OR REPLACE INTO nodes (wc_id, local_relpath, op_depth, parent_relpath, " \ 1239 " kind, moved_to, presence) " \ 1240 "SELECT wc_id, local_relpath, op_depth, parent_relpath, " \ 1241 " kind, moved_to, 'base-deleted' " \ 1242 " FROM nodes " \ 1243 " WHERE wc_id = ?1 " \ 1244 " 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))) " \ 1245 " AND op_depth = ?3 " \ 1246 "" 1247 1248#define STMT_INSERT_DELETE_FROM_NODE_RECURSIVE 124 1249#define STMT_124_INFO {"STMT_INSERT_DELETE_FROM_NODE_RECURSIVE", NULL} 1250#define STMT_124 \ 1251 "INSERT INTO nodes ( " \ 1252 " wc_id, local_relpath, op_depth, parent_relpath, presence, kind) " \ 1253 "SELECT wc_id, local_relpath, ?4 , parent_relpath, 'base-deleted', " \ 1254 " kind " \ 1255 "FROM nodes " \ 1256 "WHERE wc_id = ?1 " \ 1257 " AND (local_relpath = ?2 " \ 1258 " OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \ 1259 " AND op_depth = ?3 " \ 1260 " AND presence NOT IN ('base-deleted', 'not-present', 'excluded', 'server-excluded') " \ 1261 " AND file_external IS NULL " \ 1262 "" 1263 1264#define STMT_INSERT_WORKING_NODE_FROM_BASE_COPY 125 1265#define STMT_125_INFO {"STMT_INSERT_WORKING_NODE_FROM_BASE_COPY", NULL} 1266#define STMT_125 \ 1267 "INSERT INTO nodes ( " \ 1268 " wc_id, local_relpath, op_depth, parent_relpath, repos_id, repos_path, " \ 1269 " revision, presence, depth, kind, changed_revision, changed_date, " \ 1270 " changed_author, checksum, properties, translated_size, last_mod_time, " \ 1271 " symlink_target ) " \ 1272 "SELECT wc_id, local_relpath, ?3 , parent_relpath, repos_id, " \ 1273 " repos_path, revision, presence, depth, kind, changed_revision, " \ 1274 " changed_date, changed_author, checksum, properties, translated_size, " \ 1275 " last_mod_time, symlink_target " \ 1276 "FROM nodes " \ 1277 "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \ 1278 "" 1279 1280#define STMT_INSERT_DELETE_FROM_BASE 126 1281#define STMT_126_INFO {"STMT_INSERT_DELETE_FROM_BASE", NULL} 1282#define STMT_126 \ 1283 "INSERT INTO nodes ( " \ 1284 " wc_id, local_relpath, op_depth, parent_relpath, presence, kind) " \ 1285 "SELECT wc_id, local_relpath, ?3 , parent_relpath, " \ 1286 " 'base-deleted', kind " \ 1287 "FROM nodes " \ 1288 "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \ 1289 "" 1290 1291#define STMT_UPDATE_OP_DEPTH_INCREASE_RECURSIVE 127 1292#define STMT_127_INFO {"STMT_UPDATE_OP_DEPTH_INCREASE_RECURSIVE", NULL} 1293#define STMT_127 \ 1294 "UPDATE nodes SET op_depth = ?3 + 1 " \ 1295 "WHERE wc_id = ?1 " \ 1296 " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \ 1297 " AND op_depth = ?3 " \ 1298 "" 1299 1300#define STMT_UPDATE_OP_DEPTH_RECURSIVE 128 1301#define STMT_128_INFO {"STMT_UPDATE_OP_DEPTH_RECURSIVE", NULL} 1302#define STMT_128 \ 1303 "UPDATE nodes SET op_depth = ?4, moved_here = NULL " \ 1304 "WHERE wc_id = ?1 " \ 1305 " 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))) " \ 1306 " AND op_depth = ?3 " \ 1307 "" 1308 1309#define STMT_DOES_NODE_EXIST 129 1310#define STMT_129_INFO {"STMT_DOES_NODE_EXIST", NULL} 1311#define STMT_129 \ 1312 "SELECT 1 FROM nodes WHERE wc_id = ?1 AND local_relpath = ?2 " \ 1313 "LIMIT 1 " \ 1314 "" 1315 1316#define STMT_HAS_SERVER_EXCLUDED_DESCENDANTS 130 1317#define STMT_130_INFO {"STMT_HAS_SERVER_EXCLUDED_DESCENDANTS", NULL} 1318#define STMT_130 \ 1319 "SELECT local_relpath FROM nodes " \ 1320 "WHERE wc_id = ?1 " \ 1321 " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \ 1322 " AND op_depth = 0 AND presence = 'server-excluded' " \ 1323 "LIMIT 1 " \ 1324 "" 1325 1326#define STMT_SELECT_ALL_EXCLUDED_DESCENDANTS 131 1327#define STMT_131_INFO {"STMT_SELECT_ALL_EXCLUDED_DESCENDANTS", NULL} 1328#define STMT_131 \ 1329 "SELECT local_relpath FROM nodes " \ 1330 "WHERE wc_id = ?1 " \ 1331 " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \ 1332 " AND op_depth = 0 " \ 1333 " AND (presence = 'server-excluded' OR presence = 'excluded') " \ 1334 "" 1335 1336#define STMT_INSERT_WORKING_NODE_COPY_FROM 132 1337#define STMT_132_INFO {"STMT_INSERT_WORKING_NODE_COPY_FROM", NULL} 1338#define STMT_132 \ 1339 "INSERT OR REPLACE INTO nodes ( " \ 1340 " wc_id, local_relpath, op_depth, parent_relpath, repos_id, " \ 1341 " repos_path, revision, presence, depth, moved_here, kind, changed_revision, " \ 1342 " changed_date, changed_author, checksum, properties, translated_size, " \ 1343 " last_mod_time, symlink_target, moved_to ) " \ 1344 "SELECT wc_id, ?3 , ?4 , ?5 , " \ 1345 " repos_id, repos_path, revision, ?6 , depth, " \ 1346 " ?7, kind, changed_revision, changed_date, " \ 1347 " changed_author, checksum, properties, translated_size, " \ 1348 " last_mod_time, symlink_target, " \ 1349 " (SELECT dst.moved_to FROM nodes AS dst " \ 1350 " WHERE dst.wc_id = ?1 " \ 1351 " AND dst.local_relpath = ?3 " \ 1352 " AND dst.op_depth = ?4) " \ 1353 "FROM nodes_current " \ 1354 "WHERE wc_id = ?1 AND local_relpath = ?2 " \ 1355 "" 1356 1357#define STMT_INSERT_WORKING_NODE_COPY_FROM_DEPTH 133 1358#define STMT_133_INFO {"STMT_INSERT_WORKING_NODE_COPY_FROM_DEPTH", NULL} 1359#define STMT_133 \ 1360 "INSERT OR REPLACE INTO nodes ( " \ 1361 " wc_id, local_relpath, op_depth, parent_relpath, repos_id, " \ 1362 " repos_path, revision, presence, depth, moved_here, kind, changed_revision, " \ 1363 " changed_date, changed_author, checksum, properties, translated_size, " \ 1364 " last_mod_time, symlink_target, moved_to ) " \ 1365 "SELECT wc_id, ?3 , ?4 , ?5 , " \ 1366 " repos_id, repos_path, revision, ?6 , depth, " \ 1367 " ?8 , kind, changed_revision, changed_date, " \ 1368 " changed_author, checksum, properties, translated_size, " \ 1369 " last_mod_time, symlink_target, " \ 1370 " (SELECT dst.moved_to FROM nodes AS dst " \ 1371 " WHERE dst.wc_id = ?1 " \ 1372 " AND dst.local_relpath = ?3 " \ 1373 " AND dst.op_depth = ?4) " \ 1374 "FROM nodes " \ 1375 "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = ?7 " \ 1376 "" 1377 1378#define STMT_UPDATE_BASE_REVISION 134 1379#define STMT_134_INFO {"STMT_UPDATE_BASE_REVISION", NULL} 1380#define STMT_134 \ 1381 "UPDATE nodes SET revision = ?3 " \ 1382 "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \ 1383 "" 1384 1385#define STMT_UPDATE_BASE_REPOS 135 1386#define STMT_135_INFO {"STMT_UPDATE_BASE_REPOS", NULL} 1387#define STMT_135 \ 1388 "UPDATE nodes SET repos_id = ?3, repos_path = ?4 " \ 1389 "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \ 1390 "" 1391 1392#define STMT_ACTUAL_HAS_CHILDREN 136 1393#define STMT_136_INFO {"STMT_ACTUAL_HAS_CHILDREN", NULL} 1394#define STMT_136 \ 1395 "SELECT 1 FROM actual_node " \ 1396 "WHERE wc_id = ?1 AND parent_relpath = ?2 " \ 1397 "LIMIT 1 " \ 1398 "" 1399 1400#define STMT_INSERT_EXTERNAL 137 1401#define STMT_137_INFO {"STMT_INSERT_EXTERNAL", NULL} 1402#define STMT_137 \ 1403 "INSERT OR REPLACE INTO externals ( " \ 1404 " wc_id, local_relpath, parent_relpath, presence, kind, def_local_relpath, " \ 1405 " repos_id, def_repos_relpath, def_operational_revision, def_revision) " \ 1406 "VALUES (?1, ?2, ?3, ?4, ?5, ?6, ?7, ?8, ?9, ?10) " \ 1407 "" 1408 1409#define STMT_SELECT_EXTERNAL_INFO 138 1410#define STMT_138_INFO {"STMT_SELECT_EXTERNAL_INFO", NULL} 1411#define STMT_138 \ 1412 "SELECT presence, kind, def_local_relpath, repos_id, " \ 1413 " def_repos_relpath, def_operational_revision, def_revision " \ 1414 "FROM externals WHERE wc_id = ?1 AND local_relpath = ?2 " \ 1415 "LIMIT 1 " \ 1416 "" 1417 1418#define STMT_DELETE_FILE_EXTERNALS 139 1419#define STMT_139_INFO {"STMT_DELETE_FILE_EXTERNALS", NULL} 1420#define STMT_139 \ 1421 "DELETE FROM nodes " \ 1422 "WHERE wc_id = ?1 " \ 1423 " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \ 1424 " AND op_depth = 0 " \ 1425 " AND file_external IS NOT NULL " \ 1426 "" 1427 1428#define STMT_DELETE_FILE_EXTERNAL_REGISTATIONS 140 1429#define STMT_140_INFO {"STMT_DELETE_FILE_EXTERNAL_REGISTATIONS", NULL} 1430#define STMT_140 \ 1431 "DELETE FROM externals " \ 1432 "WHERE wc_id = ?1 " \ 1433 " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \ 1434 " AND kind != 'dir' " \ 1435 "" 1436 1437#define STMT_DELETE_EXTERNAL_REGISTATIONS 141 1438#define STMT_141_INFO {"STMT_DELETE_EXTERNAL_REGISTATIONS", NULL} 1439#define STMT_141 \ 1440 "DELETE FROM externals " \ 1441 "WHERE wc_id = ?1 " \ 1442 " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \ 1443 "" 1444 1445#define STMT_SELECT_COMMITTABLE_EXTERNALS_BELOW 142 1446#define STMT_142_INFO {"STMT_SELECT_COMMITTABLE_EXTERNALS_BELOW", NULL} 1447#define STMT_142 \ 1448 "SELECT local_relpath, kind, def_repos_relpath, " \ 1449 " (SELECT root FROM repository AS r WHERE r.id = e.repos_id) " \ 1450 "FROM externals e " \ 1451 "WHERE wc_id = ?1 " \ 1452 " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \ 1453 " AND def_revision IS NULL " \ 1454 " AND repos_id = (SELECT repos_id " \ 1455 " FROM nodes AS n " \ 1456 " WHERE n.wc_id = ?1 " \ 1457 " AND n.local_relpath = '' " \ 1458 " AND n.op_depth = 0) " \ 1459 " AND ((kind='dir') " \ 1460 " OR EXISTS (SELECT 1 FROM nodes " \ 1461 " WHERE nodes.wc_id = e.wc_id " \ 1462 " AND nodes.local_relpath = e.parent_relpath)) " \ 1463 "" 1464 1465#define STMT_SELECT_COMMITTABLE_EXTERNALS_IMMEDIATELY_BELOW 143 1466#define STMT_143_INFO {"STMT_SELECT_COMMITTABLE_EXTERNALS_IMMEDIATELY_BELOW", NULL} 1467#define STMT_143 \ 1468 "SELECT local_relpath, kind, def_repos_relpath, " \ 1469 " (SELECT root FROM repository AS r WHERE r.id = e.repos_id) " \ 1470 "FROM externals e " \ 1471 "WHERE wc_id = ?1 " \ 1472 " 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)) " \ 1473 " AND parent_relpath = ?2 " \ 1474 " AND def_revision IS NULL " \ 1475 " AND repos_id = (SELECT repos_id " \ 1476 " FROM nodes AS n " \ 1477 " WHERE n.wc_id = ?1 " \ 1478 " AND n.local_relpath = '' " \ 1479 " AND n.op_depth = 0) " \ 1480 " AND ((kind='dir') " \ 1481 " OR EXISTS (SELECT 1 FROM nodes " \ 1482 " WHERE nodes.wc_id = e.wc_id " \ 1483 " AND nodes.local_relpath = e.parent_relpath)) " \ 1484 "" 1485 1486#define STMT_SELECT_EXTERNALS_DEFINED 144 1487#define STMT_144_INFO {"STMT_SELECT_EXTERNALS_DEFINED", NULL} 1488#define STMT_144 \ 1489 "SELECT local_relpath, def_local_relpath " \ 1490 "FROM externals " \ 1491 "WHERE (wc_id = ?1 AND def_local_relpath = ?2) " \ 1492 " 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))) " \ 1493 "" 1494 1495#define STMT_DELETE_EXTERNAL 145 1496#define STMT_145_INFO {"STMT_DELETE_EXTERNAL", NULL} 1497#define STMT_145 \ 1498 "DELETE FROM externals " \ 1499 "WHERE wc_id = ?1 AND local_relpath = ?2 " \ 1500 "" 1501 1502#define STMT_SELECT_EXTERNAL_PROPERTIES 146 1503#define STMT_146_INFO {"STMT_SELECT_EXTERNAL_PROPERTIES", NULL} 1504#define STMT_146 \ 1505 "SELECT IFNULL((SELECT properties FROM actual_node a " \ 1506 " WHERE a.wc_id = ?1 AND A.local_relpath = n.local_relpath), " \ 1507 " properties), " \ 1508 " local_relpath, depth " \ 1509 "FROM nodes_current n " \ 1510 "WHERE wc_id = ?1 AND local_relpath = ?2 " \ 1511 " AND kind = 'dir' AND presence IN ('normal', 'incomplete') " \ 1512 "UNION ALL " \ 1513 "SELECT IFNULL((SELECT properties FROM actual_node a " \ 1514 " WHERE a.wc_id = ?1 AND A.local_relpath = n.local_relpath), " \ 1515 " properties), " \ 1516 " local_relpath, depth " \ 1517 "FROM nodes_current n " \ 1518 "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)) " \ 1519 " AND kind = 'dir' AND presence IN ('normal', 'incomplete') " \ 1520 "" 1521 1522#define STMT_SELECT_CURRENT_PROPS_RECURSIVE 147 1523#define STMT_147_INFO {"STMT_SELECT_CURRENT_PROPS_RECURSIVE", NULL} 1524#define STMT_147 \ 1525 "SELECT IFNULL((SELECT properties FROM actual_node a " \ 1526 " WHERE a.wc_id = ?1 AND A.local_relpath = n.local_relpath), " \ 1527 " properties), " \ 1528 " local_relpath " \ 1529 "FROM nodes_current n " \ 1530 "WHERE (wc_id = ?1 AND local_relpath = ?2) " \ 1531 " 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))) " \ 1532 "" 1533 1534#define STMT_PRAGMA_LOCKING_MODE 148 1535#define STMT_148_INFO {"STMT_PRAGMA_LOCKING_MODE", NULL} 1536#define STMT_148 \ 1537 "PRAGMA locking_mode = exclusive " \ 1538 "" 1539 1540#define STMT_INSERT_ACTUAL_NODE 149 1541#define STMT_149_INFO {"STMT_INSERT_ACTUAL_NODE", NULL} 1542#define STMT_149 \ 1543 "INSERT OR REPLACE INTO actual_node ( " \ 1544 " wc_id, local_relpath, parent_relpath, properties, changelist, conflict_data) " \ 1545 "VALUES (?1, ?2, ?3, ?4, ?5, ?6) " \ 1546 "" 1547 1548#define STMT_UPDATE_ACTUAL_CONFLICT_DATA 150 1549#define STMT_150_INFO {"STMT_UPDATE_ACTUAL_CONFLICT_DATA", NULL} 1550#define STMT_150 \ 1551 "UPDATE actual_node SET conflict_data = ?3 " \ 1552 "WHERE wc_id = ?1 AND local_relpath = ?2 " \ 1553 "" 1554 1555#define STMT_INSERT_ACTUAL_CONFLICT_DATA 151 1556#define STMT_151_INFO {"STMT_INSERT_ACTUAL_CONFLICT_DATA", NULL} 1557#define STMT_151 \ 1558 "INSERT INTO actual_node (wc_id, local_relpath, conflict_data, parent_relpath) " \ 1559 "VALUES (?1, ?2, ?3, ?4) " \ 1560 "" 1561 1562#define STMT_SELECT_ALL_FILES 152 1563#define STMT_152_INFO {"STMT_SELECT_ALL_FILES", NULL} 1564#define STMT_152 \ 1565 "SELECT local_relpath FROM nodes_current " \ 1566 "WHERE wc_id = ?1 AND parent_relpath = ?2 AND kind = 'file' " \ 1567 "" 1568 1569#define STMT_UPDATE_NODE_PROPS 153 1570#define STMT_153_INFO {"STMT_UPDATE_NODE_PROPS", NULL} 1571#define STMT_153 \ 1572 "UPDATE nodes SET properties = ?4 " \ 1573 "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = ?3 " \ 1574 "" 1575 1576#define STMT_PRAGMA_TABLE_INFO_NODES 154 1577#define STMT_154_INFO {"STMT_PRAGMA_TABLE_INFO_NODES", NULL} 1578#define STMT_154 \ 1579 "PRAGMA table_info(\"NODES\") " \ 1580 "" 1581 1582#define STMT_CREATE_TARGET_PROP_CACHE 155 1583#define STMT_155_INFO {"STMT_CREATE_TARGET_PROP_CACHE", NULL} 1584#define STMT_155 \ 1585 "DROP TABLE IF EXISTS target_prop_cache; " \ 1586 "CREATE TEMPORARY TABLE target_prop_cache ( " \ 1587 " local_relpath TEXT NOT NULL PRIMARY KEY, " \ 1588 " kind TEXT NOT NULL, " \ 1589 " properties BLOB " \ 1590 "); " \ 1591 "" 1592 1593#define STMT_CACHE_TARGET_PROPS 156 1594#define STMT_156_INFO {"STMT_CACHE_TARGET_PROPS", NULL} 1595#define STMT_156 \ 1596 "INSERT INTO target_prop_cache(local_relpath, kind, properties) " \ 1597 " SELECT n.local_relpath, n.kind, " \ 1598 " IFNULL((SELECT properties FROM actual_node AS a " \ 1599 " WHERE a.wc_id = n.wc_id " \ 1600 " AND a.local_relpath = n.local_relpath), " \ 1601 " n.properties) " \ 1602 " FROM targets_list AS t " \ 1603 " JOIN nodes AS n " \ 1604 " ON n.wc_id = ?1 " \ 1605 " AND n.local_relpath = t.local_relpath " \ 1606 " AND n.op_depth = (SELECT MAX(op_depth) FROM nodes AS n3 " \ 1607 " WHERE n3.wc_id = ?1 " \ 1608 " AND n3.local_relpath = t.local_relpath) " \ 1609 " WHERE t.wc_id = ?1 " \ 1610 " AND (presence='normal' OR presence='incomplete') " \ 1611 " ORDER BY t.local_relpath " \ 1612 "" 1613 1614#define STMT_CACHE_TARGET_PRISTINE_PROPS 157 1615#define STMT_157_INFO {"STMT_CACHE_TARGET_PRISTINE_PROPS", NULL} 1616#define STMT_157 \ 1617 "INSERT INTO target_prop_cache(local_relpath, kind, properties) " \ 1618 " SELECT n.local_relpath, n.kind, " \ 1619 " CASE n.presence " \ 1620 " WHEN 'base-deleted' " \ 1621 " THEN (SELECT properties FROM nodes AS p " \ 1622 " WHERE p.wc_id = n.wc_id " \ 1623 " AND p.local_relpath = n.local_relpath " \ 1624 " AND p.op_depth < n.op_depth " \ 1625 " ORDER BY p.op_depth DESC ) " \ 1626 " ELSE properties END " \ 1627 " FROM targets_list AS t " \ 1628 " JOIN nodes AS n " \ 1629 " ON n.wc_id = ?1 " \ 1630 " AND n.local_relpath = t.local_relpath " \ 1631 " AND n.op_depth = (SELECT MAX(op_depth) FROM nodes AS n3 " \ 1632 " WHERE n3.wc_id = ?1 " \ 1633 " AND n3.local_relpath = t.local_relpath) " \ 1634 " WHERE t.wc_id = ?1 " \ 1635 " AND (presence = 'normal' " \ 1636 " OR presence = 'incomplete' " \ 1637 " OR presence = 'base-deleted') " \ 1638 " ORDER BY t.local_relpath " \ 1639 "" 1640 1641#define STMT_SELECT_ALL_TARGET_PROP_CACHE 158 1642#define STMT_158_INFO {"STMT_SELECT_ALL_TARGET_PROP_CACHE", NULL} 1643#define STMT_158 \ 1644 "SELECT local_relpath, properties FROM target_prop_cache " \ 1645 "ORDER BY local_relpath " \ 1646 "" 1647 1648#define STMT_DROP_TARGET_PROP_CACHE 159 1649#define STMT_159_INFO {"STMT_DROP_TARGET_PROP_CACHE", NULL} 1650#define STMT_159 \ 1651 "DROP TABLE target_prop_cache; " \ 1652 "" 1653 1654#define STMT_CREATE_REVERT_LIST 160 1655#define STMT_160_INFO {"STMT_CREATE_REVERT_LIST", NULL} 1656#define STMT_160 \ 1657 "DROP TABLE IF EXISTS revert_list; " \ 1658 "CREATE TEMPORARY TABLE revert_list ( " \ 1659 " local_relpath TEXT NOT NULL, " \ 1660 " actual INTEGER NOT NULL, " \ 1661 " conflict_data BLOB, " \ 1662 " notify INTEGER, " \ 1663 " op_depth INTEGER, " \ 1664 " repos_id INTEGER, " \ 1665 " kind TEXT, " \ 1666 " PRIMARY KEY (local_relpath, actual) " \ 1667 " ); " \ 1668 "DROP TRIGGER IF EXISTS trigger_revert_list_nodes; " \ 1669 "CREATE TEMPORARY TRIGGER trigger_revert_list_nodes " \ 1670 "BEFORE DELETE ON nodes " \ 1671 "BEGIN " \ 1672 " INSERT OR REPLACE INTO revert_list(local_relpath, actual, op_depth, " \ 1673 " repos_id, kind) " \ 1674 " SELECT OLD.local_relpath, 0, OLD.op_depth, OLD.repos_id, OLD.kind; " \ 1675 "END; " \ 1676 "DROP TRIGGER IF EXISTS trigger_revert_list_actual_delete; " \ 1677 "CREATE TEMPORARY TRIGGER trigger_revert_list_actual_delete " \ 1678 "BEFORE DELETE ON actual_node " \ 1679 "BEGIN " \ 1680 " INSERT OR REPLACE INTO revert_list(local_relpath, actual, conflict_data, " \ 1681 " notify) " \ 1682 " SELECT OLD.local_relpath, 1, OLD.conflict_data, " \ 1683 " CASE " \ 1684 " WHEN OLD.properties IS NOT NULL " \ 1685 " THEN 1 " \ 1686 " WHEN NOT EXISTS(SELECT 1 FROM NODES n " \ 1687 " WHERE n.wc_id = OLD.wc_id " \ 1688 " AND n.local_relpath = OLD.local_relpath) " \ 1689 " THEN 1 " \ 1690 " ELSE NULL " \ 1691 " END; " \ 1692 "END; " \ 1693 "DROP TRIGGER IF EXISTS trigger_revert_list_actual_update; " \ 1694 "CREATE TEMPORARY TRIGGER trigger_revert_list_actual_update " \ 1695 "BEFORE UPDATE ON actual_node " \ 1696 "BEGIN " \ 1697 " INSERT OR REPLACE INTO revert_list(local_relpath, actual, conflict_data, " \ 1698 " notify) " \ 1699 " SELECT OLD.local_relpath, 1, OLD.conflict_data, " \ 1700 " CASE " \ 1701 " WHEN OLD.properties IS NOT NULL " \ 1702 " THEN 1 " \ 1703 " WHEN NOT EXISTS(SELECT 1 FROM NODES n " \ 1704 " WHERE n.wc_id = OLD.wc_id " \ 1705 " AND n.local_relpath = OLD.local_relpath) " \ 1706 " THEN 1 " \ 1707 " ELSE NULL " \ 1708 " END; " \ 1709 "END " \ 1710 "" 1711 1712#define STMT_DROP_REVERT_LIST_TRIGGERS 161 1713#define STMT_161_INFO {"STMT_DROP_REVERT_LIST_TRIGGERS", NULL} 1714#define STMT_161 \ 1715 "DROP TRIGGER trigger_revert_list_nodes; " \ 1716 "DROP TRIGGER trigger_revert_list_actual_delete; " \ 1717 "DROP TRIGGER trigger_revert_list_actual_update " \ 1718 "" 1719 1720#define STMT_SELECT_REVERT_LIST 162 1721#define STMT_162_INFO {"STMT_SELECT_REVERT_LIST", NULL} 1722#define STMT_162 \ 1723 "SELECT actual, notify, kind, op_depth, repos_id, conflict_data " \ 1724 "FROM revert_list " \ 1725 "WHERE local_relpath = ?1 " \ 1726 "ORDER BY actual DESC " \ 1727 "" 1728 1729#define STMT_SELECT_REVERT_LIST_COPIED_CHILDREN 163 1730#define STMT_163_INFO {"STMT_SELECT_REVERT_LIST_COPIED_CHILDREN", NULL} 1731#define STMT_163 \ 1732 "SELECT local_relpath, kind " \ 1733 "FROM revert_list " \ 1734 "WHERE (((local_relpath) > (CASE (?1) WHEN '' THEN '' ELSE (?1) || '/' END)) AND ((local_relpath) < CASE (?1) WHEN '' THEN X'FFFF' ELSE (?1) || '0' END)) " \ 1735 " AND op_depth >= ?2 " \ 1736 " AND repos_id IS NOT NULL " \ 1737 "ORDER BY local_relpath " \ 1738 "" 1739 1740#define STMT_DELETE_REVERT_LIST 164 1741#define STMT_164_INFO {"STMT_DELETE_REVERT_LIST", NULL} 1742#define STMT_164 \ 1743 "DELETE FROM revert_list WHERE local_relpath = ?1 " \ 1744 "" 1745 1746#define STMT_SELECT_REVERT_LIST_RECURSIVE 165 1747#define STMT_165_INFO {"STMT_SELECT_REVERT_LIST_RECURSIVE", NULL} 1748#define STMT_165 \ 1749 "SELECT DISTINCT local_relpath " \ 1750 "FROM revert_list " \ 1751 "WHERE (local_relpath = ?1 " \ 1752 " OR (((local_relpath) > (CASE (?1) WHEN '' THEN '' ELSE (?1) || '/' END)) AND ((local_relpath) < CASE (?1) WHEN '' THEN X'FFFF' ELSE (?1) || '0' END))) " \ 1753 " AND (notify OR actual = 0) " \ 1754 "ORDER BY local_relpath " \ 1755 "" 1756 1757#define STMT_DELETE_REVERT_LIST_RECURSIVE 166 1758#define STMT_166_INFO {"STMT_DELETE_REVERT_LIST_RECURSIVE", NULL} 1759#define STMT_166 \ 1760 "DELETE FROM revert_list " \ 1761 "WHERE (local_relpath = ?1 " \ 1762 " OR (((local_relpath) > (CASE (?1) WHEN '' THEN '' ELSE (?1) || '/' END)) AND ((local_relpath) < CASE (?1) WHEN '' THEN X'FFFF' ELSE (?1) || '0' END))) " \ 1763 "" 1764 1765#define STMT_DROP_REVERT_LIST 167 1766#define STMT_167_INFO {"STMT_DROP_REVERT_LIST", NULL} 1767#define STMT_167 \ 1768 "DROP TABLE IF EXISTS revert_list " \ 1769 "" 1770 1771#define STMT_CREATE_DELETE_LIST 168 1772#define STMT_168_INFO {"STMT_CREATE_DELETE_LIST", NULL} 1773#define STMT_168 \ 1774 "DROP TABLE IF EXISTS delete_list; " \ 1775 "CREATE TEMPORARY TABLE delete_list ( " \ 1776 " local_relpath TEXT PRIMARY KEY NOT NULL UNIQUE " \ 1777 " ) " \ 1778 "" 1779 1780#define STMT_INSERT_DELETE_LIST 169 1781#define STMT_169_INFO {"STMT_INSERT_DELETE_LIST", NULL} 1782#define STMT_169 \ 1783 "INSERT INTO delete_list(local_relpath) " \ 1784 "SELECT local_relpath FROM nodes AS n " \ 1785 "WHERE wc_id = ?1 " \ 1786 " AND (local_relpath = ?2 " \ 1787 " OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \ 1788 " AND op_depth >= ?3 " \ 1789 " AND op_depth = (SELECT MAX(s.op_depth) FROM nodes AS s " \ 1790 " WHERE s.wc_id = ?1 " \ 1791 " AND s.local_relpath = n.local_relpath) " \ 1792 " AND presence NOT IN ('base-deleted', 'not-present', 'excluded', 'server-excluded') " \ 1793 " AND file_external IS NULL " \ 1794 "" 1795 1796#define STMT_SELECT_DELETE_LIST 170 1797#define STMT_170_INFO {"STMT_SELECT_DELETE_LIST", NULL} 1798#define STMT_170 \ 1799 "SELECT local_relpath FROM delete_list " \ 1800 "ORDER BY local_relpath " \ 1801 "" 1802 1803#define STMT_FINALIZE_DELETE 171 1804#define STMT_171_INFO {"STMT_FINALIZE_DELETE", NULL} 1805#define STMT_171 \ 1806 "DROP TABLE IF EXISTS delete_list " \ 1807 "" 1808 1809#define STMT_CREATE_UPDATE_MOVE_LIST 172 1810#define STMT_172_INFO {"STMT_CREATE_UPDATE_MOVE_LIST", NULL} 1811#define STMT_172 \ 1812 "DROP TABLE IF EXISTS update_move_list; " \ 1813 "CREATE TEMPORARY TABLE update_move_list ( " \ 1814 " local_relpath TEXT PRIMARY KEY NOT NULL UNIQUE, " \ 1815 " action INTEGER NOT NULL, " \ 1816 " kind INTEGER NOT NULL, " \ 1817 " content_state INTEGER NOT NULL, " \ 1818 " prop_state INTEGER NOT NULL " \ 1819 " ) " \ 1820 "" 1821 1822#define STMT_INSERT_UPDATE_MOVE_LIST 173 1823#define STMT_173_INFO {"STMT_INSERT_UPDATE_MOVE_LIST", NULL} 1824#define STMT_173 \ 1825 "INSERT INTO update_move_list(local_relpath, action, kind, content_state, " \ 1826 " prop_state) " \ 1827 "VALUES (?1, ?2, ?3, ?4, ?5) " \ 1828 "" 1829 1830#define STMT_SELECT_UPDATE_MOVE_LIST 174 1831#define STMT_174_INFO {"STMT_SELECT_UPDATE_MOVE_LIST", NULL} 1832#define STMT_174 \ 1833 "SELECT local_relpath, action, kind, content_state, prop_state " \ 1834 "FROM update_move_list " \ 1835 "ORDER BY local_relpath " \ 1836 "" 1837 1838#define STMT_FINALIZE_UPDATE_MOVE 175 1839#define STMT_175_INFO {"STMT_FINALIZE_UPDATE_MOVE", NULL} 1840#define STMT_175 \ 1841 "DROP TABLE IF EXISTS update_move_list " \ 1842 "" 1843 1844#define STMT_SELECT_MIN_MAX_REVISIONS 176 1845#define STMT_176_INFO {"STMT_SELECT_MIN_MAX_REVISIONS", NULL} 1846#define STMT_176 \ 1847 "SELECT MIN(revision), MAX(revision), " \ 1848 " MIN(changed_revision), MAX(changed_revision) FROM nodes " \ 1849 " WHERE wc_id = ?1 " \ 1850 " AND (local_relpath = ?2 " \ 1851 " OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \ 1852 " AND presence IN ('normal', 'incomplete') " \ 1853 " AND file_external IS NULL " \ 1854 " AND op_depth = 0 " \ 1855 "" 1856 1857#define STMT_HAS_SPARSE_NODES 177 1858#define STMT_177_INFO {"STMT_HAS_SPARSE_NODES", NULL} 1859#define STMT_177 \ 1860 "SELECT 1 FROM nodes " \ 1861 "WHERE wc_id = ?1 " \ 1862 " AND (local_relpath = ?2 " \ 1863 " OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \ 1864 " AND op_depth = 0 " \ 1865 " AND (presence IN ('server-excluded', 'excluded') " \ 1866 " OR depth NOT IN ('infinity', 'unknown')) " \ 1867 " AND file_external IS NULL " \ 1868 "LIMIT 1 " \ 1869 "" 1870 1871#define STMT_SUBTREE_HAS_TREE_MODIFICATIONS 178 1872#define STMT_178_INFO {"STMT_SUBTREE_HAS_TREE_MODIFICATIONS", NULL} 1873#define STMT_178 \ 1874 "SELECT 1 FROM nodes " \ 1875 "WHERE wc_id = ?1 " \ 1876 " AND (local_relpath = ?2 " \ 1877 " OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \ 1878 " AND op_depth > 0 " \ 1879 "LIMIT 1 " \ 1880 "" 1881 1882#define STMT_SUBTREE_HAS_PROP_MODIFICATIONS 179 1883#define STMT_179_INFO {"STMT_SUBTREE_HAS_PROP_MODIFICATIONS", NULL} 1884#define STMT_179 \ 1885 "SELECT 1 FROM actual_node " \ 1886 "WHERE wc_id = ?1 " \ 1887 " AND (local_relpath = ?2 " \ 1888 " OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \ 1889 " AND properties IS NOT NULL " \ 1890 "LIMIT 1 " \ 1891 "" 1892 1893#define STMT_HAS_SWITCHED 180 1894#define STMT_180_INFO {"STMT_HAS_SWITCHED", NULL} 1895#define STMT_180 \ 1896 "SELECT 1 " \ 1897 "FROM nodes " \ 1898 "WHERE wc_id = ?1 " \ 1899 " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \ 1900 " AND op_depth = 0 " \ 1901 " AND file_external IS NULL " \ 1902 " AND presence IN ('normal', 'incomplete') " \ 1903 " 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) " \ 1904 "LIMIT 1 " \ 1905 "" 1906 1907#define STMT_SELECT_BASE_FILES_RECURSIVE 181 1908#define STMT_181_INFO {"STMT_SELECT_BASE_FILES_RECURSIVE", NULL} 1909#define STMT_181 \ 1910 "SELECT local_relpath, translated_size, last_mod_time FROM nodes AS n " \ 1911 "WHERE wc_id = ?1 " \ 1912 " AND (local_relpath = ?2 " \ 1913 " OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \ 1914 " AND op_depth = 0 " \ 1915 " AND kind='file' " \ 1916 " AND presence='normal' " \ 1917 " AND file_external IS NULL " \ 1918 "" 1919 1920#define STMT_SELECT_MOVED_FROM_RELPATH 182 1921#define STMT_182_INFO {"STMT_SELECT_MOVED_FROM_RELPATH", NULL} 1922#define STMT_182 \ 1923 "SELECT local_relpath, op_depth FROM nodes " \ 1924 "WHERE wc_id = ?1 AND moved_to = ?2 AND op_depth > 0 " \ 1925 "" 1926 1927#define STMT_UPDATE_MOVED_TO_RELPATH 183 1928#define STMT_183_INFO {"STMT_UPDATE_MOVED_TO_RELPATH", NULL} 1929#define STMT_183 \ 1930 "UPDATE nodes SET moved_to = ?4 " \ 1931 "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = ?3 " \ 1932 "" 1933 1934#define STMT_CLEAR_MOVED_TO_RELPATH 184 1935#define STMT_184_INFO {"STMT_CLEAR_MOVED_TO_RELPATH", NULL} 1936#define STMT_184 \ 1937 "UPDATE nodes SET moved_to = NULL " \ 1938 "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = ?3 " \ 1939 "" 1940 1941#define STMT_CLEAR_MOVED_HERE_RECURSIVE 185 1942#define STMT_185_INFO {"STMT_CLEAR_MOVED_HERE_RECURSIVE", NULL} 1943#define STMT_185 \ 1944 "UPDATE nodes SET moved_here = NULL " \ 1945 "WHERE wc_id = ?1 " \ 1946 " 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))) " \ 1947 " AND op_depth = ?3 " \ 1948 "" 1949 1950#define STMT_SELECT_MOVED_HERE_CHILDREN 186 1951#define STMT_186_INFO {"STMT_SELECT_MOVED_HERE_CHILDREN", NULL} 1952#define STMT_186 \ 1953 "SELECT moved_to, local_relpath FROM nodes " \ 1954 "WHERE wc_id = ?1 AND op_depth > 0 " \ 1955 " AND (((moved_to) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((moved_to) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \ 1956 "" 1957 1958#define STMT_SELECT_MOVED_FOR_DELETE 187 1959#define STMT_187_INFO {"STMT_SELECT_MOVED_FOR_DELETE", NULL} 1960#define STMT_187 \ 1961 "SELECT local_relpath, moved_to, op_depth, " \ 1962 " (SELECT CASE WHEN r.moved_here THEN r.op_depth END FROM nodes r " \ 1963 " WHERE r.wc_id = ?1 " \ 1964 " AND r.local_relpath = n.local_relpath " \ 1965 " AND r.op_depth < n.op_depth " \ 1966 " ORDER BY r.op_depth DESC LIMIT 1) AS moved_here_op_depth " \ 1967 " FROM nodes n " \ 1968 "WHERE wc_id = ?1 " \ 1969 " 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))) " \ 1970 " AND moved_to IS NOT NULL " \ 1971 " AND op_depth >= ?3 " \ 1972 "" 1973 1974#define STMT_SELECT_MOVED_FROM_FOR_DELETE 188 1975#define STMT_188_INFO {"STMT_SELECT_MOVED_FROM_FOR_DELETE", NULL} 1976#define STMT_188 \ 1977 "SELECT local_relpath, op_depth, " \ 1978 " (SELECT CASE WHEN r.moved_here THEN r.op_depth END FROM nodes r " \ 1979 " WHERE r.wc_id = ?1 " \ 1980 " AND r.local_relpath = n.local_relpath " \ 1981 " AND r.op_depth < n.op_depth " \ 1982 " ORDER BY r.op_depth DESC LIMIT 1) AS moved_here_op_depth " \ 1983 " FROM nodes n " \ 1984 "WHERE wc_id = ?1 AND moved_to = ?2 AND op_depth > 0 " \ 1985 "" 1986 1987#define STMT_UPDATE_MOVED_TO_DESCENDANTS 189 1988#define STMT_189_INFO {"STMT_UPDATE_MOVED_TO_DESCENDANTS", NULL} 1989#define STMT_189 \ 1990 "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) " \ 1991 " WHERE wc_id = ?1 " \ 1992 " AND (((moved_to) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((moved_to) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \ 1993 "" 1994 1995#define STMT_CLEAR_MOVED_TO_DESCENDANTS 190 1996#define STMT_190_INFO {"STMT_CLEAR_MOVED_TO_DESCENDANTS", NULL} 1997#define STMT_190 \ 1998 "UPDATE nodes SET moved_to = NULL " \ 1999 " WHERE wc_id = ?1 " \ 2000 " AND (((moved_to) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((moved_to) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \ 2001 "" 2002 2003#define STMT_SELECT_MOVED_PAIR2 191 2004#define STMT_191_INFO {"STMT_SELECT_MOVED_PAIR2", NULL} 2005#define STMT_191 \ 2006 "SELECT local_relpath, moved_to, op_depth FROM nodes " \ 2007 "WHERE wc_id = ?1 " \ 2008 " 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))) " \ 2009 " AND moved_to IS NOT NULL " \ 2010 " AND NOT (((moved_to) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((moved_to) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \ 2011 " AND op_depth >= (SELECT MAX(op_depth) FROM nodes o " \ 2012 " WHERE o.wc_id = ?1 " \ 2013 " AND o.local_relpath = ?2) " \ 2014 "" 2015 2016#define STMT_SELECT_MOVED_PAIR3 192 2017#define STMT_192_INFO {"STMT_SELECT_MOVED_PAIR3", NULL} 2018#define STMT_192 \ 2019 "SELECT local_relpath, moved_to, op_depth, kind FROM nodes " \ 2020 "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth > ?3 " \ 2021 " AND moved_to IS NOT NULL " \ 2022 "UNION ALL " \ 2023 "SELECT local_relpath, moved_to, op_depth, kind FROM nodes " \ 2024 "WHERE wc_id = ?1 " \ 2025 " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \ 2026 " AND op_depth > ?3 " \ 2027 " AND moved_to IS NOT NULL " \ 2028 "ORDER BY local_relpath, op_depth " \ 2029 "" 2030 2031#define STMT_SELECT_MOVED_OUTSIDE 193 2032#define STMT_193_INFO {"STMT_SELECT_MOVED_OUTSIDE", NULL} 2033#define STMT_193 \ 2034 "SELECT local_relpath, moved_to, op_depth FROM nodes " \ 2035 "WHERE wc_id = ?1 " \ 2036 " 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))) " \ 2037 " AND op_depth >= ?3 " \ 2038 " AND moved_to IS NOT NULL " \ 2039 " AND NOT (((moved_to) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((moved_to) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \ 2040 "" 2041 2042#define STMT_SELECT_OP_DEPTH_MOVED_PAIR 194 2043#define STMT_194_INFO {"STMT_SELECT_OP_DEPTH_MOVED_PAIR", NULL} 2044#define STMT_194 \ 2045 "SELECT n.local_relpath, n.moved_to, " \ 2046 " (SELECT o.repos_path FROM nodes AS o " \ 2047 " WHERE o.wc_id = n.wc_id " \ 2048 " AND o.local_relpath = n.local_relpath " \ 2049 " AND o.op_depth < ?3 ORDER BY o.op_depth DESC LIMIT 1) " \ 2050 "FROM nodes AS n " \ 2051 "WHERE n.wc_id = ?1 " \ 2052 " 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)) " \ 2053 " AND n.op_depth = ?3 " \ 2054 " AND n.moved_to IS NOT NULL " \ 2055 "" 2056 2057#define STMT_SELECT_MOVED_DESCENDANTS 195 2058#define STMT_195_INFO {"STMT_SELECT_MOVED_DESCENDANTS", NULL} 2059#define STMT_195 \ 2060 "SELECT n.local_relpath, h.moved_to " \ 2061 "FROM nodes n, nodes h " \ 2062 "WHERE n.wc_id = ?1 " \ 2063 " AND h.wc_id = ?1 " \ 2064 " 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)) " \ 2065 " AND h.local_relpath = n.local_relpath " \ 2066 " AND n.op_depth = ?3 " \ 2067 " AND h.op_depth = (SELECT MIN(o.op_depth) " \ 2068 " FROM nodes o " \ 2069 " WHERE o.wc_id = ?1 " \ 2070 " AND o.local_relpath = n.local_relpath " \ 2071 " AND o.op_depth > ?3) " \ 2072 " AND h.moved_to IS NOT NULL " \ 2073 "" 2074 2075#define STMT_COMMIT_UPDATE_ORIGIN 196 2076#define STMT_196_INFO {"STMT_COMMIT_UPDATE_ORIGIN", NULL} 2077#define STMT_196 \ 2078 "UPDATE nodes SET repos_id = ?4, " \ 2079 " repos_path = ?5 || SUBSTR(local_relpath, LENGTH(?2)+1), " \ 2080 " revision = ?6 " \ 2081 "WHERE wc_id = ?1 " \ 2082 " AND (local_relpath = ?2 " \ 2083 " OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \ 2084 " AND op_depth = ?3 " \ 2085 "" 2086 2087#define STMT_HAS_LAYER_BETWEEN 197 2088#define STMT_197_INFO {"STMT_HAS_LAYER_BETWEEN", NULL} 2089#define STMT_197 \ 2090 "SELECT 1 FROM NODES " \ 2091 "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth > ?3 AND op_depth < ?4 " \ 2092 "" 2093 2094#define STMT_SELECT_REPOS_PATH_REVISION 198 2095#define STMT_198_INFO {"STMT_SELECT_REPOS_PATH_REVISION", NULL} 2096#define STMT_198 \ 2097 "SELECT local_relpath, repos_path, revision FROM nodes " \ 2098 "WHERE wc_id = ?1 " \ 2099 " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \ 2100 " AND op_depth = 0 " \ 2101 "ORDER BY local_relpath " \ 2102 "" 2103 2104#define STMT_SELECT_HAS_NON_FILE_CHILDREN 199 2105#define STMT_199_INFO {"STMT_SELECT_HAS_NON_FILE_CHILDREN", NULL} 2106#define STMT_199 \ 2107 "SELECT 1 FROM nodes " \ 2108 "WHERE wc_id = ?1 AND parent_relpath = ?2 AND op_depth = 0 AND kind != 'file' " \ 2109 "" 2110 2111#define STMT_SELECT_HAS_GRANDCHILDREN 200 2112#define STMT_200_INFO {"STMT_SELECT_HAS_GRANDCHILDREN", NULL} 2113#define STMT_200 \ 2114 "SELECT 1 FROM nodes " \ 2115 "WHERE wc_id = ?1 " \ 2116 " AND (((parent_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((parent_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \ 2117 " AND op_depth = 0 " \ 2118 " AND file_external IS NULL " \ 2119 "" 2120 2121#define STMT_SELECT_ALL_NODES 201 2122#define STMT_201_INFO {"STMT_SELECT_ALL_NODES", NULL} 2123#define STMT_201 \ 2124 "SELECT op_depth, local_relpath, parent_relpath, file_external FROM nodes " \ 2125 "WHERE wc_id = ?1 " \ 2126 "" 2127 2128#define STMT_SELECT_IPROPS 202 2129#define STMT_202_INFO {"STMT_SELECT_IPROPS", NULL} 2130#define STMT_202 \ 2131 "SELECT inherited_props FROM nodes " \ 2132 "WHERE wc_id = ?1 " \ 2133 " AND local_relpath = ?2 " \ 2134 " AND op_depth = 0 " \ 2135 "" 2136 2137#define STMT_UPDATE_IPROP 203 2138#define STMT_203_INFO {"STMT_UPDATE_IPROP", NULL} 2139#define STMT_203 \ 2140 "UPDATE nodes " \ 2141 "SET inherited_props = ?3 " \ 2142 "WHERE (wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0) " \ 2143 "" 2144 2145#define STMT_SELECT_IPROPS_NODE 204 2146#define STMT_204_INFO {"STMT_SELECT_IPROPS_NODE", NULL} 2147#define STMT_204 \ 2148 "SELECT local_relpath, repos_path FROM nodes " \ 2149 "WHERE wc_id = ?1 " \ 2150 " AND local_relpath = ?2 " \ 2151 " AND op_depth = 0 " \ 2152 " AND (inherited_props not null) " \ 2153 "" 2154 2155#define STMT_SELECT_IPROPS_RECURSIVE 205 2156#define STMT_205_INFO {"STMT_SELECT_IPROPS_RECURSIVE", NULL} 2157#define STMT_205 \ 2158 "SELECT local_relpath, repos_path FROM nodes " \ 2159 "WHERE wc_id = ?1 " \ 2160 " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \ 2161 " AND op_depth = 0 " \ 2162 " AND (inherited_props not null) " \ 2163 "" 2164 2165#define STMT_SELECT_IPROPS_CHILDREN 206 2166#define STMT_206_INFO {"STMT_SELECT_IPROPS_CHILDREN", NULL} 2167#define STMT_206 \ 2168 "SELECT local_relpath, repos_path FROM nodes " \ 2169 "WHERE wc_id = ?1 " \ 2170 " AND parent_relpath = ?2 " \ 2171 " AND op_depth = 0 " \ 2172 " AND (inherited_props not null) " \ 2173 "" 2174 2175#define STMT_HAVE_STAT1_TABLE 207 2176#define STMT_207_INFO {"STMT_HAVE_STAT1_TABLE", NULL} 2177#define STMT_207 \ 2178 "SELECT 1 FROM sqlite_master WHERE name='sqlite_stat1' AND type='table' " \ 2179 "LIMIT 1 " \ 2180 "" 2181 2182#define STMT_CREATE_SCHEMA 208 2183#define STMT_208_INFO {"STMT_CREATE_SCHEMA", NULL} 2184#define STMT_208 \ 2185 "CREATE TABLE REPOSITORY ( " \ 2186 " id INTEGER PRIMARY KEY AUTOINCREMENT, " \ 2187 " root TEXT UNIQUE NOT NULL, " \ 2188 " uuid TEXT NOT NULL " \ 2189 " ); " \ 2190 "CREATE INDEX I_UUID ON REPOSITORY (uuid); " \ 2191 "CREATE INDEX I_ROOT ON REPOSITORY (root); " \ 2192 "CREATE TABLE WCROOT ( " \ 2193 " id INTEGER PRIMARY KEY AUTOINCREMENT, " \ 2194 " local_abspath TEXT UNIQUE " \ 2195 " ); " \ 2196 "CREATE UNIQUE INDEX I_LOCAL_ABSPATH ON WCROOT (local_abspath); " \ 2197 "CREATE TABLE PRISTINE ( " \ 2198 " checksum TEXT NOT NULL PRIMARY KEY, " \ 2199 " compression INTEGER, " \ 2200 " size INTEGER NOT NULL, " \ 2201 " refcount INTEGER NOT NULL, " \ 2202 " md5_checksum TEXT NOT NULL " \ 2203 " ); " \ 2204 "CREATE INDEX I_PRISTINE_MD5 ON PRISTINE (md5_checksum); " \ 2205 "CREATE TABLE ACTUAL_NODE ( " \ 2206 " wc_id INTEGER NOT NULL REFERENCES WCROOT (id), " \ 2207 " local_relpath TEXT NOT NULL, " \ 2208 " parent_relpath TEXT, " \ 2209 " properties BLOB, " \ 2210 " conflict_old TEXT, " \ 2211 " conflict_new TEXT, " \ 2212 " conflict_working TEXT, " \ 2213 " prop_reject TEXT, " \ 2214 " changelist TEXT, " \ 2215 " text_mod TEXT, " \ 2216 " tree_conflict_data TEXT, " \ 2217 " conflict_data BLOB, " \ 2218 " older_checksum TEXT REFERENCES PRISTINE (checksum), " \ 2219 " left_checksum TEXT REFERENCES PRISTINE (checksum), " \ 2220 " right_checksum TEXT REFERENCES PRISTINE (checksum), " \ 2221 " PRIMARY KEY (wc_id, local_relpath) " \ 2222 " ); " \ 2223 "CREATE UNIQUE INDEX I_ACTUAL_PARENT ON ACTUAL_NODE (wc_id, parent_relpath, " \ 2224 " local_relpath); " \ 2225 "CREATE TABLE LOCK ( " \ 2226 " repos_id INTEGER NOT NULL REFERENCES REPOSITORY (id), " \ 2227 " repos_relpath TEXT NOT NULL, " \ 2228 " lock_token TEXT NOT NULL, " \ 2229 " lock_owner TEXT, " \ 2230 " lock_comment TEXT, " \ 2231 " lock_date INTEGER, " \ 2232 " PRIMARY KEY (repos_id, repos_relpath) " \ 2233 " ); " \ 2234 "CREATE TABLE WORK_QUEUE ( " \ 2235 " id INTEGER PRIMARY KEY AUTOINCREMENT, " \ 2236 " work BLOB NOT NULL " \ 2237 " ); " \ 2238 "CREATE TABLE WC_LOCK ( " \ 2239 " wc_id INTEGER NOT NULL REFERENCES WCROOT (id), " \ 2240 " local_dir_relpath TEXT NOT NULL, " \ 2241 " locked_levels INTEGER NOT NULL DEFAULT -1, " \ 2242 " PRIMARY KEY (wc_id, local_dir_relpath) " \ 2243 " ); " \ 2244 "PRAGMA user_version = " \ 2245 APR_STRINGIFY(SVN_WC__VERSION) \ 2246 "; " \ 2247 "" 2248 2249#define STMT_CREATE_NODES 209 2250#define STMT_209_INFO {"STMT_CREATE_NODES", NULL} 2251#define STMT_209 \ 2252 "CREATE TABLE NODES ( " \ 2253 " wc_id INTEGER NOT NULL REFERENCES WCROOT (id), " \ 2254 " local_relpath TEXT NOT NULL, " \ 2255 " op_depth INTEGER NOT NULL, " \ 2256 " parent_relpath TEXT, " \ 2257 " repos_id INTEGER REFERENCES REPOSITORY (id), " \ 2258 " repos_path TEXT, " \ 2259 " revision INTEGER, " \ 2260 " presence TEXT NOT NULL, " \ 2261 " moved_here INTEGER, " \ 2262 " moved_to TEXT, " \ 2263 " kind TEXT NOT NULL, " \ 2264 " properties BLOB, " \ 2265 " depth TEXT, " \ 2266 " checksum TEXT REFERENCES PRISTINE (checksum), " \ 2267 " symlink_target TEXT, " \ 2268 " changed_revision INTEGER, " \ 2269 " changed_date INTEGER, " \ 2270 " changed_author TEXT, " \ 2271 " translated_size INTEGER, " \ 2272 " last_mod_time INTEGER, " \ 2273 " dav_cache BLOB, " \ 2274 " file_external INTEGER, " \ 2275 " inherited_props BLOB, " \ 2276 " PRIMARY KEY (wc_id, local_relpath, op_depth) " \ 2277 " ); " \ 2278 "CREATE UNIQUE INDEX I_NODES_PARENT ON NODES (wc_id, parent_relpath, " \ 2279 " local_relpath, op_depth); " \ 2280 "CREATE UNIQUE INDEX I_NODES_MOVED ON NODES (wc_id, moved_to, op_depth); " \ 2281 "CREATE VIEW NODES_CURRENT AS " \ 2282 " SELECT * FROM nodes AS n " \ 2283 " WHERE op_depth = (SELECT MAX(op_depth) FROM nodes AS n2 " \ 2284 " WHERE n2.wc_id = n.wc_id " \ 2285 " AND n2.local_relpath = n.local_relpath); " \ 2286 "CREATE VIEW NODES_BASE AS " \ 2287 " SELECT * FROM nodes " \ 2288 " WHERE op_depth = 0; " \ 2289 "" 2290 2291#define STMT_CREATE_NODES_TRIGGERS 210 2292#define STMT_210_INFO {"STMT_CREATE_NODES_TRIGGERS", NULL} 2293#define STMT_210 \ 2294 "CREATE TRIGGER nodes_insert_trigger " \ 2295 "AFTER INSERT ON nodes " \ 2296 "WHEN NEW.checksum IS NOT NULL " \ 2297 "BEGIN " \ 2298 " UPDATE pristine SET refcount = refcount + 1 " \ 2299 " WHERE checksum = NEW.checksum; " \ 2300 "END; " \ 2301 "CREATE TRIGGER nodes_delete_trigger " \ 2302 "AFTER DELETE ON nodes " \ 2303 "WHEN OLD.checksum IS NOT NULL " \ 2304 "BEGIN " \ 2305 " UPDATE pristine SET refcount = refcount - 1 " \ 2306 " WHERE checksum = OLD.checksum; " \ 2307 "END; " \ 2308 "CREATE TRIGGER nodes_update_checksum_trigger " \ 2309 "AFTER UPDATE OF checksum ON nodes " \ 2310 "WHEN NEW.checksum IS NOT OLD.checksum " \ 2311 "BEGIN " \ 2312 " UPDATE pristine SET refcount = refcount + 1 " \ 2313 " WHERE checksum = NEW.checksum; " \ 2314 " UPDATE pristine SET refcount = refcount - 1 " \ 2315 " WHERE checksum = OLD.checksum; " \ 2316 "END; " \ 2317 "" 2318 2319#define STMT_CREATE_EXTERNALS 211 2320#define STMT_211_INFO {"STMT_CREATE_EXTERNALS", NULL} 2321#define STMT_211 \ 2322 "CREATE TABLE EXTERNALS ( " \ 2323 " wc_id INTEGER NOT NULL REFERENCES WCROOT (id), " \ 2324 " local_relpath TEXT NOT NULL, " \ 2325 " parent_relpath TEXT NOT NULL, " \ 2326 " repos_id INTEGER NOT NULL REFERENCES REPOSITORY (id), " \ 2327 " presence TEXT NOT NULL, " \ 2328 " kind TEXT NOT NULL, " \ 2329 " def_local_relpath TEXT NOT NULL, " \ 2330 " def_repos_relpath TEXT NOT NULL, " \ 2331 " def_operational_revision TEXT, " \ 2332 " def_revision TEXT, " \ 2333 " PRIMARY KEY (wc_id, local_relpath) " \ 2334 "); " \ 2335 "CREATE UNIQUE INDEX I_EXTERNALS_DEFINED ON EXTERNALS (wc_id, " \ 2336 " def_local_relpath, " \ 2337 " local_relpath); " \ 2338 "" 2339 2340#define STMT_INSTALL_SCHEMA_STATISTICS 212 2341#define STMT_212_INFO {"STMT_INSTALL_SCHEMA_STATISTICS", NULL} 2342#define STMT_212 \ 2343 "ANALYZE sqlite_master; " \ 2344 "DELETE FROM sqlite_stat1 " \ 2345 "WHERE tbl in ('NODES', 'ACTUAL_NODE', 'LOCK', 'WC_LOCK', 'EXTERNALS'); " \ 2346 "INSERT INTO sqlite_stat1(tbl, idx, stat) VALUES " \ 2347 " ('NODES', 'sqlite_autoindex_NODES_1', '8000 8000 2 1'); " \ 2348 "INSERT INTO sqlite_stat1(tbl, idx, stat) VALUES " \ 2349 " ('NODES', 'I_NODES_PARENT', '8000 8000 10 2 1'); " \ 2350 "INSERT INTO sqlite_stat1(tbl, idx, stat) VALUES " \ 2351 " ('NODES', 'I_NODES_MOVED', '8000 8000 1 1'); " \ 2352 "INSERT INTO sqlite_stat1(tbl, idx, stat) VALUES " \ 2353 " ('ACTUAL_NODE', 'sqlite_autoindex_ACTUAL_NODE_1', '8000 8000 1'); " \ 2354 "INSERT INTO sqlite_stat1(tbl, idx, stat) VALUES " \ 2355 " ('ACTUAL_NODE', 'I_ACTUAL_PARENT', '8000 8000 10 1'); " \ 2356 "INSERT INTO sqlite_stat1(tbl, idx, stat) VALUES " \ 2357 " ('LOCK', 'sqlite_autoindex_LOCK_1', '100 100 1'); " \ 2358 "INSERT INTO sqlite_stat1(tbl, idx, stat) VALUES " \ 2359 " ('WC_LOCK', 'sqlite_autoindex_WC_LOCK_1', '100 100 1'); " \ 2360 "INSERT INTO sqlite_stat1(tbl, idx, stat) VALUES " \ 2361 " ('EXTERNALS','sqlite_autoindex_EXTERNALS_1', '100 100 1'); " \ 2362 "INSERT INTO sqlite_stat1(tbl, idx, stat) VALUES " \ 2363 " ('EXTERNALS','I_EXTERNALS_DEFINED', '100 100 3 1'); " \ 2364 "ANALYZE sqlite_master; " \ 2365 "" 2366 2367#define STMT_UPGRADE_TO_20 213 2368#define STMT_213_INFO {"STMT_UPGRADE_TO_20", NULL} 2369#define STMT_213 \ 2370 "UPDATE BASE_NODE SET checksum = (SELECT checksum FROM pristine " \ 2371 " WHERE md5_checksum = BASE_NODE.checksum) " \ 2372 "WHERE EXISTS (SELECT 1 FROM pristine WHERE md5_checksum = BASE_NODE.checksum); " \ 2373 "UPDATE WORKING_NODE SET checksum = (SELECT checksum FROM pristine " \ 2374 " WHERE md5_checksum = WORKING_NODE.checksum) " \ 2375 "WHERE EXISTS (SELECT 1 FROM pristine " \ 2376 " WHERE md5_checksum = WORKING_NODE.checksum); " \ 2377 "INSERT INTO NODES ( " \ 2378 " wc_id, local_relpath, op_depth, parent_relpath, " \ 2379 " repos_id, repos_path, revision, " \ 2380 " presence, depth, moved_here, moved_to, kind, " \ 2381 " changed_revision, changed_date, changed_author, " \ 2382 " checksum, properties, translated_size, last_mod_time, " \ 2383 " dav_cache, symlink_target, file_external ) " \ 2384 "SELECT wc_id, local_relpath, 0 , parent_relpath, " \ 2385 " repos_id, repos_relpath, revnum, " \ 2386 " presence, depth, NULL , NULL , kind, " \ 2387 " changed_rev, changed_date, changed_author, " \ 2388 " checksum, properties, translated_size, last_mod_time, " \ 2389 " dav_cache, symlink_target, file_external " \ 2390 "FROM BASE_NODE; " \ 2391 "INSERT INTO NODES ( " \ 2392 " wc_id, local_relpath, op_depth, parent_relpath, " \ 2393 " repos_id, repos_path, revision, " \ 2394 " presence, depth, moved_here, moved_to, kind, " \ 2395 " changed_revision, changed_date, changed_author, " \ 2396 " checksum, properties, translated_size, last_mod_time, " \ 2397 " dav_cache, symlink_target, file_external ) " \ 2398 "SELECT wc_id, local_relpath, 2 , parent_relpath, " \ 2399 " copyfrom_repos_id, copyfrom_repos_path, copyfrom_revnum, " \ 2400 " presence, depth, NULL , NULL , kind, " \ 2401 " changed_rev, changed_date, changed_author, " \ 2402 " checksum, properties, translated_size, last_mod_time, " \ 2403 " NULL , symlink_target, NULL " \ 2404 "FROM WORKING_NODE; " \ 2405 "DROP TABLE BASE_NODE; " \ 2406 "DROP TABLE WORKING_NODE; " \ 2407 "PRAGMA user_version = 20; " \ 2408 "" 2409 2410#define STMT_UPGRADE_TO_21 214 2411#define STMT_214_INFO {"STMT_UPGRADE_TO_21", NULL} 2412#define STMT_214 \ 2413 "PRAGMA user_version = 21; " \ 2414 "" 2415 2416#define STMT_UPGRADE_21_SELECT_OLD_TREE_CONFLICT 215 2417#define STMT_215_INFO {"STMT_UPGRADE_21_SELECT_OLD_TREE_CONFLICT", NULL} 2418#define STMT_215 \ 2419 "SELECT wc_id, local_relpath, tree_conflict_data " \ 2420 "FROM actual_node " \ 2421 "WHERE tree_conflict_data IS NOT NULL " \ 2422 "" 2423 2424#define STMT_UPGRADE_21_ERASE_OLD_CONFLICTS 216 2425#define STMT_216_INFO {"STMT_UPGRADE_21_ERASE_OLD_CONFLICTS", NULL} 2426#define STMT_216 \ 2427 "UPDATE actual_node SET tree_conflict_data = NULL " \ 2428 "" 2429 2430#define STMT_UPGRADE_TO_22 217 2431#define STMT_217_INFO {"STMT_UPGRADE_TO_22", NULL} 2432#define STMT_217 \ 2433 "UPDATE actual_node SET tree_conflict_data = conflict_data; " \ 2434 "UPDATE actual_node SET conflict_data = NULL; " \ 2435 "PRAGMA user_version = 22; " \ 2436 "" 2437 2438#define STMT_UPGRADE_TO_23 218 2439#define STMT_218_INFO {"STMT_UPGRADE_TO_23", NULL} 2440#define STMT_218 \ 2441 "PRAGMA user_version = 23; " \ 2442 "" 2443 2444#define STMT_UPGRADE_23_HAS_WORKING_NODES 219 2445#define STMT_219_INFO {"STMT_UPGRADE_23_HAS_WORKING_NODES", NULL} 2446#define STMT_219 \ 2447 "SELECT 1 FROM nodes WHERE op_depth > 0 " \ 2448 "LIMIT 1 " \ 2449 "" 2450 2451#define STMT_UPGRADE_TO_24 220 2452#define STMT_220_INFO {"STMT_UPGRADE_TO_24", NULL} 2453#define STMT_220 \ 2454 "UPDATE pristine SET refcount = " \ 2455 " (SELECT COUNT(*) FROM nodes " \ 2456 " WHERE checksum = pristine.checksum ); " \ 2457 "PRAGMA user_version = 24; " \ 2458 "" 2459 2460#define STMT_UPGRADE_TO_25 221 2461#define STMT_221_INFO {"STMT_UPGRADE_TO_25", NULL} 2462#define STMT_221 \ 2463 "DROP VIEW IF EXISTS NODES_CURRENT; " \ 2464 "CREATE VIEW NODES_CURRENT AS " \ 2465 " SELECT * FROM nodes " \ 2466 " JOIN (SELECT wc_id, local_relpath, MAX(op_depth) AS op_depth FROM nodes " \ 2467 " GROUP BY wc_id, local_relpath) AS filter " \ 2468 " ON nodes.wc_id = filter.wc_id " \ 2469 " AND nodes.local_relpath = filter.local_relpath " \ 2470 " AND nodes.op_depth = filter.op_depth; " \ 2471 "PRAGMA user_version = 25; " \ 2472 "" 2473 2474#define STMT_UPGRADE_TO_26 222 2475#define STMT_222_INFO {"STMT_UPGRADE_TO_26", NULL} 2476#define STMT_222 \ 2477 "DROP VIEW IF EXISTS NODES_BASE; " \ 2478 "CREATE VIEW NODES_BASE AS " \ 2479 " SELECT * FROM nodes " \ 2480 " WHERE op_depth = 0; " \ 2481 "PRAGMA user_version = 26; " \ 2482 "" 2483 2484#define STMT_UPGRADE_TO_27 223 2485#define STMT_223_INFO {"STMT_UPGRADE_TO_27", NULL} 2486#define STMT_223 \ 2487 "PRAGMA user_version = 27; " \ 2488 "" 2489 2490#define STMT_UPGRADE_27_HAS_ACTUAL_NODES_CONFLICTS 224 2491#define STMT_224_INFO {"STMT_UPGRADE_27_HAS_ACTUAL_NODES_CONFLICTS", NULL} 2492#define STMT_224 \ 2493 "SELECT 1 FROM actual_node " \ 2494 "WHERE NOT ((prop_reject IS NULL) AND (conflict_old IS NULL) " \ 2495 " AND (conflict_new IS NULL) AND (conflict_working IS NULL) " \ 2496 " AND (tree_conflict_data IS NULL)) " \ 2497 "LIMIT 1 " \ 2498 "" 2499 2500#define STMT_UPGRADE_TO_28 225 2501#define STMT_225_INFO {"STMT_UPGRADE_TO_28", NULL} 2502#define STMT_225 \ 2503 "UPDATE NODES SET checksum = (SELECT checksum FROM pristine " \ 2504 " WHERE md5_checksum = nodes.checksum) " \ 2505 "WHERE EXISTS (SELECT 1 FROM pristine WHERE md5_checksum = nodes.checksum); " \ 2506 "PRAGMA user_version = 28; " \ 2507 "" 2508 2509#define STMT_UPGRADE_TO_29 226 2510#define STMT_226_INFO {"STMT_UPGRADE_TO_29", NULL} 2511#define STMT_226 \ 2512 "DROP TRIGGER IF EXISTS nodes_update_checksum_trigger; " \ 2513 "DROP TRIGGER IF EXISTS nodes_insert_trigger; " \ 2514 "DROP TRIGGER IF EXISTS nodes_delete_trigger; " \ 2515 "CREATE TRIGGER nodes_update_checksum_trigger " \ 2516 "AFTER UPDATE OF checksum ON nodes " \ 2517 "WHEN NEW.checksum IS NOT OLD.checksum " \ 2518 "BEGIN " \ 2519 " UPDATE pristine SET refcount = refcount + 1 " \ 2520 " WHERE checksum = NEW.checksum; " \ 2521 " UPDATE pristine SET refcount = refcount - 1 " \ 2522 " WHERE checksum = OLD.checksum; " \ 2523 "END; " \ 2524 "CREATE TRIGGER nodes_insert_trigger " \ 2525 "AFTER INSERT ON nodes " \ 2526 "WHEN NEW.checksum IS NOT NULL " \ 2527 "BEGIN " \ 2528 " UPDATE pristine SET refcount = refcount + 1 " \ 2529 " WHERE checksum = NEW.checksum; " \ 2530 "END; " \ 2531 "CREATE TRIGGER nodes_delete_trigger " \ 2532 "AFTER DELETE ON nodes " \ 2533 "WHEN OLD.checksum IS NOT NULL " \ 2534 "BEGIN " \ 2535 " UPDATE pristine SET refcount = refcount - 1 " \ 2536 " WHERE checksum = OLD.checksum; " \ 2537 "END; " \ 2538 "PRAGMA user_version = 29; " \ 2539 "" 2540 2541#define STMT_UPGRADE_TO_30 227 2542#define STMT_227_INFO {"STMT_UPGRADE_TO_30", NULL} 2543#define STMT_227 \ 2544 "CREATE UNIQUE INDEX IF NOT EXISTS I_NODES_MOVED " \ 2545 "ON NODES (wc_id, moved_to, op_depth); " \ 2546 "CREATE INDEX IF NOT EXISTS I_PRISTINE_MD5 ON PRISTINE (md5_checksum); " \ 2547 "UPDATE nodes SET presence = \"server-excluded\" WHERE presence = \"absent\"; " \ 2548 "UPDATE nodes SET file_external=1 WHERE file_external IS NOT NULL; " \ 2549 "" 2550 2551#define STMT_UPGRADE_30_SELECT_CONFLICT_SEPARATE 228 2552#define STMT_228_INFO {"STMT_UPGRADE_30_SELECT_CONFLICT_SEPARATE", NULL} 2553#define STMT_228 \ 2554 "SELECT wc_id, local_relpath, " \ 2555 " conflict_old, conflict_working, conflict_new, prop_reject, tree_conflict_data " \ 2556 "FROM actual_node " \ 2557 "WHERE conflict_old IS NOT NULL " \ 2558 " OR conflict_working IS NOT NULL " \ 2559 " OR conflict_new IS NOT NULL " \ 2560 " OR prop_reject IS NOT NULL " \ 2561 " OR tree_conflict_data IS NOT NULL " \ 2562 "ORDER by wc_id, local_relpath " \ 2563 "" 2564 2565#define STMT_UPGRADE_30_SET_CONFLICT 229 2566#define STMT_229_INFO {"STMT_UPGRADE_30_SET_CONFLICT", NULL} 2567#define STMT_229 \ 2568 "UPDATE actual_node SET conflict_data = ?3, conflict_old = NULL, " \ 2569 " conflict_working = NULL, conflict_new = NULL, prop_reject = NULL, " \ 2570 " tree_conflict_data = NULL " \ 2571 "WHERE wc_id = ?1 and local_relpath = ?2 " \ 2572 "" 2573 2574#define STMT_UPGRADE_TO_31_ALTER_TABLE 230 2575#define STMT_230_INFO {"STMT_UPGRADE_TO_31_ALTER_TABLE", NULL} 2576#define STMT_230 \ 2577 "ALTER TABLE NODES ADD COLUMN inherited_props BLOB; " \ 2578 "" 2579 2580#define STMT_UPGRADE_TO_31_FINALIZE 231 2581#define STMT_231_INFO {"STMT_UPGRADE_TO_31_FINALIZE", NULL} 2582#define STMT_231 \ 2583 "DROP INDEX IF EXISTS I_ACTUAL_CHANGELIST; " \ 2584 "DROP INDEX IF EXISTS I_EXTERNALS_PARENT; " \ 2585 "DROP INDEX I_NODES_PARENT; " \ 2586 "CREATE UNIQUE INDEX I_NODES_PARENT ON NODES (wc_id, parent_relpath, " \ 2587 " local_relpath, op_depth); " \ 2588 "DROP INDEX I_ACTUAL_PARENT; " \ 2589 "CREATE UNIQUE INDEX I_ACTUAL_PARENT ON ACTUAL_NODE (wc_id, parent_relpath, " \ 2590 " local_relpath); " \ 2591 "PRAGMA user_version = 31; " \ 2592 "" 2593 2594#define STMT_UPGRADE_31_SELECT_WCROOT_NODES 232 2595#define STMT_232_INFO {"STMT_UPGRADE_31_SELECT_WCROOT_NODES", NULL} 2596#define STMT_232 \ 2597 "SELECT l.wc_id, l.local_relpath FROM nodes as l " \ 2598 "LEFT OUTER JOIN nodes as r " \ 2599 "ON l.wc_id = r.wc_id " \ 2600 " AND r.local_relpath = l.parent_relpath " \ 2601 " AND r.op_depth = 0 " \ 2602 "WHERE l.op_depth = 0 " \ 2603 " AND l.repos_path != '' " \ 2604 " AND ((l.repos_id IS NOT r.repos_id) " \ 2605 " 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))) " \ 2606 "" 2607 2608#define STMT_UPGRADE_TO_32 233 2609#define STMT_233_INFO {"STMT_UPGRADE_TO_32", NULL} 2610#define STMT_233 \ 2611 "DROP INDEX IF EXISTS I_ACTUAL_CHANGELIST; " \ 2612 "DROP INDEX IF EXISTS I_EXTERNALS_PARENT; " \ 2613 "CREATE INDEX I_EXTERNALS_PARENT ON EXTERNALS (wc_id, parent_relpath); " \ 2614 "DROP INDEX I_NODES_PARENT; " \ 2615 "CREATE UNIQUE INDEX I_NODES_PARENT ON NODES (wc_id, parent_relpath, " \ 2616 " local_relpath, op_depth); " \ 2617 "DROP INDEX I_ACTUAL_PARENT; " \ 2618 "CREATE UNIQUE INDEX I_ACTUAL_PARENT ON ACTUAL_NODE (wc_id, parent_relpath, " \ 2619 " local_relpath); " \ 2620 "-- format: YYY " \ 2621 "" 2622 2623#define WC_QUERIES_SQL_99 \ 2624 "CREATE TABLE ACTUAL_NODE_BACKUP ( " \ 2625 " wc_id INTEGER NOT NULL, " \ 2626 " local_relpath TEXT NOT NULL, " \ 2627 " parent_relpath TEXT, " \ 2628 " properties BLOB, " \ 2629 " conflict_old TEXT, " \ 2630 " conflict_new TEXT, " \ 2631 " conflict_working TEXT, " \ 2632 " prop_reject TEXT, " \ 2633 " changelist TEXT, " \ 2634 " text_mod TEXT " \ 2635 " ); " \ 2636 "INSERT INTO ACTUAL_NODE_BACKUP SELECT " \ 2637 " wc_id, local_relpath, parent_relpath, properties, conflict_old, " \ 2638 " conflict_new, conflict_working, prop_reject, changelist, text_mod " \ 2639 "FROM ACTUAL_NODE; " \ 2640 "DROP TABLE ACTUAL_NODE; " \ 2641 "CREATE TABLE ACTUAL_NODE ( " \ 2642 " wc_id INTEGER NOT NULL REFERENCES WCROOT (id), " \ 2643 " local_relpath TEXT NOT NULL, " \ 2644 " parent_relpath TEXT, " \ 2645 " properties BLOB, " \ 2646 " conflict_old TEXT, " \ 2647 " conflict_new TEXT, " \ 2648 " conflict_working TEXT, " \ 2649 " prop_reject TEXT, " \ 2650 " changelist TEXT, " \ 2651 " text_mod TEXT, " \ 2652 " PRIMARY KEY (wc_id, local_relpath) " \ 2653 " ); " \ 2654 "CREATE UNIQUE INDEX I_ACTUAL_PARENT ON ACTUAL_NODE (wc_id, parent_relpath, " \ 2655 " local_relpath); " \ 2656 "INSERT INTO ACTUAL_NODE SELECT " \ 2657 " wc_id, local_relpath, parent_relpath, properties, conflict_old, " \ 2658 " conflict_new, conflict_working, prop_reject, changelist, text_mod " \ 2659 "FROM ACTUAL_NODE_BACKUP; " \ 2660 "DROP TABLE ACTUAL_NODE_BACKUP; " \ 2661 "" 2662 2663#define STMT_VERIFICATION_TRIGGERS 234 2664#define STMT_234_INFO {"STMT_VERIFICATION_TRIGGERS", NULL} 2665#define STMT_234 \ 2666 "CREATE TEMPORARY TRIGGER no_repository_updates BEFORE UPDATE ON repository " \ 2667 "BEGIN " \ 2668 " SELECT RAISE(FAIL, 'Updates to REPOSITORY are not allowed.'); " \ 2669 "END; " \ 2670 "CREATE TEMPORARY TRIGGER validation_01 BEFORE INSERT ON nodes " \ 2671 "WHEN NOT ((new.local_relpath = '' AND new.parent_relpath IS NULL) " \ 2672 " OR (relpath_depth(new.local_relpath) " \ 2673 " = relpath_depth(new.parent_relpath) + 1)) " \ 2674 "BEGIN " \ 2675 " SELECT RAISE(FAIL, 'WC DB validity check 01 failed'); " \ 2676 "END; " \ 2677 "CREATE TEMPORARY TRIGGER validation_02 BEFORE INSERT ON nodes " \ 2678 "WHEN NOT new.op_depth <= relpath_depth(new.local_relpath) " \ 2679 "BEGIN " \ 2680 " SELECT RAISE(FAIL, 'WC DB validity check 02 failed'); " \ 2681 "END; " \ 2682 "CREATE TEMPORARY TRIGGER validation_03 BEFORE INSERT ON nodes " \ 2683 "WHEN NOT ( " \ 2684 " (new.op_depth = relpath_depth(new.local_relpath)) " \ 2685 " OR " \ 2686 " (EXISTS (SELECT 1 FROM nodes " \ 2687 " WHERE wc_id = new.wc_id AND op_depth = new.op_depth " \ 2688 " AND local_relpath = new.parent_relpath)) " \ 2689 " ) " \ 2690 " AND NOT (new.file_external IS NOT NULL AND new.op_depth = 0) " \ 2691 "BEGIN " \ 2692 " SELECT RAISE(FAIL, 'WC DB validity check 03 failed'); " \ 2693 "END; " \ 2694 "CREATE TEMPORARY TRIGGER validation_04 BEFORE INSERT ON actual_node " \ 2695 "WHEN NOT (new.local_relpath = '' " \ 2696 " OR EXISTS (SELECT 1 FROM nodes " \ 2697 " WHERE wc_id = new.wc_id " \ 2698 " AND local_relpath = new.parent_relpath)) " \ 2699 "BEGIN " \ 2700 " SELECT RAISE(FAIL, 'WC DB validity check 04 failed'); " \ 2701 "END; " \ 2702 "" 2703 2704#define WC_QUERIES_SQL_DECLARE_STATEMENTS(varname) \ 2705 static const char * const varname[] = { \ 2706 STMT_0, \ 2707 STMT_1, \ 2708 STMT_2, \ 2709 STMT_3, \ 2710 STMT_4, \ 2711 STMT_5, \ 2712 STMT_6, \ 2713 STMT_7, \ 2714 STMT_8, \ 2715 STMT_9, \ 2716 STMT_10, \ 2717 STMT_11, \ 2718 STMT_12, \ 2719 STMT_13, \ 2720 STMT_14, \ 2721 STMT_15, \ 2722 STMT_16, \ 2723 STMT_17, \ 2724 STMT_18, \ 2725 STMT_19, \ 2726 STMT_20, \ 2727 STMT_21, \ 2728 STMT_22, \ 2729 STMT_23, \ 2730 STMT_24, \ 2731 STMT_25, \ 2732 STMT_26, \ 2733 STMT_27, \ 2734 STMT_28, \ 2735 STMT_29, \ 2736 STMT_30, \ 2737 STMT_31, \ 2738 STMT_32, \ 2739 STMT_33, \ 2740 STMT_34, \ 2741 STMT_35, \ 2742 STMT_36, \ 2743 STMT_37, \ 2744 STMT_38, \ 2745 STMT_39, \ 2746 STMT_40, \ 2747 STMT_41, \ 2748 STMT_42, \ 2749 STMT_43, \ 2750 STMT_44, \ 2751 STMT_45, \ 2752 STMT_46, \ 2753 STMT_47, \ 2754 STMT_48, \ 2755 STMT_49, \ 2756 STMT_50, \ 2757 STMT_51, \ 2758 STMT_52, \ 2759 STMT_53, \ 2760 STMT_54, \ 2761 STMT_55, \ 2762 STMT_56, \ 2763 STMT_57, \ 2764 STMT_58, \ 2765 STMT_59, \ 2766 STMT_60, \ 2767 STMT_61, \ 2768 STMT_62, \ 2769 STMT_63, \ 2770 STMT_64, \ 2771 STMT_65, \ 2772 STMT_66, \ 2773 STMT_67, \ 2774 STMT_68, \ 2775 STMT_69, \ 2776 STMT_70, \ 2777 STMT_71, \ 2778 STMT_72, \ 2779 STMT_73, \ 2780 STMT_74, \ 2781 STMT_75, \ 2782 STMT_76, \ 2783 STMT_77, \ 2784 STMT_78, \ 2785 STMT_79, \ 2786 STMT_80, \ 2787 STMT_81, \ 2788 STMT_82, \ 2789 STMT_83, \ 2790 STMT_84, \ 2791 STMT_85, \ 2792 STMT_86, \ 2793 STMT_87, \ 2794 STMT_88, \ 2795 STMT_89, \ 2796 STMT_90, \ 2797 STMT_91, \ 2798 STMT_92, \ 2799 STMT_93, \ 2800 STMT_94, \ 2801 STMT_95, \ 2802 STMT_96, \ 2803 STMT_97, \ 2804 STMT_98, \ 2805 STMT_99, \ 2806 STMT_100, \ 2807 STMT_101, \ 2808 STMT_102, \ 2809 STMT_103, \ 2810 STMT_104, \ 2811 STMT_105, \ 2812 STMT_106, \ 2813 STMT_107, \ 2814 STMT_108, \ 2815 STMT_109, \ 2816 STMT_110, \ 2817 STMT_111, \ 2818 STMT_112, \ 2819 STMT_113, \ 2820 STMT_114, \ 2821 STMT_115, \ 2822 STMT_116, \ 2823 STMT_117, \ 2824 STMT_118, \ 2825 STMT_119, \ 2826 STMT_120, \ 2827 STMT_121, \ 2828 STMT_122, \ 2829 STMT_123, \ 2830 STMT_124, \ 2831 STMT_125, \ 2832 STMT_126, \ 2833 STMT_127, \ 2834 STMT_128, \ 2835 STMT_129, \ 2836 STMT_130, \ 2837 STMT_131, \ 2838 STMT_132, \ 2839 STMT_133, \ 2840 STMT_134, \ 2841 STMT_135, \ 2842 STMT_136, \ 2843 STMT_137, \ 2844 STMT_138, \ 2845 STMT_139, \ 2846 STMT_140, \ 2847 STMT_141, \ 2848 STMT_142, \ 2849 STMT_143, \ 2850 STMT_144, \ 2851 STMT_145, \ 2852 STMT_146, \ 2853 STMT_147, \ 2854 STMT_148, \ 2855 STMT_149, \ 2856 STMT_150, \ 2857 STMT_151, \ 2858 STMT_152, \ 2859 STMT_153, \ 2860 STMT_154, \ 2861 STMT_155, \ 2862 STMT_156, \ 2863 STMT_157, \ 2864 STMT_158, \ 2865 STMT_159, \ 2866 STMT_160, \ 2867 STMT_161, \ 2868 STMT_162, \ 2869 STMT_163, \ 2870 STMT_164, \ 2871 STMT_165, \ 2872 STMT_166, \ 2873 STMT_167, \ 2874 STMT_168, \ 2875 STMT_169, \ 2876 STMT_170, \ 2877 STMT_171, \ 2878 STMT_172, \ 2879 STMT_173, \ 2880 STMT_174, \ 2881 STMT_175, \ 2882 STMT_176, \ 2883 STMT_177, \ 2884 STMT_178, \ 2885 STMT_179, \ 2886 STMT_180, \ 2887 STMT_181, \ 2888 STMT_182, \ 2889 STMT_183, \ 2890 STMT_184, \ 2891 STMT_185, \ 2892 STMT_186, \ 2893 STMT_187, \ 2894 STMT_188, \ 2895 STMT_189, \ 2896 STMT_190, \ 2897 STMT_191, \ 2898 STMT_192, \ 2899 STMT_193, \ 2900 STMT_194, \ 2901 STMT_195, \ 2902 STMT_196, \ 2903 STMT_197, \ 2904 STMT_198, \ 2905 STMT_199, \ 2906 STMT_200, \ 2907 STMT_201, \ 2908 STMT_202, \ 2909 STMT_203, \ 2910 STMT_204, \ 2911 STMT_205, \ 2912 STMT_206, \ 2913 STMT_207, \ 2914 STMT_208, \ 2915 STMT_209, \ 2916 STMT_210, \ 2917 STMT_211, \ 2918 STMT_212, \ 2919 STMT_213, \ 2920 STMT_214, \ 2921 STMT_215, \ 2922 STMT_216, \ 2923 STMT_217, \ 2924 STMT_218, \ 2925 STMT_219, \ 2926 STMT_220, \ 2927 STMT_221, \ 2928 STMT_222, \ 2929 STMT_223, \ 2930 STMT_224, \ 2931 STMT_225, \ 2932 STMT_226, \ 2933 STMT_227, \ 2934 STMT_228, \ 2935 STMT_229, \ 2936 STMT_230, \ 2937 STMT_231, \ 2938 STMT_232, \ 2939 STMT_233, \ 2940 STMT_234, \ 2941 NULL \ 2942 } 2943 2944#define WC_QUERIES_SQL_DECLARE_STATEMENT_INFO(varname) \ 2945 static const char * const varname[][2] = { \ 2946 STMT_0_INFO, \ 2947 STMT_1_INFO, \ 2948 STMT_2_INFO, \ 2949 STMT_3_INFO, \ 2950 STMT_4_INFO, \ 2951 STMT_5_INFO, \ 2952 STMT_6_INFO, \ 2953 STMT_7_INFO, \ 2954 STMT_8_INFO, \ 2955 STMT_9_INFO, \ 2956 STMT_10_INFO, \ 2957 STMT_11_INFO, \ 2958 STMT_12_INFO, \ 2959 STMT_13_INFO, \ 2960 STMT_14_INFO, \ 2961 STMT_15_INFO, \ 2962 STMT_16_INFO, \ 2963 STMT_17_INFO, \ 2964 STMT_18_INFO, \ 2965 STMT_19_INFO, \ 2966 STMT_20_INFO, \ 2967 STMT_21_INFO, \ 2968 STMT_22_INFO, \ 2969 STMT_23_INFO, \ 2970 STMT_24_INFO, \ 2971 STMT_25_INFO, \ 2972 STMT_26_INFO, \ 2973 STMT_27_INFO, \ 2974 STMT_28_INFO, \ 2975 STMT_29_INFO, \ 2976 STMT_30_INFO, \ 2977 STMT_31_INFO, \ 2978 STMT_32_INFO, \ 2979 STMT_33_INFO, \ 2980 STMT_34_INFO, \ 2981 STMT_35_INFO, \ 2982 STMT_36_INFO, \ 2983 STMT_37_INFO, \ 2984 STMT_38_INFO, \ 2985 STMT_39_INFO, \ 2986 STMT_40_INFO, \ 2987 STMT_41_INFO, \ 2988 STMT_42_INFO, \ 2989 STMT_43_INFO, \ 2990 STMT_44_INFO, \ 2991 STMT_45_INFO, \ 2992 STMT_46_INFO, \ 2993 STMT_47_INFO, \ 2994 STMT_48_INFO, \ 2995 STMT_49_INFO, \ 2996 STMT_50_INFO, \ 2997 STMT_51_INFO, \ 2998 STMT_52_INFO, \ 2999 STMT_53_INFO, \ 3000 STMT_54_INFO, \ 3001 STMT_55_INFO, \ 3002 STMT_56_INFO, \ 3003 STMT_57_INFO, \ 3004 STMT_58_INFO, \ 3005 STMT_59_INFO, \ 3006 STMT_60_INFO, \ 3007 STMT_61_INFO, \ 3008 STMT_62_INFO, \ 3009 STMT_63_INFO, \ 3010 STMT_64_INFO, \ 3011 STMT_65_INFO, \ 3012 STMT_66_INFO, \ 3013 STMT_67_INFO, \ 3014 STMT_68_INFO, \ 3015 STMT_69_INFO, \ 3016 STMT_70_INFO, \ 3017 STMT_71_INFO, \ 3018 STMT_72_INFO, \ 3019 STMT_73_INFO, \ 3020 STMT_74_INFO, \ 3021 STMT_75_INFO, \ 3022 STMT_76_INFO, \ 3023 STMT_77_INFO, \ 3024 STMT_78_INFO, \ 3025 STMT_79_INFO, \ 3026 STMT_80_INFO, \ 3027 STMT_81_INFO, \ 3028 STMT_82_INFO, \ 3029 STMT_83_INFO, \ 3030 STMT_84_INFO, \ 3031 STMT_85_INFO, \ 3032 STMT_86_INFO, \ 3033 STMT_87_INFO, \ 3034 STMT_88_INFO, \ 3035 STMT_89_INFO, \ 3036 STMT_90_INFO, \ 3037 STMT_91_INFO, \ 3038 STMT_92_INFO, \ 3039 STMT_93_INFO, \ 3040 STMT_94_INFO, \ 3041 STMT_95_INFO, \ 3042 STMT_96_INFO, \ 3043 STMT_97_INFO, \ 3044 STMT_98_INFO, \ 3045 STMT_99_INFO, \ 3046 STMT_100_INFO, \ 3047 STMT_101_INFO, \ 3048 STMT_102_INFO, \ 3049 STMT_103_INFO, \ 3050 STMT_104_INFO, \ 3051 STMT_105_INFO, \ 3052 STMT_106_INFO, \ 3053 STMT_107_INFO, \ 3054 STMT_108_INFO, \ 3055 STMT_109_INFO, \ 3056 STMT_110_INFO, \ 3057 STMT_111_INFO, \ 3058 STMT_112_INFO, \ 3059 STMT_113_INFO, \ 3060 STMT_114_INFO, \ 3061 STMT_115_INFO, \ 3062 STMT_116_INFO, \ 3063 STMT_117_INFO, \ 3064 STMT_118_INFO, \ 3065 STMT_119_INFO, \ 3066 STMT_120_INFO, \ 3067 STMT_121_INFO, \ 3068 STMT_122_INFO, \ 3069 STMT_123_INFO, \ 3070 STMT_124_INFO, \ 3071 STMT_125_INFO, \ 3072 STMT_126_INFO, \ 3073 STMT_127_INFO, \ 3074 STMT_128_INFO, \ 3075 STMT_129_INFO, \ 3076 STMT_130_INFO, \ 3077 STMT_131_INFO, \ 3078 STMT_132_INFO, \ 3079 STMT_133_INFO, \ 3080 STMT_134_INFO, \ 3081 STMT_135_INFO, \ 3082 STMT_136_INFO, \ 3083 STMT_137_INFO, \ 3084 STMT_138_INFO, \ 3085 STMT_139_INFO, \ 3086 STMT_140_INFO, \ 3087 STMT_141_INFO, \ 3088 STMT_142_INFO, \ 3089 STMT_143_INFO, \ 3090 STMT_144_INFO, \ 3091 STMT_145_INFO, \ 3092 STMT_146_INFO, \ 3093 STMT_147_INFO, \ 3094 STMT_148_INFO, \ 3095 STMT_149_INFO, \ 3096 STMT_150_INFO, \ 3097 STMT_151_INFO, \ 3098 STMT_152_INFO, \ 3099 STMT_153_INFO, \ 3100 STMT_154_INFO, \ 3101 STMT_155_INFO, \ 3102 STMT_156_INFO, \ 3103 STMT_157_INFO, \ 3104 STMT_158_INFO, \ 3105 STMT_159_INFO, \ 3106 STMT_160_INFO, \ 3107 STMT_161_INFO, \ 3108 STMT_162_INFO, \ 3109 STMT_163_INFO, \ 3110 STMT_164_INFO, \ 3111 STMT_165_INFO, \ 3112 STMT_166_INFO, \ 3113 STMT_167_INFO, \ 3114 STMT_168_INFO, \ 3115 STMT_169_INFO, \ 3116 STMT_170_INFO, \ 3117 STMT_171_INFO, \ 3118 STMT_172_INFO, \ 3119 STMT_173_INFO, \ 3120 STMT_174_INFO, \ 3121 STMT_175_INFO, \ 3122 STMT_176_INFO, \ 3123 STMT_177_INFO, \ 3124 STMT_178_INFO, \ 3125 STMT_179_INFO, \ 3126 STMT_180_INFO, \ 3127 STMT_181_INFO, \ 3128 STMT_182_INFO, \ 3129 STMT_183_INFO, \ 3130 STMT_184_INFO, \ 3131 STMT_185_INFO, \ 3132 STMT_186_INFO, \ 3133 STMT_187_INFO, \ 3134 STMT_188_INFO, \ 3135 STMT_189_INFO, \ 3136 STMT_190_INFO, \ 3137 STMT_191_INFO, \ 3138 STMT_192_INFO, \ 3139 STMT_193_INFO, \ 3140 STMT_194_INFO, \ 3141 STMT_195_INFO, \ 3142 STMT_196_INFO, \ 3143 STMT_197_INFO, \ 3144 STMT_198_INFO, \ 3145 STMT_199_INFO, \ 3146 STMT_200_INFO, \ 3147 STMT_201_INFO, \ 3148 STMT_202_INFO, \ 3149 STMT_203_INFO, \ 3150 STMT_204_INFO, \ 3151 STMT_205_INFO, \ 3152 STMT_206_INFO, \ 3153 STMT_207_INFO, \ 3154 STMT_208_INFO, \ 3155 STMT_209_INFO, \ 3156 STMT_210_INFO, \ 3157 STMT_211_INFO, \ 3158 STMT_212_INFO, \ 3159 STMT_213_INFO, \ 3160 STMT_214_INFO, \ 3161 STMT_215_INFO, \ 3162 STMT_216_INFO, \ 3163 STMT_217_INFO, \ 3164 STMT_218_INFO, \ 3165 STMT_219_INFO, \ 3166 STMT_220_INFO, \ 3167 STMT_221_INFO, \ 3168 STMT_222_INFO, \ 3169 STMT_223_INFO, \ 3170 STMT_224_INFO, \ 3171 STMT_225_INFO, \ 3172 STMT_226_INFO, \ 3173 STMT_227_INFO, \ 3174 STMT_228_INFO, \ 3175 STMT_229_INFO, \ 3176 STMT_230_INFO, \ 3177 STMT_231_INFO, \ 3178 STMT_232_INFO, \ 3179 STMT_233_INFO, \ 3180 STMT_234_INFO, \ 3181 {NULL, NULL} \ 3182 } 3183