wc-queries.h revision 262250
1262250Speter/* This file is automatically generated from wc-queries.sql and .dist_sandbox/subversion-1.8.8/subversion/libsvn_wc/token-map.h.
2251881Speter * Do not edit this file -- edit the source and rerun gen-make.py */
3251881Speter
4251881Speter#define STMT_SELECT_NODE_INFO 0
5251881Speter#define STMT_0_INFO {"STMT_SELECT_NODE_INFO", NULL}
6251881Speter#define STMT_0 \
7251881Speter  "SELECT op_depth, repos_id, repos_path, presence, kind, revision, checksum, " \
8251881Speter  "  translated_size, changed_revision, changed_date, changed_author, depth, " \
9251881Speter  "  symlink_target, last_mod_time, properties, moved_here, inherited_props, " \
10251881Speter  "  moved_to " \
11251881Speter  "FROM nodes " \
12251881Speter  "WHERE wc_id = ?1 AND local_relpath = ?2 " \
13251881Speter  "ORDER BY op_depth DESC " \
14251881Speter  ""
15251881Speter
16251881Speter#define STMT_SELECT_NODE_INFO_WITH_LOCK 1
17251881Speter#define STMT_1_INFO {"STMT_SELECT_NODE_INFO_WITH_LOCK", NULL}
18251881Speter#define STMT_1 \
19251881Speter  "SELECT op_depth, nodes.repos_id, nodes.repos_path, presence, kind, revision, " \
20251881Speter  "  checksum, translated_size, changed_revision, changed_date, changed_author, " \
21251881Speter  "  depth, symlink_target, last_mod_time, properties, moved_here, " \
22251881Speter  "  inherited_props, " \
23251881Speter  "  lock_token, lock_owner, lock_comment, lock_date " \
24251881Speter  "FROM nodes " \
25251881Speter  "LEFT OUTER JOIN lock ON nodes.repos_id = lock.repos_id " \
26251881Speter  "  AND nodes.repos_path = lock.repos_relpath " \
27251881Speter  "WHERE wc_id = ?1 AND local_relpath = ?2 " \
28251881Speter  "ORDER BY op_depth DESC " \
29251881Speter  ""
30251881Speter
31251881Speter#define STMT_SELECT_BASE_NODE 2
32251881Speter#define STMT_2_INFO {"STMT_SELECT_BASE_NODE", NULL}
33251881Speter#define STMT_2 \
34251881Speter  "SELECT repos_id, repos_path, presence, kind, revision, checksum, " \
35251881Speter  "  translated_size, changed_revision, changed_date, changed_author, depth, " \
36251881Speter  "  symlink_target, last_mod_time, properties, file_external " \
37251881Speter  "FROM nodes " \
38251881Speter  "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \
39251881Speter  ""
40251881Speter
41251881Speter#define STMT_SELECT_BASE_NODE_WITH_LOCK 3
42251881Speter#define STMT_3_INFO {"STMT_SELECT_BASE_NODE_WITH_LOCK", NULL}
43251881Speter#define STMT_3 \
44251881Speter  "SELECT nodes.repos_id, nodes.repos_path, presence, kind, revision, " \
45251881Speter  "  checksum, translated_size, changed_revision, changed_date, changed_author, " \
46251881Speter  "  depth, symlink_target, last_mod_time, properties, file_external, " \
47251881Speter  "  lock_token, lock_owner, lock_comment, lock_date " \
48251881Speter  "FROM nodes " \
49251881Speter  "LEFT OUTER JOIN lock ON nodes.repos_id = lock.repos_id " \
50251881Speter  "  AND nodes.repos_path = lock.repos_relpath " \
51251881Speter  "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \
52251881Speter  ""
53251881Speter
54251881Speter#define STMT_SELECT_BASE_CHILDREN_INFO 4
55251881Speter#define STMT_4_INFO {"STMT_SELECT_BASE_CHILDREN_INFO", NULL}
56251881Speter#define STMT_4 \
57251881Speter  "SELECT local_relpath, nodes.repos_id, nodes.repos_path, presence, kind, " \
58251881Speter  "  revision, depth, file_external, " \
59251881Speter  "  lock_token, lock_owner, lock_comment, lock_date " \
60251881Speter  "FROM nodes " \
61251881Speter  "LEFT OUTER JOIN lock ON nodes.repos_id = lock.repos_id " \
62251881Speter  "  AND nodes.repos_path = lock.repos_relpath " \
63251881Speter  "WHERE wc_id = ?1 AND parent_relpath = ?2 AND op_depth = 0 " \
64251881Speter  ""
65251881Speter
66251881Speter#define STMT_SELECT_WORKING_NODE 5
67251881Speter#define STMT_5_INFO {"STMT_SELECT_WORKING_NODE", NULL}
68251881Speter#define STMT_5 \
69251881Speter  "SELECT op_depth, presence, kind, checksum, translated_size, " \
70251881Speter  "  changed_revision, changed_date, changed_author, depth, symlink_target, " \
71251881Speter  "  repos_id, repos_path, revision, " \
72251881Speter  "  moved_here, moved_to, last_mod_time, properties " \
73251881Speter  "FROM nodes " \
74251881Speter  "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth > 0 " \
75251881Speter  "ORDER BY op_depth DESC " \
76251881Speter  "LIMIT 1 " \
77251881Speter  ""
78251881Speter
79251881Speter#define STMT_SELECT_DEPTH_NODE 6
80251881Speter#define STMT_6_INFO {"STMT_SELECT_DEPTH_NODE", NULL}
81251881Speter#define STMT_6 \
82251881Speter  "SELECT repos_id, repos_path, presence, kind, revision, checksum, " \
83251881Speter  "  translated_size, changed_revision, changed_date, changed_author, depth, " \
84251881Speter  "  symlink_target, last_mod_time, properties " \
85251881Speter  "FROM nodes " \
86251881Speter  "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = ?3 " \
87251881Speter  ""
88251881Speter
89251881Speter#define STMT_SELECT_LOWEST_WORKING_NODE 7
90251881Speter#define STMT_7_INFO {"STMT_SELECT_LOWEST_WORKING_NODE", NULL}
91251881Speter#define STMT_7 \
92251881Speter  "SELECT op_depth, presence, kind, moved_to " \
93251881Speter  "FROM nodes " \
94251881Speter  "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth > ?3 " \
95251881Speter  "ORDER BY op_depth " \
96251881Speter  "LIMIT 1 " \
97251881Speter  ""
98251881Speter
99251881Speter#define STMT_SELECT_HIGHEST_WORKING_NODE 8
100251881Speter#define STMT_8_INFO {"STMT_SELECT_HIGHEST_WORKING_NODE", NULL}
101251881Speter#define STMT_8 \
102251881Speter  "SELECT op_depth " \
103251881Speter  "FROM nodes " \
104251881Speter  "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth < ?3 " \
105251881Speter  "ORDER BY op_depth DESC " \
106251881Speter  "LIMIT 1 " \
107251881Speter  ""
108251881Speter
109251881Speter#define STMT_SELECT_ACTUAL_NODE 9
110251881Speter#define STMT_9_INFO {"STMT_SELECT_ACTUAL_NODE", NULL}
111251881Speter#define STMT_9 \
112251881Speter  "SELECT changelist, properties, conflict_data " \
113251881Speter  "FROM actual_node " \
114251881Speter  "WHERE wc_id = ?1 AND local_relpath = ?2 " \
115251881Speter  ""
116251881Speter
117251881Speter#define STMT_SELECT_NODE_CHILDREN_INFO 10
118251881Speter#define STMT_10_INFO {"STMT_SELECT_NODE_CHILDREN_INFO", NULL}
119251881Speter#define STMT_10 \
120251881Speter  "SELECT op_depth, nodes.repos_id, nodes.repos_path, presence, kind, revision, " \
121251881Speter  "  checksum, translated_size, changed_revision, changed_date, changed_author, " \
122251881Speter  "  depth, symlink_target, last_mod_time, properties, lock_token, lock_owner, " \
123251881Speter  "  lock_comment, lock_date, local_relpath, moved_here, moved_to, file_external " \
124251881Speter  "FROM nodes " \
125251881Speter  "LEFT OUTER JOIN lock ON nodes.repos_id = lock.repos_id " \
126251881Speter  "  AND nodes.repos_path = lock.repos_relpath AND op_depth = 0 " \
127251881Speter  "WHERE wc_id = ?1 AND parent_relpath = ?2 " \
128251881Speter  ""
129251881Speter
130251881Speter#define STMT_SELECT_NODE_CHILDREN_WALKER_INFO 11
131251881Speter#define STMT_11_INFO {"STMT_SELECT_NODE_CHILDREN_WALKER_INFO", NULL}
132251881Speter#define STMT_11 \
133251881Speter  "SELECT local_relpath, op_depth, presence, kind " \
134251881Speter  "FROM nodes_current " \
135251881Speter  "WHERE wc_id = ?1 AND parent_relpath = ?2 " \
136251881Speter  ""
137251881Speter
138251881Speter#define STMT_SELECT_ACTUAL_CHILDREN_INFO 12
139251881Speter#define STMT_12_INFO {"STMT_SELECT_ACTUAL_CHILDREN_INFO", NULL}
140251881Speter#define STMT_12 \
141251881Speter  "SELECT local_relpath, changelist, properties, conflict_data " \
142251881Speter  "FROM actual_node " \
143251881Speter  "WHERE wc_id = ?1 AND parent_relpath = ?2 " \
144251881Speter  ""
145251881Speter
146251881Speter#define STMT_SELECT_REPOSITORY_BY_ID 13
147251881Speter#define STMT_13_INFO {"STMT_SELECT_REPOSITORY_BY_ID", NULL}
148251881Speter#define STMT_13 \
149251881Speter  "SELECT root, uuid FROM repository WHERE id = ?1 " \
150251881Speter  ""
151251881Speter
152251881Speter#define STMT_SELECT_WCROOT_NULL 14
153251881Speter#define STMT_14_INFO {"STMT_SELECT_WCROOT_NULL", NULL}
154251881Speter#define STMT_14 \
155251881Speter  "SELECT id FROM wcroot WHERE local_abspath IS NULL " \
156251881Speter  ""
157251881Speter
158251881Speter#define STMT_SELECT_REPOSITORY 15
159251881Speter#define STMT_15_INFO {"STMT_SELECT_REPOSITORY", NULL}
160251881Speter#define STMT_15 \
161251881Speter  "SELECT id FROM repository WHERE root = ?1 " \
162251881Speter  ""
163251881Speter
164251881Speter#define STMT_INSERT_REPOSITORY 16
165251881Speter#define STMT_16_INFO {"STMT_INSERT_REPOSITORY", NULL}
166251881Speter#define STMT_16 \
167251881Speter  "INSERT INTO repository (root, uuid) VALUES (?1, ?2) " \
168251881Speter  ""
169251881Speter
170251881Speter#define STMT_INSERT_NODE 17
171251881Speter#define STMT_17_INFO {"STMT_INSERT_NODE", NULL}
172251881Speter#define STMT_17 \
173251881Speter  "INSERT OR REPLACE INTO nodes ( " \
174251881Speter  "  wc_id, local_relpath, op_depth, parent_relpath, repos_id, repos_path, " \
175251881Speter  "  revision, presence, depth, kind, changed_revision, changed_date, " \
176251881Speter  "  changed_author, checksum, properties, translated_size, last_mod_time, " \
177251881Speter  "  dav_cache, symlink_target, file_external, moved_to, moved_here, " \
178251881Speter  "  inherited_props) " \
179251881Speter  "VALUES (?1, ?2, ?3, ?4, ?5, ?6, ?7, ?8, ?9, ?10, ?11, ?12, ?13, ?14, " \
180251881Speter  "        ?15, ?16, ?17, ?18, ?19, ?20, ?21, ?22, ?23) " \
181251881Speter  ""
182251881Speter
183251881Speter#define STMT_SELECT_BASE_PRESENT 18
184251881Speter#define STMT_18_INFO {"STMT_SELECT_BASE_PRESENT", NULL}
185251881Speter#define STMT_18 \
186251881Speter  "SELECT local_relpath, kind FROM nodes n " \
187251881Speter  "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)) " \
188251881Speter  "  AND op_depth = 0 " \
189251881Speter  "  AND presence in ('normal', 'incomplete') " \
190251881Speter  "  AND NOT EXISTS(SELECT 1 FROM NODES w " \
191251881Speter  "                 WHERE w.wc_id = ?1 AND w.local_relpath = n.local_relpath " \
192251881Speter  "                   AND op_depth > 0) " \
193251881Speter  "ORDER BY local_relpath DESC " \
194251881Speter  ""
195251881Speter
196251881Speter#define STMT_SELECT_WORKING_PRESENT 19
197251881Speter#define STMT_19_INFO {"STMT_SELECT_WORKING_PRESENT", NULL}
198251881Speter#define STMT_19 \
199251881Speter  "SELECT local_relpath, kind, checksum, translated_size, last_mod_time " \
200251881Speter  "FROM nodes n " \
201251881Speter  "WHERE wc_id = ?1 " \
202251881Speter  "  AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
203251881Speter  "  AND presence in ('normal', 'incomplete') " \
204251881Speter  "  AND op_depth = (SELECT MAX(op_depth) " \
205251881Speter  "                  FROM NODES w " \
206251881Speter  "                  WHERE w.wc_id = ?1 " \
207251881Speter  "                    AND w.local_relpath = n.local_relpath) " \
208251881Speter  "ORDER BY local_relpath DESC " \
209251881Speter  ""
210251881Speter
211251881Speter#define STMT_DELETE_NODE_RECURSIVE 20
212251881Speter#define STMT_20_INFO {"STMT_DELETE_NODE_RECURSIVE", NULL}
213251881Speter#define STMT_20 \
214251881Speter  "DELETE FROM NODES " \
215251881Speter  "WHERE wc_id = ?1 " \
216251881Speter  "  AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
217251881Speter  ""
218251881Speter
219251881Speter#define STMT_DELETE_NODE 21
220251881Speter#define STMT_21_INFO {"STMT_DELETE_NODE", NULL}
221251881Speter#define STMT_21 \
222251881Speter  "DELETE " \
223251881Speter  "FROM NODES " \
224251881Speter  "WHERE wc_id = ?1 AND local_relpath = ?2 " \
225251881Speter  ""
226251881Speter
227251881Speter#define STMT_DELETE_ACTUAL_FOR_BASE_RECURSIVE 22
228251881Speter#define STMT_22_INFO {"STMT_DELETE_ACTUAL_FOR_BASE_RECURSIVE", NULL}
229251881Speter#define STMT_22 \
230251881Speter  "DELETE FROM actual_node " \
231251881Speter  "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)) " \
232251881Speter  "  AND EXISTS(SELECT 1 FROM NODES b " \
233251881Speter  "             WHERE b.wc_id = ?1 " \
234251881Speter  "               AND b.local_relpath = actual_node.local_relpath " \
235251881Speter  "               AND op_depth = 0) " \
236251881Speter  "  AND NOT EXISTS(SELECT 1 FROM NODES w " \
237251881Speter  "                 WHERE w.wc_id = ?1 " \
238251881Speter  "                   AND w.local_relpath = actual_node.local_relpath " \
239251881Speter  "                   AND op_depth > 0 " \
240251881Speter  "                   AND presence in ('normal', 'incomplete', 'not-present')) " \
241251881Speter  ""
242251881Speter
243251881Speter#define STMT_DELETE_WORKING_BASE_DELETE 23
244251881Speter#define STMT_23_INFO {"STMT_DELETE_WORKING_BASE_DELETE", NULL}
245251881Speter#define STMT_23 \
246251881Speter  "DELETE FROM nodes " \
247251881Speter  "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)) " \
248251881Speter  "  AND presence = 'base-deleted' " \
249251881Speter  "  AND op_depth > 0 " \
250251881Speter  "  AND op_depth = (SELECT MIN(op_depth) FROM nodes n " \
251251881Speter  "                    WHERE n.wc_id = ?1 " \
252251881Speter  "                      AND n.local_relpath = nodes.local_relpath " \
253251881Speter  "                      AND op_depth > 0) " \
254251881Speter  ""
255251881Speter
256251881Speter#define STMT_DELETE_WORKING_RECURSIVE 24
257251881Speter#define STMT_24_INFO {"STMT_DELETE_WORKING_RECURSIVE", NULL}
258251881Speter#define STMT_24 \
259251881Speter  "DELETE FROM nodes " \
260251881Speter  "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)) " \
261251881Speter  "  AND op_depth > 0 " \
262251881Speter  ""
263251881Speter
264251881Speter#define STMT_DELETE_BASE_RECURSIVE 25
265251881Speter#define STMT_25_INFO {"STMT_DELETE_BASE_RECURSIVE", NULL}
266251881Speter#define STMT_25 \
267251881Speter  "DELETE FROM nodes " \
268251881Speter  "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)) " \
269251881Speter  "  AND op_depth = 0 " \
270251881Speter  ""
271251881Speter
272251881Speter#define STMT_DELETE_WORKING_OP_DEPTH 26
273251881Speter#define STMT_26_INFO {"STMT_DELETE_WORKING_OP_DEPTH", NULL}
274251881Speter#define STMT_26 \
275251881Speter  "DELETE FROM nodes " \
276251881Speter  "WHERE wc_id = ?1 " \
277251881Speter  "  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))) " \
278251881Speter  "  AND op_depth = ?3 " \
279251881Speter  ""
280251881Speter
281251881Speter#define STMT_DELETE_WORKING_OP_DEPTH_ABOVE 27
282251881Speter#define STMT_27_INFO {"STMT_DELETE_WORKING_OP_DEPTH_ABOVE", NULL}
283251881Speter#define STMT_27 \
284251881Speter  "DELETE FROM nodes " \
285251881Speter  "WHERE wc_id = ?1 " \
286251881Speter  "  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))) " \
287251881Speter  "  AND op_depth > ?3 " \
288251881Speter  ""
289251881Speter
290251881Speter#define STMT_SELECT_LOCAL_RELPATH_OP_DEPTH 28
291251881Speter#define STMT_28_INFO {"STMT_SELECT_LOCAL_RELPATH_OP_DEPTH", NULL}
292251881Speter#define STMT_28 \
293251881Speter  "SELECT local_relpath " \
294251881Speter  "FROM nodes " \
295251881Speter  "WHERE wc_id = ?1 " \
296251881Speter  "  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))) " \
297251881Speter  "  AND op_depth = ?3 " \
298251881Speter  ""
299251881Speter
300251881Speter#define STMT_SELECT_CHILDREN_OP_DEPTH 29
301251881Speter#define STMT_29_INFO {"STMT_SELECT_CHILDREN_OP_DEPTH", NULL}
302251881Speter#define STMT_29 \
303251881Speter  "SELECT local_relpath, kind " \
304251881Speter  "FROM nodes " \
305251881Speter  "WHERE wc_id = ?1 " \
306251881Speter  "  AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
307251881Speter  "  AND op_depth = ?3 " \
308251881Speter  "ORDER BY local_relpath DESC " \
309251881Speter  ""
310251881Speter
311251881Speter#define STMT_COPY_NODE_MOVE 30
312251881Speter#define STMT_30_INFO {"STMT_COPY_NODE_MOVE", NULL}
313251881Speter#define STMT_30 \
314251881Speter  "INSERT OR REPLACE INTO nodes ( " \
315251881Speter  "    wc_id, local_relpath, op_depth, parent_relpath, repos_id, repos_path, " \
316251881Speter  "    revision, presence, depth, kind, changed_revision, changed_date, " \
317251881Speter  "    changed_author, checksum, properties, translated_size, last_mod_time, " \
318251881Speter  "    symlink_target, moved_here, moved_to ) " \
319251881Speter  "SELECT " \
320251881Speter  "    wc_id, ?4 , ?5 , ?6 , " \
321251881Speter  "    repos_id, " \
322251881Speter  "    repos_path, revision, presence, depth, kind, changed_revision, " \
323251881Speter  "    changed_date, changed_author, checksum, properties, translated_size, " \
324251881Speter  "    last_mod_time, symlink_target, 1, " \
325251881Speter  "    (SELECT dst.moved_to FROM nodes AS dst " \
326251881Speter  "                         WHERE dst.wc_id = ?1 " \
327251881Speter  "                         AND dst.local_relpath = ?4 " \
328251881Speter  "                         AND dst.op_depth = ?5) " \
329251881Speter  "FROM nodes " \
330251881Speter  "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = ?3 " \
331251881Speter  ""
332251881Speter
333251881Speter#define STMT_SELECT_OP_DEPTH_CHILDREN 31
334251881Speter#define STMT_31_INFO {"STMT_SELECT_OP_DEPTH_CHILDREN", NULL}
335251881Speter#define STMT_31 \
336251881Speter  "SELECT local_relpath, kind FROM nodes " \
337251881Speter  "WHERE wc_id = ?1 " \
338251881Speter  "  AND parent_relpath = ?2 " \
339251881Speter  "  AND op_depth = ?3 " \
340251881Speter  "  AND presence != 'base-deleted' " \
341251881Speter  "  AND file_external is NULL " \
342251881Speter  ""
343251881Speter
344251881Speter#define STMT_SELECT_GE_OP_DEPTH_CHILDREN 32
345251881Speter#define STMT_32_INFO {"STMT_SELECT_GE_OP_DEPTH_CHILDREN", NULL}
346251881Speter#define STMT_32 \
347251881Speter  "SELECT 1 FROM nodes " \
348251881Speter  "WHERE wc_id = ?1 AND parent_relpath = ?2 " \
349251881Speter  "  AND (op_depth > ?3 OR (op_depth = ?3 AND presence != 'base-deleted')) " \
350251881Speter  "UNION ALL " \
351251881Speter  "SELECT 1 FROM ACTUAL_NODE a " \
352251881Speter  "WHERE wc_id = ?1 AND parent_relpath = ?2 " \
353251881Speter  "  AND NOT EXISTS (SELECT 1 FROM nodes n " \
354251881Speter  "                   WHERE wc_id = ?1 AND n.local_relpath = a.local_relpath) " \
355251881Speter  ""
356251881Speter
357251881Speter#define STMT_DELETE_SHADOWED_RECURSIVE 33
358251881Speter#define STMT_33_INFO {"STMT_DELETE_SHADOWED_RECURSIVE", NULL}
359251881Speter#define STMT_33 \
360251881Speter  "DELETE FROM nodes " \
361251881Speter  "WHERE wc_id = ?1 " \
362251881Speter  "  AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
363251881Speter  "  AND (op_depth < ?3 " \
364251881Speter  "       OR (op_depth = ?3 AND presence = 'base-deleted')) " \
365251881Speter  ""
366251881Speter
367251881Speter#define STMT_CLEAR_MOVED_TO_FROM_DEST 34
368251881Speter#define STMT_34_INFO {"STMT_CLEAR_MOVED_TO_FROM_DEST", NULL}
369251881Speter#define STMT_34 \
370251881Speter  "UPDATE NODES SET moved_to = NULL " \
371251881Speter  "WHERE wc_id = ?1 " \
372251881Speter  "  AND moved_to = ?2 " \
373251881Speter  ""
374251881Speter
375251881Speter#define STMT_SELECT_NOT_PRESENT_DESCENDANTS 35
376251881Speter#define STMT_35_INFO {"STMT_SELECT_NOT_PRESENT_DESCENDANTS", NULL}
377251881Speter#define STMT_35 \
378251881Speter  "SELECT local_relpath FROM nodes " \
379251881Speter  "WHERE wc_id = ?1 AND op_depth = ?3 " \
380251881Speter  "  AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
381251881Speter  "  AND presence = 'not-present' " \
382251881Speter  ""
383251881Speter
384251881Speter#define STMT_COMMIT_DESCENDANTS_TO_BASE 36
385251881Speter#define STMT_36_INFO {"STMT_COMMIT_DESCENDANTS_TO_BASE", NULL}
386251881Speter#define STMT_36 \
387251881Speter  "UPDATE NODES SET op_depth = 0, " \
388251881Speter  "                 repos_id = ?4, " \
389251881Speter  "                 repos_path = ?5 || SUBSTR(local_relpath, LENGTH(?2)+1), " \
390251881Speter  "                 revision = ?6, " \
391251881Speter  "                 dav_cache = NULL, " \
392251881Speter  "                 moved_here = NULL, " \
393251881Speter  "                 presence = CASE presence " \
394251881Speter  "                              WHEN 'normal' THEN 'normal' " \
395251881Speter  "                              WHEN 'excluded' THEN 'excluded' " \
396251881Speter  "                              ELSE 'not-present' " \
397251881Speter  "                            END " \
398251881Speter  "WHERE wc_id = ?1 " \
399251881Speter  "  AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
400251881Speter  "  AND op_depth = ?3 " \
401251881Speter  ""
402251881Speter
403251881Speter#define STMT_SELECT_NODE_CHILDREN 37
404251881Speter#define STMT_37_INFO {"STMT_SELECT_NODE_CHILDREN", NULL}
405251881Speter#define STMT_37 \
406251881Speter  "SELECT local_relpath FROM nodes " \
407251881Speter  "WHERE wc_id = ?1 AND parent_relpath = ?2 " \
408251881Speter  ""
409251881Speter
410251881Speter#define STMT_SELECT_WORKING_CHILDREN 38
411251881Speter#define STMT_38_INFO {"STMT_SELECT_WORKING_CHILDREN", NULL}
412251881Speter#define STMT_38 \
413251881Speter  "SELECT local_relpath FROM nodes " \
414251881Speter  "WHERE wc_id = ?1 AND parent_relpath = ?2 " \
415251881Speter  "  AND (op_depth > (SELECT MAX(op_depth) FROM nodes " \
416251881Speter  "                   WHERE wc_id = ?1 AND local_relpath = ?2) " \
417251881Speter  "       OR " \
418251881Speter  "       (op_depth = (SELECT MAX(op_depth) FROM nodes " \
419251881Speter  "                    WHERE wc_id = ?1 AND local_relpath = ?2) " \
420251881Speter  "        AND presence != 'base-deleted')) " \
421251881Speter  ""
422251881Speter
423251881Speter#define STMT_SELECT_NODE_PROPS 39
424251881Speter#define STMT_39_INFO {"STMT_SELECT_NODE_PROPS", NULL}
425251881Speter#define STMT_39 \
426251881Speter  "SELECT properties, presence FROM nodes " \
427251881Speter  "WHERE wc_id = ?1 AND local_relpath = ?2 " \
428251881Speter  "ORDER BY op_depth DESC " \
429251881Speter  ""
430251881Speter
431251881Speter#define STMT_SELECT_ACTUAL_PROPS 40
432251881Speter#define STMT_40_INFO {"STMT_SELECT_ACTUAL_PROPS", NULL}
433251881Speter#define STMT_40 \
434251881Speter  "SELECT properties FROM actual_node " \
435251881Speter  "WHERE wc_id = ?1 AND local_relpath = ?2 " \
436251881Speter  ""
437251881Speter
438251881Speter#define STMT_UPDATE_ACTUAL_PROPS 41
439251881Speter#define STMT_41_INFO {"STMT_UPDATE_ACTUAL_PROPS", NULL}
440251881Speter#define STMT_41 \
441251881Speter  "UPDATE actual_node SET properties = ?3 " \
442251881Speter  "WHERE wc_id = ?1 AND local_relpath = ?2 " \
443251881Speter  ""
444251881Speter
445251881Speter#define STMT_INSERT_ACTUAL_PROPS 42
446251881Speter#define STMT_42_INFO {"STMT_INSERT_ACTUAL_PROPS", NULL}
447251881Speter#define STMT_42 \
448251881Speter  "INSERT INTO actual_node (wc_id, local_relpath, parent_relpath, properties) " \
449251881Speter  "VALUES (?1, ?2, ?3, ?4) " \
450251881Speter  ""
451251881Speter
452251881Speter#define STMT_INSERT_LOCK 43
453251881Speter#define STMT_43_INFO {"STMT_INSERT_LOCK", NULL}
454251881Speter#define STMT_43 \
455251881Speter  "INSERT OR REPLACE INTO lock " \
456251881Speter  "(repos_id, repos_relpath, lock_token, lock_owner, lock_comment, " \
457251881Speter  " lock_date) " \
458251881Speter  "VALUES (?1, ?2, ?3, ?4, ?5, ?6) " \
459251881Speter  ""
460251881Speter
461251881Speter#define STMT_SELECT_BASE_NODE_LOCK_TOKENS_RECURSIVE 44
462251881Speter#define STMT_44_INFO {"STMT_SELECT_BASE_NODE_LOCK_TOKENS_RECURSIVE", NULL}
463251881Speter#define STMT_44 \
464251881Speter  "SELECT nodes.repos_id, nodes.repos_path, lock_token " \
465251881Speter  "FROM nodes " \
466251881Speter  "LEFT JOIN lock ON nodes.repos_id = lock.repos_id " \
467251881Speter  "  AND nodes.repos_path = lock.repos_relpath " \
468251881Speter  "WHERE wc_id = ?1 AND op_depth = 0 " \
469251881Speter  "  AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
470251881Speter  ""
471251881Speter
472251881Speter#define STMT_INSERT_WCROOT 45
473251881Speter#define STMT_45_INFO {"STMT_INSERT_WCROOT", NULL}
474251881Speter#define STMT_45 \
475251881Speter  "INSERT INTO wcroot (local_abspath) " \
476251881Speter  "VALUES (?1) " \
477251881Speter  ""
478251881Speter
479251881Speter#define STMT_UPDATE_BASE_NODE_DAV_CACHE 46
480251881Speter#define STMT_46_INFO {"STMT_UPDATE_BASE_NODE_DAV_CACHE", NULL}
481251881Speter#define STMT_46 \
482251881Speter  "UPDATE nodes SET dav_cache = ?3 " \
483251881Speter  "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \
484251881Speter  ""
485251881Speter
486251881Speter#define STMT_SELECT_BASE_DAV_CACHE 47
487251881Speter#define STMT_47_INFO {"STMT_SELECT_BASE_DAV_CACHE", NULL}
488251881Speter#define STMT_47 \
489251881Speter  "SELECT dav_cache FROM nodes " \
490251881Speter  "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \
491251881Speter  ""
492251881Speter
493251881Speter#define STMT_SELECT_DELETION_INFO 48
494251881Speter#define STMT_48_INFO {"STMT_SELECT_DELETION_INFO", NULL}
495251881Speter#define STMT_48 \
496251881Speter  "SELECT (SELECT b.presence FROM nodes AS b " \
497251881Speter  "         WHERE b.wc_id = ?1 AND b.local_relpath = ?2 AND b.op_depth = 0), " \
498251881Speter  "       work.presence, work.op_depth " \
499251881Speter  "FROM nodes_current AS work " \
500251881Speter  "WHERE work.wc_id = ?1 AND work.local_relpath = ?2 AND work.op_depth > 0 " \
501251881Speter  "LIMIT 1 " \
502251881Speter  ""
503251881Speter
504251881Speter#define STMT_SELECT_DELETION_INFO_SCAN 49
505251881Speter#define STMT_49_INFO {"STMT_SELECT_DELETION_INFO_SCAN", NULL}
506251881Speter#define STMT_49 \
507251881Speter  "SELECT (SELECT b.presence FROM nodes AS b " \
508251881Speter  "         WHERE b.wc_id = ?1 AND b.local_relpath = ?2 AND b.op_depth = 0), " \
509251881Speter  "       work.presence, work.op_depth, moved.moved_to " \
510251881Speter  "FROM nodes_current AS work " \
511251881Speter  "LEFT OUTER JOIN nodes AS moved " \
512251881Speter  "  ON moved.wc_id = work.wc_id " \
513251881Speter  " AND moved.local_relpath = work.local_relpath " \
514251881Speter  " AND moved.moved_to IS NOT NULL " \
515251881Speter  "WHERE work.wc_id = ?1 AND work.local_relpath = ?2 AND work.op_depth > 0 " \
516251881Speter  "LIMIT 1 " \
517251881Speter  ""
518251881Speter
519251881Speter#define STMT_SELECT_OP_DEPTH_MOVED_TO 50
520251881Speter#define STMT_50_INFO {"STMT_SELECT_OP_DEPTH_MOVED_TO", NULL}
521251881Speter#define STMT_50 \
522251881Speter  "SELECT op_depth, moved_to, repos_path, revision " \
523251881Speter  "FROM nodes " \
524251881Speter  "WHERE wc_id = ?1 AND local_relpath = ?2 " \
525251881Speter  " AND op_depth <= (SELECT MIN(op_depth) FROM nodes " \
526251881Speter  "                  WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth > ?3) " \
527251881Speter  "ORDER BY op_depth DESC " \
528251881Speter  ""
529251881Speter
530251881Speter#define STMT_SELECT_MOVED_TO 51
531251881Speter#define STMT_51_INFO {"STMT_SELECT_MOVED_TO", NULL}
532251881Speter#define STMT_51 \
533251881Speter  "SELECT moved_to " \
534251881Speter  "FROM nodes " \
535251881Speter  "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = ?3 " \
536251881Speter  ""
537251881Speter
538251881Speter#define STMT_SELECT_MOVED_HERE 52
539251881Speter#define STMT_52_INFO {"STMT_SELECT_MOVED_HERE", NULL}
540251881Speter#define STMT_52 \
541251881Speter  "SELECT moved_here, presence, repos_path, revision " \
542251881Speter  "FROM nodes " \
543251881Speter  "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth >= ?3 " \
544251881Speter  "ORDER BY op_depth " \
545251881Speter  ""
546251881Speter
547251881Speter#define STMT_SELECT_MOVED_BACK 53
548251881Speter#define STMT_53_INFO {"STMT_SELECT_MOVED_BACK", NULL}
549251881Speter#define STMT_53 \
550251881Speter  "SELECT u.local_relpath, " \
551251881Speter  "       u.presence, u.repos_id, u.repos_path, u.revision, " \
552251881Speter  "       l.presence, l.repos_id, l.repos_path, l.revision, " \
553251881Speter  "       u.moved_here, u.moved_to " \
554251881Speter  "FROM nodes u " \
555251881Speter  "LEFT OUTER JOIN nodes l ON l.wc_id = ?1 " \
556251881Speter  "                       AND l.local_relpath = u.local_relpath " \
557251881Speter  "                       AND l.op_depth = ?3 " \
558251881Speter  "WHERE u.wc_id = ?1 " \
559251881Speter  "  AND u.local_relpath = ?2 " \
560251881Speter  "  AND u.op_depth = ?4 " \
561251881Speter  "UNION ALL " \
562251881Speter  "SELECT u.local_relpath, " \
563251881Speter  "       u.presence, u.repos_id, u.repos_path, u.revision, " \
564251881Speter  "       l.presence, l.repos_id, l.repos_path, l.revision, " \
565251881Speter  "       u.moved_here, NULL " \
566251881Speter  "FROM nodes u " \
567251881Speter  "LEFT OUTER JOIN nodes l ON l.wc_id=?1 " \
568251881Speter  "                       AND l.local_relpath=u.local_relpath " \
569251881Speter  "                       AND l.op_depth=?3 " \
570251881Speter  "WHERE u.wc_id = ?1 " \
571251881Speter  "  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)) " \
572251881Speter  "  AND u.op_depth = ?4 " \
573251881Speter  ""
574251881Speter
575251881Speter#define STMT_DELETE_MOVED_BACK 54
576251881Speter#define STMT_54_INFO {"STMT_DELETE_MOVED_BACK", NULL}
577251881Speter#define STMT_54 \
578251881Speter  "DELETE FROM nodes " \
579251881Speter  "WHERE wc_id = ?1 " \
580251881Speter  "  AND (local_relpath = ?2 " \
581251881Speter  "       OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \
582251881Speter  "  AND op_depth = ?3 " \
583251881Speter  ""
584251881Speter
585251881Speter#define STMT_DELETE_LOCK 55
586251881Speter#define STMT_55_INFO {"STMT_DELETE_LOCK", NULL}
587251881Speter#define STMT_55 \
588251881Speter  "DELETE FROM lock " \
589251881Speter  "WHERE repos_id = ?1 AND repos_relpath = ?2 " \
590251881Speter  ""
591251881Speter
592253734Speter#define STMT_DELETE_LOCK_RECURSIVELY 56
593253734Speter#define STMT_56_INFO {"STMT_DELETE_LOCK_RECURSIVELY", NULL}
594251881Speter#define STMT_56 \
595253734Speter  "DELETE FROM lock " \
596253734Speter  "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))) " \
597253734Speter  ""
598253734Speter
599253734Speter#define STMT_CLEAR_BASE_NODE_RECURSIVE_DAV_CACHE 57
600253734Speter#define STMT_57_INFO {"STMT_CLEAR_BASE_NODE_RECURSIVE_DAV_CACHE", NULL}
601253734Speter#define STMT_57 \
602251881Speter  "UPDATE nodes SET dav_cache = NULL " \
603251881Speter  "WHERE dav_cache IS NOT NULL AND wc_id = ?1 AND op_depth = 0 " \
604251881Speter  "  AND (local_relpath = ?2 " \
605251881Speter  "       OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \
606251881Speter  ""
607251881Speter
608253734Speter#define STMT_RECURSIVE_UPDATE_NODE_REPO 58
609253734Speter#define STMT_58_INFO {"STMT_RECURSIVE_UPDATE_NODE_REPO", NULL}
610253734Speter#define STMT_58 \
611251881Speter  "UPDATE nodes SET repos_id = ?4, dav_cache = NULL " \
612251881Speter  "WHERE (wc_id = ?1 AND local_relpath = ?2 AND repos_id = ?3) " \
613251881Speter  "   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)) " \
614251881Speter  "       AND repos_id = ?3) " \
615251881Speter  ""
616251881Speter
617253734Speter#define STMT_UPDATE_LOCK_REPOS_ID 59
618253734Speter#define STMT_59_INFO {"STMT_UPDATE_LOCK_REPOS_ID", NULL}
619253734Speter#define STMT_59 \
620251881Speter  "UPDATE lock SET repos_id = ?2 " \
621251881Speter  "WHERE repos_id = ?1 " \
622251881Speter  ""
623251881Speter
624253734Speter#define STMT_UPDATE_NODE_FILEINFO 60
625253734Speter#define STMT_60_INFO {"STMT_UPDATE_NODE_FILEINFO", NULL}
626253734Speter#define STMT_60 \
627251881Speter  "UPDATE nodes SET translated_size = ?3, last_mod_time = ?4 " \
628251881Speter  "WHERE wc_id = ?1 AND local_relpath = ?2 " \
629251881Speter  "  AND op_depth = (SELECT MAX(op_depth) FROM nodes " \
630251881Speter  "                  WHERE wc_id = ?1 AND local_relpath = ?2) " \
631251881Speter  ""
632251881Speter
633253734Speter#define STMT_INSERT_ACTUAL_CONFLICT 61
634253734Speter#define STMT_61_INFO {"STMT_INSERT_ACTUAL_CONFLICT", NULL}
635253734Speter#define STMT_61 \
636251881Speter  "INSERT INTO actual_node (wc_id, local_relpath, conflict_data, parent_relpath) " \
637251881Speter  "VALUES (?1, ?2, ?3, ?4) " \
638251881Speter  ""
639251881Speter
640253734Speter#define STMT_UPDATE_ACTUAL_CONFLICT 62
641253734Speter#define STMT_62_INFO {"STMT_UPDATE_ACTUAL_CONFLICT", NULL}
642253734Speter#define STMT_62 \
643251881Speter  "UPDATE actual_node SET conflict_data = ?3 " \
644251881Speter  "WHERE wc_id = ?1 AND local_relpath = ?2 " \
645251881Speter  ""
646251881Speter
647253734Speter#define STMT_UPDATE_ACTUAL_CHANGELISTS 63
648253734Speter#define STMT_63_INFO {"STMT_UPDATE_ACTUAL_CHANGELISTS", NULL}
649253734Speter#define STMT_63 \
650251881Speter  "UPDATE actual_node SET changelist = ?3 " \
651251881Speter  "WHERE wc_id = ?1 " \
652251881Speter  "  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))) " \
653251881Speter  "  AND local_relpath = (SELECT local_relpath FROM targets_list AS t " \
654251881Speter  "                       WHERE wc_id = ?1 " \
655251881Speter  "                         AND t.local_relpath = actual_node.local_relpath " \
656251881Speter  "                         AND kind = 'file') " \
657251881Speter  ""
658251881Speter
659253734Speter#define STMT_UPDATE_ACTUAL_CLEAR_CHANGELIST 64
660253734Speter#define STMT_64_INFO {"STMT_UPDATE_ACTUAL_CLEAR_CHANGELIST", NULL}
661253734Speter#define STMT_64 \
662251881Speter  "UPDATE actual_node SET changelist = NULL " \
663251881Speter  " WHERE wc_id = ?1 AND local_relpath = ?2 " \
664251881Speter  ""
665251881Speter
666253734Speter#define STMT_MARK_SKIPPED_CHANGELIST_DIRS 65
667253734Speter#define STMT_65_INFO {"STMT_MARK_SKIPPED_CHANGELIST_DIRS", NULL}
668253734Speter#define STMT_65 \
669251881Speter  "INSERT INTO changelist_list (wc_id, local_relpath, notify, changelist) " \
670251881Speter  "SELECT wc_id, local_relpath, 7, ?3 " \
671251881Speter  "FROM targets_list " \
672251881Speter  "WHERE wc_id = ?1 " \
673251881Speter  "  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))) " \
674251881Speter  "  AND kind = 'dir' " \
675251881Speter  ""
676251881Speter
677253734Speter#define STMT_RESET_ACTUAL_WITH_CHANGELIST 66
678253734Speter#define STMT_66_INFO {"STMT_RESET_ACTUAL_WITH_CHANGELIST", NULL}
679253734Speter#define STMT_66 \
680251881Speter  "REPLACE INTO actual_node ( " \
681251881Speter  "  wc_id, local_relpath, parent_relpath, changelist) " \
682251881Speter  "VALUES (?1, ?2, ?3, ?4) " \
683251881Speter  ""
684251881Speter
685253734Speter#define STMT_CREATE_CHANGELIST_LIST 67
686253734Speter#define STMT_67_INFO {"STMT_CREATE_CHANGELIST_LIST", NULL}
687253734Speter#define STMT_67 \
688251881Speter  "DROP TABLE IF EXISTS changelist_list; " \
689251881Speter  "CREATE TEMPORARY TABLE changelist_list ( " \
690251881Speter  "  wc_id  INTEGER NOT NULL, " \
691251881Speter  "  local_relpath TEXT NOT NULL, " \
692251881Speter  "  notify INTEGER NOT NULL, " \
693251881Speter  "  changelist TEXT NOT NULL, " \
694251881Speter  "  PRIMARY KEY (wc_id, local_relpath, notify DESC) " \
695251881Speter  ") " \
696251881Speter  ""
697251881Speter
698253734Speter#define STMT_CREATE_CHANGELIST_TRIGGER 68
699253734Speter#define STMT_68_INFO {"STMT_CREATE_CHANGELIST_TRIGGER", NULL}
700253734Speter#define STMT_68 \
701251881Speter  "DROP TRIGGER IF EXISTS   trigger_changelist_list_change; " \
702251881Speter  "CREATE TEMPORARY TRIGGER trigger_changelist_list_change " \
703251881Speter  "BEFORE UPDATE ON actual_node " \
704251881Speter  "WHEN old.changelist IS NOT new.changelist " \
705251881Speter  "BEGIN " \
706251881Speter  "  INSERT INTO changelist_list(wc_id, local_relpath, notify, changelist) " \
707251881Speter  "  SELECT old.wc_id, old.local_relpath, 27, old.changelist " \
708251881Speter  "   WHERE old.changelist is NOT NULL; " \
709251881Speter  "  INSERT INTO changelist_list(wc_id, local_relpath, notify, changelist) " \
710251881Speter  "  SELECT new.wc_id, new.local_relpath, 26, new.changelist " \
711251881Speter  "   WHERE new.changelist IS NOT NULL; " \
712251881Speter  "END " \
713251881Speter  ""
714251881Speter
715253734Speter#define STMT_FINALIZE_CHANGELIST 69
716253734Speter#define STMT_69_INFO {"STMT_FINALIZE_CHANGELIST", NULL}
717253734Speter#define STMT_69 \
718251881Speter  "DROP TRIGGER trigger_changelist_list_change; " \
719251881Speter  "DROP TABLE changelist_list; " \
720251881Speter  "DROP TABLE targets_list " \
721251881Speter  ""
722251881Speter
723253734Speter#define STMT_SELECT_CHANGELIST_LIST 70
724253734Speter#define STMT_70_INFO {"STMT_SELECT_CHANGELIST_LIST", NULL}
725253734Speter#define STMT_70 \
726251881Speter  "SELECT wc_id, local_relpath, notify, changelist " \
727251881Speter  "FROM changelist_list " \
728251881Speter  "ORDER BY wc_id, local_relpath ASC, notify DESC " \
729251881Speter  ""
730251881Speter
731253734Speter#define STMT_CREATE_TARGETS_LIST 71
732253734Speter#define STMT_71_INFO {"STMT_CREATE_TARGETS_LIST", NULL}
733253734Speter#define STMT_71 \
734251881Speter  "DROP TABLE IF EXISTS targets_list; " \
735251881Speter  "CREATE TEMPORARY TABLE targets_list ( " \
736251881Speter  "  wc_id  INTEGER NOT NULL, " \
737251881Speter  "  local_relpath TEXT NOT NULL, " \
738251881Speter  "  parent_relpath TEXT, " \
739251881Speter  "  kind TEXT NOT NULL, " \
740251881Speter  "  PRIMARY KEY (wc_id, local_relpath) " \
741251881Speter  "  ); " \
742251881Speter  ""
743251881Speter
744253734Speter#define STMT_DROP_TARGETS_LIST 72
745253734Speter#define STMT_72_INFO {"STMT_DROP_TARGETS_LIST", NULL}
746253734Speter#define STMT_72 \
747251881Speter  "DROP TABLE targets_list " \
748251881Speter  ""
749251881Speter
750253734Speter#define STMT_INSERT_TARGET 73
751253734Speter#define STMT_73_INFO {"STMT_INSERT_TARGET", NULL}
752253734Speter#define STMT_73 \
753251881Speter  "INSERT INTO targets_list(wc_id, local_relpath, parent_relpath, kind) " \
754251881Speter  "SELECT wc_id, local_relpath, parent_relpath, kind " \
755251881Speter  "FROM nodes_current " \
756251881Speter  "WHERE wc_id = ?1 " \
757251881Speter  "  AND local_relpath = ?2 " \
758251881Speter  ""
759251881Speter
760253734Speter#define STMT_INSERT_TARGET_DEPTH_FILES 74
761253734Speter#define STMT_74_INFO {"STMT_INSERT_TARGET_DEPTH_FILES", NULL}
762253734Speter#define STMT_74 \
763251881Speter  "INSERT INTO targets_list(wc_id, local_relpath, parent_relpath, kind) " \
764251881Speter  "SELECT wc_id, local_relpath, parent_relpath, kind " \
765251881Speter  "FROM nodes_current " \
766251881Speter  "WHERE wc_id = ?1 " \
767251881Speter  "  AND parent_relpath = ?2 " \
768251881Speter  "  AND kind = 'file' " \
769251881Speter  ""
770251881Speter
771253734Speter#define STMT_INSERT_TARGET_DEPTH_IMMEDIATES 75
772253734Speter#define STMT_75_INFO {"STMT_INSERT_TARGET_DEPTH_IMMEDIATES", NULL}
773253734Speter#define STMT_75 \
774251881Speter  "INSERT INTO targets_list(wc_id, local_relpath, parent_relpath, kind) " \
775251881Speter  "SELECT wc_id, local_relpath, parent_relpath, kind " \
776251881Speter  "FROM nodes_current " \
777251881Speter  "WHERE wc_id = ?1 " \
778251881Speter  "  AND parent_relpath = ?2 " \
779251881Speter  ""
780251881Speter
781253734Speter#define STMT_INSERT_TARGET_DEPTH_INFINITY 76
782253734Speter#define STMT_76_INFO {"STMT_INSERT_TARGET_DEPTH_INFINITY", NULL}
783253734Speter#define STMT_76 \
784251881Speter  "INSERT INTO targets_list(wc_id, local_relpath, parent_relpath, kind) " \
785251881Speter  "SELECT wc_id, local_relpath, parent_relpath, kind " \
786251881Speter  "FROM nodes_current " \
787251881Speter  "WHERE wc_id = ?1 " \
788251881Speter  "  AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
789251881Speter  ""
790251881Speter
791253734Speter#define STMT_INSERT_TARGET_WITH_CHANGELIST 77
792253734Speter#define STMT_77_INFO {"STMT_INSERT_TARGET_WITH_CHANGELIST", NULL}
793253734Speter#define STMT_77 \
794251881Speter  "INSERT INTO targets_list(wc_id, local_relpath, parent_relpath, kind) " \
795251881Speter  "SELECT N.wc_id, N.local_relpath, N.parent_relpath, N.kind " \
796251881Speter  "  FROM actual_node AS A JOIN nodes_current AS N " \
797251881Speter  "    ON A.wc_id = N.wc_id AND A.local_relpath = N.local_relpath " \
798251881Speter  " WHERE N.wc_id = ?1 " \
799251881Speter  "   AND N.local_relpath = ?2 " \
800251881Speter  "   AND A.changelist = ?3 " \
801251881Speter  ""
802251881Speter
803253734Speter#define STMT_INSERT_TARGET_WITH_CHANGELIST_DEPTH_FILES 78
804253734Speter#define STMT_78_INFO {"STMT_INSERT_TARGET_WITH_CHANGELIST_DEPTH_FILES", NULL}
805253734Speter#define STMT_78 \
806251881Speter  "INSERT INTO targets_list(wc_id, local_relpath, parent_relpath, kind) " \
807251881Speter  "SELECT N.wc_id, N.local_relpath, N.parent_relpath, N.kind " \
808251881Speter  "  FROM actual_node AS A JOIN nodes_current AS N " \
809251881Speter  "    ON A.wc_id = N.wc_id AND A.local_relpath = N.local_relpath " \
810251881Speter  " WHERE N.wc_id = ?1 " \
811251881Speter  "   AND N.parent_relpath = ?2 " \
812251881Speter  "   AND kind = 'file' " \
813251881Speter  "   AND A.changelist = ?3 " \
814251881Speter  ""
815251881Speter
816253734Speter#define STMT_INSERT_TARGET_WITH_CHANGELIST_DEPTH_IMMEDIATES 79
817253734Speter#define STMT_79_INFO {"STMT_INSERT_TARGET_WITH_CHANGELIST_DEPTH_IMMEDIATES", NULL}
818253734Speter#define STMT_79 \
819251881Speter  "INSERT INTO targets_list(wc_id, local_relpath, parent_relpath, kind) " \
820251881Speter  "SELECT N.wc_id, N.local_relpath, N.parent_relpath, N.kind " \
821251881Speter  "  FROM actual_node AS A JOIN nodes_current AS N " \
822251881Speter  "    ON A.wc_id = N.wc_id AND A.local_relpath = N.local_relpath " \
823251881Speter  " WHERE N.wc_id = ?1 " \
824251881Speter  "   AND N.parent_relpath = ?2 " \
825251881Speter  "  AND A.changelist = ?3 " \
826251881Speter  ""
827251881Speter
828253734Speter#define STMT_INSERT_TARGET_WITH_CHANGELIST_DEPTH_INFINITY 80
829253734Speter#define STMT_80_INFO {"STMT_INSERT_TARGET_WITH_CHANGELIST_DEPTH_INFINITY", NULL}
830253734Speter#define STMT_80 \
831251881Speter  "INSERT INTO targets_list(wc_id, local_relpath, parent_relpath, kind) " \
832251881Speter  "SELECT N.wc_id, N.local_relpath, N.parent_relpath, N.kind " \
833251881Speter  "  FROM actual_node AS A JOIN nodes_current AS N " \
834251881Speter  "    ON A.wc_id = N.wc_id AND A.local_relpath = N.local_relpath " \
835251881Speter  " WHERE N.wc_id = ?1 " \
836251881Speter  "   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)) " \
837251881Speter  "   AND A.changelist = ?3 " \
838251881Speter  ""
839251881Speter
840253734Speter#define STMT_INSERT_ACTUAL_EMPTIES 81
841253734Speter#define STMT_81_INFO {"STMT_INSERT_ACTUAL_EMPTIES", NULL}
842253734Speter#define STMT_81 \
843251881Speter  "INSERT OR IGNORE INTO actual_node ( " \
844251881Speter  "     wc_id, local_relpath, parent_relpath) " \
845251881Speter  "SELECT wc_id, local_relpath, parent_relpath " \
846251881Speter  "FROM targets_list " \
847251881Speter  ""
848251881Speter
849253734Speter#define STMT_DELETE_ACTUAL_EMPTY 82
850253734Speter#define STMT_82_INFO {"STMT_DELETE_ACTUAL_EMPTY", NULL}
851253734Speter#define STMT_82 \
852251881Speter  "DELETE FROM actual_node " \
853251881Speter  "WHERE wc_id = ?1 AND local_relpath = ?2 " \
854251881Speter  "  AND properties IS NULL " \
855251881Speter  "  AND conflict_data IS NULL " \
856251881Speter  "  AND changelist IS NULL " \
857251881Speter  "  AND text_mod IS NULL " \
858251881Speter  "  AND older_checksum IS NULL " \
859251881Speter  "  AND right_checksum IS NULL " \
860251881Speter  "  AND left_checksum IS NULL " \
861251881Speter  ""
862251881Speter
863253734Speter#define STMT_DELETE_ACTUAL_EMPTIES 83
864253734Speter#define STMT_83_INFO {"STMT_DELETE_ACTUAL_EMPTIES", NULL}
865253734Speter#define STMT_83 \
866251881Speter  "DELETE FROM actual_node " \
867251881Speter  "WHERE wc_id = ?1 " \
868251881Speter  "  AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
869251881Speter  "  AND properties IS NULL " \
870251881Speter  "  AND conflict_data IS NULL " \
871251881Speter  "  AND changelist IS NULL " \
872251881Speter  "  AND text_mod IS NULL " \
873251881Speter  "  AND older_checksum IS NULL " \
874251881Speter  "  AND right_checksum IS NULL " \
875251881Speter  "  AND left_checksum IS NULL " \
876251881Speter  ""
877251881Speter
878253734Speter#define STMT_DELETE_BASE_NODE 84
879253734Speter#define STMT_84_INFO {"STMT_DELETE_BASE_NODE", NULL}
880253734Speter#define STMT_84 \
881251881Speter  "DELETE FROM nodes " \
882251881Speter  "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \
883251881Speter  ""
884251881Speter
885253734Speter#define STMT_DELETE_WORKING_NODE 85
886253734Speter#define STMT_85_INFO {"STMT_DELETE_WORKING_NODE", NULL}
887253734Speter#define STMT_85 \
888251881Speter  "DELETE FROM nodes " \
889251881Speter  "WHERE wc_id = ?1 AND local_relpath = ?2 " \
890251881Speter  "  AND op_depth = (SELECT MAX(op_depth) FROM nodes " \
891251881Speter  "                  WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth > 0) " \
892251881Speter  ""
893251881Speter
894253734Speter#define STMT_DELETE_LOWEST_WORKING_NODE 86
895253734Speter#define STMT_86_INFO {"STMT_DELETE_LOWEST_WORKING_NODE", NULL}
896253734Speter#define STMT_86 \
897251881Speter  "DELETE FROM nodes " \
898251881Speter  "WHERE wc_id = ?1 AND local_relpath = ?2 " \
899251881Speter  "  AND op_depth = (SELECT MIN(op_depth) FROM nodes " \
900251881Speter  "                  WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth > ?3) " \
901251881Speter  "  AND presence = 'base-deleted' " \
902251881Speter  ""
903251881Speter
904253734Speter#define STMT_DELETE_ALL_LAYERS 87
905253734Speter#define STMT_87_INFO {"STMT_DELETE_ALL_LAYERS", NULL}
906253734Speter#define STMT_87 \
907251881Speter  "DELETE FROM nodes " \
908251881Speter  "WHERE wc_id = ?1 AND local_relpath = ?2 " \
909251881Speter  ""
910251881Speter
911253734Speter#define STMT_DELETE_NODES_ABOVE_DEPTH_RECURSIVE 88
912253734Speter#define STMT_88_INFO {"STMT_DELETE_NODES_ABOVE_DEPTH_RECURSIVE", NULL}
913253734Speter#define STMT_88 \
914251881Speter  "DELETE FROM nodes " \
915251881Speter  "WHERE wc_id = ?1 " \
916251881Speter  "  AND (local_relpath = ?2 " \
917251881Speter  "       OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \
918251881Speter  "  AND op_depth >= ?3 " \
919251881Speter  ""
920251881Speter
921253734Speter#define STMT_DELETE_ACTUAL_NODE 89
922253734Speter#define STMT_89_INFO {"STMT_DELETE_ACTUAL_NODE", NULL}
923253734Speter#define STMT_89 \
924251881Speter  "DELETE FROM actual_node " \
925251881Speter  "WHERE wc_id = ?1 AND local_relpath = ?2 " \
926251881Speter  ""
927251881Speter
928253734Speter#define STMT_DELETE_ACTUAL_NODE_RECURSIVE 90
929253734Speter#define STMT_90_INFO {"STMT_DELETE_ACTUAL_NODE_RECURSIVE", NULL}
930253734Speter#define STMT_90 \
931251881Speter  "DELETE FROM actual_node " \
932251881Speter  "WHERE wc_id = ?1 " \
933251881Speter  "  AND (local_relpath = ?2 " \
934251881Speter  "       OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \
935251881Speter  ""
936251881Speter
937253734Speter#define STMT_DELETE_ACTUAL_NODE_LEAVING_CHANGELIST 91
938253734Speter#define STMT_91_INFO {"STMT_DELETE_ACTUAL_NODE_LEAVING_CHANGELIST", NULL}
939253734Speter#define STMT_91 \
940251881Speter  "DELETE FROM actual_node " \
941251881Speter  "WHERE wc_id = ?1 " \
942251881Speter  "  AND local_relpath = ?2 " \
943251881Speter  "  AND (changelist IS NULL " \
944251881Speter  "       OR NOT EXISTS (SELECT 1 FROM nodes_current c " \
945251881Speter  "                      WHERE c.wc_id = ?1 AND c.local_relpath = ?2 " \
946251881Speter  "                        AND c.kind = 'file')) " \
947251881Speter  ""
948251881Speter
949253734Speter#define STMT_DELETE_ACTUAL_NODE_LEAVING_CHANGELIST_RECURSIVE 92
950253734Speter#define STMT_92_INFO {"STMT_DELETE_ACTUAL_NODE_LEAVING_CHANGELIST_RECURSIVE", NULL}
951253734Speter#define STMT_92 \
952251881Speter  "DELETE FROM actual_node " \
953251881Speter  "WHERE wc_id = ?1 " \
954251881Speter  "  AND (local_relpath = ?2 " \
955251881Speter  "       OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \
956251881Speter  "  AND (changelist IS NULL " \
957251881Speter  "       OR NOT EXISTS (SELECT 1 FROM nodes_current c " \
958251881Speter  "                      WHERE c.wc_id = ?1 " \
959251881Speter  "                        AND c.local_relpath = actual_node.local_relpath " \
960251881Speter  "                        AND c.kind = 'file')) " \
961251881Speter  ""
962251881Speter
963253734Speter#define STMT_CLEAR_ACTUAL_NODE_LEAVING_CHANGELIST 93
964253734Speter#define STMT_93_INFO {"STMT_CLEAR_ACTUAL_NODE_LEAVING_CHANGELIST", NULL}
965253734Speter#define STMT_93 \
966251881Speter  "UPDATE actual_node " \
967251881Speter  "SET properties = NULL, " \
968251881Speter  "    text_mod = NULL, " \
969251881Speter  "    conflict_data = NULL, " \
970251881Speter  "    tree_conflict_data = NULL, " \
971251881Speter  "    older_checksum = NULL, " \
972251881Speter  "    left_checksum = NULL, " \
973251881Speter  "    right_checksum = NULL " \
974251881Speter  "WHERE wc_id = ?1 AND local_relpath = ?2 " \
975251881Speter  ""
976251881Speter
977253734Speter#define STMT_CLEAR_ACTUAL_NODE_LEAVING_CHANGELIST_RECURSIVE 94
978253734Speter#define STMT_94_INFO {"STMT_CLEAR_ACTUAL_NODE_LEAVING_CHANGELIST_RECURSIVE", NULL}
979253734Speter#define STMT_94 \
980251881Speter  "UPDATE actual_node " \
981251881Speter  "SET properties = NULL, " \
982251881Speter  "    text_mod = NULL, " \
983251881Speter  "    conflict_data = NULL, " \
984251881Speter  "    tree_conflict_data = NULL, " \
985251881Speter  "    older_checksum = NULL, " \
986251881Speter  "    left_checksum = NULL, " \
987251881Speter  "    right_checksum = NULL " \
988251881Speter  "WHERE wc_id = ?1 " \
989251881Speter  "  AND (local_relpath = ?2 " \
990251881Speter  "       OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \
991251881Speter  ""
992251881Speter
993253734Speter#define STMT_UPDATE_NODE_BASE_DEPTH 95
994253734Speter#define STMT_95_INFO {"STMT_UPDATE_NODE_BASE_DEPTH", NULL}
995253734Speter#define STMT_95 \
996251881Speter  "UPDATE nodes SET depth = ?3 " \
997251881Speter  "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \
998251881Speter  "  AND kind='dir' " \
999251881Speter  ""
1000251881Speter
1001253734Speter#define STMT_UPDATE_NODE_BASE_PRESENCE 96
1002253734Speter#define STMT_96_INFO {"STMT_UPDATE_NODE_BASE_PRESENCE", NULL}
1003253734Speter#define STMT_96 \
1004251881Speter  "UPDATE nodes SET presence = ?3 " \
1005251881Speter  "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \
1006251881Speter  ""
1007251881Speter
1008253734Speter#define STMT_UPDATE_BASE_NODE_PRESENCE_REVNUM_AND_REPOS_PATH 97
1009253734Speter#define STMT_97_INFO {"STMT_UPDATE_BASE_NODE_PRESENCE_REVNUM_AND_REPOS_PATH", NULL}
1010253734Speter#define STMT_97 \
1011251881Speter  "UPDATE nodes SET presence = ?3, revision = ?4, repos_path = ?5 " \
1012251881Speter  "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \
1013251881Speter  ""
1014251881Speter
1015253734Speter#define STMT_LOOK_FOR_WORK 98
1016253734Speter#define STMT_98_INFO {"STMT_LOOK_FOR_WORK", NULL}
1017253734Speter#define STMT_98 \
1018251881Speter  "SELECT id FROM work_queue LIMIT 1 " \
1019251881Speter  ""
1020251881Speter
1021253734Speter#define STMT_INSERT_WORK_ITEM 99
1022253734Speter#define STMT_99_INFO {"STMT_INSERT_WORK_ITEM", NULL}
1023253734Speter#define STMT_99 \
1024251881Speter  "INSERT INTO work_queue (work) VALUES (?1) " \
1025251881Speter  ""
1026251881Speter
1027253734Speter#define STMT_SELECT_WORK_ITEM 100
1028253734Speter#define STMT_100_INFO {"STMT_SELECT_WORK_ITEM", NULL}
1029253734Speter#define STMT_100 \
1030251881Speter  "SELECT id, work FROM work_queue ORDER BY id LIMIT 1 " \
1031251881Speter  ""
1032251881Speter
1033253734Speter#define STMT_DELETE_WORK_ITEM 101
1034253734Speter#define STMT_101_INFO {"STMT_DELETE_WORK_ITEM", NULL}
1035253734Speter#define STMT_101 \
1036251881Speter  "DELETE FROM work_queue WHERE id = ?1 " \
1037251881Speter  ""
1038251881Speter
1039253734Speter#define STMT_INSERT_OR_IGNORE_PRISTINE 102
1040253734Speter#define STMT_102_INFO {"STMT_INSERT_OR_IGNORE_PRISTINE", NULL}
1041253734Speter#define STMT_102 \
1042251881Speter  "INSERT OR IGNORE INTO pristine (checksum, md5_checksum, size, refcount) " \
1043251881Speter  "VALUES (?1, ?2, ?3, 0) " \
1044251881Speter  ""
1045251881Speter
1046253734Speter#define STMT_INSERT_PRISTINE 103
1047253734Speter#define STMT_103_INFO {"STMT_INSERT_PRISTINE", NULL}
1048253734Speter#define STMT_103 \
1049251881Speter  "INSERT INTO pristine (checksum, md5_checksum, size, refcount) " \
1050251881Speter  "VALUES (?1, ?2, ?3, 0) " \
1051251881Speter  ""
1052251881Speter
1053253734Speter#define STMT_SELECT_PRISTINE 104
1054253734Speter#define STMT_104_INFO {"STMT_SELECT_PRISTINE", NULL}
1055253734Speter#define STMT_104 \
1056251881Speter  "SELECT md5_checksum " \
1057251881Speter  "FROM pristine " \
1058251881Speter  "WHERE checksum = ?1 " \
1059251881Speter  ""
1060251881Speter
1061253734Speter#define STMT_SELECT_PRISTINE_SIZE 105
1062253734Speter#define STMT_105_INFO {"STMT_SELECT_PRISTINE_SIZE", NULL}
1063253734Speter#define STMT_105 \
1064251881Speter  "SELECT size " \
1065251881Speter  "FROM pristine " \
1066251881Speter  "WHERE checksum = ?1 LIMIT 1 " \
1067251881Speter  ""
1068251881Speter
1069253734Speter#define STMT_SELECT_PRISTINE_BY_MD5 106
1070253734Speter#define STMT_106_INFO {"STMT_SELECT_PRISTINE_BY_MD5", NULL}
1071253734Speter#define STMT_106 \
1072251881Speter  "SELECT checksum " \
1073251881Speter  "FROM pristine " \
1074251881Speter  "WHERE md5_checksum = ?1 " \
1075251881Speter  ""
1076251881Speter
1077253734Speter#define STMT_SELECT_UNREFERENCED_PRISTINES 107
1078253734Speter#define STMT_107_INFO {"STMT_SELECT_UNREFERENCED_PRISTINES", NULL}
1079253734Speter#define STMT_107 \
1080251881Speter  "SELECT checksum " \
1081251881Speter  "FROM pristine " \
1082251881Speter  "WHERE refcount = 0 " \
1083251881Speter  ""
1084251881Speter
1085253734Speter#define STMT_DELETE_PRISTINE_IF_UNREFERENCED 108
1086253734Speter#define STMT_108_INFO {"STMT_DELETE_PRISTINE_IF_UNREFERENCED", NULL}
1087253734Speter#define STMT_108 \
1088251881Speter  "DELETE FROM pristine " \
1089251881Speter  "WHERE checksum = ?1 AND refcount = 0 " \
1090251881Speter  ""
1091251881Speter
1092253734Speter#define STMT_SELECT_COPY_PRISTINES 109
1093253734Speter#define STMT_109_INFO {"STMT_SELECT_COPY_PRISTINES", NULL}
1094253734Speter#define STMT_109 \
1095251881Speter  "SELECT n.checksum, md5_checksum, size " \
1096251881Speter  "FROM nodes_current n " \
1097251881Speter  "LEFT JOIN pristine p ON n.checksum = p.checksum " \
1098251881Speter  "WHERE wc_id = ?1 " \
1099251881Speter  "  AND n.local_relpath = ?2 " \
1100251881Speter  "  AND n.checksum IS NOT NULL " \
1101251881Speter  "UNION ALL " \
1102251881Speter  "SELECT n.checksum, md5_checksum, size " \
1103251881Speter  "FROM nodes n " \
1104251881Speter  "LEFT JOIN pristine p ON n.checksum = p.checksum " \
1105251881Speter  "WHERE wc_id = ?1 " \
1106251881Speter  "  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)) " \
1107251881Speter  "  AND op_depth >= " \
1108251881Speter  "      (SELECT MAX(op_depth) FROM nodes WHERE wc_id = ?1 AND local_relpath = ?2) " \
1109251881Speter  "  AND n.checksum IS NOT NULL " \
1110251881Speter  ""
1111251881Speter
1112253734Speter#define STMT_VACUUM 110
1113253734Speter#define STMT_110_INFO {"STMT_VACUUM", NULL}
1114253734Speter#define STMT_110 \
1115251881Speter  "VACUUM " \
1116251881Speter  ""
1117251881Speter
1118253734Speter#define STMT_SELECT_CONFLICT_VICTIMS 111
1119253734Speter#define STMT_111_INFO {"STMT_SELECT_CONFLICT_VICTIMS", NULL}
1120253734Speter#define STMT_111 \
1121251881Speter  "SELECT local_relpath, conflict_data " \
1122251881Speter  "FROM actual_node " \
1123251881Speter  "WHERE wc_id = ?1 AND parent_relpath = ?2 AND " \
1124251881Speter  "  NOT (conflict_data IS NULL) " \
1125251881Speter  ""
1126251881Speter
1127253734Speter#define STMT_INSERT_WC_LOCK 112
1128253734Speter#define STMT_112_INFO {"STMT_INSERT_WC_LOCK", NULL}
1129253734Speter#define STMT_112 \
1130251881Speter  "INSERT INTO wc_lock (wc_id, local_dir_relpath, locked_levels) " \
1131251881Speter  "VALUES (?1, ?2, ?3) " \
1132251881Speter  ""
1133251881Speter
1134253734Speter#define STMT_SELECT_WC_LOCK 113
1135253734Speter#define STMT_113_INFO {"STMT_SELECT_WC_LOCK", NULL}
1136253734Speter#define STMT_113 \
1137251881Speter  "SELECT locked_levels FROM wc_lock " \
1138251881Speter  "WHERE wc_id = ?1 AND local_dir_relpath = ?2 " \
1139251881Speter  ""
1140251881Speter
1141253734Speter#define STMT_SELECT_ANCESTOR_WCLOCKS 114
1142253734Speter#define STMT_114_INFO {"STMT_SELECT_ANCESTOR_WCLOCKS", NULL}
1143253734Speter#define STMT_114 \
1144251881Speter  "SELECT local_dir_relpath, locked_levels FROM wc_lock " \
1145251881Speter  "WHERE wc_id = ?1 " \
1146251881Speter  "  AND ((local_dir_relpath >= ?3 AND local_dir_relpath <= ?2) " \
1147251881Speter  "       OR local_dir_relpath = '') " \
1148251881Speter  ""
1149251881Speter
1150253734Speter#define STMT_DELETE_WC_LOCK 115
1151253734Speter#define STMT_115_INFO {"STMT_DELETE_WC_LOCK", NULL}
1152253734Speter#define STMT_115 \
1153251881Speter  "DELETE FROM wc_lock " \
1154251881Speter  "WHERE wc_id = ?1 AND local_dir_relpath = ?2 " \
1155251881Speter  ""
1156251881Speter
1157253734Speter#define STMT_FIND_WC_LOCK 116
1158253734Speter#define STMT_116_INFO {"STMT_FIND_WC_LOCK", NULL}
1159253734Speter#define STMT_116 \
1160251881Speter  "SELECT local_dir_relpath FROM wc_lock " \
1161251881Speter  "WHERE wc_id = ?1 " \
1162251881Speter  "  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)) " \
1163251881Speter  ""
1164251881Speter
1165253734Speter#define STMT_DELETE_WC_LOCK_ORPHAN 117
1166253734Speter#define STMT_117_INFO {"STMT_DELETE_WC_LOCK_ORPHAN", NULL}
1167253734Speter#define STMT_117 \
1168251881Speter  "DELETE FROM wc_lock " \
1169251881Speter  "WHERE wc_id = ?1 AND local_dir_relpath = ?2 " \
1170251881Speter  "AND NOT EXISTS (SELECT 1 FROM nodes " \
1171251881Speter  "                 WHERE nodes.wc_id = ?1 " \
1172251881Speter  "                   AND nodes.local_relpath = wc_lock.local_dir_relpath) " \
1173251881Speter  ""
1174251881Speter
1175253734Speter#define STMT_DELETE_WC_LOCK_ORPHAN_RECURSIVE 118
1176253734Speter#define STMT_118_INFO {"STMT_DELETE_WC_LOCK_ORPHAN_RECURSIVE", NULL}
1177253734Speter#define STMT_118 \
1178251881Speter  "DELETE FROM wc_lock " \
1179251881Speter  "WHERE wc_id = ?1 " \
1180251881Speter  "  AND (local_dir_relpath = ?2 " \
1181251881Speter  "       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))) " \
1182251881Speter  "  AND NOT EXISTS (SELECT 1 FROM nodes " \
1183251881Speter  "                   WHERE nodes.wc_id = ?1 " \
1184251881Speter  "                     AND nodes.local_relpath = wc_lock.local_dir_relpath) " \
1185251881Speter  ""
1186251881Speter
1187253734Speter#define STMT_APPLY_CHANGES_TO_BASE_NODE 119
1188253734Speter#define STMT_119_INFO {"STMT_APPLY_CHANGES_TO_BASE_NODE", NULL}
1189253734Speter#define STMT_119 \
1190251881Speter  "INSERT OR REPLACE INTO nodes ( " \
1191251881Speter  "  wc_id, local_relpath, op_depth, parent_relpath, repos_id, repos_path, " \
1192251881Speter  "  revision, presence, depth, kind, changed_revision, changed_date, " \
1193251881Speter  "  changed_author, checksum, properties, dav_cache, symlink_target, " \
1194251881Speter  "  inherited_props, file_external ) " \
1195251881Speter  "VALUES (?1, ?2, 0, " \
1196251881Speter  "        ?3, ?4, ?5, ?6, ?7, ?8, ?9, ?10, ?11, ?12, ?13, ?14, ?15, ?16, ?17, " \
1197251881Speter  "        (SELECT file_external FROM nodes " \
1198251881Speter  "          WHERE wc_id = ?1 " \
1199251881Speter  "            AND local_relpath = ?2 " \
1200251881Speter  "            AND op_depth = 0)) " \
1201251881Speter  ""
1202251881Speter
1203253734Speter#define STMT_INSTALL_WORKING_NODE_FOR_DELETE 120
1204253734Speter#define STMT_120_INFO {"STMT_INSTALL_WORKING_NODE_FOR_DELETE", NULL}
1205253734Speter#define STMT_120 \
1206251881Speter  "INSERT OR REPLACE INTO nodes ( " \
1207251881Speter  "    wc_id, local_relpath, op_depth, " \
1208251881Speter  "    parent_relpath, presence, kind) " \
1209251881Speter  "VALUES(?1, ?2, ?3, ?4, 'base-deleted', ?5) " \
1210251881Speter  ""
1211251881Speter
1212253734Speter#define STMT_DELETE_NO_LOWER_LAYER 121
1213253734Speter#define STMT_121_INFO {"STMT_DELETE_NO_LOWER_LAYER", NULL}
1214253734Speter#define STMT_121 \
1215251881Speter  "DELETE FROM nodes " \
1216251881Speter  " WHERE wc_id = ?1 " \
1217251881Speter  "   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))) " \
1218251881Speter  "   AND op_depth = ?3 " \
1219251881Speter  "   AND NOT EXISTS (SELECT 1 FROM nodes n " \
1220251881Speter  "                    WHERE n.wc_id = ?1 " \
1221251881Speter  "                    AND n.local_relpath = nodes.local_relpath " \
1222251881Speter  "                    AND n.op_depth = ?4 " \
1223251881Speter  "                    AND n.presence IN ('normal', 'incomplete')) " \
1224251881Speter  ""
1225251881Speter
1226253734Speter#define STMT_REPLACE_WITH_BASE_DELETED 122
1227253734Speter#define STMT_122_INFO {"STMT_REPLACE_WITH_BASE_DELETED", NULL}
1228253734Speter#define STMT_122 \
1229251881Speter  "INSERT OR REPLACE INTO nodes (wc_id, local_relpath, op_depth, parent_relpath, " \
1230251881Speter  "                              kind, moved_to, presence) " \
1231251881Speter  "SELECT wc_id, local_relpath, op_depth, parent_relpath, " \
1232251881Speter  "       kind, moved_to, 'base-deleted' " \
1233251881Speter  "  FROM nodes " \
1234251881Speter  " WHERE wc_id = ?1 " \
1235251881Speter  "   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))) " \
1236251881Speter  "   AND op_depth = ?3 " \
1237251881Speter  ""
1238251881Speter
1239253734Speter#define STMT_INSERT_DELETE_FROM_NODE_RECURSIVE 123
1240253734Speter#define STMT_123_INFO {"STMT_INSERT_DELETE_FROM_NODE_RECURSIVE", NULL}
1241253734Speter#define STMT_123 \
1242251881Speter  "INSERT INTO nodes ( " \
1243251881Speter  "    wc_id, local_relpath, op_depth, parent_relpath, presence, kind) " \
1244251881Speter  "SELECT wc_id, local_relpath, ?4 , parent_relpath, 'base-deleted', " \
1245251881Speter  "       kind " \
1246251881Speter  "FROM nodes " \
1247251881Speter  "WHERE wc_id = ?1 " \
1248251881Speter  "  AND (local_relpath = ?2 " \
1249251881Speter  "       OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \
1250251881Speter  "  AND op_depth = ?3 " \
1251251881Speter  "  AND presence NOT IN ('base-deleted', 'not-present', 'excluded', 'server-excluded') " \
1252251881Speter  "  AND file_external IS NULL " \
1253251881Speter  ""
1254251881Speter
1255253734Speter#define STMT_INSERT_WORKING_NODE_FROM_BASE_COPY 124
1256253734Speter#define STMT_124_INFO {"STMT_INSERT_WORKING_NODE_FROM_BASE_COPY", NULL}
1257253734Speter#define STMT_124 \
1258251881Speter  "INSERT INTO nodes ( " \
1259251881Speter  "    wc_id, local_relpath, op_depth, parent_relpath, repos_id, repos_path, " \
1260251881Speter  "    revision, presence, depth, kind, changed_revision, changed_date, " \
1261251881Speter  "    changed_author, checksum, properties, translated_size, last_mod_time, " \
1262251881Speter  "    symlink_target ) " \
1263251881Speter  "SELECT wc_id, local_relpath, ?3 , parent_relpath, repos_id, " \
1264251881Speter  "    repos_path, revision, presence, depth, kind, changed_revision, " \
1265251881Speter  "    changed_date, changed_author, checksum, properties, translated_size, " \
1266251881Speter  "    last_mod_time, symlink_target " \
1267251881Speter  "FROM nodes " \
1268251881Speter  "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \
1269251881Speter  ""
1270251881Speter
1271253734Speter#define STMT_INSERT_DELETE_FROM_BASE 125
1272253734Speter#define STMT_125_INFO {"STMT_INSERT_DELETE_FROM_BASE", NULL}
1273253734Speter#define STMT_125 \
1274251881Speter  "INSERT INTO nodes ( " \
1275251881Speter  "    wc_id, local_relpath, op_depth, parent_relpath, presence, kind) " \
1276251881Speter  "SELECT wc_id, local_relpath, ?3 , parent_relpath, " \
1277251881Speter  "    'base-deleted', kind " \
1278251881Speter  "FROM nodes " \
1279251881Speter  "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \
1280251881Speter  ""
1281251881Speter
1282253734Speter#define STMT_UPDATE_OP_DEPTH_INCREASE_RECURSIVE 126
1283253734Speter#define STMT_126_INFO {"STMT_UPDATE_OP_DEPTH_INCREASE_RECURSIVE", NULL}
1284253734Speter#define STMT_126 \
1285251881Speter  "UPDATE nodes SET op_depth = ?3 + 1 " \
1286251881Speter  "WHERE wc_id = ?1 " \
1287251881Speter  " AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
1288251881Speter  " AND op_depth = ?3 " \
1289251881Speter  ""
1290251881Speter
1291253734Speter#define STMT_UPDATE_OP_DEPTH_RECURSIVE 127
1292253734Speter#define STMT_127_INFO {"STMT_UPDATE_OP_DEPTH_RECURSIVE", NULL}
1293253734Speter#define STMT_127 \
1294251881Speter  "UPDATE nodes SET op_depth = ?4, moved_here = NULL " \
1295251881Speter  "WHERE wc_id = ?1 " \
1296251881Speter  " 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))) " \
1297251881Speter  " AND op_depth = ?3 " \
1298251881Speter  ""
1299251881Speter
1300253734Speter#define STMT_DOES_NODE_EXIST 128
1301253734Speter#define STMT_128_INFO {"STMT_DOES_NODE_EXIST", NULL}
1302253734Speter#define STMT_128 \
1303251881Speter  "SELECT 1 FROM nodes WHERE wc_id = ?1 AND local_relpath = ?2 " \
1304251881Speter  "LIMIT 1 " \
1305251881Speter  ""
1306251881Speter
1307253734Speter#define STMT_HAS_SERVER_EXCLUDED_DESCENDANTS 129
1308253734Speter#define STMT_129_INFO {"STMT_HAS_SERVER_EXCLUDED_DESCENDANTS", NULL}
1309253734Speter#define STMT_129 \
1310251881Speter  "SELECT local_relpath FROM nodes " \
1311251881Speter  "WHERE wc_id = ?1 " \
1312251881Speter  "  AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
1313251881Speter  "  AND op_depth = 0 AND presence = 'server-excluded' " \
1314251881Speter  "LIMIT 1 " \
1315251881Speter  ""
1316251881Speter
1317253734Speter#define STMT_SELECT_ALL_EXCLUDED_DESCENDANTS 130
1318253734Speter#define STMT_130_INFO {"STMT_SELECT_ALL_EXCLUDED_DESCENDANTS", NULL}
1319253734Speter#define STMT_130 \
1320251881Speter  "SELECT local_relpath FROM nodes " \
1321251881Speter  "WHERE wc_id = ?1 " \
1322251881Speter  "  AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
1323251881Speter  "  AND op_depth = 0 " \
1324251881Speter  "  AND (presence = 'server-excluded' OR presence = 'excluded') " \
1325251881Speter  ""
1326251881Speter
1327253734Speter#define STMT_INSERT_WORKING_NODE_COPY_FROM 131
1328253734Speter#define STMT_131_INFO {"STMT_INSERT_WORKING_NODE_COPY_FROM", NULL}
1329253734Speter#define STMT_131 \
1330251881Speter  "INSERT OR REPLACE INTO nodes ( " \
1331251881Speter  "    wc_id, local_relpath, op_depth, parent_relpath, repos_id, " \
1332251881Speter  "    repos_path, revision, presence, depth, moved_here, kind, changed_revision, " \
1333251881Speter  "    changed_date, changed_author, checksum, properties, translated_size, " \
1334251881Speter  "    last_mod_time, symlink_target, moved_to ) " \
1335251881Speter  "SELECT wc_id, ?3 , ?4 , ?5 , " \
1336251881Speter  "    repos_id, repos_path, revision, ?6 , depth, " \
1337251881Speter  "    ?7, kind, changed_revision, changed_date, " \
1338251881Speter  "    changed_author, checksum, properties, translated_size, " \
1339251881Speter  "    last_mod_time, symlink_target, " \
1340251881Speter  "    (SELECT dst.moved_to FROM nodes AS dst " \
1341251881Speter  "                         WHERE dst.wc_id = ?1 " \
1342251881Speter  "                         AND dst.local_relpath = ?3 " \
1343251881Speter  "                         AND dst.op_depth = ?4) " \
1344251881Speter  "FROM nodes_current " \
1345251881Speter  "WHERE wc_id = ?1 AND local_relpath = ?2 " \
1346251881Speter  ""
1347251881Speter
1348253734Speter#define STMT_INSERT_WORKING_NODE_COPY_FROM_DEPTH 132
1349253734Speter#define STMT_132_INFO {"STMT_INSERT_WORKING_NODE_COPY_FROM_DEPTH", NULL}
1350253734Speter#define STMT_132 \
1351251881Speter  "INSERT OR REPLACE INTO nodes ( " \
1352251881Speter  "    wc_id, local_relpath, op_depth, parent_relpath, repos_id, " \
1353251881Speter  "    repos_path, revision, presence, depth, moved_here, kind, changed_revision, " \
1354251881Speter  "    changed_date, changed_author, checksum, properties, translated_size, " \
1355251881Speter  "    last_mod_time, symlink_target, moved_to ) " \
1356251881Speter  "SELECT wc_id, ?3 , ?4 , ?5 , " \
1357251881Speter  "    repos_id, repos_path, revision, ?6 , depth, " \
1358251881Speter  "    ?8 , kind, changed_revision, changed_date, " \
1359251881Speter  "    changed_author, checksum, properties, translated_size, " \
1360251881Speter  "    last_mod_time, symlink_target, " \
1361251881Speter  "    (SELECT dst.moved_to FROM nodes AS dst " \
1362251881Speter  "                         WHERE dst.wc_id = ?1 " \
1363251881Speter  "                         AND dst.local_relpath = ?3 " \
1364251881Speter  "                         AND dst.op_depth = ?4) " \
1365251881Speter  "FROM nodes " \
1366251881Speter  "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = ?7 " \
1367251881Speter  ""
1368251881Speter
1369253734Speter#define STMT_UPDATE_BASE_REVISION 133
1370253734Speter#define STMT_133_INFO {"STMT_UPDATE_BASE_REVISION", NULL}
1371253734Speter#define STMT_133 \
1372251881Speter  "UPDATE nodes SET revision = ?3 " \
1373251881Speter  "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \
1374251881Speter  ""
1375251881Speter
1376253734Speter#define STMT_UPDATE_BASE_REPOS 134
1377253734Speter#define STMT_134_INFO {"STMT_UPDATE_BASE_REPOS", NULL}
1378253734Speter#define STMT_134 \
1379251881Speter  "UPDATE nodes SET repos_id = ?3, repos_path = ?4 " \
1380251881Speter  "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0 " \
1381251881Speter  ""
1382251881Speter
1383253734Speter#define STMT_ACTUAL_HAS_CHILDREN 135
1384253734Speter#define STMT_135_INFO {"STMT_ACTUAL_HAS_CHILDREN", NULL}
1385253734Speter#define STMT_135 \
1386251881Speter  "SELECT 1 FROM actual_node " \
1387251881Speter  "WHERE wc_id = ?1 AND parent_relpath = ?2 " \
1388251881Speter  "LIMIT 1 " \
1389251881Speter  ""
1390251881Speter
1391253734Speter#define STMT_INSERT_EXTERNAL 136
1392253734Speter#define STMT_136_INFO {"STMT_INSERT_EXTERNAL", NULL}
1393253734Speter#define STMT_136 \
1394251881Speter  "INSERT OR REPLACE INTO externals ( " \
1395251881Speter  "    wc_id, local_relpath, parent_relpath, presence, kind, def_local_relpath, " \
1396251881Speter  "    repos_id, def_repos_relpath, def_operational_revision, def_revision) " \
1397251881Speter  "VALUES (?1, ?2, ?3, ?4, ?5, ?6, ?7, ?8, ?9, ?10) " \
1398251881Speter  ""
1399251881Speter
1400253734Speter#define STMT_SELECT_EXTERNAL_INFO 137
1401253734Speter#define STMT_137_INFO {"STMT_SELECT_EXTERNAL_INFO", NULL}
1402253734Speter#define STMT_137 \
1403251881Speter  "SELECT presence, kind, def_local_relpath, repos_id, " \
1404251881Speter  "    def_repos_relpath, def_operational_revision, def_revision " \
1405251881Speter  "FROM externals WHERE wc_id = ?1 AND local_relpath = ?2 " \
1406251881Speter  "LIMIT 1 " \
1407251881Speter  ""
1408251881Speter
1409253734Speter#define STMT_DELETE_FILE_EXTERNALS 138
1410253734Speter#define STMT_138_INFO {"STMT_DELETE_FILE_EXTERNALS", NULL}
1411253734Speter#define STMT_138 \
1412251881Speter  "DELETE FROM nodes " \
1413251881Speter  "WHERE wc_id = ?1 " \
1414251881Speter  "  AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
1415251881Speter  "  AND op_depth = 0 " \
1416251881Speter  "  AND file_external IS NOT NULL " \
1417251881Speter  ""
1418251881Speter
1419253734Speter#define STMT_DELETE_FILE_EXTERNAL_REGISTATIONS 139
1420253734Speter#define STMT_139_INFO {"STMT_DELETE_FILE_EXTERNAL_REGISTATIONS", NULL}
1421253734Speter#define STMT_139 \
1422251881Speter  "DELETE FROM externals " \
1423251881Speter  "WHERE wc_id = ?1 " \
1424251881Speter  "  AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
1425251881Speter  "  AND kind != 'dir' " \
1426251881Speter  ""
1427251881Speter
1428253734Speter#define STMT_DELETE_EXTERNAL_REGISTATIONS 140
1429253734Speter#define STMT_140_INFO {"STMT_DELETE_EXTERNAL_REGISTATIONS", NULL}
1430253734Speter#define STMT_140 \
1431251881Speter  "DELETE FROM externals " \
1432251881Speter  "WHERE wc_id = ?1 " \
1433251881Speter  "  AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
1434251881Speter  ""
1435251881Speter
1436253734Speter#define STMT_SELECT_COMMITTABLE_EXTERNALS_BELOW 141
1437253734Speter#define STMT_141_INFO {"STMT_SELECT_COMMITTABLE_EXTERNALS_BELOW", NULL}
1438253734Speter#define STMT_141 \
1439251881Speter  "SELECT local_relpath, kind, def_repos_relpath, " \
1440251881Speter  "  (SELECT root FROM repository AS r WHERE r.id = e.repos_id) " \
1441251881Speter  "FROM externals e " \
1442251881Speter  "WHERE wc_id = ?1 " \
1443251881Speter  "  AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
1444251881Speter  "  AND def_revision IS NULL " \
1445251881Speter  "  AND repos_id = (SELECT repos_id " \
1446251881Speter  "                  FROM nodes AS n " \
1447251881Speter  "                  WHERE n.wc_id = ?1 " \
1448251881Speter  "                    AND n.local_relpath = '' " \
1449251881Speter  "                    AND n.op_depth = 0) " \
1450251881Speter  "  AND ((kind='dir') " \
1451251881Speter  "       OR EXISTS (SELECT 1 FROM nodes " \
1452251881Speter  "                  WHERE nodes.wc_id = e.wc_id " \
1453251881Speter  "                  AND nodes.local_relpath = e.parent_relpath)) " \
1454251881Speter  ""
1455251881Speter
1456253734Speter#define STMT_SELECT_COMMITTABLE_EXTERNALS_IMMEDIATELY_BELOW 142
1457253734Speter#define STMT_142_INFO {"STMT_SELECT_COMMITTABLE_EXTERNALS_IMMEDIATELY_BELOW", NULL}
1458253734Speter#define STMT_142 \
1459251881Speter  "SELECT local_relpath, kind, def_repos_relpath, " \
1460251881Speter  "  (SELECT root FROM repository AS r WHERE r.id = e.repos_id) " \
1461251881Speter  "FROM externals e " \
1462251881Speter  "WHERE wc_id = ?1 " \
1463251881Speter  "  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)) " \
1464251881Speter  "  AND parent_relpath = ?2 " \
1465251881Speter  "  AND def_revision IS NULL " \
1466251881Speter  "  AND repos_id = (SELECT repos_id " \
1467251881Speter  "                    FROM nodes AS n " \
1468251881Speter  "                    WHERE n.wc_id = ?1 " \
1469251881Speter  "                      AND n.local_relpath = '' " \
1470251881Speter  "                      AND n.op_depth = 0) " \
1471251881Speter  "  AND ((kind='dir') " \
1472251881Speter  "       OR EXISTS (SELECT 1 FROM nodes " \
1473251881Speter  "                  WHERE nodes.wc_id = e.wc_id " \
1474251881Speter  "                  AND nodes.local_relpath = e.parent_relpath)) " \
1475251881Speter  ""
1476251881Speter
1477253734Speter#define STMT_SELECT_EXTERNALS_DEFINED 143
1478253734Speter#define STMT_143_INFO {"STMT_SELECT_EXTERNALS_DEFINED", NULL}
1479253734Speter#define STMT_143 \
1480251881Speter  "SELECT local_relpath, def_local_relpath " \
1481251881Speter  "FROM externals " \
1482251881Speter  "WHERE (wc_id = ?1 AND def_local_relpath = ?2) " \
1483251881Speter  "   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))) " \
1484251881Speter  ""
1485251881Speter
1486253734Speter#define STMT_DELETE_EXTERNAL 144
1487253734Speter#define STMT_144_INFO {"STMT_DELETE_EXTERNAL", NULL}
1488253734Speter#define STMT_144 \
1489251881Speter  "DELETE FROM externals " \
1490251881Speter  "WHERE wc_id = ?1 AND local_relpath = ?2 " \
1491251881Speter  ""
1492251881Speter
1493253734Speter#define STMT_SELECT_EXTERNAL_PROPERTIES 145
1494253734Speter#define STMT_145_INFO {"STMT_SELECT_EXTERNAL_PROPERTIES", NULL}
1495253734Speter#define STMT_145 \
1496251881Speter  "SELECT IFNULL((SELECT properties FROM actual_node a " \
1497251881Speter  "               WHERE a.wc_id = ?1 AND A.local_relpath = n.local_relpath), " \
1498251881Speter  "              properties), " \
1499251881Speter  "       local_relpath, depth " \
1500251881Speter  "FROM nodes_current n " \
1501251881Speter  "WHERE wc_id = ?1 AND local_relpath = ?2 " \
1502251881Speter  "  AND kind = 'dir' AND presence IN ('normal', 'incomplete') " \
1503251881Speter  "UNION ALL " \
1504251881Speter  "SELECT IFNULL((SELECT properties FROM actual_node a " \
1505251881Speter  "               WHERE a.wc_id = ?1 AND A.local_relpath = n.local_relpath), " \
1506251881Speter  "              properties), " \
1507251881Speter  "       local_relpath, depth " \
1508251881Speter  "FROM nodes_current n " \
1509251881Speter  "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)) " \
1510251881Speter  "  AND kind = 'dir' AND presence IN ('normal', 'incomplete') " \
1511251881Speter  ""
1512251881Speter
1513253734Speter#define STMT_SELECT_CURRENT_PROPS_RECURSIVE 146
1514253734Speter#define STMT_146_INFO {"STMT_SELECT_CURRENT_PROPS_RECURSIVE", NULL}
1515253734Speter#define STMT_146 \
1516251881Speter  "SELECT IFNULL((SELECT properties FROM actual_node a " \
1517251881Speter  "               WHERE a.wc_id = ?1 AND A.local_relpath = n.local_relpath), " \
1518251881Speter  "              properties), " \
1519251881Speter  "       local_relpath " \
1520251881Speter  "FROM nodes_current n " \
1521251881Speter  "WHERE (wc_id = ?1 AND local_relpath = ?2) " \
1522251881Speter  "   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))) " \
1523251881Speter  ""
1524251881Speter
1525253734Speter#define STMT_PRAGMA_LOCKING_MODE 147
1526253734Speter#define STMT_147_INFO {"STMT_PRAGMA_LOCKING_MODE", NULL}
1527253734Speter#define STMT_147 \
1528251881Speter  "PRAGMA locking_mode = exclusive " \
1529251881Speter  ""
1530251881Speter
1531253734Speter#define STMT_INSERT_ACTUAL_NODE 148
1532253734Speter#define STMT_148_INFO {"STMT_INSERT_ACTUAL_NODE", NULL}
1533253734Speter#define STMT_148 \
1534251881Speter  "INSERT OR REPLACE INTO actual_node ( " \
1535251881Speter  "  wc_id, local_relpath, parent_relpath, properties, changelist, conflict_data) " \
1536251881Speter  "VALUES (?1, ?2, ?3, ?4, ?5, ?6) " \
1537251881Speter  ""
1538251881Speter
1539253734Speter#define STMT_UPDATE_ACTUAL_CONFLICT_DATA 149
1540253734Speter#define STMT_149_INFO {"STMT_UPDATE_ACTUAL_CONFLICT_DATA", NULL}
1541253734Speter#define STMT_149 \
1542251881Speter  "UPDATE actual_node SET conflict_data = ?3 " \
1543251881Speter  "WHERE wc_id = ?1 AND local_relpath = ?2 " \
1544251881Speter  ""
1545251881Speter
1546253734Speter#define STMT_INSERT_ACTUAL_CONFLICT_DATA 150
1547253734Speter#define STMT_150_INFO {"STMT_INSERT_ACTUAL_CONFLICT_DATA", NULL}
1548253734Speter#define STMT_150 \
1549251881Speter  "INSERT INTO actual_node (wc_id, local_relpath, conflict_data, parent_relpath) " \
1550251881Speter  "VALUES (?1, ?2, ?3, ?4) " \
1551251881Speter  ""
1552251881Speter
1553253734Speter#define STMT_SELECT_ALL_FILES 151
1554253734Speter#define STMT_151_INFO {"STMT_SELECT_ALL_FILES", NULL}
1555253734Speter#define STMT_151 \
1556251881Speter  "SELECT local_relpath FROM nodes_current " \
1557251881Speter  "WHERE wc_id = ?1 AND parent_relpath = ?2 AND kind = 'file' " \
1558251881Speter  ""
1559251881Speter
1560253734Speter#define STMT_UPDATE_NODE_PROPS 152
1561253734Speter#define STMT_152_INFO {"STMT_UPDATE_NODE_PROPS", NULL}
1562253734Speter#define STMT_152 \
1563251881Speter  "UPDATE nodes SET properties = ?4 " \
1564251881Speter  "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = ?3 " \
1565251881Speter  ""
1566251881Speter
1567253734Speter#define STMT_PRAGMA_TABLE_INFO_NODES 153
1568253734Speter#define STMT_153_INFO {"STMT_PRAGMA_TABLE_INFO_NODES", NULL}
1569253734Speter#define STMT_153 \
1570251881Speter  "PRAGMA table_info(\"NODES\") " \
1571251881Speter  ""
1572251881Speter
1573253734Speter#define STMT_CREATE_TARGET_PROP_CACHE 154
1574253734Speter#define STMT_154_INFO {"STMT_CREATE_TARGET_PROP_CACHE", NULL}
1575253734Speter#define STMT_154 \
1576251881Speter  "DROP TABLE IF EXISTS target_prop_cache; " \
1577251881Speter  "CREATE TEMPORARY TABLE target_prop_cache ( " \
1578251881Speter  "  local_relpath TEXT NOT NULL PRIMARY KEY, " \
1579251881Speter  "  kind TEXT NOT NULL, " \
1580251881Speter  "  properties BLOB " \
1581251881Speter  "); " \
1582251881Speter  ""
1583251881Speter
1584253734Speter#define STMT_CACHE_TARGET_PROPS 155
1585253734Speter#define STMT_155_INFO {"STMT_CACHE_TARGET_PROPS", NULL}
1586253734Speter#define STMT_155 \
1587251881Speter  "INSERT INTO target_prop_cache(local_relpath, kind, properties) " \
1588251881Speter  " SELECT n.local_relpath, n.kind, " \
1589251881Speter  "        IFNULL((SELECT properties FROM actual_node AS a " \
1590251881Speter  "                 WHERE a.wc_id = n.wc_id " \
1591251881Speter  "                   AND a.local_relpath = n.local_relpath), " \
1592251881Speter  "               n.properties) " \
1593251881Speter  "   FROM targets_list AS t " \
1594251881Speter  "   JOIN nodes AS n " \
1595251881Speter  "     ON n.wc_id = ?1 " \
1596251881Speter  "    AND n.local_relpath = t.local_relpath " \
1597251881Speter  "    AND n.op_depth = (SELECT MAX(op_depth) FROM nodes AS n3 " \
1598251881Speter  "                      WHERE n3.wc_id = ?1 " \
1599251881Speter  "                        AND n3.local_relpath = t.local_relpath) " \
1600251881Speter  "  WHERE t.wc_id = ?1 " \
1601251881Speter  "    AND (presence='normal' OR presence='incomplete') " \
1602251881Speter  "  ORDER BY t.local_relpath " \
1603251881Speter  ""
1604251881Speter
1605253734Speter#define STMT_CACHE_TARGET_PRISTINE_PROPS 156
1606253734Speter#define STMT_156_INFO {"STMT_CACHE_TARGET_PRISTINE_PROPS", NULL}
1607253734Speter#define STMT_156 \
1608251881Speter  "INSERT INTO target_prop_cache(local_relpath, kind, properties) " \
1609251881Speter  " SELECT n.local_relpath, n.kind, " \
1610251881Speter  "        CASE n.presence " \
1611251881Speter  "          WHEN 'base-deleted' " \
1612251881Speter  "          THEN (SELECT properties FROM nodes AS p " \
1613251881Speter  "                 WHERE p.wc_id = n.wc_id " \
1614251881Speter  "                   AND p.local_relpath = n.local_relpath " \
1615251881Speter  "                   AND p.op_depth < n.op_depth " \
1616251881Speter  "                 ORDER BY p.op_depth DESC ) " \
1617251881Speter  "          ELSE properties END " \
1618251881Speter  "  FROM targets_list AS t " \
1619251881Speter  "  JOIN nodes AS n " \
1620251881Speter  "    ON n.wc_id = ?1 " \
1621251881Speter  "   AND n.local_relpath = t.local_relpath " \
1622251881Speter  "   AND n.op_depth = (SELECT MAX(op_depth) FROM nodes AS n3 " \
1623251881Speter  "                     WHERE n3.wc_id = ?1 " \
1624251881Speter  "                       AND n3.local_relpath = t.local_relpath) " \
1625251881Speter  "  WHERE t.wc_id = ?1 " \
1626251881Speter  "    AND (presence = 'normal' " \
1627251881Speter  "         OR presence = 'incomplete' " \
1628251881Speter  "         OR presence = 'base-deleted') " \
1629251881Speter  "  ORDER BY t.local_relpath " \
1630251881Speter  ""
1631251881Speter
1632253734Speter#define STMT_SELECT_ALL_TARGET_PROP_CACHE 157
1633253734Speter#define STMT_157_INFO {"STMT_SELECT_ALL_TARGET_PROP_CACHE", NULL}
1634253734Speter#define STMT_157 \
1635251881Speter  "SELECT local_relpath, properties FROM target_prop_cache " \
1636251881Speter  "ORDER BY local_relpath " \
1637251881Speter  ""
1638251881Speter
1639253734Speter#define STMT_DROP_TARGET_PROP_CACHE 158
1640253734Speter#define STMT_158_INFO {"STMT_DROP_TARGET_PROP_CACHE", NULL}
1641253734Speter#define STMT_158 \
1642251881Speter  "DROP TABLE target_prop_cache; " \
1643251881Speter  ""
1644251881Speter
1645253734Speter#define STMT_CREATE_REVERT_LIST 159
1646253734Speter#define STMT_159_INFO {"STMT_CREATE_REVERT_LIST", NULL}
1647253734Speter#define STMT_159 \
1648251881Speter  "DROP TABLE IF EXISTS revert_list; " \
1649251881Speter  "CREATE TEMPORARY TABLE revert_list ( " \
1650251881Speter  "   local_relpath TEXT NOT NULL, " \
1651251881Speter  "   actual INTEGER NOT NULL, " \
1652251881Speter  "   conflict_data BLOB, " \
1653251881Speter  "   notify INTEGER, " \
1654251881Speter  "   op_depth INTEGER, " \
1655251881Speter  "   repos_id INTEGER, " \
1656251881Speter  "   kind TEXT, " \
1657251881Speter  "   PRIMARY KEY (local_relpath, actual) " \
1658251881Speter  "   ); " \
1659251881Speter  "DROP TRIGGER IF EXISTS   trigger_revert_list_nodes; " \
1660251881Speter  "CREATE TEMPORARY TRIGGER trigger_revert_list_nodes " \
1661251881Speter  "BEFORE DELETE ON nodes " \
1662251881Speter  "BEGIN " \
1663251881Speter  "   INSERT OR REPLACE INTO revert_list(local_relpath, actual, op_depth, " \
1664251881Speter  "                                      repos_id, kind) " \
1665251881Speter  "   SELECT OLD.local_relpath, 0, OLD.op_depth, OLD.repos_id, OLD.kind; " \
1666251881Speter  "END; " \
1667251881Speter  "DROP TRIGGER IF EXISTS   trigger_revert_list_actual_delete; " \
1668251881Speter  "CREATE TEMPORARY TRIGGER trigger_revert_list_actual_delete " \
1669251881Speter  "BEFORE DELETE ON actual_node " \
1670251881Speter  "BEGIN " \
1671251881Speter  "   INSERT OR REPLACE INTO revert_list(local_relpath, actual, conflict_data, " \
1672251881Speter  "                                      notify) " \
1673251881Speter  "   SELECT OLD.local_relpath, 1, OLD.conflict_data, " \
1674251881Speter  "          CASE " \
1675251881Speter  "            WHEN OLD.properties IS NOT NULL " \
1676251881Speter  "            THEN 1 " \
1677251881Speter  "            WHEN NOT EXISTS(SELECT 1 FROM NODES n " \
1678251881Speter  "                            WHERE n.wc_id = OLD.wc_id " \
1679251881Speter  "                              AND n.local_relpath = OLD.local_relpath) " \
1680251881Speter  "            THEN 1 " \
1681251881Speter  "            ELSE NULL " \
1682251881Speter  "          END; " \
1683251881Speter  "END; " \
1684251881Speter  "DROP TRIGGER IF EXISTS   trigger_revert_list_actual_update; " \
1685251881Speter  "CREATE TEMPORARY TRIGGER trigger_revert_list_actual_update " \
1686251881Speter  "BEFORE UPDATE ON actual_node " \
1687251881Speter  "BEGIN " \
1688251881Speter  "   INSERT OR REPLACE INTO revert_list(local_relpath, actual, conflict_data, " \
1689251881Speter  "                                      notify) " \
1690251881Speter  "   SELECT OLD.local_relpath, 1, OLD.conflict_data, " \
1691251881Speter  "          CASE " \
1692251881Speter  "            WHEN OLD.properties IS NOT NULL " \
1693251881Speter  "            THEN 1 " \
1694251881Speter  "            WHEN NOT EXISTS(SELECT 1 FROM NODES n " \
1695251881Speter  "                            WHERE n.wc_id = OLD.wc_id " \
1696251881Speter  "                              AND n.local_relpath = OLD.local_relpath) " \
1697251881Speter  "            THEN 1 " \
1698251881Speter  "            ELSE NULL " \
1699251881Speter  "          END; " \
1700251881Speter  "END " \
1701251881Speter  ""
1702251881Speter
1703253734Speter#define STMT_DROP_REVERT_LIST_TRIGGERS 160
1704253734Speter#define STMT_160_INFO {"STMT_DROP_REVERT_LIST_TRIGGERS", NULL}
1705253734Speter#define STMT_160 \
1706251881Speter  "DROP TRIGGER trigger_revert_list_nodes; " \
1707251881Speter  "DROP TRIGGER trigger_revert_list_actual_delete; " \
1708251881Speter  "DROP TRIGGER trigger_revert_list_actual_update " \
1709251881Speter  ""
1710251881Speter
1711253734Speter#define STMT_SELECT_REVERT_LIST 161
1712253734Speter#define STMT_161_INFO {"STMT_SELECT_REVERT_LIST", NULL}
1713253734Speter#define STMT_161 \
1714251881Speter  "SELECT actual, notify, kind, op_depth, repos_id, conflict_data " \
1715251881Speter  "FROM revert_list " \
1716251881Speter  "WHERE local_relpath = ?1 " \
1717251881Speter  "ORDER BY actual DESC " \
1718251881Speter  ""
1719251881Speter
1720253734Speter#define STMT_SELECT_REVERT_LIST_COPIED_CHILDREN 162
1721253734Speter#define STMT_162_INFO {"STMT_SELECT_REVERT_LIST_COPIED_CHILDREN", NULL}
1722253734Speter#define STMT_162 \
1723251881Speter  "SELECT local_relpath, kind " \
1724251881Speter  "FROM revert_list " \
1725251881Speter  "WHERE (((local_relpath) > (CASE (?1) WHEN '' THEN '' ELSE (?1) || '/' END)) AND ((local_relpath) < CASE (?1) WHEN '' THEN X'FFFF' ELSE (?1) || '0' END)) " \
1726251881Speter  "  AND op_depth >= ?2 " \
1727251881Speter  "  AND repos_id IS NOT NULL " \
1728251881Speter  "ORDER BY local_relpath " \
1729251881Speter  ""
1730251881Speter
1731253734Speter#define STMT_DELETE_REVERT_LIST 163
1732253734Speter#define STMT_163_INFO {"STMT_DELETE_REVERT_LIST", NULL}
1733253734Speter#define STMT_163 \
1734251881Speter  "DELETE FROM revert_list WHERE local_relpath = ?1 " \
1735251881Speter  ""
1736251881Speter
1737253734Speter#define STMT_SELECT_REVERT_LIST_RECURSIVE 164
1738253734Speter#define STMT_164_INFO {"STMT_SELECT_REVERT_LIST_RECURSIVE", NULL}
1739253734Speter#define STMT_164 \
1740251881Speter  "SELECT DISTINCT local_relpath " \
1741251881Speter  "FROM revert_list " \
1742251881Speter  "WHERE (local_relpath = ?1 " \
1743251881Speter  "       OR (((local_relpath) > (CASE (?1) WHEN '' THEN '' ELSE (?1) || '/' END)) AND ((local_relpath) < CASE (?1) WHEN '' THEN X'FFFF' ELSE (?1) || '0' END))) " \
1744251881Speter  "  AND (notify OR actual = 0) " \
1745251881Speter  "ORDER BY local_relpath " \
1746251881Speter  ""
1747251881Speter
1748253734Speter#define STMT_DELETE_REVERT_LIST_RECURSIVE 165
1749253734Speter#define STMT_165_INFO {"STMT_DELETE_REVERT_LIST_RECURSIVE", NULL}
1750253734Speter#define STMT_165 \
1751251881Speter  "DELETE FROM revert_list " \
1752251881Speter  "WHERE (local_relpath = ?1 " \
1753251881Speter  "       OR (((local_relpath) > (CASE (?1) WHEN '' THEN '' ELSE (?1) || '/' END)) AND ((local_relpath) < CASE (?1) WHEN '' THEN X'FFFF' ELSE (?1) || '0' END))) " \
1754251881Speter  ""
1755251881Speter
1756253734Speter#define STMT_DROP_REVERT_LIST 166
1757253734Speter#define STMT_166_INFO {"STMT_DROP_REVERT_LIST", NULL}
1758253734Speter#define STMT_166 \
1759251881Speter  "DROP TABLE IF EXISTS revert_list " \
1760251881Speter  ""
1761251881Speter
1762253734Speter#define STMT_CREATE_DELETE_LIST 167
1763253734Speter#define STMT_167_INFO {"STMT_CREATE_DELETE_LIST", NULL}
1764253734Speter#define STMT_167 \
1765251881Speter  "DROP TABLE IF EXISTS delete_list; " \
1766251881Speter  "CREATE TEMPORARY TABLE delete_list ( " \
1767251881Speter  "   local_relpath TEXT PRIMARY KEY NOT NULL UNIQUE " \
1768251881Speter  "   ) " \
1769251881Speter  ""
1770251881Speter
1771253734Speter#define STMT_INSERT_DELETE_LIST 168
1772253734Speter#define STMT_168_INFO {"STMT_INSERT_DELETE_LIST", NULL}
1773253734Speter#define STMT_168 \
1774251881Speter  "INSERT INTO delete_list(local_relpath) " \
1775251881Speter  "SELECT local_relpath FROM nodes AS n " \
1776251881Speter  "WHERE wc_id = ?1 " \
1777251881Speter  "  AND (local_relpath = ?2 " \
1778251881Speter  "       OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \
1779251881Speter  "  AND op_depth >= ?3 " \
1780251881Speter  "  AND op_depth = (SELECT MAX(s.op_depth) FROM nodes AS s " \
1781251881Speter  "                  WHERE s.wc_id = ?1 " \
1782251881Speter  "                    AND s.local_relpath = n.local_relpath) " \
1783251881Speter  "  AND presence NOT IN ('base-deleted', 'not-present', 'excluded', 'server-excluded') " \
1784251881Speter  "  AND file_external IS NULL " \
1785251881Speter  ""
1786251881Speter
1787253734Speter#define STMT_SELECT_DELETE_LIST 169
1788253734Speter#define STMT_169_INFO {"STMT_SELECT_DELETE_LIST", NULL}
1789253734Speter#define STMT_169 \
1790251881Speter  "SELECT local_relpath FROM delete_list " \
1791251881Speter  "ORDER BY local_relpath " \
1792251881Speter  ""
1793251881Speter
1794253734Speter#define STMT_FINALIZE_DELETE 170
1795253734Speter#define STMT_170_INFO {"STMT_FINALIZE_DELETE", NULL}
1796253734Speter#define STMT_170 \
1797251881Speter  "DROP TABLE IF EXISTS delete_list " \
1798251881Speter  ""
1799251881Speter
1800253734Speter#define STMT_CREATE_UPDATE_MOVE_LIST 171
1801253734Speter#define STMT_171_INFO {"STMT_CREATE_UPDATE_MOVE_LIST", NULL}
1802253734Speter#define STMT_171 \
1803251881Speter  "DROP TABLE IF EXISTS update_move_list; " \
1804251881Speter  "CREATE TEMPORARY TABLE update_move_list ( " \
1805251881Speter  "  local_relpath TEXT PRIMARY KEY NOT NULL UNIQUE, " \
1806251881Speter  "  action INTEGER NOT NULL, " \
1807251881Speter  "  kind  INTEGER NOT NULL, " \
1808251881Speter  "  content_state INTEGER NOT NULL, " \
1809251881Speter  "  prop_state  INTEGER NOT NULL " \
1810251881Speter  "  ) " \
1811251881Speter  ""
1812251881Speter
1813253734Speter#define STMT_INSERT_UPDATE_MOVE_LIST 172
1814253734Speter#define STMT_172_INFO {"STMT_INSERT_UPDATE_MOVE_LIST", NULL}
1815253734Speter#define STMT_172 \
1816251881Speter  "INSERT INTO update_move_list(local_relpath, action, kind, content_state, " \
1817251881Speter  "  prop_state) " \
1818251881Speter  "VALUES (?1, ?2, ?3, ?4, ?5) " \
1819251881Speter  ""
1820251881Speter
1821253734Speter#define STMT_SELECT_UPDATE_MOVE_LIST 173
1822253734Speter#define STMT_173_INFO {"STMT_SELECT_UPDATE_MOVE_LIST", NULL}
1823253734Speter#define STMT_173 \
1824251881Speter  "SELECT local_relpath, action, kind, content_state, prop_state " \
1825251881Speter  "FROM update_move_list " \
1826251881Speter  "ORDER BY local_relpath " \
1827251881Speter  ""
1828251881Speter
1829253734Speter#define STMT_FINALIZE_UPDATE_MOVE 174
1830253734Speter#define STMT_174_INFO {"STMT_FINALIZE_UPDATE_MOVE", NULL}
1831253734Speter#define STMT_174 \
1832251881Speter  "DROP TABLE IF EXISTS update_move_list " \
1833251881Speter  ""
1834251881Speter
1835253734Speter#define STMT_SELECT_MIN_MAX_REVISIONS 175
1836253734Speter#define STMT_175_INFO {"STMT_SELECT_MIN_MAX_REVISIONS", NULL}
1837253734Speter#define STMT_175 \
1838251881Speter  "SELECT MIN(revision), MAX(revision), " \
1839251881Speter  "       MIN(changed_revision), MAX(changed_revision) FROM nodes " \
1840251881Speter  "  WHERE wc_id = ?1 " \
1841251881Speter  "    AND (local_relpath = ?2 " \
1842251881Speter  "         OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \
1843251881Speter  "    AND presence IN ('normal', 'incomplete') " \
1844251881Speter  "    AND file_external IS NULL " \
1845251881Speter  "    AND op_depth = 0 " \
1846251881Speter  ""
1847251881Speter
1848253734Speter#define STMT_HAS_SPARSE_NODES 176
1849253734Speter#define STMT_176_INFO {"STMT_HAS_SPARSE_NODES", NULL}
1850253734Speter#define STMT_176 \
1851251881Speter  "SELECT 1 FROM nodes " \
1852251881Speter  "WHERE wc_id = ?1 " \
1853251881Speter  "  AND (local_relpath = ?2 " \
1854251881Speter  "       OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \
1855251881Speter  "  AND op_depth = 0 " \
1856251881Speter  "  AND (presence IN ('server-excluded', 'excluded') " \
1857251881Speter  "        OR depth NOT IN ('infinity', 'unknown')) " \
1858251881Speter  "  AND file_external IS NULL " \
1859251881Speter  "LIMIT 1 " \
1860251881Speter  ""
1861251881Speter
1862253734Speter#define STMT_SUBTREE_HAS_TREE_MODIFICATIONS 177
1863253734Speter#define STMT_177_INFO {"STMT_SUBTREE_HAS_TREE_MODIFICATIONS", NULL}
1864253734Speter#define STMT_177 \
1865251881Speter  "SELECT 1 FROM nodes " \
1866251881Speter  "WHERE wc_id = ?1 " \
1867251881Speter  "  AND (local_relpath = ?2 " \
1868251881Speter  "       OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \
1869251881Speter  "  AND op_depth > 0 " \
1870251881Speter  "LIMIT 1 " \
1871251881Speter  ""
1872251881Speter
1873253734Speter#define STMT_SUBTREE_HAS_PROP_MODIFICATIONS 178
1874253734Speter#define STMT_178_INFO {"STMT_SUBTREE_HAS_PROP_MODIFICATIONS", NULL}
1875253734Speter#define STMT_178 \
1876251881Speter  "SELECT 1 FROM actual_node " \
1877251881Speter  "WHERE wc_id = ?1 " \
1878251881Speter  "  AND (local_relpath = ?2 " \
1879251881Speter  "       OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \
1880251881Speter  "  AND properties IS NOT NULL " \
1881251881Speter  "LIMIT 1 " \
1882251881Speter  ""
1883251881Speter
1884253734Speter#define STMT_HAS_SWITCHED 179
1885253734Speter#define STMT_179_INFO {"STMT_HAS_SWITCHED", NULL}
1886253734Speter#define STMT_179 \
1887251881Speter  "SELECT 1 " \
1888251881Speter  "FROM nodes " \
1889251881Speter  "WHERE wc_id = ?1 " \
1890251881Speter  "  AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
1891251881Speter  "  AND op_depth = 0 " \
1892251881Speter  "  AND file_external IS NULL " \
1893251881Speter  "  AND presence IN ('normal', 'incomplete') " \
1894251881Speter  "  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) " \
1895251881Speter  "LIMIT 1 " \
1896251881Speter  ""
1897251881Speter
1898253734Speter#define STMT_SELECT_BASE_FILES_RECURSIVE 180
1899253734Speter#define STMT_180_INFO {"STMT_SELECT_BASE_FILES_RECURSIVE", NULL}
1900253734Speter#define STMT_180 \
1901251881Speter  "SELECT local_relpath, translated_size, last_mod_time FROM nodes AS n " \
1902251881Speter  "WHERE wc_id = ?1 " \
1903251881Speter  "  AND (local_relpath = ?2 " \
1904251881Speter  "       OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \
1905251881Speter  "  AND op_depth = 0 " \
1906251881Speter  "  AND kind='file' " \
1907251881Speter  "  AND presence='normal' " \
1908251881Speter  "  AND file_external IS NULL " \
1909251881Speter  ""
1910251881Speter
1911253734Speter#define STMT_SELECT_MOVED_FROM_RELPATH 181
1912253734Speter#define STMT_181_INFO {"STMT_SELECT_MOVED_FROM_RELPATH", NULL}
1913253734Speter#define STMT_181 \
1914251881Speter  "SELECT local_relpath, op_depth FROM nodes " \
1915251881Speter  "WHERE wc_id = ?1 AND moved_to = ?2 AND op_depth > 0 " \
1916251881Speter  ""
1917251881Speter
1918253734Speter#define STMT_UPDATE_MOVED_TO_RELPATH 182
1919253734Speter#define STMT_182_INFO {"STMT_UPDATE_MOVED_TO_RELPATH", NULL}
1920253734Speter#define STMT_182 \
1921251881Speter  "UPDATE nodes SET moved_to = ?4 " \
1922251881Speter  "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = ?3 " \
1923251881Speter  ""
1924251881Speter
1925253734Speter#define STMT_CLEAR_MOVED_TO_RELPATH 183
1926253734Speter#define STMT_183_INFO {"STMT_CLEAR_MOVED_TO_RELPATH", NULL}
1927253734Speter#define STMT_183 \
1928251881Speter  "UPDATE nodes SET moved_to = NULL " \
1929251881Speter  "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth = ?3 " \
1930251881Speter  ""
1931251881Speter
1932253734Speter#define STMT_CLEAR_MOVED_HERE_RECURSIVE 184
1933253734Speter#define STMT_184_INFO {"STMT_CLEAR_MOVED_HERE_RECURSIVE", NULL}
1934253734Speter#define STMT_184 \
1935251881Speter  "UPDATE nodes SET moved_here = NULL " \
1936251881Speter  "WHERE wc_id = ?1 " \
1937251881Speter  " 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))) " \
1938251881Speter  " AND op_depth = ?3 " \
1939251881Speter  ""
1940251881Speter
1941253734Speter#define STMT_SELECT_MOVED_HERE_CHILDREN 185
1942253734Speter#define STMT_185_INFO {"STMT_SELECT_MOVED_HERE_CHILDREN", NULL}
1943253734Speter#define STMT_185 \
1944251881Speter  "SELECT moved_to, local_relpath FROM nodes " \
1945251881Speter  "WHERE wc_id = ?1 AND op_depth > 0 " \
1946251881Speter  "  AND (((moved_to) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((moved_to) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
1947251881Speter  ""
1948251881Speter
1949253734Speter#define STMT_SELECT_MOVED_FOR_DELETE 186
1950253734Speter#define STMT_186_INFO {"STMT_SELECT_MOVED_FOR_DELETE", NULL}
1951253734Speter#define STMT_186 \
1952251881Speter  "SELECT local_relpath, moved_to, op_depth FROM nodes " \
1953251881Speter  "WHERE wc_id = ?1 " \
1954251881Speter  "  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))) " \
1955251881Speter  "  AND moved_to IS NOT NULL " \
1956251881Speter  "  AND op_depth >= (SELECT MAX(op_depth) FROM nodes o " \
1957251881Speter  "                    WHERE o.wc_id = ?1 " \
1958251881Speter  "                      AND o.local_relpath = ?2) " \
1959251881Speter  ""
1960251881Speter
1961253734Speter#define STMT_UPDATE_MOVED_TO_DESCENDANTS 187
1962253734Speter#define STMT_187_INFO {"STMT_UPDATE_MOVED_TO_DESCENDANTS", NULL}
1963253734Speter#define STMT_187 \
1964251881Speter  "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) " \
1965251881Speter  " WHERE wc_id = ?1 " \
1966251881Speter  "   AND (((moved_to) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((moved_to) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
1967251881Speter  ""
1968251881Speter
1969253734Speter#define STMT_CLEAR_MOVED_TO_DESCENDANTS 188
1970253734Speter#define STMT_188_INFO {"STMT_CLEAR_MOVED_TO_DESCENDANTS", NULL}
1971253734Speter#define STMT_188 \
1972251881Speter  "UPDATE nodes SET moved_to = NULL " \
1973251881Speter  " WHERE wc_id = ?1 " \
1974251881Speter  "   AND (((moved_to) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((moved_to) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
1975251881Speter  ""
1976251881Speter
1977253734Speter#define STMT_SELECT_MOVED_PAIR2 189
1978253734Speter#define STMT_189_INFO {"STMT_SELECT_MOVED_PAIR2", NULL}
1979253734Speter#define STMT_189 \
1980251881Speter  "SELECT local_relpath, moved_to, op_depth FROM nodes " \
1981251881Speter  "WHERE wc_id = ?1 " \
1982251881Speter  "  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))) " \
1983251881Speter  "  AND moved_to IS NOT NULL " \
1984251881Speter  "  AND NOT (((moved_to) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((moved_to) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
1985251881Speter  "  AND op_depth >= (SELECT MAX(op_depth) FROM nodes o " \
1986251881Speter  "                    WHERE o.wc_id = ?1 " \
1987251881Speter  "                      AND o.local_relpath = ?2) " \
1988251881Speter  ""
1989251881Speter
1990253734Speter#define STMT_SELECT_MOVED_PAIR3 190
1991253734Speter#define STMT_190_INFO {"STMT_SELECT_MOVED_PAIR3", NULL}
1992253734Speter#define STMT_190 \
1993251881Speter  "SELECT local_relpath, moved_to, op_depth, kind FROM nodes " \
1994262250Speter  "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth > ?3 " \
1995262250Speter  "  AND moved_to IS NOT NULL " \
1996262250Speter  "UNION ALL " \
1997262250Speter  "SELECT local_relpath, moved_to, op_depth, kind FROM nodes " \
1998251881Speter  "WHERE wc_id = ?1 " \
1999262250Speter  "  AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
2000251881Speter  "  AND op_depth > ?3 " \
2001251881Speter  "  AND moved_to IS NOT NULL " \
2002262250Speter  "ORDER BY local_relpath, op_depth " \
2003251881Speter  ""
2004251881Speter
2005253734Speter#define STMT_SELECT_MOVED_OUTSIDE 191
2006253734Speter#define STMT_191_INFO {"STMT_SELECT_MOVED_OUTSIDE", NULL}
2007253734Speter#define STMT_191 \
2008257936Speter  "SELECT local_relpath, moved_to, op_depth FROM nodes " \
2009251881Speter  "WHERE wc_id = ?1 " \
2010251881Speter  "  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))) " \
2011251881Speter  "  AND op_depth >= ?3 " \
2012251881Speter  "  AND moved_to IS NOT NULL " \
2013251881Speter  "  AND NOT (((moved_to) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((moved_to) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
2014251881Speter  ""
2015251881Speter
2016253734Speter#define STMT_SELECT_OP_DEPTH_MOVED_PAIR 192
2017253734Speter#define STMT_192_INFO {"STMT_SELECT_OP_DEPTH_MOVED_PAIR", NULL}
2018253734Speter#define STMT_192 \
2019251881Speter  "SELECT n.local_relpath, n.moved_to, " \
2020251881Speter  "       (SELECT o.repos_path FROM nodes AS o " \
2021251881Speter  "        WHERE o.wc_id = n.wc_id " \
2022251881Speter  "          AND o.local_relpath = n.local_relpath " \
2023251881Speter  "          AND o.op_depth < ?3 ORDER BY o.op_depth DESC LIMIT 1) " \
2024251881Speter  "FROM nodes AS n " \
2025251881Speter  "WHERE n.wc_id = ?1 " \
2026251881Speter  "  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)) " \
2027251881Speter  "  AND n.op_depth = ?3 " \
2028251881Speter  "  AND n.moved_to IS NOT NULL " \
2029251881Speter  ""
2030251881Speter
2031253734Speter#define STMT_SELECT_MOVED_DESCENDANTS 193
2032253734Speter#define STMT_193_INFO {"STMT_SELECT_MOVED_DESCENDANTS", NULL}
2033253734Speter#define STMT_193 \
2034251881Speter  "SELECT n.local_relpath, h.moved_to " \
2035251881Speter  "FROM nodes n, nodes h " \
2036251881Speter  "WHERE n.wc_id = ?1 " \
2037251881Speter  "  AND h.wc_id = ?1 " \
2038251881Speter  "  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)) " \
2039251881Speter  "  AND h.local_relpath = n.local_relpath " \
2040251881Speter  "  AND n.op_depth = ?3 " \
2041251881Speter  "  AND h.op_depth = (SELECT MIN(o.op_depth) " \
2042251881Speter  "                    FROM nodes o " \
2043251881Speter  "                    WHERE o.wc_id = ?1 " \
2044251881Speter  "                      AND o.local_relpath = n.local_relpath " \
2045251881Speter  "                      AND o.op_depth > ?3) " \
2046251881Speter  "  AND h.moved_to IS NOT NULL " \
2047251881Speter  ""
2048251881Speter
2049253734Speter#define STMT_COMMIT_UPDATE_ORIGIN 194
2050253734Speter#define STMT_194_INFO {"STMT_COMMIT_UPDATE_ORIGIN", NULL}
2051253734Speter#define STMT_194 \
2052251881Speter  "UPDATE nodes SET repos_id = ?4, " \
2053251881Speter  "                 repos_path = ?5 || SUBSTR(local_relpath, LENGTH(?2)+1), " \
2054251881Speter  "                 revision = ?6 " \
2055251881Speter  "WHERE wc_id = ?1 " \
2056251881Speter  "  AND (local_relpath = ?2 " \
2057251881Speter  "       OR (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END))) " \
2058251881Speter  "  AND op_depth = ?3 " \
2059251881Speter  ""
2060251881Speter
2061253734Speter#define STMT_HAS_LAYER_BETWEEN 195
2062253734Speter#define STMT_195_INFO {"STMT_HAS_LAYER_BETWEEN", NULL}
2063253734Speter#define STMT_195 \
2064251881Speter  "SELECT 1 FROM NODES " \
2065251881Speter  "WHERE wc_id = ?1 AND local_relpath = ?2 AND op_depth > ?3 AND op_depth < ?4 " \
2066251881Speter  ""
2067251881Speter
2068253734Speter#define STMT_SELECT_REPOS_PATH_REVISION 196
2069253734Speter#define STMT_196_INFO {"STMT_SELECT_REPOS_PATH_REVISION", NULL}
2070253734Speter#define STMT_196 \
2071251881Speter  "SELECT local_relpath, repos_path, revision FROM nodes " \
2072251881Speter  "WHERE wc_id = ?1 " \
2073251881Speter  "  AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
2074251881Speter  "  AND op_depth = 0 " \
2075251881Speter  "ORDER BY local_relpath " \
2076251881Speter  ""
2077251881Speter
2078253734Speter#define STMT_SELECT_HAS_NON_FILE_CHILDREN 197
2079253734Speter#define STMT_197_INFO {"STMT_SELECT_HAS_NON_FILE_CHILDREN", NULL}
2080253734Speter#define STMT_197 \
2081251881Speter  "SELECT 1 FROM nodes " \
2082251881Speter  "WHERE wc_id = ?1 AND parent_relpath = ?2 AND op_depth = 0 AND kind != 'file' " \
2083251881Speter  ""
2084251881Speter
2085253734Speter#define STMT_SELECT_HAS_GRANDCHILDREN 198
2086253734Speter#define STMT_198_INFO {"STMT_SELECT_HAS_GRANDCHILDREN", NULL}
2087253734Speter#define STMT_198 \
2088251881Speter  "SELECT 1 FROM nodes " \
2089251881Speter  "WHERE wc_id = ?1 " \
2090251881Speter  "  AND (((parent_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((parent_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
2091251881Speter  "  AND op_depth = 0 " \
2092251881Speter  "  AND file_external IS NULL " \
2093251881Speter  ""
2094251881Speter
2095253734Speter#define STMT_SELECT_ALL_NODES 199
2096253734Speter#define STMT_199_INFO {"STMT_SELECT_ALL_NODES", NULL}
2097253734Speter#define STMT_199 \
2098251881Speter  "SELECT op_depth, local_relpath, parent_relpath, file_external FROM nodes " \
2099251881Speter  "WHERE wc_id = ?1 " \
2100251881Speter  ""
2101251881Speter
2102253734Speter#define STMT_SELECT_IPROPS 200
2103253734Speter#define STMT_200_INFO {"STMT_SELECT_IPROPS", NULL}
2104253734Speter#define STMT_200 \
2105251881Speter  "SELECT inherited_props FROM nodes " \
2106251881Speter  "WHERE wc_id = ?1 " \
2107251881Speter  "  AND local_relpath = ?2 " \
2108251881Speter  "  AND op_depth = 0 " \
2109251881Speter  ""
2110251881Speter
2111253734Speter#define STMT_UPDATE_IPROP 201
2112253734Speter#define STMT_201_INFO {"STMT_UPDATE_IPROP", NULL}
2113253734Speter#define STMT_201 \
2114251881Speter  "UPDATE nodes " \
2115251881Speter  "SET inherited_props = ?3 " \
2116251881Speter  "WHERE (wc_id = ?1 AND local_relpath = ?2 AND op_depth = 0) " \
2117251881Speter  ""
2118251881Speter
2119253734Speter#define STMT_SELECT_IPROPS_NODE 202
2120253734Speter#define STMT_202_INFO {"STMT_SELECT_IPROPS_NODE", NULL}
2121253734Speter#define STMT_202 \
2122251881Speter  "SELECT local_relpath, repos_path FROM nodes " \
2123251881Speter  "WHERE wc_id = ?1 " \
2124251881Speter  "  AND local_relpath = ?2 " \
2125251881Speter  "  AND op_depth = 0 " \
2126251881Speter  "  AND (inherited_props not null) " \
2127251881Speter  ""
2128251881Speter
2129253734Speter#define STMT_SELECT_IPROPS_RECURSIVE 203
2130253734Speter#define STMT_203_INFO {"STMT_SELECT_IPROPS_RECURSIVE", NULL}
2131253734Speter#define STMT_203 \
2132251881Speter  "SELECT local_relpath, repos_path FROM nodes " \
2133251881Speter  "WHERE wc_id = ?1 " \
2134251881Speter  "  AND (((local_relpath) > (CASE (?2) WHEN '' THEN '' ELSE (?2) || '/' END)) AND ((local_relpath) < CASE (?2) WHEN '' THEN X'FFFF' ELSE (?2) || '0' END)) " \
2135251881Speter  "  AND op_depth = 0 " \
2136251881Speter  "  AND (inherited_props not null) " \
2137251881Speter  ""
2138251881Speter
2139253734Speter#define STMT_SELECT_IPROPS_CHILDREN 204
2140253734Speter#define STMT_204_INFO {"STMT_SELECT_IPROPS_CHILDREN", NULL}
2141253734Speter#define STMT_204 \
2142251881Speter  "SELECT local_relpath, repos_path FROM nodes " \
2143251881Speter  "WHERE wc_id = ?1 " \
2144251881Speter  "  AND parent_relpath = ?2 " \
2145251881Speter  "  AND op_depth = 0 " \
2146251881Speter  "  AND (inherited_props not null) " \
2147251881Speter  ""
2148251881Speter
2149253734Speter#define STMT_CREATE_SCHEMA 205
2150253734Speter#define STMT_205_INFO {"STMT_CREATE_SCHEMA", NULL}
2151253734Speter#define STMT_205 \
2152251881Speter  "CREATE TABLE REPOSITORY ( " \
2153251881Speter  "  id INTEGER PRIMARY KEY AUTOINCREMENT, " \
2154251881Speter  "  root  TEXT UNIQUE NOT NULL, " \
2155251881Speter  "  uuid  TEXT NOT NULL " \
2156251881Speter  "  ); " \
2157251881Speter  "CREATE INDEX I_UUID ON REPOSITORY (uuid); " \
2158251881Speter  "CREATE INDEX I_ROOT ON REPOSITORY (root); " \
2159251881Speter  "CREATE TABLE WCROOT ( " \
2160251881Speter  "  id  INTEGER PRIMARY KEY AUTOINCREMENT, " \
2161251881Speter  "  local_abspath  TEXT UNIQUE " \
2162251881Speter  "  ); " \
2163251881Speter  "CREATE UNIQUE INDEX I_LOCAL_ABSPATH ON WCROOT (local_abspath); " \
2164251881Speter  "CREATE TABLE PRISTINE ( " \
2165251881Speter  "  checksum  TEXT NOT NULL PRIMARY KEY, " \
2166251881Speter  "  compression  INTEGER, " \
2167251881Speter  "  size  INTEGER NOT NULL, " \
2168251881Speter  "  refcount  INTEGER NOT NULL, " \
2169251881Speter  "  md5_checksum  TEXT NOT NULL " \
2170251881Speter  "  ); " \
2171251881Speter  "CREATE INDEX I_PRISTINE_MD5 ON PRISTINE (md5_checksum); " \
2172251881Speter  "CREATE TABLE ACTUAL_NODE ( " \
2173251881Speter  "  wc_id  INTEGER NOT NULL REFERENCES WCROOT (id), " \
2174251881Speter  "  local_relpath  TEXT NOT NULL, " \
2175251881Speter  "  parent_relpath  TEXT, " \
2176251881Speter  "  properties  BLOB, " \
2177251881Speter  "  conflict_old  TEXT, " \
2178251881Speter  "  conflict_new  TEXT, " \
2179251881Speter  "  conflict_working  TEXT, " \
2180251881Speter  "  prop_reject  TEXT, " \
2181251881Speter  "  changelist  TEXT, " \
2182251881Speter  "  text_mod  TEXT, " \
2183251881Speter  "  tree_conflict_data  TEXT, " \
2184251881Speter  "  conflict_data  BLOB, " \
2185251881Speter  "  older_checksum  TEXT REFERENCES PRISTINE (checksum), " \
2186251881Speter  "  left_checksum  TEXT REFERENCES PRISTINE (checksum), " \
2187251881Speter  "  right_checksum  TEXT REFERENCES PRISTINE (checksum), " \
2188251881Speter  "  PRIMARY KEY (wc_id, local_relpath) " \
2189251881Speter  "  ); " \
2190251881Speter  "CREATE UNIQUE INDEX I_ACTUAL_PARENT ON ACTUAL_NODE (wc_id, parent_relpath, " \
2191251881Speter  "                                                    local_relpath); " \
2192251881Speter  "CREATE TABLE LOCK ( " \
2193251881Speter  "  repos_id  INTEGER NOT NULL REFERENCES REPOSITORY (id), " \
2194251881Speter  "  repos_relpath  TEXT NOT NULL, " \
2195251881Speter  "  lock_token  TEXT NOT NULL, " \
2196251881Speter  "  lock_owner  TEXT, " \
2197251881Speter  "  lock_comment  TEXT, " \
2198251881Speter  "  lock_date  INTEGER, " \
2199251881Speter  "  PRIMARY KEY (repos_id, repos_relpath) " \
2200251881Speter  "  ); " \
2201251881Speter  "CREATE TABLE WORK_QUEUE ( " \
2202251881Speter  "  id  INTEGER PRIMARY KEY AUTOINCREMENT, " \
2203251881Speter  "  work  BLOB NOT NULL " \
2204251881Speter  "  ); " \
2205251881Speter  "CREATE TABLE WC_LOCK ( " \
2206251881Speter  "  wc_id  INTEGER NOT NULL  REFERENCES WCROOT (id), " \
2207251881Speter  "  local_dir_relpath  TEXT NOT NULL, " \
2208251881Speter  "  locked_levels  INTEGER NOT NULL DEFAULT -1, " \
2209251881Speter  "  PRIMARY KEY (wc_id, local_dir_relpath) " \
2210251881Speter  " ); " \
2211251881Speter  "PRAGMA user_version = " \
2212251881Speter  APR_STRINGIFY(SVN_WC__VERSION) \
2213251881Speter  "; " \
2214251881Speter  ""
2215251881Speter
2216253734Speter#define STMT_CREATE_NODES 206
2217253734Speter#define STMT_206_INFO {"STMT_CREATE_NODES", NULL}
2218253734Speter#define STMT_206 \
2219251881Speter  "CREATE TABLE NODES ( " \
2220251881Speter  "  wc_id  INTEGER NOT NULL REFERENCES WCROOT (id), " \
2221251881Speter  "  local_relpath  TEXT NOT NULL, " \
2222251881Speter  "  op_depth INTEGER NOT NULL, " \
2223251881Speter  "  parent_relpath  TEXT, " \
2224251881Speter  "  repos_id  INTEGER REFERENCES REPOSITORY (id), " \
2225251881Speter  "  repos_path  TEXT, " \
2226251881Speter  "  revision  INTEGER, " \
2227251881Speter  "  presence  TEXT NOT NULL, " \
2228251881Speter  "  moved_here  INTEGER, " \
2229251881Speter  "  moved_to  TEXT, " \
2230251881Speter  "  kind  TEXT NOT NULL, " \
2231251881Speter  "  properties  BLOB, " \
2232251881Speter  "  depth  TEXT, " \
2233251881Speter  "  checksum  TEXT REFERENCES PRISTINE (checksum), " \
2234251881Speter  "  symlink_target  TEXT, " \
2235251881Speter  "  changed_revision  INTEGER, " \
2236251881Speter  "  changed_date      INTEGER, " \
2237251881Speter  "  changed_author    TEXT, " \
2238251881Speter  "  translated_size  INTEGER, " \
2239251881Speter  "  last_mod_time  INTEGER, " \
2240251881Speter  "  dav_cache  BLOB, " \
2241251881Speter  "  file_external  INTEGER, " \
2242251881Speter  "  inherited_props  BLOB, " \
2243251881Speter  "  PRIMARY KEY (wc_id, local_relpath, op_depth) " \
2244251881Speter  "  ); " \
2245251881Speter  "CREATE UNIQUE INDEX I_NODES_PARENT ON NODES (wc_id, parent_relpath, " \
2246251881Speter  "                                             local_relpath, op_depth); " \
2247251881Speter  "CREATE UNIQUE INDEX I_NODES_MOVED ON NODES (wc_id, moved_to, op_depth); " \
2248251881Speter  "CREATE VIEW NODES_CURRENT AS " \
2249251881Speter  "  SELECT * FROM nodes AS n " \
2250251881Speter  "    WHERE op_depth = (SELECT MAX(op_depth) FROM nodes AS n2 " \
2251251881Speter  "                      WHERE n2.wc_id = n.wc_id " \
2252251881Speter  "                        AND n2.local_relpath = n.local_relpath); " \
2253251881Speter  "CREATE VIEW NODES_BASE AS " \
2254251881Speter  "  SELECT * FROM nodes " \
2255251881Speter  "  WHERE op_depth = 0; " \
2256251881Speter  ""
2257251881Speter
2258253734Speter#define STMT_CREATE_NODES_TRIGGERS 207
2259253734Speter#define STMT_207_INFO {"STMT_CREATE_NODES_TRIGGERS", NULL}
2260253734Speter#define STMT_207 \
2261251881Speter  "CREATE TRIGGER nodes_insert_trigger " \
2262251881Speter  "AFTER INSERT ON nodes " \
2263251881Speter  "WHEN NEW.checksum IS NOT NULL " \
2264251881Speter  "BEGIN " \
2265251881Speter  "  UPDATE pristine SET refcount = refcount + 1 " \
2266251881Speter  "  WHERE checksum = NEW.checksum; " \
2267251881Speter  "END; " \
2268251881Speter  "CREATE TRIGGER nodes_delete_trigger " \
2269251881Speter  "AFTER DELETE ON nodes " \
2270251881Speter  "WHEN OLD.checksum IS NOT NULL " \
2271251881Speter  "BEGIN " \
2272251881Speter  "  UPDATE pristine SET refcount = refcount - 1 " \
2273251881Speter  "  WHERE checksum = OLD.checksum; " \
2274251881Speter  "END; " \
2275251881Speter  "CREATE TRIGGER nodes_update_checksum_trigger " \
2276251881Speter  "AFTER UPDATE OF checksum ON nodes " \
2277251881Speter  "WHEN NEW.checksum IS NOT OLD.checksum " \
2278251881Speter  "BEGIN " \
2279251881Speter  "  UPDATE pristine SET refcount = refcount + 1 " \
2280251881Speter  "  WHERE checksum = NEW.checksum; " \
2281251881Speter  "  UPDATE pristine SET refcount = refcount - 1 " \
2282251881Speter  "  WHERE checksum = OLD.checksum; " \
2283251881Speter  "END; " \
2284251881Speter  ""
2285251881Speter
2286253734Speter#define STMT_CREATE_EXTERNALS 208
2287253734Speter#define STMT_208_INFO {"STMT_CREATE_EXTERNALS", NULL}
2288253734Speter#define STMT_208 \
2289251881Speter  "CREATE TABLE EXTERNALS ( " \
2290251881Speter  "  wc_id  INTEGER NOT NULL REFERENCES WCROOT (id), " \
2291251881Speter  "  local_relpath  TEXT NOT NULL, " \
2292251881Speter  "  parent_relpath  TEXT NOT NULL, " \
2293251881Speter  "  repos_id  INTEGER NOT NULL REFERENCES REPOSITORY (id), " \
2294251881Speter  "  presence  TEXT NOT NULL, " \
2295251881Speter  "  kind  TEXT NOT NULL, " \
2296251881Speter  "  def_local_relpath         TEXT NOT NULL, " \
2297251881Speter  "  def_repos_relpath         TEXT NOT NULL, " \
2298251881Speter  "  def_operational_revision  TEXT, " \
2299251881Speter  "  def_revision              TEXT, " \
2300251881Speter  "  PRIMARY KEY (wc_id, local_relpath) " \
2301251881Speter  "); " \
2302251881Speter  "CREATE UNIQUE INDEX I_EXTERNALS_DEFINED ON EXTERNALS (wc_id, " \
2303251881Speter  "                                                      def_local_relpath, " \
2304251881Speter  "                                                      local_relpath); " \
2305251881Speter  ""
2306251881Speter
2307262250Speter#define STMT_INSTALL_SCHEMA_STATISTICS 209
2308262250Speter#define STMT_209_INFO {"STMT_INSTALL_SCHEMA_STATISTICS", NULL}
2309253734Speter#define STMT_209 \
2310262250Speter  "ANALYZE sqlite_master; " \
2311262250Speter  "INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES " \
2312262250Speter  "    ('NODES', 'sqlite_autoindex_NODES_1',               '8000 8000 2 1'); " \
2313262250Speter  "INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES " \
2314262250Speter  "    ('NODES', 'I_NODES_PARENT',                         '8000 8000 10 2 1'); " \
2315262250Speter  "INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES " \
2316262250Speter  "    ('NODES', 'I_NODES_MOVED',                          '8000 8000 1 1'); " \
2317262250Speter  "INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES " \
2318262250Speter  "    ('ACTUAL_NODE', 'sqlite_autoindex_ACTUAL_NODE_1',   '8000 8000 1'); " \
2319262250Speter  "INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES " \
2320262250Speter  "    ('ACTUAL_NODE', 'I_ACTUAL_PARENT',                  '8000 8000 10 1'); " \
2321262250Speter  "INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES " \
2322262250Speter  "    ('LOCK', 'sqlite_autoindex_LOCK_1',                 '100 100 1'); " \
2323262250Speter  "INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES " \
2324262250Speter  "    ('WC_LOCK', 'sqlite_autoindex_WC_LOCK_1',           '100 100 1'); " \
2325262250Speter  "ANALYZE sqlite_master; " \
2326262250Speter  ""
2327262250Speter
2328262250Speter#define STMT_UPGRADE_TO_20 210
2329262250Speter#define STMT_210_INFO {"STMT_UPGRADE_TO_20", NULL}
2330262250Speter#define STMT_210 \
2331251881Speter  "UPDATE BASE_NODE SET checksum = (SELECT checksum FROM pristine " \
2332251881Speter  "                                 WHERE md5_checksum = BASE_NODE.checksum) " \
2333251881Speter  "WHERE EXISTS (SELECT 1 FROM pristine WHERE md5_checksum = BASE_NODE.checksum); " \
2334251881Speter  "UPDATE WORKING_NODE SET checksum = (SELECT checksum FROM pristine " \
2335251881Speter  "                                    WHERE md5_checksum = WORKING_NODE.checksum) " \
2336251881Speter  "WHERE EXISTS (SELECT 1 FROM pristine " \
2337251881Speter  "              WHERE md5_checksum = WORKING_NODE.checksum); " \
2338251881Speter  "INSERT INTO NODES ( " \
2339251881Speter  "       wc_id, local_relpath, op_depth, parent_relpath, " \
2340251881Speter  "       repos_id, repos_path, revision, " \
2341251881Speter  "       presence, depth, moved_here, moved_to, kind, " \
2342251881Speter  "       changed_revision, changed_date, changed_author, " \
2343251881Speter  "       checksum, properties, translated_size, last_mod_time, " \
2344251881Speter  "       dav_cache, symlink_target, file_external ) " \
2345251881Speter  "SELECT wc_id, local_relpath, 0 , parent_relpath, " \
2346251881Speter  "       repos_id, repos_relpath, revnum, " \
2347251881Speter  "       presence, depth, NULL , NULL , kind, " \
2348251881Speter  "       changed_rev, changed_date, changed_author, " \
2349251881Speter  "       checksum, properties, translated_size, last_mod_time, " \
2350251881Speter  "       dav_cache, symlink_target, file_external " \
2351251881Speter  "FROM BASE_NODE; " \
2352251881Speter  "INSERT INTO NODES ( " \
2353251881Speter  "       wc_id, local_relpath, op_depth, parent_relpath, " \
2354251881Speter  "       repos_id, repos_path, revision, " \
2355251881Speter  "       presence, depth, moved_here, moved_to, kind, " \
2356251881Speter  "       changed_revision, changed_date, changed_author, " \
2357251881Speter  "       checksum, properties, translated_size, last_mod_time, " \
2358251881Speter  "       dav_cache, symlink_target, file_external ) " \
2359251881Speter  "SELECT wc_id, local_relpath, 2 , parent_relpath, " \
2360251881Speter  "       copyfrom_repos_id, copyfrom_repos_path, copyfrom_revnum, " \
2361251881Speter  "       presence, depth, NULL , NULL , kind, " \
2362251881Speter  "       changed_rev, changed_date, changed_author, " \
2363251881Speter  "       checksum, properties, translated_size, last_mod_time, " \
2364251881Speter  "       NULL , symlink_target, NULL " \
2365251881Speter  "FROM WORKING_NODE; " \
2366251881Speter  "DROP TABLE BASE_NODE; " \
2367251881Speter  "DROP TABLE WORKING_NODE; " \
2368251881Speter  "PRAGMA user_version = 20; " \
2369251881Speter  ""
2370251881Speter
2371262250Speter#define STMT_UPGRADE_TO_21 211
2372262250Speter#define STMT_211_INFO {"STMT_UPGRADE_TO_21", NULL}
2373262250Speter#define STMT_211 \
2374251881Speter  "PRAGMA user_version = 21; " \
2375251881Speter  ""
2376251881Speter
2377262250Speter#define STMT_UPGRADE_21_SELECT_OLD_TREE_CONFLICT 212
2378262250Speter#define STMT_212_INFO {"STMT_UPGRADE_21_SELECT_OLD_TREE_CONFLICT", NULL}
2379262250Speter#define STMT_212 \
2380251881Speter  "SELECT wc_id, local_relpath, tree_conflict_data " \
2381251881Speter  "FROM actual_node " \
2382251881Speter  "WHERE tree_conflict_data IS NOT NULL " \
2383251881Speter  ""
2384251881Speter
2385262250Speter#define STMT_UPGRADE_21_ERASE_OLD_CONFLICTS 213
2386262250Speter#define STMT_213_INFO {"STMT_UPGRADE_21_ERASE_OLD_CONFLICTS", NULL}
2387262250Speter#define STMT_213 \
2388251881Speter  "UPDATE actual_node SET tree_conflict_data = NULL " \
2389251881Speter  ""
2390251881Speter
2391262250Speter#define STMT_UPGRADE_TO_22 214
2392262250Speter#define STMT_214_INFO {"STMT_UPGRADE_TO_22", NULL}
2393262250Speter#define STMT_214 \
2394251881Speter  "UPDATE actual_node SET tree_conflict_data = conflict_data; " \
2395251881Speter  "UPDATE actual_node SET conflict_data = NULL; " \
2396251881Speter  "PRAGMA user_version = 22; " \
2397251881Speter  ""
2398251881Speter
2399262250Speter#define STMT_UPGRADE_TO_23 215
2400262250Speter#define STMT_215_INFO {"STMT_UPGRADE_TO_23", NULL}
2401262250Speter#define STMT_215 \
2402251881Speter  "PRAGMA user_version = 23; " \
2403251881Speter  ""
2404251881Speter
2405262250Speter#define STMT_UPGRADE_23_HAS_WORKING_NODES 216
2406262250Speter#define STMT_216_INFO {"STMT_UPGRADE_23_HAS_WORKING_NODES", NULL}
2407262250Speter#define STMT_216 \
2408251881Speter  "SELECT 1 FROM nodes WHERE op_depth > 0 " \
2409251881Speter  "LIMIT 1 " \
2410251881Speter  ""
2411251881Speter
2412262250Speter#define STMT_UPGRADE_TO_24 217
2413262250Speter#define STMT_217_INFO {"STMT_UPGRADE_TO_24", NULL}
2414262250Speter#define STMT_217 \
2415251881Speter  "UPDATE pristine SET refcount = " \
2416251881Speter  "  (SELECT COUNT(*) FROM nodes " \
2417251881Speter  "   WHERE checksum = pristine.checksum ); " \
2418251881Speter  "PRAGMA user_version = 24; " \
2419251881Speter  ""
2420251881Speter
2421262250Speter#define STMT_UPGRADE_TO_25 218
2422262250Speter#define STMT_218_INFO {"STMT_UPGRADE_TO_25", NULL}
2423262250Speter#define STMT_218 \
2424251881Speter  "DROP VIEW IF EXISTS NODES_CURRENT; " \
2425251881Speter  "CREATE VIEW NODES_CURRENT AS " \
2426251881Speter  "  SELECT * FROM nodes " \
2427251881Speter  "    JOIN (SELECT wc_id, local_relpath, MAX(op_depth) AS op_depth FROM nodes " \
2428251881Speter  "          GROUP BY wc_id, local_relpath) AS filter " \
2429251881Speter  "    ON nodes.wc_id = filter.wc_id " \
2430251881Speter  "      AND nodes.local_relpath = filter.local_relpath " \
2431251881Speter  "      AND nodes.op_depth = filter.op_depth; " \
2432251881Speter  "PRAGMA user_version = 25; " \
2433251881Speter  ""
2434251881Speter
2435262250Speter#define STMT_UPGRADE_TO_26 219
2436262250Speter#define STMT_219_INFO {"STMT_UPGRADE_TO_26", NULL}
2437262250Speter#define STMT_219 \
2438251881Speter  "DROP VIEW IF EXISTS NODES_BASE; " \
2439251881Speter  "CREATE VIEW NODES_BASE AS " \
2440251881Speter  "  SELECT * FROM nodes " \
2441251881Speter  "  WHERE op_depth = 0; " \
2442251881Speter  "PRAGMA user_version = 26; " \
2443251881Speter  ""
2444251881Speter
2445262250Speter#define STMT_UPGRADE_TO_27 220
2446262250Speter#define STMT_220_INFO {"STMT_UPGRADE_TO_27", NULL}
2447262250Speter#define STMT_220 \
2448251881Speter  "PRAGMA user_version = 27; " \
2449251881Speter  ""
2450251881Speter
2451262250Speter#define STMT_UPGRADE_27_HAS_ACTUAL_NODES_CONFLICTS 221
2452262250Speter#define STMT_221_INFO {"STMT_UPGRADE_27_HAS_ACTUAL_NODES_CONFLICTS", NULL}
2453262250Speter#define STMT_221 \
2454251881Speter  "SELECT 1 FROM actual_node " \
2455251881Speter  "WHERE NOT ((prop_reject IS NULL) AND (conflict_old IS NULL) " \
2456251881Speter  "           AND (conflict_new IS NULL) AND (conflict_working IS NULL) " \
2457251881Speter  "           AND (tree_conflict_data IS NULL)) " \
2458251881Speter  "LIMIT 1 " \
2459251881Speter  ""
2460251881Speter
2461262250Speter#define STMT_UPGRADE_TO_28 222
2462262250Speter#define STMT_222_INFO {"STMT_UPGRADE_TO_28", NULL}
2463262250Speter#define STMT_222 \
2464251881Speter  "UPDATE NODES SET checksum = (SELECT checksum FROM pristine " \
2465251881Speter  "                             WHERE md5_checksum = nodes.checksum) " \
2466251881Speter  "WHERE EXISTS (SELECT 1 FROM pristine WHERE md5_checksum = nodes.checksum); " \
2467251881Speter  "PRAGMA user_version = 28; " \
2468251881Speter  ""
2469251881Speter
2470262250Speter#define STMT_UPGRADE_TO_29 223
2471262250Speter#define STMT_223_INFO {"STMT_UPGRADE_TO_29", NULL}
2472262250Speter#define STMT_223 \
2473251881Speter  "DROP TRIGGER IF EXISTS nodes_update_checksum_trigger; " \
2474251881Speter  "DROP TRIGGER IF EXISTS nodes_insert_trigger; " \
2475251881Speter  "DROP TRIGGER IF EXISTS nodes_delete_trigger; " \
2476251881Speter  "CREATE TRIGGER nodes_update_checksum_trigger " \
2477251881Speter  "AFTER UPDATE OF checksum ON nodes " \
2478251881Speter  "WHEN NEW.checksum IS NOT OLD.checksum " \
2479251881Speter  "BEGIN " \
2480251881Speter  "  UPDATE pristine SET refcount = refcount + 1 " \
2481251881Speter  "  WHERE checksum = NEW.checksum; " \
2482251881Speter  "  UPDATE pristine SET refcount = refcount - 1 " \
2483251881Speter  "  WHERE checksum = OLD.checksum; " \
2484251881Speter  "END; " \
2485251881Speter  "CREATE TRIGGER nodes_insert_trigger " \
2486251881Speter  "AFTER INSERT ON nodes " \
2487251881Speter  "WHEN NEW.checksum IS NOT NULL " \
2488251881Speter  "BEGIN " \
2489251881Speter  "  UPDATE pristine SET refcount = refcount + 1 " \
2490251881Speter  "  WHERE checksum = NEW.checksum; " \
2491251881Speter  "END; " \
2492251881Speter  "CREATE TRIGGER nodes_delete_trigger " \
2493251881Speter  "AFTER DELETE ON nodes " \
2494251881Speter  "WHEN OLD.checksum IS NOT NULL " \
2495251881Speter  "BEGIN " \
2496251881Speter  "  UPDATE pristine SET refcount = refcount - 1 " \
2497251881Speter  "  WHERE checksum = OLD.checksum; " \
2498251881Speter  "END; " \
2499251881Speter  "PRAGMA user_version = 29; " \
2500251881Speter  ""
2501251881Speter
2502262250Speter#define STMT_UPGRADE_TO_30 224
2503262250Speter#define STMT_224_INFO {"STMT_UPGRADE_TO_30", NULL}
2504262250Speter#define STMT_224 \
2505251881Speter  "CREATE UNIQUE INDEX IF NOT EXISTS I_NODES_MOVED " \
2506251881Speter  "ON NODES (wc_id, moved_to, op_depth); " \
2507251881Speter  "CREATE INDEX IF NOT EXISTS I_PRISTINE_MD5 ON PRISTINE (md5_checksum); " \
2508251881Speter  "UPDATE nodes SET presence = \"server-excluded\" WHERE presence = \"absent\"; " \
2509251881Speter  "UPDATE nodes SET file_external=1 WHERE file_external IS NOT NULL; " \
2510251881Speter  ""
2511251881Speter
2512262250Speter#define STMT_UPGRADE_30_SELECT_CONFLICT_SEPARATE 225
2513262250Speter#define STMT_225_INFO {"STMT_UPGRADE_30_SELECT_CONFLICT_SEPARATE", NULL}
2514262250Speter#define STMT_225 \
2515251881Speter  "SELECT wc_id, local_relpath, " \
2516251881Speter  "  conflict_old, conflict_working, conflict_new, prop_reject, tree_conflict_data " \
2517251881Speter  "FROM actual_node " \
2518251881Speter  "WHERE conflict_old IS NOT NULL " \
2519251881Speter  "   OR conflict_working IS NOT NULL " \
2520251881Speter  "   OR conflict_new IS NOT NULL " \
2521251881Speter  "   OR prop_reject IS NOT NULL " \
2522251881Speter  "   OR tree_conflict_data IS NOT NULL " \
2523251881Speter  "ORDER by wc_id, local_relpath " \
2524251881Speter  ""
2525251881Speter
2526262250Speter#define STMT_UPGRADE_30_SET_CONFLICT 226
2527262250Speter#define STMT_226_INFO {"STMT_UPGRADE_30_SET_CONFLICT", NULL}
2528262250Speter#define STMT_226 \
2529251881Speter  "UPDATE actual_node SET conflict_data = ?3, conflict_old = NULL, " \
2530251881Speter  "  conflict_working = NULL, conflict_new = NULL, prop_reject = NULL, " \
2531251881Speter  "  tree_conflict_data = NULL " \
2532251881Speter  "WHERE wc_id = ?1 and local_relpath = ?2 " \
2533251881Speter  ""
2534251881Speter
2535262250Speter#define STMT_UPGRADE_TO_31_ALTER_TABLE 227
2536262250Speter#define STMT_227_INFO {"STMT_UPGRADE_TO_31_ALTER_TABLE", NULL}
2537262250Speter#define STMT_227 \
2538251881Speter  "ALTER TABLE NODES ADD COLUMN inherited_props BLOB; " \
2539251881Speter  ""
2540251881Speter
2541262250Speter#define STMT_UPGRADE_TO_31_FINALIZE 228
2542262250Speter#define STMT_228_INFO {"STMT_UPGRADE_TO_31_FINALIZE", NULL}
2543262250Speter#define STMT_228 \
2544251881Speter  "DROP INDEX IF EXISTS I_ACTUAL_CHANGELIST; " \
2545251881Speter  "DROP INDEX IF EXISTS I_EXTERNALS_PARENT; " \
2546251881Speter  "DROP INDEX I_NODES_PARENT; " \
2547251881Speter  "CREATE UNIQUE INDEX I_NODES_PARENT ON NODES (wc_id, parent_relpath, " \
2548251881Speter  "                                             local_relpath, op_depth); " \
2549251881Speter  "DROP INDEX I_ACTUAL_PARENT; " \
2550251881Speter  "CREATE UNIQUE INDEX I_ACTUAL_PARENT ON ACTUAL_NODE (wc_id, parent_relpath, " \
2551251881Speter  "                                                    local_relpath); " \
2552251881Speter  "PRAGMA user_version = 31; " \
2553251881Speter  ""
2554251881Speter
2555262250Speter#define STMT_UPGRADE_31_SELECT_WCROOT_NODES 229
2556262250Speter#define STMT_229_INFO {"STMT_UPGRADE_31_SELECT_WCROOT_NODES", NULL}
2557262250Speter#define STMT_229 \
2558251881Speter  "SELECT l.wc_id, l.local_relpath FROM nodes as l " \
2559251881Speter  "LEFT OUTER JOIN nodes as r " \
2560251881Speter  "ON l.wc_id = r.wc_id " \
2561251881Speter  "   AND r.local_relpath = l.parent_relpath " \
2562251881Speter  "   AND r.op_depth = 0 " \
2563251881Speter  "WHERE l.op_depth = 0 " \
2564251881Speter  "  AND l.repos_path != '' " \
2565251881Speter  "  AND ((l.repos_id IS NOT r.repos_id) " \
2566251881Speter  "       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))) " \
2567251881Speter  ""
2568251881Speter
2569262250Speter#define STMT_UPGRADE_TO_32 230
2570262250Speter#define STMT_230_INFO {"STMT_UPGRADE_TO_32", NULL}
2571262250Speter#define STMT_230 \
2572251881Speter  "DROP INDEX IF EXISTS I_ACTUAL_CHANGELIST; " \
2573251881Speter  "DROP INDEX IF EXISTS I_EXTERNALS_PARENT; " \
2574251881Speter  "CREATE INDEX I_EXTERNALS_PARENT ON EXTERNALS (wc_id, parent_relpath); " \
2575251881Speter  "DROP INDEX I_NODES_PARENT; " \
2576251881Speter  "CREATE UNIQUE INDEX I_NODES_PARENT ON NODES (wc_id, parent_relpath, " \
2577251881Speter  "                                             local_relpath, op_depth); " \
2578251881Speter  "DROP INDEX I_ACTUAL_PARENT; " \
2579251881Speter  "CREATE UNIQUE INDEX I_ACTUAL_PARENT ON ACTUAL_NODE (wc_id, parent_relpath, " \
2580251881Speter  "                                                    local_relpath); " \
2581251881Speter  "-- format: YYY " \
2582251881Speter  ""
2583251881Speter
2584251881Speter#define WC_QUERIES_SQL_99 \
2585251881Speter  "CREATE TABLE ACTUAL_NODE_BACKUP ( " \
2586251881Speter  "  wc_id  INTEGER NOT NULL, " \
2587251881Speter  "  local_relpath  TEXT NOT NULL, " \
2588251881Speter  "  parent_relpath  TEXT, " \
2589251881Speter  "  properties  BLOB, " \
2590251881Speter  "  conflict_old  TEXT, " \
2591251881Speter  "  conflict_new  TEXT, " \
2592251881Speter  "  conflict_working  TEXT, " \
2593251881Speter  "  prop_reject  TEXT, " \
2594251881Speter  "  changelist  TEXT, " \
2595251881Speter  "  text_mod  TEXT " \
2596251881Speter  "  ); " \
2597251881Speter  "INSERT INTO ACTUAL_NODE_BACKUP SELECT " \
2598251881Speter  "  wc_id, local_relpath, parent_relpath, properties, conflict_old, " \
2599251881Speter  "  conflict_new, conflict_working, prop_reject, changelist, text_mod " \
2600251881Speter  "FROM ACTUAL_NODE; " \
2601251881Speter  "DROP TABLE ACTUAL_NODE; " \
2602251881Speter  "CREATE TABLE ACTUAL_NODE ( " \
2603251881Speter  "  wc_id  INTEGER NOT NULL REFERENCES WCROOT (id), " \
2604251881Speter  "  local_relpath  TEXT NOT NULL, " \
2605251881Speter  "  parent_relpath  TEXT, " \
2606251881Speter  "  properties  BLOB, " \
2607251881Speter  "  conflict_old  TEXT, " \
2608251881Speter  "  conflict_new  TEXT, " \
2609251881Speter  "  conflict_working  TEXT, " \
2610251881Speter  "  prop_reject  TEXT, " \
2611251881Speter  "  changelist  TEXT, " \
2612251881Speter  "  text_mod  TEXT, " \
2613251881Speter  "  PRIMARY KEY (wc_id, local_relpath) " \
2614251881Speter  "  ); " \
2615251881Speter  "CREATE UNIQUE INDEX I_ACTUAL_PARENT ON ACTUAL_NODE (wc_id, parent_relpath, " \
2616251881Speter  "                                                    local_relpath); " \
2617251881Speter  "INSERT INTO ACTUAL_NODE SELECT " \
2618251881Speter  "  wc_id, local_relpath, parent_relpath, properties, conflict_old, " \
2619251881Speter  "  conflict_new, conflict_working, prop_reject, changelist, text_mod " \
2620251881Speter  "FROM ACTUAL_NODE_BACKUP; " \
2621251881Speter  "DROP TABLE ACTUAL_NODE_BACKUP; " \
2622251881Speter  ""
2623251881Speter
2624262250Speter#define STMT_VERIFICATION_TRIGGERS 231
2625262250Speter#define STMT_231_INFO {"STMT_VERIFICATION_TRIGGERS", NULL}
2626262250Speter#define STMT_231 \
2627251881Speter  "CREATE TEMPORARY TRIGGER no_repository_updates BEFORE UPDATE ON repository " \
2628251881Speter  "BEGIN " \
2629251881Speter  "  SELECT RAISE(FAIL, 'Updates to REPOSITORY are not allowed.'); " \
2630251881Speter  "END; " \
2631251881Speter  "CREATE TEMPORARY TRIGGER validation_01 BEFORE INSERT ON nodes " \
2632251881Speter  "WHEN NOT ((new.local_relpath = '' AND new.parent_relpath IS NULL) " \
2633251881Speter  "          OR (relpath_depth(new.local_relpath) " \
2634251881Speter  "              = relpath_depth(new.parent_relpath) + 1)) " \
2635251881Speter  "BEGIN " \
2636251881Speter  "  SELECT RAISE(FAIL, 'WC DB validity check 01 failed'); " \
2637251881Speter  "END; " \
2638251881Speter  "CREATE TEMPORARY TRIGGER validation_02 BEFORE INSERT ON nodes " \
2639251881Speter  "WHEN NOT new.op_depth <= relpath_depth(new.local_relpath) " \
2640251881Speter  "BEGIN " \
2641251881Speter  "  SELECT RAISE(FAIL, 'WC DB validity check 02 failed'); " \
2642251881Speter  "END; " \
2643251881Speter  "CREATE TEMPORARY TRIGGER validation_03 BEFORE INSERT ON nodes " \
2644251881Speter  "WHEN NOT ( " \
2645251881Speter  "    (new.op_depth = relpath_depth(new.local_relpath)) " \
2646251881Speter  "    OR " \
2647251881Speter  "    (EXISTS (SELECT 1 FROM nodes " \
2648251881Speter  "              WHERE wc_id = new.wc_id AND op_depth = new.op_depth " \
2649251881Speter  "                AND local_relpath = new.parent_relpath)) " \
2650251881Speter  "  ) " \
2651251881Speter  " AND NOT (new.file_external IS NOT NULL AND new.op_depth = 0) " \
2652251881Speter  "BEGIN " \
2653251881Speter  "  SELECT RAISE(FAIL, 'WC DB validity check 03 failed'); " \
2654251881Speter  "END; " \
2655251881Speter  "CREATE TEMPORARY TRIGGER validation_04 BEFORE INSERT ON actual_node " \
2656251881Speter  "WHEN NOT (new.local_relpath = '' " \
2657251881Speter  "          OR EXISTS (SELECT 1 FROM nodes " \
2658251881Speter  "                       WHERE wc_id = new.wc_id " \
2659251881Speter  "                         AND local_relpath = new.parent_relpath)) " \
2660251881Speter  "BEGIN " \
2661251881Speter  "  SELECT RAISE(FAIL, 'WC DB validity check 04 failed'); " \
2662251881Speter  "END; " \
2663251881Speter  ""
2664251881Speter
2665251881Speter#define WC_QUERIES_SQL_DECLARE_STATEMENTS(varname) \
2666251881Speter  static const char * const varname[] = { \
2667251881Speter    STMT_0, \
2668251881Speter    STMT_1, \
2669251881Speter    STMT_2, \
2670251881Speter    STMT_3, \
2671251881Speter    STMT_4, \
2672251881Speter    STMT_5, \
2673251881Speter    STMT_6, \
2674251881Speter    STMT_7, \
2675251881Speter    STMT_8, \
2676251881Speter    STMT_9, \
2677251881Speter    STMT_10, \
2678251881Speter    STMT_11, \
2679251881Speter    STMT_12, \
2680251881Speter    STMT_13, \
2681251881Speter    STMT_14, \
2682251881Speter    STMT_15, \
2683251881Speter    STMT_16, \
2684251881Speter    STMT_17, \
2685251881Speter    STMT_18, \
2686251881Speter    STMT_19, \
2687251881Speter    STMT_20, \
2688251881Speter    STMT_21, \
2689251881Speter    STMT_22, \
2690251881Speter    STMT_23, \
2691251881Speter    STMT_24, \
2692251881Speter    STMT_25, \
2693251881Speter    STMT_26, \
2694251881Speter    STMT_27, \
2695251881Speter    STMT_28, \
2696251881Speter    STMT_29, \
2697251881Speter    STMT_30, \
2698251881Speter    STMT_31, \
2699251881Speter    STMT_32, \
2700251881Speter    STMT_33, \
2701251881Speter    STMT_34, \
2702251881Speter    STMT_35, \
2703251881Speter    STMT_36, \
2704251881Speter    STMT_37, \
2705251881Speter    STMT_38, \
2706251881Speter    STMT_39, \
2707251881Speter    STMT_40, \
2708251881Speter    STMT_41, \
2709251881Speter    STMT_42, \
2710251881Speter    STMT_43, \
2711251881Speter    STMT_44, \
2712251881Speter    STMT_45, \
2713251881Speter    STMT_46, \
2714251881Speter    STMT_47, \
2715251881Speter    STMT_48, \
2716251881Speter    STMT_49, \
2717251881Speter    STMT_50, \
2718251881Speter    STMT_51, \
2719251881Speter    STMT_52, \
2720251881Speter    STMT_53, \
2721251881Speter    STMT_54, \
2722251881Speter    STMT_55, \
2723251881Speter    STMT_56, \
2724251881Speter    STMT_57, \
2725251881Speter    STMT_58, \
2726251881Speter    STMT_59, \
2727251881Speter    STMT_60, \
2728251881Speter    STMT_61, \
2729251881Speter    STMT_62, \
2730251881Speter    STMT_63, \
2731251881Speter    STMT_64, \
2732251881Speter    STMT_65, \
2733251881Speter    STMT_66, \
2734251881Speter    STMT_67, \
2735251881Speter    STMT_68, \
2736251881Speter    STMT_69, \
2737251881Speter    STMT_70, \
2738251881Speter    STMT_71, \
2739251881Speter    STMT_72, \
2740251881Speter    STMT_73, \
2741251881Speter    STMT_74, \
2742251881Speter    STMT_75, \
2743251881Speter    STMT_76, \
2744251881Speter    STMT_77, \
2745251881Speter    STMT_78, \
2746251881Speter    STMT_79, \
2747251881Speter    STMT_80, \
2748251881Speter    STMT_81, \
2749251881Speter    STMT_82, \
2750251881Speter    STMT_83, \
2751251881Speter    STMT_84, \
2752251881Speter    STMT_85, \
2753251881Speter    STMT_86, \
2754251881Speter    STMT_87, \
2755251881Speter    STMT_88, \
2756251881Speter    STMT_89, \
2757251881Speter    STMT_90, \
2758251881Speter    STMT_91, \
2759251881Speter    STMT_92, \
2760251881Speter    STMT_93, \
2761251881Speter    STMT_94, \
2762251881Speter    STMT_95, \
2763251881Speter    STMT_96, \
2764251881Speter    STMT_97, \
2765251881Speter    STMT_98, \
2766251881Speter    STMT_99, \
2767251881Speter    STMT_100, \
2768251881Speter    STMT_101, \
2769251881Speter    STMT_102, \
2770251881Speter    STMT_103, \
2771251881Speter    STMT_104, \
2772251881Speter    STMT_105, \
2773251881Speter    STMT_106, \
2774251881Speter    STMT_107, \
2775251881Speter    STMT_108, \
2776251881Speter    STMT_109, \
2777251881Speter    STMT_110, \
2778251881Speter    STMT_111, \
2779251881Speter    STMT_112, \
2780251881Speter    STMT_113, \
2781251881Speter    STMT_114, \
2782251881Speter    STMT_115, \
2783251881Speter    STMT_116, \
2784251881Speter    STMT_117, \
2785251881Speter    STMT_118, \
2786251881Speter    STMT_119, \
2787251881Speter    STMT_120, \
2788251881Speter    STMT_121, \
2789251881Speter    STMT_122, \
2790251881Speter    STMT_123, \
2791251881Speter    STMT_124, \
2792251881Speter    STMT_125, \
2793251881Speter    STMT_126, \
2794251881Speter    STMT_127, \
2795251881Speter    STMT_128, \
2796251881Speter    STMT_129, \
2797251881Speter    STMT_130, \
2798251881Speter    STMT_131, \
2799251881Speter    STMT_132, \
2800251881Speter    STMT_133, \
2801251881Speter    STMT_134, \
2802251881Speter    STMT_135, \
2803251881Speter    STMT_136, \
2804251881Speter    STMT_137, \
2805251881Speter    STMT_138, \
2806251881Speter    STMT_139, \
2807251881Speter    STMT_140, \
2808251881Speter    STMT_141, \
2809251881Speter    STMT_142, \
2810251881Speter    STMT_143, \
2811251881Speter    STMT_144, \
2812251881Speter    STMT_145, \
2813251881Speter    STMT_146, \
2814251881Speter    STMT_147, \
2815251881Speter    STMT_148, \
2816251881Speter    STMT_149, \
2817251881Speter    STMT_150, \
2818251881Speter    STMT_151, \
2819251881Speter    STMT_152, \
2820251881Speter    STMT_153, \
2821251881Speter    STMT_154, \
2822251881Speter    STMT_155, \
2823251881Speter    STMT_156, \
2824251881Speter    STMT_157, \
2825251881Speter    STMT_158, \
2826251881Speter    STMT_159, \
2827251881Speter    STMT_160, \
2828251881Speter    STMT_161, \
2829251881Speter    STMT_162, \
2830251881Speter    STMT_163, \
2831251881Speter    STMT_164, \
2832251881Speter    STMT_165, \
2833251881Speter    STMT_166, \
2834251881Speter    STMT_167, \
2835251881Speter    STMT_168, \
2836251881Speter    STMT_169, \
2837251881Speter    STMT_170, \
2838251881Speter    STMT_171, \
2839251881Speter    STMT_172, \
2840251881Speter    STMT_173, \
2841251881Speter    STMT_174, \
2842251881Speter    STMT_175, \
2843251881Speter    STMT_176, \
2844251881Speter    STMT_177, \
2845251881Speter    STMT_178, \
2846251881Speter    STMT_179, \
2847251881Speter    STMT_180, \
2848251881Speter    STMT_181, \
2849251881Speter    STMT_182, \
2850251881Speter    STMT_183, \
2851251881Speter    STMT_184, \
2852251881Speter    STMT_185, \
2853251881Speter    STMT_186, \
2854251881Speter    STMT_187, \
2855251881Speter    STMT_188, \
2856251881Speter    STMT_189, \
2857251881Speter    STMT_190, \
2858251881Speter    STMT_191, \
2859251881Speter    STMT_192, \
2860251881Speter    STMT_193, \
2861251881Speter    STMT_194, \
2862251881Speter    STMT_195, \
2863251881Speter    STMT_196, \
2864251881Speter    STMT_197, \
2865251881Speter    STMT_198, \
2866251881Speter    STMT_199, \
2867251881Speter    STMT_200, \
2868251881Speter    STMT_201, \
2869251881Speter    STMT_202, \
2870251881Speter    STMT_203, \
2871251881Speter    STMT_204, \
2872251881Speter    STMT_205, \
2873251881Speter    STMT_206, \
2874251881Speter    STMT_207, \
2875251881Speter    STMT_208, \
2876251881Speter    STMT_209, \
2877251881Speter    STMT_210, \
2878251881Speter    STMT_211, \
2879251881Speter    STMT_212, \
2880251881Speter    STMT_213, \
2881251881Speter    STMT_214, \
2882251881Speter    STMT_215, \
2883251881Speter    STMT_216, \
2884251881Speter    STMT_217, \
2885251881Speter    STMT_218, \
2886251881Speter    STMT_219, \
2887251881Speter    STMT_220, \
2888251881Speter    STMT_221, \
2889251881Speter    STMT_222, \
2890251881Speter    STMT_223, \
2891251881Speter    STMT_224, \
2892251881Speter    STMT_225, \
2893251881Speter    STMT_226, \
2894251881Speter    STMT_227, \
2895251881Speter    STMT_228, \
2896251881Speter    STMT_229, \
2897253734Speter    STMT_230, \
2898262250Speter    STMT_231, \
2899251881Speter    NULL \
2900251881Speter  }
2901251881Speter
2902251881Speter#define WC_QUERIES_SQL_DECLARE_STATEMENT_INFO(varname) \
2903251881Speter  static const char * const varname[][2] = { \
2904251881Speter    STMT_0_INFO, \
2905251881Speter    STMT_1_INFO, \
2906251881Speter    STMT_2_INFO, \
2907251881Speter    STMT_3_INFO, \
2908251881Speter    STMT_4_INFO, \
2909251881Speter    STMT_5_INFO, \
2910251881Speter    STMT_6_INFO, \
2911251881Speter    STMT_7_INFO, \
2912251881Speter    STMT_8_INFO, \
2913251881Speter    STMT_9_INFO, \
2914251881Speter    STMT_10_INFO, \
2915251881Speter    STMT_11_INFO, \
2916251881Speter    STMT_12_INFO, \
2917251881Speter    STMT_13_INFO, \
2918251881Speter    STMT_14_INFO, \
2919251881Speter    STMT_15_INFO, \
2920251881Speter    STMT_16_INFO, \
2921251881Speter    STMT_17_INFO, \
2922251881Speter    STMT_18_INFO, \
2923251881Speter    STMT_19_INFO, \
2924251881Speter    STMT_20_INFO, \
2925251881Speter    STMT_21_INFO, \
2926251881Speter    STMT_22_INFO, \
2927251881Speter    STMT_23_INFO, \
2928251881Speter    STMT_24_INFO, \
2929251881Speter    STMT_25_INFO, \
2930251881Speter    STMT_26_INFO, \
2931251881Speter    STMT_27_INFO, \
2932251881Speter    STMT_28_INFO, \
2933251881Speter    STMT_29_INFO, \
2934251881Speter    STMT_30_INFO, \
2935251881Speter    STMT_31_INFO, \
2936251881Speter    STMT_32_INFO, \
2937251881Speter    STMT_33_INFO, \
2938251881Speter    STMT_34_INFO, \
2939251881Speter    STMT_35_INFO, \
2940251881Speter    STMT_36_INFO, \
2941251881Speter    STMT_37_INFO, \
2942251881Speter    STMT_38_INFO, \
2943251881Speter    STMT_39_INFO, \
2944251881Speter    STMT_40_INFO, \
2945251881Speter    STMT_41_INFO, \
2946251881Speter    STMT_42_INFO, \
2947251881Speter    STMT_43_INFO, \
2948251881Speter    STMT_44_INFO, \
2949251881Speter    STMT_45_INFO, \
2950251881Speter    STMT_46_INFO, \
2951251881Speter    STMT_47_INFO, \
2952251881Speter    STMT_48_INFO, \
2953251881Speter    STMT_49_INFO, \
2954251881Speter    STMT_50_INFO, \
2955251881Speter    STMT_51_INFO, \
2956251881Speter    STMT_52_INFO, \
2957251881Speter    STMT_53_INFO, \
2958251881Speter    STMT_54_INFO, \
2959251881Speter    STMT_55_INFO, \
2960251881Speter    STMT_56_INFO, \
2961251881Speter    STMT_57_INFO, \
2962251881Speter    STMT_58_INFO, \
2963251881Speter    STMT_59_INFO, \
2964251881Speter    STMT_60_INFO, \
2965251881Speter    STMT_61_INFO, \
2966251881Speter    STMT_62_INFO, \
2967251881Speter    STMT_63_INFO, \
2968251881Speter    STMT_64_INFO, \
2969251881Speter    STMT_65_INFO, \
2970251881Speter    STMT_66_INFO, \
2971251881Speter    STMT_67_INFO, \
2972251881Speter    STMT_68_INFO, \
2973251881Speter    STMT_69_INFO, \
2974251881Speter    STMT_70_INFO, \
2975251881Speter    STMT_71_INFO, \
2976251881Speter    STMT_72_INFO, \
2977251881Speter    STMT_73_INFO, \
2978251881Speter    STMT_74_INFO, \
2979251881Speter    STMT_75_INFO, \
2980251881Speter    STMT_76_INFO, \
2981251881Speter    STMT_77_INFO, \
2982251881Speter    STMT_78_INFO, \
2983251881Speter    STMT_79_INFO, \
2984251881Speter    STMT_80_INFO, \
2985251881Speter    STMT_81_INFO, \
2986251881Speter    STMT_82_INFO, \
2987251881Speter    STMT_83_INFO, \
2988251881Speter    STMT_84_INFO, \
2989251881Speter    STMT_85_INFO, \
2990251881Speter    STMT_86_INFO, \
2991251881Speter    STMT_87_INFO, \
2992251881Speter    STMT_88_INFO, \
2993251881Speter    STMT_89_INFO, \
2994251881Speter    STMT_90_INFO, \
2995251881Speter    STMT_91_INFO, \
2996251881Speter    STMT_92_INFO, \
2997251881Speter    STMT_93_INFO, \
2998251881Speter    STMT_94_INFO, \
2999251881Speter    STMT_95_INFO, \
3000251881Speter    STMT_96_INFO, \
3001251881Speter    STMT_97_INFO, \
3002251881Speter    STMT_98_INFO, \
3003251881Speter    STMT_99_INFO, \
3004251881Speter    STMT_100_INFO, \
3005251881Speter    STMT_101_INFO, \
3006251881Speter    STMT_102_INFO, \
3007251881Speter    STMT_103_INFO, \
3008251881Speter    STMT_104_INFO, \
3009251881Speter    STMT_105_INFO, \
3010251881Speter    STMT_106_INFO, \
3011251881Speter    STMT_107_INFO, \
3012251881Speter    STMT_108_INFO, \
3013251881Speter    STMT_109_INFO, \
3014251881Speter    STMT_110_INFO, \
3015251881Speter    STMT_111_INFO, \
3016251881Speter    STMT_112_INFO, \
3017251881Speter    STMT_113_INFO, \
3018251881Speter    STMT_114_INFO, \
3019251881Speter    STMT_115_INFO, \
3020251881Speter    STMT_116_INFO, \
3021251881Speter    STMT_117_INFO, \
3022251881Speter    STMT_118_INFO, \
3023251881Speter    STMT_119_INFO, \
3024251881Speter    STMT_120_INFO, \
3025251881Speter    STMT_121_INFO, \
3026251881Speter    STMT_122_INFO, \
3027251881Speter    STMT_123_INFO, \
3028251881Speter    STMT_124_INFO, \
3029251881Speter    STMT_125_INFO, \
3030251881Speter    STMT_126_INFO, \
3031251881Speter    STMT_127_INFO, \
3032251881Speter    STMT_128_INFO, \
3033251881Speter    STMT_129_INFO, \
3034251881Speter    STMT_130_INFO, \
3035251881Speter    STMT_131_INFO, \
3036251881Speter    STMT_132_INFO, \
3037251881Speter    STMT_133_INFO, \
3038251881Speter    STMT_134_INFO, \
3039251881Speter    STMT_135_INFO, \
3040251881Speter    STMT_136_INFO, \
3041251881Speter    STMT_137_INFO, \
3042251881Speter    STMT_138_INFO, \
3043251881Speter    STMT_139_INFO, \
3044251881Speter    STMT_140_INFO, \
3045251881Speter    STMT_141_INFO, \
3046251881Speter    STMT_142_INFO, \
3047251881Speter    STMT_143_INFO, \
3048251881Speter    STMT_144_INFO, \
3049251881Speter    STMT_145_INFO, \
3050251881Speter    STMT_146_INFO, \
3051251881Speter    STMT_147_INFO, \
3052251881Speter    STMT_148_INFO, \
3053251881Speter    STMT_149_INFO, \
3054251881Speter    STMT_150_INFO, \
3055251881Speter    STMT_151_INFO, \
3056251881Speter    STMT_152_INFO, \
3057251881Speter    STMT_153_INFO, \
3058251881Speter    STMT_154_INFO, \
3059251881Speter    STMT_155_INFO, \
3060251881Speter    STMT_156_INFO, \
3061251881Speter    STMT_157_INFO, \
3062251881Speter    STMT_158_INFO, \
3063251881Speter    STMT_159_INFO, \
3064251881Speter    STMT_160_INFO, \
3065251881Speter    STMT_161_INFO, \
3066251881Speter    STMT_162_INFO, \
3067251881Speter    STMT_163_INFO, \
3068251881Speter    STMT_164_INFO, \
3069251881Speter    STMT_165_INFO, \
3070251881Speter    STMT_166_INFO, \
3071251881Speter    STMT_167_INFO, \
3072251881Speter    STMT_168_INFO, \
3073251881Speter    STMT_169_INFO, \
3074251881Speter    STMT_170_INFO, \
3075251881Speter    STMT_171_INFO, \
3076251881Speter    STMT_172_INFO, \
3077251881Speter    STMT_173_INFO, \
3078251881Speter    STMT_174_INFO, \
3079251881Speter    STMT_175_INFO, \
3080251881Speter    STMT_176_INFO, \
3081251881Speter    STMT_177_INFO, \
3082251881Speter    STMT_178_INFO, \
3083251881Speter    STMT_179_INFO, \
3084251881Speter    STMT_180_INFO, \
3085251881Speter    STMT_181_INFO, \
3086251881Speter    STMT_182_INFO, \
3087251881Speter    STMT_183_INFO, \
3088251881Speter    STMT_184_INFO, \
3089251881Speter    STMT_185_INFO, \
3090251881Speter    STMT_186_INFO, \
3091251881Speter    STMT_187_INFO, \
3092251881Speter    STMT_188_INFO, \
3093251881Speter    STMT_189_INFO, \
3094251881Speter    STMT_190_INFO, \
3095251881Speter    STMT_191_INFO, \
3096251881Speter    STMT_192_INFO, \
3097251881Speter    STMT_193_INFO, \
3098251881Speter    STMT_194_INFO, \
3099251881Speter    STMT_195_INFO, \
3100251881Speter    STMT_196_INFO, \
3101251881Speter    STMT_197_INFO, \
3102251881Speter    STMT_198_INFO, \
3103251881Speter    STMT_199_INFO, \
3104251881Speter    STMT_200_INFO, \
3105251881Speter    STMT_201_INFO, \
3106251881Speter    STMT_202_INFO, \
3107251881Speter    STMT_203_INFO, \
3108251881Speter    STMT_204_INFO, \
3109251881Speter    STMT_205_INFO, \
3110251881Speter    STMT_206_INFO, \
3111251881Speter    STMT_207_INFO, \
3112251881Speter    STMT_208_INFO, \
3113251881Speter    STMT_209_INFO, \
3114251881Speter    STMT_210_INFO, \
3115251881Speter    STMT_211_INFO, \
3116251881Speter    STMT_212_INFO, \
3117251881Speter    STMT_213_INFO, \
3118251881Speter    STMT_214_INFO, \
3119251881Speter    STMT_215_INFO, \
3120251881Speter    STMT_216_INFO, \
3121251881Speter    STMT_217_INFO, \
3122251881Speter    STMT_218_INFO, \
3123251881Speter    STMT_219_INFO, \
3124251881Speter    STMT_220_INFO, \
3125251881Speter    STMT_221_INFO, \
3126251881Speter    STMT_222_INFO, \
3127251881Speter    STMT_223_INFO, \
3128251881Speter    STMT_224_INFO, \
3129251881Speter    STMT_225_INFO, \
3130251881Speter    STMT_226_INFO, \
3131251881Speter    STMT_227_INFO, \
3132251881Speter    STMT_228_INFO, \
3133251881Speter    STMT_229_INFO, \
3134253734Speter    STMT_230_INFO, \
3135262250Speter    STMT_231_INFO, \
3136251881Speter    {NULL, NULL} \
3137251881Speter  }
3138