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 */
4 #define STMT_SELECT_NODE_INFO 0
5 #define STMT_0_INFO {"STMT_SELECT_NODE_INFO", NULL}
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, " \
12 "WHERE wc_id = ?1 AND local_relpath = ?2 " \
13 "ORDER BY op_depth DESC " \
16 #define STMT_SELECT_NODE_INFO_WITH_LOCK 1
17 #define STMT_1_INFO {"STMT_SELECT_NODE_INFO_WITH_LOCK", NULL}
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 " \
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 " \
31 #define STMT_SELECT_BASE_NODE 2
32 #define STMT_2_INFO {"STMT_SELECT_BASE_NODE", NULL}
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 " \
38 "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \
41 #define STMT_SELECT_BASE_NODE_WITH_LOCK 3
42 #define STMT_3_INFO {"STMT_SELECT_BASE_NODE_WITH_LOCK", NULL}
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 " \
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 " \
54 #define STMT_SELECT_BASE_CHILDREN_INFO 4
55 #define STMT_4_INFO {"STMT_SELECT_BASE_CHILDREN_INFO", NULL}
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 " \
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 " \
66 #define STMT_SELECT_WORKING_NODE 5
67 #define STMT_5_INFO {"STMT_SELECT_WORKING_NODE", NULL}
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 " \
74 "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth > 0 " \
75 "ORDER BY op_depth DESC " \
79 #define STMT_SELECT_DEPTH_NODE 6
80 #define STMT_6_INFO {"STMT_SELECT_DEPTH_NODE", NULL}
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 " \
86 "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = ?3 " \
89 #define STMT_SELECT_LOWEST_WORKING_NODE 7
90 #define STMT_7_INFO {"STMT_SELECT_LOWEST_WORKING_NODE", NULL}
92 "SELECT op_depth, presence, kind, moved_to " \
94 "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth > ?3 " \
95 "ORDER BY op_depth " \
99 #define STMT_SELECT_HIGHEST_WORKING_NODE 8
100 #define STMT_8_INFO {"STMT_SELECT_HIGHEST_WORKING_NODE", NULL}
104 "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth < ?3 " \
105 "ORDER BY op_depth DESC " \
109 #define STMT_SELECT_ACTUAL_NODE 9
110 #define STMT_9_INFO {"STMT_SELECT_ACTUAL_NODE", NULL}
112 "SELECT changelist, properties, conflict_data " \
113 "FROM actual_node " \
114 "WHERE wc_id = ?1 AND local_relpath = ?2 " \
117 #define STMT_SELECT_NODE_CHILDREN_INFO 10
118 #define STMT_10_INFO {"STMT_SELECT_NODE_CHILDREN_INFO", NULL}
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 " \
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 " \
130 #define STMT_SELECT_NODE_CHILDREN_WALKER_INFO 11
131 #define STMT_11_INFO {"STMT_SELECT_NODE_CHILDREN_WALKER_INFO", NULL}
133 "SELECT local_relpath, op_depth, presence, kind " \
134 "FROM nodes_current " \
135 "WHERE wc_id = ?1 AND parent_relpath = ?2 " \
138 #define STMT_SELECT_ACTUAL_CHILDREN_INFO 12
139 #define STMT_12_INFO {"STMT_SELECT_ACTUAL_CHILDREN_INFO", NULL}
141 "SELECT local_relpath, changelist, properties, conflict_data " \
142 "FROM actual_node " \
143 "WHERE wc_id = ?1 AND parent_relpath = ?2 " \
146 #define STMT_SELECT_REPOSITORY_BY_ID 13
147 #define STMT_13_INFO {"STMT_SELECT_REPOSITORY_BY_ID", NULL}
149 "SELECT root, uuid FROM repository WHERE id = ?1 " \
152 #define STMT_SELECT_WCROOT_NULL 14
153 #define STMT_14_INFO {"STMT_SELECT_WCROOT_NULL", NULL}
155 "SELECT id FROM wcroot WHERE local_abspath IS NULL " \
158 #define STMT_SELECT_REPOSITORY 15
159 #define STMT_15_INFO {"STMT_SELECT_REPOSITORY", NULL}
161 "SELECT id FROM repository WHERE root = ?1 " \
164 #define STMT_INSERT_REPOSITORY 16
165 #define STMT_16_INFO {"STMT_INSERT_REPOSITORY", NULL}
167 "INSERT INTO repository (root, uuid) VALUES (?1, ?2) " \
170 #define STMT_INSERT_NODE 17
171 #define STMT_17_INFO {"STMT_INSERT_NODE", NULL}
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) " \
183 #define STMT_SELECT_BASE_PRESENT 18
184 #define STMT_18_INFO {"STMT_SELECT_BASE_PRESENT", NULL}
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 " \
196 #define STMT_SELECT_WORKING_PRESENT 19
197 #define STMT_19_INFO {"STMT_SELECT_WORKING_PRESENT", NULL}
199 "SELECT local_relpath, kind, checksum, translated_size, last_mod_time " \
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) " \
206 " WHERE w.wc_id = ?1 " \
207 " AND w.local_relpath = n.local_relpath) " \
208 "ORDER BY local_relpath DESC " \
211 #define STMT_DELETE_NODE_RECURSIVE 20
212 #define STMT_20_INFO {"STMT_DELETE_NODE_RECURSIVE", NULL}
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)) " \
219 #define STMT_DELETE_NODE 21
220 #define STMT_21_INFO {"STMT_DELETE_NODE", NULL}
224 "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = ?3 " \
227 #define STMT_DELETE_ACTUAL_FOR_BASE_RECURSIVE 22
228 #define STMT_22_INFO {"STMT_DELETE_ACTUAL_FOR_BASE_RECURSIVE", NULL}
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')) " \
243 #define STMT_DELETE_WORKING_BASE_DELETE 23
244 #define STMT_23_INFO {"STMT_DELETE_WORKING_BASE_DELETE", NULL}
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) " \
256 #define STMT_DELETE_WORKING_RECURSIVE 24
257 #define STMT_24_INFO {"STMT_DELETE_WORKING_RECURSIVE", NULL}
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 " \
264 #define STMT_DELETE_BASE_RECURSIVE 25
265 #define STMT_25_INFO {"STMT_DELETE_BASE_RECURSIVE", NULL}
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 " \
272 #define STMT_DELETE_WORKING_OP_DEPTH 26
273 #define STMT_26_INFO {"STMT_DELETE_WORKING_OP_DEPTH", NULL}
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 " \
281 #define STMT_DELETE_WORKING_OP_DEPTH_ABOVE 27
282 #define STMT_27_INFO {"STMT_DELETE_WORKING_OP_DEPTH_ABOVE", NULL}
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 " \
290 #define STMT_SELECT_LOCAL_RELPATH_OP_DEPTH 28
291 #define STMT_28_INFO {"STMT_SELECT_LOCAL_RELPATH_OP_DEPTH", NULL}
293 "SELECT local_relpath " \
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 " \
300 #define STMT_SELECT_CHILDREN_OP_DEPTH 29
301 #define STMT_29_INFO {"STMT_SELECT_CHILDREN_OP_DEPTH", NULL}
303 "SELECT local_relpath, kind " \
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 " \
311 #define STMT_COPY_NODE_MOVE 30
312 #define STMT_30_INFO {"STMT_COPY_NODE_MOVE", NULL}
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 ) " \
320 " wc_id, ?4 , ?5 , ?6 , " \
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) " \
330 "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = ?3 " \
333 #define STMT_SELECT_OP_DEPTH_CHILDREN 31
334 #define STMT_31_INFO {"STMT_SELECT_OP_DEPTH_CHILDREN", NULL}
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 " \
344 #define STMT_SELECT_GE_OP_DEPTH_CHILDREN 32
345 #define STMT_32_INFO {"STMT_SELECT_GE_OP_DEPTH_CHILDREN", NULL}
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')) " \
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) " \
357 #define STMT_DELETE_SHADOWED_RECURSIVE 33
358 #define STMT_33_INFO {"STMT_DELETE_SHADOWED_RECURSIVE", NULL}
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')) " \
367 #define STMT_CLEAR_MOVED_TO_FROM_DEST 34
368 #define STMT_34_INFO {"STMT_CLEAR_MOVED_TO_FROM_DEST", NULL}
370 "UPDATE NODES SET moved_to = NULL " \
371 "WHERE wc_id = ?1 " \
372 " AND moved_to = ?2 " \
375 #define STMT_SELECT_NOT_PRESENT_DESCENDANTS 35
376 #define STMT_35_INFO {"STMT_SELECT_NOT_PRESENT_DESCENDANTS", NULL}
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' " \
384 #define STMT_COMMIT_DESCENDANTS_TO_BASE 36
385 #define STMT_36_INFO {"STMT_COMMIT_DESCENDANTS_TO_BASE", NULL}
387 "UPDATE NODES SET op_depth = 0, " \
389 " repos_path = ?5 || SUBSTR(local_relpath, LENGTH(?2)+1), " \
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' " \
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 " \
403 #define STMT_SELECT_NODE_CHILDREN 37
404 #define STMT_37_INFO {"STMT_SELECT_NODE_CHILDREN", NULL}
406 "SELECT local_relpath FROM nodes " \
407 "WHERE wc_id = ?1 AND parent_relpath = ?2 " \
410 #define STMT_SELECT_WORKING_CHILDREN 38
411 #define STMT_38_INFO {"STMT_SELECT_WORKING_CHILDREN", NULL}
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) " \
418 " (op_depth = (SELECT MAX(op_depth) FROM nodes " \
419 " WHERE wc_id = ?1 AND local_relpath = ?2) " \
420 " AND presence != 'base-deleted')) " \
423 #define STMT_SELECT_NODE_PROPS 39
424 #define STMT_39_INFO {"STMT_SELECT_NODE_PROPS", NULL}
426 "SELECT properties, presence FROM nodes " \
427 "WHERE wc_id = ?1 AND local_relpath = ?2 " \
428 "ORDER BY op_depth DESC " \
431 #define STMT_SELECT_ACTUAL_PROPS 40
432 #define STMT_40_INFO {"STMT_SELECT_ACTUAL_PROPS", NULL}
434 "SELECT properties FROM actual_node " \
435 "WHERE wc_id = ?1 AND local_relpath = ?2 " \
438 #define STMT_UPDATE_ACTUAL_PROPS 41
439 #define STMT_41_INFO {"STMT_UPDATE_ACTUAL_PROPS", NULL}
441 "UPDATE actual_node SET properties = ?3 " \
442 "WHERE wc_id = ?1 AND local_relpath = ?2 " \
445 #define STMT_INSERT_ACTUAL_PROPS 42
446 #define STMT_42_INFO {"STMT_INSERT_ACTUAL_PROPS", NULL}
448 "INSERT INTO actual_node (wc_id, local_relpath, parent_relpath, properties) " \
449 "VALUES (?1, ?2, ?3, ?4) " \
452 #define STMT_INSERT_LOCK 43
453 #define STMT_43_INFO {"STMT_INSERT_LOCK", NULL}
455 "INSERT OR REPLACE INTO lock " \
456 "(repos_id, repos_relpath, lock_token, lock_owner, lock_comment, " \
458 "VALUES (?1, ?2, ?3, ?4, ?5, ?6) " \
461 #define STMT_SELECT_BASE_NODE_LOCK_TOKENS_RECURSIVE 44
462 #define STMT_44_INFO {"STMT_SELECT_BASE_NODE_LOCK_TOKENS_RECURSIVE", NULL}
464 "SELECT nodes.repos_id, nodes.repos_path, lock_token " \
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)) " \
472 #define STMT_INSERT_WCROOT 45
473 #define STMT_45_INFO {"STMT_INSERT_WCROOT", NULL}
475 "INSERT INTO wcroot (local_abspath) " \
479 #define STMT_UPDATE_BASE_NODE_DAV_CACHE 46
480 #define STMT_46_INFO {"STMT_UPDATE_BASE_NODE_DAV_CACHE", NULL}
482 "UPDATE nodes SET dav_cache = ?3 " \
483 "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \
486 #define STMT_SELECT_BASE_DAV_CACHE 47
487 #define STMT_47_INFO {"STMT_SELECT_BASE_DAV_CACHE", NULL}
489 "SELECT dav_cache FROM nodes " \
490 "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \
493 #define STMT_SELECT_DELETION_INFO 48
494 #define STMT_48_INFO {"STMT_SELECT_DELETION_INFO", NULL}
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 " \
504 #define STMT_SELECT_DELETION_INFO_SCAN 49
505 #define STMT_49_INFO {"STMT_SELECT_DELETION_INFO_SCAN", NULL}
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 " \
519 #define STMT_SELECT_MOVED_TO_NODE 50
520 #define STMT_50_INFO {"STMT_SELECT_MOVED_TO_NODE", NULL}
522 "SELECT op_depth, moved_to " \
524 "WHERE wc_id = ?1 AND local_relpath = ?2 AND moved_to IS NOT NULL " \
525 "ORDER BY op_depth DESC " \
528 #define STMT_SELECT_OP_DEPTH_MOVED_TO 51
529 #define STMT_51_INFO {"STMT_SELECT_OP_DEPTH_MOVED_TO", NULL}
531 "SELECT op_depth, moved_to, repos_path, revision " \
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 " \
539 #define STMT_SELECT_MOVED_TO 52
540 #define STMT_52_INFO {"STMT_SELECT_MOVED_TO", NULL}
544 "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = ?3 " \
547 #define STMT_SELECT_MOVED_HERE 53
548 #define STMT_53_INFO {"STMT_SELECT_MOVED_HERE", NULL}
550 "SELECT moved_here, presence, repos_path, revision " \
552 "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth >= ?3 " \
553 "ORDER BY op_depth " \
556 #define STMT_SELECT_MOVED_BACK 54
557 #define STMT_54_INFO {"STMT_SELECT_MOVED_BACK", NULL}
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 " \
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 " \
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 " \
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 " \
584 #define STMT_DELETE_MOVED_BACK 55
585 #define STMT_55_INFO {"STMT_DELETE_MOVED_BACK", NULL}
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 " \
594 #define STMT_DELETE_LOCK 56
595 #define STMT_56_INFO {"STMT_DELETE_LOCK", NULL}
597 "DELETE FROM lock " \
598 "WHERE repos_id = ?1 AND repos_relpath = ?2 " \
601 #define STMT_DELETE_LOCK_RECURSIVELY 57
602 #define STMT_57_INFO {"STMT_DELETE_LOCK_RECURSIVELY", NULL}
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))) " \
608 #define STMT_CLEAR_BASE_NODE_RECURSIVE_DAV_CACHE 58
609 #define STMT_58_INFO {"STMT_CLEAR_BASE_NODE_RECURSIVE_DAV_CACHE", NULL}
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))) " \
617 #define STMT_RECURSIVE_UPDATE_NODE_REPO 59
618 #define STMT_59_INFO {"STMT_RECURSIVE_UPDATE_NODE_REPO", NULL}
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) " \
626 #define STMT_UPDATE_LOCK_REPOS_ID 60
627 #define STMT_60_INFO {"STMT_UPDATE_LOCK_REPOS_ID", NULL}
629 "UPDATE lock SET repos_id = ?2 " \
630 "WHERE repos_id = ?1 " \
633 #define STMT_UPDATE_NODE_FILEINFO 61
634 #define STMT_61_INFO {"STMT_UPDATE_NODE_FILEINFO", NULL}
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) " \
642 #define STMT_INSERT_ACTUAL_CONFLICT 62
643 #define STMT_62_INFO {"STMT_INSERT_ACTUAL_CONFLICT", NULL}
645 "INSERT INTO actual_node (wc_id, local_relpath, conflict_data, parent_relpath) " \
646 "VALUES (?1, ?2, ?3, ?4) " \
649 #define STMT_UPDATE_ACTUAL_CONFLICT 63
650 #define STMT_63_INFO {"STMT_UPDATE_ACTUAL_CONFLICT", NULL}
652 "UPDATE actual_node SET conflict_data = ?3 " \
653 "WHERE wc_id = ?1 AND local_relpath = ?2 " \
656 #define STMT_UPDATE_ACTUAL_CHANGELISTS 64
657 #define STMT_64_INFO {"STMT_UPDATE_ACTUAL_CHANGELISTS", NULL}
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') " \
668 #define STMT_UPDATE_ACTUAL_CLEAR_CHANGELIST 65
669 #define STMT_65_INFO {"STMT_UPDATE_ACTUAL_CLEAR_CHANGELIST", NULL}
671 "UPDATE actual_node SET changelist = NULL " \
672 " WHERE wc_id = ?1 AND local_relpath = ?2 " \
675 #define STMT_MARK_SKIPPED_CHANGELIST_DIRS 66
676 #define STMT_66_INFO {"STMT_MARK_SKIPPED_CHANGELIST_DIRS", NULL}
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' " \
686 #define STMT_RESET_ACTUAL_WITH_CHANGELIST 67
687 #define STMT_67_INFO {"STMT_RESET_ACTUAL_WITH_CHANGELIST", NULL}
689 "REPLACE INTO actual_node ( " \
690 " wc_id, local_relpath, parent_relpath, changelist) " \
691 "VALUES (?1, ?2, ?3, ?4) " \
694 #define STMT_CREATE_CHANGELIST_LIST 68
695 #define STMT_68_INFO {"STMT_CREATE_CHANGELIST_LIST", NULL}
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) " \
707 #define STMT_CREATE_CHANGELIST_TRIGGER 69
708 #define STMT_69_INFO {"STMT_CREATE_CHANGELIST_TRIGGER", NULL}
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 " \
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; " \
724 #define STMT_FINALIZE_CHANGELIST 70
725 #define STMT_70_INFO {"STMT_FINALIZE_CHANGELIST", NULL}
727 "DROP TRIGGER trigger_changelist_list_change; " \
728 "DROP TABLE changelist_list; " \
729 "DROP TABLE targets_list " \
732 #define STMT_SELECT_CHANGELIST_LIST 71
733 #define STMT_71_INFO {"STMT_SELECT_CHANGELIST_LIST", NULL}
735 "SELECT wc_id, local_relpath, notify, changelist " \
736 "FROM changelist_list " \
737 "ORDER BY wc_id, local_relpath ASC, notify DESC " \
740 #define STMT_CREATE_TARGETS_LIST 72
741 #define STMT_72_INFO {"STMT_CREATE_TARGETS_LIST", NULL}
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) " \
753 #define STMT_DROP_TARGETS_LIST 73
754 #define STMT_73_INFO {"STMT_DROP_TARGETS_LIST", NULL}
756 "DROP TABLE targets_list " \
759 #define STMT_INSERT_TARGET 74
760 #define STMT_74_INFO {"STMT_INSERT_TARGET", NULL}
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 " \
769 #define STMT_INSERT_TARGET_DEPTH_FILES 75
770 #define STMT_75_INFO {"STMT_INSERT_TARGET_DEPTH_FILES", NULL}
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' " \
780 #define STMT_INSERT_TARGET_DEPTH_IMMEDIATES 76
781 #define STMT_76_INFO {"STMT_INSERT_TARGET_DEPTH_IMMEDIATES", NULL}
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 " \
790 #define STMT_INSERT_TARGET_DEPTH_INFINITY 77
791 #define STMT_77_INFO {"STMT_INSERT_TARGET_DEPTH_INFINITY", NULL}
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)) " \
800 #define STMT_INSERT_TARGET_WITH_CHANGELIST 78
801 #define STMT_78_INFO {"STMT_INSERT_TARGET_WITH_CHANGELIST", NULL}
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 " \
812 #define STMT_INSERT_TARGET_WITH_CHANGELIST_DEPTH_FILES 79
813 #define STMT_79_INFO {"STMT_INSERT_TARGET_WITH_CHANGELIST_DEPTH_FILES", NULL}
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 " \
825 #define STMT_INSERT_TARGET_WITH_CHANGELIST_DEPTH_IMMEDIATES 80
826 #define STMT_80_INFO {"STMT_INSERT_TARGET_WITH_CHANGELIST_DEPTH_IMMEDIATES", NULL}
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 " \
837 #define STMT_INSERT_TARGET_WITH_CHANGELIST_DEPTH_INFINITY 81
838 #define STMT_81_INFO {"STMT_INSERT_TARGET_WITH_CHANGELIST_DEPTH_INFINITY", NULL}
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 " \
849 #define STMT_INSERT_ACTUAL_EMPTIES 82
850 #define STMT_82_INFO {"STMT_INSERT_ACTUAL_EMPTIES", NULL}
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 " \
858 #define STMT_DELETE_ACTUAL_EMPTY 83
859 #define STMT_83_INFO {"STMT_DELETE_ACTUAL_EMPTY", NULL}
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 " \
872 #define STMT_DELETE_ACTUAL_EMPTIES 84
873 #define STMT_84_INFO {"STMT_DELETE_ACTUAL_EMPTIES", NULL}
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 " \
887 #define STMT_DELETE_BASE_NODE 85
888 #define STMT_85_INFO {"STMT_DELETE_BASE_NODE", NULL}
890 "DELETE FROM nodes " \
891 "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \
894 #define STMT_DELETE_WORKING_NODE 86
895 #define STMT_86_INFO {"STMT_DELETE_WORKING_NODE", NULL}
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) " \
903 #define STMT_DELETE_LOWEST_WORKING_NODE 87
904 #define STMT_87_INFO {"STMT_DELETE_LOWEST_WORKING_NODE", NULL}
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' " \
913 #define STMT_DELETE_NODE_ALL_LAYERS 88
914 #define STMT_88_INFO {"STMT_DELETE_NODE_ALL_LAYERS", NULL}
916 "DELETE FROM nodes " \
917 "WHERE wc_id = ?1 AND local_relpath = ?2 " \
920 #define STMT_DELETE_NODES_ABOVE_DEPTH_RECURSIVE 89
921 #define STMT_89_INFO {"STMT_DELETE_NODES_ABOVE_DEPTH_RECURSIVE", NULL}
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 " \
930 #define STMT_DELETE_ACTUAL_NODE 90
931 #define STMT_90_INFO {"STMT_DELETE_ACTUAL_NODE", NULL}
933 "DELETE FROM actual_node " \
934 "WHERE wc_id = ?1 AND local_relpath = ?2 " \
937 #define STMT_DELETE_ACTUAL_NODE_RECURSIVE 91
938 #define STMT_91_INFO {"STMT_DELETE_ACTUAL_NODE_RECURSIVE", NULL}
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))) " \
946 #define STMT_DELETE_ACTUAL_NODE_LEAVING_CHANGELIST 92
947 #define STMT_92_INFO {"STMT_DELETE_ACTUAL_NODE_LEAVING_CHANGELIST", NULL}
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')) " \
958 #define STMT_DELETE_ACTUAL_NODE_LEAVING_CHANGELIST_RECURSIVE 93
959 #define STMT_93_INFO {"STMT_DELETE_ACTUAL_NODE_LEAVING_CHANGELIST_RECURSIVE", NULL}
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')) " \
972 #define STMT_CLEAR_ACTUAL_NODE_LEAVING_CHANGELIST 94
973 #define STMT_94_INFO {"STMT_CLEAR_ACTUAL_NODE_LEAVING_CHANGELIST", NULL}
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 " \
986 #define STMT_CLEAR_ACTUAL_NODE_LEAVING_CHANGELIST_RECURSIVE 95
987 #define STMT_95_INFO {"STMT_CLEAR_ACTUAL_NODE_LEAVING_CHANGELIST_RECURSIVE", NULL}
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))) " \
1002 #define STMT_UPDATE_NODE_BASE_DEPTH 96
1003 #define STMT_96_INFO {"STMT_UPDATE_NODE_BASE_DEPTH", NULL}
1005 "UPDATE nodes SET depth = ?3 " \
1006 "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \
1007 " AND kind='dir' " \
1010 #define STMT_UPDATE_NODE_BASE_PRESENCE 97
1011 #define STMT_97_INFO {"STMT_UPDATE_NODE_BASE_PRESENCE", NULL}
1013 "UPDATE nodes SET presence = ?3 " \
1014 "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \
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}
1020 "UPDATE nodes SET presence = ?3, revision = ?4, repos_path = ?5 " \
1021 "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \
1024 #define STMT_LOOK_FOR_WORK 99
1025 #define STMT_99_INFO {"STMT_LOOK_FOR_WORK", NULL}
1027 "SELECT id FROM work_queue LIMIT 1 " \
1030 #define STMT_INSERT_WORK_ITEM 100
1031 #define STMT_100_INFO {"STMT_INSERT_WORK_ITEM", NULL}
1033 "INSERT INTO work_queue (work) VALUES (?1) " \
1036 #define STMT_SELECT_WORK_ITEM 101
1037 #define STMT_101_INFO {"STMT_SELECT_WORK_ITEM", NULL}
1039 "SELECT id, work FROM work_queue ORDER BY id LIMIT 1 " \
1042 #define STMT_DELETE_WORK_ITEM 102
1043 #define STMT_102_INFO {"STMT_DELETE_WORK_ITEM", NULL}
1045 "DELETE FROM work_queue WHERE id = ?1 " \
1048 #define STMT_INSERT_OR_IGNORE_PRISTINE 103
1049 #define STMT_103_INFO {"STMT_INSERT_OR_IGNORE_PRISTINE", NULL}
1051 "INSERT OR IGNORE INTO pristine (checksum, md5_checksum, size, refcount) " \
1052 "VALUES (?1, ?2, ?3, 0) " \
1055 #define STMT_INSERT_PRISTINE 104
1056 #define STMT_104_INFO {"STMT_INSERT_PRISTINE", NULL}
1058 "INSERT INTO pristine (checksum, md5_checksum, size, refcount) " \
1059 "VALUES (?1, ?2, ?3, 0) " \
1062 #define STMT_SELECT_PRISTINE 105
1063 #define STMT_105_INFO {"STMT_SELECT_PRISTINE", NULL}
1065 "SELECT md5_checksum " \
1067 "WHERE checksum = ?1 " \
1070 #define STMT_SELECT_PRISTINE_SIZE 106
1071 #define STMT_106_INFO {"STMT_SELECT_PRISTINE_SIZE", NULL}
1075 "WHERE checksum = ?1 LIMIT 1 " \
1078 #define STMT_SELECT_PRISTINE_BY_MD5 107
1079 #define STMT_107_INFO {"STMT_SELECT_PRISTINE_BY_MD5", NULL}
1081 "SELECT checksum " \
1083 "WHERE md5_checksum = ?1 " \
1086 #define STMT_SELECT_UNREFERENCED_PRISTINES 108
1087 #define STMT_108_INFO {"STMT_SELECT_UNREFERENCED_PRISTINES", NULL}
1089 "SELECT checksum " \
1091 "WHERE refcount = 0 " \
1094 #define STMT_DELETE_PRISTINE_IF_UNREFERENCED 109
1095 #define STMT_109_INFO {"STMT_DELETE_PRISTINE_IF_UNREFERENCED", NULL}
1097 "DELETE FROM pristine " \
1098 "WHERE checksum = ?1 AND refcount = 0 " \
1101 #define STMT_SELECT_COPY_PRISTINES 110
1102 #define STMT_110_INFO {"STMT_SELECT_COPY_PRISTINES", NULL}
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 " \
1111 "SELECT n.checksum, md5_checksum, size " \
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 " \
1121 #define STMT_VACUUM 111
1122 #define STMT_111_INFO {"STMT_VACUUM", NULL}
1127 #define STMT_SELECT_CONFLICT_VICTIMS 112
1128 #define STMT_112_INFO {"STMT_SELECT_CONFLICT_VICTIMS", NULL}
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) " \
1136 #define STMT_INSERT_WC_LOCK 113
1137 #define STMT_113_INFO {"STMT_INSERT_WC_LOCK", NULL}
1139 "INSERT INTO wc_lock (wc_id, local_dir_relpath, locked_levels) " \
1140 "VALUES (?1, ?2, ?3) " \
1143 #define STMT_SELECT_WC_LOCK 114
1144 #define STMT_114_INFO {"STMT_SELECT_WC_LOCK", NULL}
1146 "SELECT locked_levels FROM wc_lock " \
1147 "WHERE wc_id = ?1 AND local_dir_relpath = ?2 " \
1150 #define STMT_SELECT_ANCESTOR_WCLOCKS 115
1151 #define STMT_115_INFO {"STMT_SELECT_ANCESTOR_WCLOCKS", NULL}
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 = '') " \
1159 #define STMT_DELETE_WC_LOCK 116
1160 #define STMT_116_INFO {"STMT_DELETE_WC_LOCK", NULL}
1162 "DELETE FROM wc_lock " \
1163 "WHERE wc_id = ?1 AND local_dir_relpath = ?2 " \
1166 #define STMT_FIND_WC_LOCK 117
1167 #define STMT_117_INFO {"STMT_FIND_WC_LOCK", NULL}
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)) " \
1174 #define STMT_DELETE_WC_LOCK_ORPHAN 118
1175 #define STMT_118_INFO {"STMT_DELETE_WC_LOCK_ORPHAN", NULL}
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) " \
1184 #define STMT_DELETE_WC_LOCK_ORPHAN_RECURSIVE 119
1185 #define STMT_119_INFO {"STMT_DELETE_WC_LOCK_ORPHAN_RECURSIVE", NULL}
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) " \
1196 #define STMT_APPLY_CHANGES_TO_BASE_NODE 120
1197 #define STMT_120_INFO {"STMT_APPLY_CHANGES_TO_BASE_NODE", NULL}
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)) " \
1212 #define STMT_INSTALL_WORKING_NODE_FOR_DELETE 121
1213 #define STMT_121_INFO {"STMT_INSTALL_WORKING_NODE_FOR_DELETE", NULL}
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) " \
1221 #define STMT_DELETE_NO_LOWER_LAYER 122
1222 #define STMT_122_INFO {"STMT_DELETE_NO_LOWER_LAYER", NULL}
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')) " \
1235 #define STMT_REPLACE_WITH_BASE_DELETED 123
1236 #define STMT_123_INFO {"STMT_REPLACE_WITH_BASE_DELETED", NULL}
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' " \
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 " \
1248 #define STMT_INSERT_DELETE_FROM_NODE_RECURSIVE 124
1249 #define STMT_124_INFO {"STMT_INSERT_DELETE_FROM_NODE_RECURSIVE", NULL}
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', " \
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 " \
1264 #define STMT_INSERT_WORKING_NODE_FROM_BASE_COPY 125
1265 #define STMT_125_INFO {"STMT_INSERT_WORKING_NODE_FROM_BASE_COPY", NULL}
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 " \
1277 "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \
1280 #define STMT_INSERT_DELETE_FROM_BASE 126
1281 #define STMT_126_INFO {"STMT_INSERT_DELETE_FROM_BASE", NULL}
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 " \
1288 "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \
1291 #define STMT_UPDATE_OP_DEPTH_INCREASE_RECURSIVE 127
1292 #define STMT_127_INFO {"STMT_UPDATE_OP_DEPTH_INCREASE_RECURSIVE", NULL}
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 " \
1300 #define STMT_UPDATE_OP_DEPTH_RECURSIVE 128
1301 #define STMT_128_INFO {"STMT_UPDATE_OP_DEPTH_RECURSIVE", NULL}
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 " \
1309 #define STMT_DOES_NODE_EXIST 129
1310 #define STMT_129_INFO {"STMT_DOES_NODE_EXIST", NULL}
1312 "SELECT 1 FROM nodes WHERE wc_id = ?1 AND local_relpath = ?2 " \
1316 #define STMT_HAS_SERVER_EXCLUDED_DESCENDANTS 130
1317 #define STMT_130_INFO {"STMT_HAS_SERVER_EXCLUDED_DESCENDANTS", NULL}
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' " \
1326 #define STMT_SELECT_ALL_EXCLUDED_DESCENDANTS 131
1327 #define STMT_131_INFO {"STMT_SELECT_ALL_EXCLUDED_DESCENDANTS", NULL}
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') " \
1336 #define STMT_INSERT_WORKING_NODE_COPY_FROM 132
1337 #define STMT_132_INFO {"STMT_INSERT_WORKING_NODE_COPY_FROM", NULL}
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 " \
1357 #define STMT_INSERT_WORKING_NODE_COPY_FROM_DEPTH 133
1358 #define STMT_133_INFO {"STMT_INSERT_WORKING_NODE_COPY_FROM_DEPTH", NULL}
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) " \
1375 "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = ?7 " \
1378 #define STMT_UPDATE_BASE_REVISION 134
1379 #define STMT_134_INFO {"STMT_UPDATE_BASE_REVISION", NULL}
1381 "UPDATE nodes SET revision = ?3 " \
1382 "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \
1385 #define STMT_UPDATE_BASE_REPOS 135
1386 #define STMT_135_INFO {"STMT_UPDATE_BASE_REPOS", NULL}
1388 "UPDATE nodes SET repos_id = ?3, repos_path = ?4 " \
1389 "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \
1392 #define STMT_ACTUAL_HAS_CHILDREN 136
1393 #define STMT_136_INFO {"STMT_ACTUAL_HAS_CHILDREN", NULL}
1395 "SELECT 1 FROM actual_node " \
1396 "WHERE wc_id = ?1 AND parent_relpath = ?2 " \
1400 #define STMT_INSERT_EXTERNAL 137
1401 #define STMT_137_INFO {"STMT_INSERT_EXTERNAL", NULL}
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) " \
1409 #define STMT_SELECT_EXTERNAL_INFO 138
1410 #define STMT_138_INFO {"STMT_SELECT_EXTERNAL_INFO", NULL}
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 " \
1418 #define STMT_DELETE_FILE_EXTERNALS 139
1419 #define STMT_139_INFO {"STMT_DELETE_FILE_EXTERNALS", NULL}
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 " \
1428 #define STMT_DELETE_FILE_EXTERNAL_REGISTATIONS 140
1429 #define STMT_140_INFO {"STMT_DELETE_FILE_EXTERNAL_REGISTATIONS", NULL}
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' " \
1437 #define STMT_DELETE_EXTERNAL_REGISTATIONS 141
1438 #define STMT_141_INFO {"STMT_DELETE_EXTERNAL_REGISTATIONS", NULL}
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)) " \
1445 #define STMT_SELECT_COMMITTABLE_EXTERNALS_BELOW 142
1446 #define STMT_142_INFO {"STMT_SELECT_COMMITTABLE_EXTERNALS_BELOW", NULL}
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)) " \
1465 #define STMT_SELECT_COMMITTABLE_EXTERNALS_IMMEDIATELY_BELOW 143
1466 #define STMT_143_INFO {"STMT_SELECT_COMMITTABLE_EXTERNALS_IMMEDIATELY_BELOW", NULL}
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)) " \
1486 #define STMT_SELECT_EXTERNALS_DEFINED 144
1487 #define STMT_144_INFO {"STMT_SELECT_EXTERNALS_DEFINED", NULL}
1489 "SELECT local_relpath, def_local_relpath " \
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))) " \
1495 #define STMT_DELETE_EXTERNAL 145
1496 #define STMT_145_INFO {"STMT_DELETE_EXTERNAL", NULL}
1498 "DELETE FROM externals " \
1499 "WHERE wc_id = ?1 AND local_relpath = ?2 " \
1502 #define STMT_SELECT_EXTERNAL_PROPERTIES 146
1503 #define STMT_146_INFO {"STMT_SELECT_EXTERNAL_PROPERTIES", NULL}
1505 "SELECT IFNULL((SELECT properties FROM actual_node a " \
1506 " WHERE a.wc_id = ?1 AND A.local_relpath = n.local_relpath), " \
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') " \
1513 "SELECT IFNULL((SELECT properties FROM actual_node a " \
1514 " WHERE a.wc_id = ?1 AND A.local_relpath = n.local_relpath), " \
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') " \
1522 #define STMT_SELECT_CURRENT_PROPS_RECURSIVE 147
1523 #define STMT_147_INFO {"STMT_SELECT_CURRENT_PROPS_RECURSIVE", NULL}
1525 "SELECT IFNULL((SELECT properties FROM actual_node a " \
1526 " WHERE a.wc_id = ?1 AND A.local_relpath = n.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))) " \
1534 #define STMT_PRAGMA_LOCKING_MODE 148
1535 #define STMT_148_INFO {"STMT_PRAGMA_LOCKING_MODE", NULL}
1537 "PRAGMA locking_mode = exclusive " \
1540 #define STMT_INSERT_ACTUAL_NODE 149
1541 #define STMT_149_INFO {"STMT_INSERT_ACTUAL_NODE", NULL}
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) " \
1548 #define STMT_UPDATE_ACTUAL_CONFLICT_DATA 150
1549 #define STMT_150_INFO {"STMT_UPDATE_ACTUAL_CONFLICT_DATA", NULL}
1551 "UPDATE actual_node SET conflict_data = ?3 " \
1552 "WHERE wc_id = ?1 AND local_relpath = ?2 " \
1555 #define STMT_INSERT_ACTUAL_CONFLICT_DATA 151
1556 #define STMT_151_INFO {"STMT_INSERT_ACTUAL_CONFLICT_DATA", NULL}
1558 "INSERT INTO actual_node (wc_id, local_relpath, conflict_data, parent_relpath) " \
1559 "VALUES (?1, ?2, ?3, ?4) " \
1562 #define STMT_SELECT_ALL_FILES 152
1563 #define STMT_152_INFO {"STMT_SELECT_ALL_FILES", NULL}
1565 "SELECT local_relpath FROM nodes_current " \
1566 "WHERE wc_id = ?1 AND parent_relpath = ?2 AND kind = 'file' " \
1569 #define STMT_UPDATE_NODE_PROPS 153
1570 #define STMT_153_INFO {"STMT_UPDATE_NODE_PROPS", NULL}
1572 "UPDATE nodes SET properties = ?4 " \
1573 "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = ?3 " \
1576 #define STMT_PRAGMA_TABLE_INFO_NODES 154
1577 #define STMT_154_INFO {"STMT_PRAGMA_TABLE_INFO_NODES", NULL}
1579 "PRAGMA table_info(\"NODES\") " \
1582 #define STMT_CREATE_TARGET_PROP_CACHE 155
1583 #define STMT_155_INFO {"STMT_CREATE_TARGET_PROP_CACHE", NULL}
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 " \
1593 #define STMT_CACHE_TARGET_PROPS 156
1594 #define STMT_156_INFO {"STMT_CACHE_TARGET_PROPS", NULL}
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), " \
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 " \
1614 #define STMT_CACHE_TARGET_PRISTINE_PROPS 157
1615 #define STMT_157_INFO {"STMT_CACHE_TARGET_PRISTINE_PROPS", NULL}
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 " \
1641 #define STMT_SELECT_ALL_TARGET_PROP_CACHE 158
1642 #define STMT_158_INFO {"STMT_SELECT_ALL_TARGET_PROP_CACHE", NULL}
1644 "SELECT local_relpath, properties FROM target_prop_cache " \
1645 "ORDER BY local_relpath " \
1648 #define STMT_DROP_TARGET_PROP_CACHE 159
1649 #define STMT_159_INFO {"STMT_DROP_TARGET_PROP_CACHE", NULL}
1651 "DROP TABLE target_prop_cache; " \
1654 #define STMT_CREATE_REVERT_LIST 160
1655 #define STMT_160_INFO {"STMT_CREATE_REVERT_LIST", NULL}
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, " \
1666 " PRIMARY KEY (local_relpath, actual) " \
1668 "DROP TRIGGER IF EXISTS trigger_revert_list_nodes; " \
1669 "CREATE TEMPORARY TRIGGER trigger_revert_list_nodes " \
1670 "BEFORE DELETE ON nodes " \
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; " \
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 " \
1680 " INSERT OR REPLACE INTO revert_list(local_relpath, actual, conflict_data, " \
1682 " SELECT OLD.local_relpath, 1, OLD.conflict_data, " \
1684 " WHEN OLD.properties IS NOT NULL " \
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) " \
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 " \
1697 " INSERT OR REPLACE INTO revert_list(local_relpath, actual, conflict_data, " \
1699 " SELECT OLD.local_relpath, 1, OLD.conflict_data, " \
1701 " WHEN OLD.properties IS NOT NULL " \
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) " \
1712 #define STMT_DROP_REVERT_LIST_TRIGGERS 161
1713 #define STMT_161_INFO {"STMT_DROP_REVERT_LIST_TRIGGERS", NULL}
1715 "DROP TRIGGER trigger_revert_list_nodes; " \
1716 "DROP TRIGGER trigger_revert_list_actual_delete; " \
1717 "DROP TRIGGER trigger_revert_list_actual_update " \
1720 #define STMT_SELECT_REVERT_LIST 162
1721 #define STMT_162_INFO {"STMT_SELECT_REVERT_LIST", NULL}
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 " \
1729 #define STMT_SELECT_REVERT_LIST_COPIED_CHILDREN 163
1730 #define STMT_163_INFO {"STMT_SELECT_REVERT_LIST_COPIED_CHILDREN", NULL}
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 " \
1740 #define STMT_DELETE_REVERT_LIST 164
1741 #define STMT_164_INFO {"STMT_DELETE_REVERT_LIST", NULL}
1743 "DELETE FROM revert_list WHERE local_relpath = ?1 " \
1746 #define STMT_SELECT_REVERT_LIST_RECURSIVE 165
1747 #define STMT_165_INFO {"STMT_SELECT_REVERT_LIST_RECURSIVE", NULL}
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 " \
1757 #define STMT_DELETE_REVERT_LIST_RECURSIVE 166
1758 #define STMT_166_INFO {"STMT_DELETE_REVERT_LIST_RECURSIVE", NULL}
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))) " \
1765 #define STMT_DROP_REVERT_LIST 167
1766 #define STMT_167_INFO {"STMT_DROP_REVERT_LIST", NULL}
1768 "DROP TABLE IF EXISTS revert_list " \
1771 #define STMT_CREATE_DELETE_LIST 168
1772 #define STMT_168_INFO {"STMT_CREATE_DELETE_LIST", NULL}
1774 "DROP TABLE IF EXISTS delete_list; " \
1775 "CREATE TEMPORARY TABLE delete_list ( " \
1776 " local_relpath TEXT PRIMARY KEY NOT NULL UNIQUE " \
1780 #define STMT_INSERT_DELETE_LIST 169
1781 #define STMT_169_INFO {"STMT_INSERT_DELETE_LIST", NULL}
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 " \
1796 #define STMT_SELECT_DELETE_LIST 170
1797 #define STMT_170_INFO {"STMT_SELECT_DELETE_LIST", NULL}
1799 "SELECT local_relpath FROM delete_list " \
1800 "ORDER BY local_relpath " \
1803 #define STMT_FINALIZE_DELETE 171
1804 #define STMT_171_INFO {"STMT_FINALIZE_DELETE", NULL}
1806 "DROP TABLE IF EXISTS delete_list " \
1809 #define STMT_CREATE_UPDATE_MOVE_LIST 172
1810 #define STMT_172_INFO {"STMT_CREATE_UPDATE_MOVE_LIST", NULL}
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 " \
1822 #define STMT_INSERT_UPDATE_MOVE_LIST 173
1823 #define STMT_173_INFO {"STMT_INSERT_UPDATE_MOVE_LIST", NULL}
1825 "INSERT INTO update_move_list(local_relpath, action, kind, content_state, " \
1827 "VALUES (?1, ?2, ?3, ?4, ?5) " \
1830 #define STMT_SELECT_UPDATE_MOVE_LIST 174
1831 #define STMT_174_INFO {"STMT_SELECT_UPDATE_MOVE_LIST", NULL}
1833 "SELECT local_relpath, action, kind, content_state, prop_state " \
1834 "FROM update_move_list " \
1835 "ORDER BY local_relpath " \
1838 #define STMT_FINALIZE_UPDATE_MOVE 175
1839 #define STMT_175_INFO {"STMT_FINALIZE_UPDATE_MOVE", NULL}
1841 "DROP TABLE IF EXISTS update_move_list " \
1844 #define STMT_SELECT_MIN_MAX_REVISIONS 176
1845 #define STMT_176_INFO {"STMT_SELECT_MIN_MAX_REVISIONS", NULL}
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 " \
1857 #define STMT_HAS_SPARSE_NODES 177
1858 #define STMT_177_INFO {"STMT_HAS_SPARSE_NODES", NULL}
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 " \
1871 #define STMT_SUBTREE_HAS_TREE_MODIFICATIONS 178
1872 #define STMT_178_INFO {"STMT_SUBTREE_HAS_TREE_MODIFICATIONS", NULL}
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 " \
1882 #define STMT_SUBTREE_HAS_PROP_MODIFICATIONS 179
1883 #define STMT_179_INFO {"STMT_SUBTREE_HAS_PROP_MODIFICATIONS", NULL}
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 " \
1893 #define STMT_HAS_SWITCHED 180
1894 #define STMT_180_INFO {"STMT_HAS_SWITCHED", NULL}
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) " \
1907 #define STMT_SELECT_BASE_FILES_RECURSIVE 181
1908 #define STMT_181_INFO {"STMT_SELECT_BASE_FILES_RECURSIVE", NULL}
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 " \
1920 #define STMT_SELECT_MOVED_FROM_RELPATH 182
1921 #define STMT_182_INFO {"STMT_SELECT_MOVED_FROM_RELPATH", NULL}
1923 "SELECT local_relpath, op_depth FROM nodes " \
1924 "WHERE wc_id = ?1 AND moved_to = ?2 AND op_depth > 0 " \
1927 #define STMT_UPDATE_MOVED_TO_RELPATH 183
1928 #define STMT_183_INFO {"STMT_UPDATE_MOVED_TO_RELPATH", NULL}
1930 "UPDATE nodes SET moved_to = ?4 " \
1931 "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = ?3 " \
1934 #define STMT_CLEAR_MOVED_TO_RELPATH 184
1935 #define STMT_184_INFO {"STMT_CLEAR_MOVED_TO_RELPATH", NULL}
1937 "UPDATE nodes SET moved_to = NULL " \
1938 "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = ?3 " \
1941 #define STMT_CLEAR_MOVED_HERE_RECURSIVE 185
1942 #define STMT_185_INFO {"STMT_CLEAR_MOVED_HERE_RECURSIVE", NULL}
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 " \
1950 #define STMT_SELECT_MOVED_HERE_CHILDREN 186
1951 #define STMT_186_INFO {"STMT_SELECT_MOVED_HERE_CHILDREN", NULL}
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)) " \
1958 #define STMT_SELECT_MOVED_FOR_DELETE 187
1959 #define STMT_187_INFO {"STMT_SELECT_MOVED_FOR_DELETE", NULL}
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 " \
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 " \
1974 #define STMT_SELECT_MOVED_FROM_FOR_DELETE 188
1975 #define STMT_188_INFO {"STMT_SELECT_MOVED_FROM_FOR_DELETE", NULL}
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 " \
1984 "WHERE wc_id = ?1 AND moved_to = ?2 AND op_depth > 0 " \
1987 #define STMT_UPDATE_MOVED_TO_DESCENDANTS 189
1988 #define STMT_189_INFO {"STMT_UPDATE_MOVED_TO_DESCENDANTS", NULL}
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)) " \
1995 #define STMT_CLEAR_MOVED_TO_DESCENDANTS 190
1996 #define STMT_190_INFO {"STMT_CLEAR_MOVED_TO_DESCENDANTS", NULL}
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)) " \
2003 #define STMT_SELECT_MOVED_PAIR2 191
2004 #define STMT_191_INFO {"STMT_SELECT_MOVED_PAIR2", NULL}
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) " \
2016 #define STMT_SELECT_MOVED_PAIR3 192
2017 #define STMT_192_INFO {"STMT_SELECT_MOVED_PAIR3", NULL}
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 " \
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 " \
2031 #define STMT_SELECT_MOVED_OUTSIDE 193
2032 #define STMT_193_INFO {"STMT_SELECT_MOVED_OUTSIDE", NULL}
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)) " \
2042 #define STMT_SELECT_OP_DEPTH_MOVED_PAIR 194
2043 #define STMT_194_INFO {"STMT_SELECT_OP_DEPTH_MOVED_PAIR", NULL}
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 " \
2057 #define STMT_SELECT_MOVED_DESCENDANTS 195
2058 #define STMT_195_INFO {"STMT_SELECT_MOVED_DESCENDANTS", NULL}
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) " \
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 " \
2075 #define STMT_COMMIT_UPDATE_ORIGIN 196
2076 #define STMT_196_INFO {"STMT_COMMIT_UPDATE_ORIGIN", NULL}
2078 "UPDATE nodes SET repos_id = ?4, " \
2079 " repos_path = ?5 || SUBSTR(local_relpath, LENGTH(?2)+1), " \
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 " \
2087 #define STMT_HAS_LAYER_BETWEEN 197
2088 #define STMT_197_INFO {"STMT_HAS_LAYER_BETWEEN", NULL}
2090 "SELECT 1 FROM NODES " \
2091 "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth > ?3 AND op_depth < ?4 " \
2094 #define STMT_SELECT_REPOS_PATH_REVISION 198
2095 #define STMT_198_INFO {"STMT_SELECT_REPOS_PATH_REVISION", NULL}
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 " \
2104 #define STMT_SELECT_HAS_NON_FILE_CHILDREN 199
2105 #define STMT_199_INFO {"STMT_SELECT_HAS_NON_FILE_CHILDREN", NULL}
2107 "SELECT 1 FROM nodes " \
2108 "WHERE wc_id = ?1 AND parent_relpath = ?2 AND op_depth = 0 AND kind != 'file' " \
2111 #define STMT_SELECT_HAS_GRANDCHILDREN 200
2112 #define STMT_200_INFO {"STMT_SELECT_HAS_GRANDCHILDREN", NULL}
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 " \
2121 #define STMT_SELECT_ALL_NODES 201
2122 #define STMT_201_INFO {"STMT_SELECT_ALL_NODES", NULL}
2124 "SELECT op_depth, local_relpath, parent_relpath, file_external FROM nodes " \
2125 "WHERE wc_id = ?1 " \
2128 #define STMT_SELECT_IPROPS 202
2129 #define STMT_202_INFO {"STMT_SELECT_IPROPS", NULL}
2131 "SELECT inherited_props FROM nodes " \
2132 "WHERE wc_id = ?1 " \
2133 " AND local_relpath = ?2 " \
2134 " AND op_depth = 0 " \
2137 #define STMT_UPDATE_IPROP 203
2138 #define STMT_203_INFO {"STMT_UPDATE_IPROP", NULL}
2141 "SET inherited_props = ?3 " \
2142 "WHERE (wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0) " \
2145 #define STMT_SELECT_IPROPS_NODE 204
2146 #define STMT_204_INFO {"STMT_SELECT_IPROPS_NODE", NULL}
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) " \
2155 #define STMT_SELECT_IPROPS_RECURSIVE 205
2156 #define STMT_205_INFO {"STMT_SELECT_IPROPS_RECURSIVE", NULL}
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) " \
2165 #define STMT_SELECT_IPROPS_CHILDREN 206
2166 #define STMT_206_INFO {"STMT_SELECT_IPROPS_CHILDREN", NULL}
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) " \
2175 #define STMT_HAVE_STAT1_TABLE 207
2176 #define STMT_207_INFO {"STMT_HAVE_STAT1_TABLE", NULL}
2178 "SELECT 1 FROM sqlite_master WHERE name='sqlite_stat1' AND type='table' " \
2182 #define STMT_CREATE_SCHEMA 208
2183 #define STMT_208_INFO {"STMT_CREATE_SCHEMA", NULL}
2185 "CREATE TABLE REPOSITORY ( " \
2186 " id INTEGER PRIMARY KEY AUTOINCREMENT, " \
2187 " root TEXT UNIQUE NOT NULL, " \
2188 " uuid TEXT NOT NULL " \
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 " \
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 " \
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) " \
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) " \
2234 "CREATE TABLE WORK_QUEUE ( " \
2235 " id INTEGER PRIMARY KEY AUTOINCREMENT, " \
2236 " work BLOB NOT NULL " \
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) " \
2244 "PRAGMA user_version = " \
2245 APR_STRINGIFY(SVN_WC__VERSION) \
2249 #define STMT_CREATE_NODES 209
2250 #define STMT_209_INFO {"STMT_CREATE_NODES", NULL}
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, " \
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) " \
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; " \
2291 #define STMT_CREATE_NODES_TRIGGERS 210
2292 #define STMT_210_INFO {"STMT_CREATE_NODES_TRIGGERS", NULL}
2294 "CREATE TRIGGER nodes_insert_trigger " \
2295 "AFTER INSERT ON nodes " \
2296 "WHEN NEW.checksum IS NOT NULL " \
2298 " UPDATE pristine SET refcount = refcount + 1 " \
2299 " WHERE checksum = NEW.checksum; " \
2301 "CREATE TRIGGER nodes_delete_trigger " \
2302 "AFTER DELETE ON nodes " \
2303 "WHEN OLD.checksum IS NOT NULL " \
2305 " UPDATE pristine SET refcount = refcount - 1 " \
2306 " WHERE checksum = OLD.checksum; " \
2308 "CREATE TRIGGER nodes_update_checksum_trigger " \
2309 "AFTER UPDATE OF checksum ON nodes " \
2310 "WHEN NEW.checksum IS NOT OLD.checksum " \
2312 " UPDATE pristine SET refcount = refcount + 1 " \
2313 " WHERE checksum = NEW.checksum; " \
2314 " UPDATE pristine SET refcount = refcount - 1 " \
2315 " WHERE checksum = OLD.checksum; " \
2319 #define STMT_CREATE_EXTERNALS 211
2320 #define STMT_211_INFO {"STMT_CREATE_EXTERNALS", NULL}
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) " \
2335 "CREATE UNIQUE INDEX I_EXTERNALS_DEFINED ON EXTERNALS (wc_id, " \
2336 " def_local_relpath, " \
2337 " local_relpath); " \
2340 #define STMT_INSTALL_SCHEMA_STATISTICS 212
2341 #define STMT_212_INFO {"STMT_INSTALL_SCHEMA_STATISTICS", NULL}
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; " \
2367 #define STMT_UPGRADE_TO_20 213
2368 #define STMT_213_INFO {"STMT_UPGRADE_TO_20", NULL}
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; " \
2410 #define STMT_UPGRADE_TO_21 214
2411 #define STMT_214_INFO {"STMT_UPGRADE_TO_21", NULL}
2413 "PRAGMA user_version = 21; " \
2416 #define STMT_UPGRADE_21_SELECT_OLD_TREE_CONFLICT 215
2417 #define STMT_215_INFO {"STMT_UPGRADE_21_SELECT_OLD_TREE_CONFLICT", NULL}
2419 "SELECT wc_id, local_relpath, tree_conflict_data " \
2420 "FROM actual_node " \
2421 "WHERE tree_conflict_data IS NOT NULL " \
2424 #define STMT_UPGRADE_21_ERASE_OLD_CONFLICTS 216
2425 #define STMT_216_INFO {"STMT_UPGRADE_21_ERASE_OLD_CONFLICTS", NULL}
2427 "UPDATE actual_node SET tree_conflict_data = NULL " \
2430 #define STMT_UPGRADE_TO_22 217
2431 #define STMT_217_INFO {"STMT_UPGRADE_TO_22", NULL}
2433 "UPDATE actual_node SET tree_conflict_data = conflict_data; " \
2434 "UPDATE actual_node SET conflict_data = NULL; " \
2435 "PRAGMA user_version = 22; " \
2438 #define STMT_UPGRADE_TO_23 218
2439 #define STMT_218_INFO {"STMT_UPGRADE_TO_23", NULL}
2441 "PRAGMA user_version = 23; " \
2444 #define STMT_UPGRADE_23_HAS_WORKING_NODES 219
2445 #define STMT_219_INFO {"STMT_UPGRADE_23_HAS_WORKING_NODES", NULL}
2447 "SELECT 1 FROM nodes WHERE op_depth > 0 " \
2451 #define STMT_UPGRADE_TO_24 220
2452 #define STMT_220_INFO {"STMT_UPGRADE_TO_24", NULL}
2454 "UPDATE pristine SET refcount = " \
2455 " (SELECT COUNT(*) FROM nodes " \
2456 " WHERE checksum = pristine.checksum ); " \
2457 "PRAGMA user_version = 24; " \
2460 #define STMT_UPGRADE_TO_25 221
2461 #define STMT_221_INFO {"STMT_UPGRADE_TO_25", NULL}
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; " \
2474 #define STMT_UPGRADE_TO_26 222
2475 #define STMT_222_INFO {"STMT_UPGRADE_TO_26", NULL}
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; " \
2484 #define STMT_UPGRADE_TO_27 223
2485 #define STMT_223_INFO {"STMT_UPGRADE_TO_27", NULL}
2487 "PRAGMA user_version = 27; " \
2490 #define STMT_UPGRADE_27_HAS_ACTUAL_NODES_CONFLICTS 224
2491 #define STMT_224_INFO {"STMT_UPGRADE_27_HAS_ACTUAL_NODES_CONFLICTS", NULL}
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)) " \
2500 #define STMT_UPGRADE_TO_28 225
2501 #define STMT_225_INFO {"STMT_UPGRADE_TO_28", NULL}
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; " \
2509 #define STMT_UPGRADE_TO_29 226
2510 #define STMT_226_INFO {"STMT_UPGRADE_TO_29", NULL}
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 " \
2519 " UPDATE pristine SET refcount = refcount + 1 " \
2520 " WHERE checksum = NEW.checksum; " \
2521 " UPDATE pristine SET refcount = refcount - 1 " \
2522 " WHERE checksum = OLD.checksum; " \
2524 "CREATE TRIGGER nodes_insert_trigger " \
2525 "AFTER INSERT ON nodes " \
2526 "WHEN NEW.checksum IS NOT NULL " \
2528 " UPDATE pristine SET refcount = refcount + 1 " \
2529 " WHERE checksum = NEW.checksum; " \
2531 "CREATE TRIGGER nodes_delete_trigger " \
2532 "AFTER DELETE ON nodes " \
2533 "WHEN OLD.checksum IS NOT NULL " \
2535 " UPDATE pristine SET refcount = refcount - 1 " \
2536 " WHERE checksum = OLD.checksum; " \
2538 "PRAGMA user_version = 29; " \
2541 #define STMT_UPGRADE_TO_30 227
2542 #define STMT_227_INFO {"STMT_UPGRADE_TO_30", NULL}
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; " \
2551 #define STMT_UPGRADE_30_SELECT_CONFLICT_SEPARATE 228
2552 #define STMT_228_INFO {"STMT_UPGRADE_30_SELECT_CONFLICT_SEPARATE", NULL}
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 " \
2565 #define STMT_UPGRADE_30_SET_CONFLICT 229
2566 #define STMT_229_INFO {"STMT_UPGRADE_30_SET_CONFLICT", NULL}
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 " \
2574 #define STMT_UPGRADE_TO_31_ALTER_TABLE 230
2575 #define STMT_230_INFO {"STMT_UPGRADE_TO_31_ALTER_TABLE", NULL}
2577 "ALTER TABLE NODES ADD COLUMN inherited_props BLOB; " \
2580 #define STMT_UPGRADE_TO_31_FINALIZE 231
2581 #define STMT_231_INFO {"STMT_UPGRADE_TO_31_FINALIZE", NULL}
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; " \
2594 #define STMT_UPGRADE_31_SELECT_WCROOT_NODES 232
2595 #define STMT_232_INFO {"STMT_UPGRADE_31_SELECT_WCROOT_NODES", NULL}
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))) " \
2608 #define STMT_UPGRADE_TO_32 233
2609 #define STMT_233_INFO {"STMT_UPGRADE_TO_32", NULL}
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); " \
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, " \
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) " \
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; " \
2663 #define STMT_VERIFICATION_TRIGGERS 234
2664 #define STMT_234_INFO {"STMT_VERIFICATION_TRIGGERS", NULL}
2666 "CREATE TEMPORARY TRIGGER no_repository_updates BEFORE UPDATE ON repository " \
2668 " SELECT RAISE(FAIL, 'Updates to REPOSITORY are not allowed.'); " \
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)) " \
2675 " SELECT RAISE(FAIL, 'WC DB validity check 01 failed'); " \
2677 "CREATE TEMPORARY TRIGGER validation_02 BEFORE INSERT ON nodes " \
2678 "WHEN NOT new.op_depth <= relpath_depth(new.local_relpath) " \
2680 " SELECT RAISE(FAIL, 'WC DB validity check 02 failed'); " \
2682 "CREATE TEMPORARY TRIGGER validation_03 BEFORE INSERT ON nodes " \
2684 " (new.op_depth = relpath_depth(new.local_relpath)) " \
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)) " \
2690 " AND NOT (new.file_external IS NOT NULL AND new.op_depth = 0) " \
2692 " SELECT RAISE(FAIL, 'WC DB validity check 03 failed'); " \
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)) " \
2700 " SELECT RAISE(FAIL, 'WC DB validity check 04 failed'); " \
2704 #define WC_QUERIES_SQL_DECLARE_STATEMENTS(varname) \
2705 static const char * const varname[] = { \
2944 #define WC_QUERIES_SQL_DECLARE_STATEMENT_INFO(varname) \
2945 static const char * const varname[][2] = { \