1 /* This file is automatically generated from wc-metadata.sql and .dist_sandbox/subversion-1.8.1/subversion/libsvn_wc/token-map.h.
2 * Do not edit this file -- edit the source and rerun gen-make.py */
4 #define STMT_CREATE_SCHEMA 0
5 #define STMT_0_INFO {"STMT_CREATE_SCHEMA", NULL}
7 "CREATE TABLE REPOSITORY ( " \
8 " id INTEGER PRIMARY KEY AUTOINCREMENT, " \
9 " root TEXT UNIQUE NOT NULL, " \
10 " uuid TEXT NOT NULL " \
12 "CREATE INDEX I_UUID ON REPOSITORY (uuid); " \
13 "CREATE INDEX I_ROOT ON REPOSITORY (root); " \
14 "CREATE TABLE WCROOT ( " \
15 " id INTEGER PRIMARY KEY AUTOINCREMENT, " \
16 " local_abspath TEXT UNIQUE " \
18 "CREATE UNIQUE INDEX I_LOCAL_ABSPATH ON WCROOT (local_abspath); " \
19 "CREATE TABLE PRISTINE ( " \
20 " checksum TEXT NOT NULL PRIMARY KEY, " \
21 " compression INTEGER, " \
22 " size INTEGER NOT NULL, " \
23 " refcount INTEGER NOT NULL, " \
24 " md5_checksum TEXT NOT NULL " \
26 "CREATE INDEX I_PRISTINE_MD5 ON PRISTINE (md5_checksum); " \
27 "CREATE TABLE ACTUAL_NODE ( " \
28 " wc_id INTEGER NOT NULL REFERENCES WCROOT (id), " \
29 " local_relpath TEXT NOT NULL, " \
30 " parent_relpath TEXT, " \
31 " properties BLOB, " \
32 " conflict_old TEXT, " \
33 " conflict_new TEXT, " \
34 " conflict_working TEXT, " \
35 " prop_reject TEXT, " \
36 " changelist TEXT, " \
38 " tree_conflict_data TEXT, " \
39 " conflict_data BLOB, " \
40 " older_checksum TEXT REFERENCES PRISTINE (checksum), " \
41 " left_checksum TEXT REFERENCES PRISTINE (checksum), " \
42 " right_checksum TEXT REFERENCES PRISTINE (checksum), " \
43 " PRIMARY KEY (wc_id, local_relpath) " \
45 "CREATE UNIQUE INDEX I_ACTUAL_PARENT ON ACTUAL_NODE (wc_id, parent_relpath, " \
47 "CREATE TABLE LOCK ( " \
48 " repos_id INTEGER NOT NULL REFERENCES REPOSITORY (id), " \
49 " repos_relpath TEXT NOT NULL, " \
50 " lock_token TEXT NOT NULL, " \
51 " lock_owner TEXT, " \
52 " lock_comment TEXT, " \
53 " lock_date INTEGER, " \
54 " PRIMARY KEY (repos_id, repos_relpath) " \
56 "CREATE TABLE WORK_QUEUE ( " \
57 " id INTEGER PRIMARY KEY AUTOINCREMENT, " \
58 " work BLOB NOT NULL " \
60 "CREATE TABLE WC_LOCK ( " \
61 " wc_id INTEGER NOT NULL REFERENCES WCROOT (id), " \
62 " local_dir_relpath TEXT NOT NULL, " \
63 " locked_levels INTEGER NOT NULL DEFAULT -1, " \
64 " PRIMARY KEY (wc_id, local_dir_relpath) " \
66 "PRAGMA user_version = " \
67 APR_STRINGIFY(SVN_WC__VERSION) \
71 #define STMT_CREATE_NODES 1
72 #define STMT_1_INFO {"STMT_CREATE_NODES", NULL}
74 "CREATE TABLE NODES ( " \
75 " wc_id INTEGER NOT NULL REFERENCES WCROOT (id), " \
76 " local_relpath TEXT NOT NULL, " \
77 " op_depth INTEGER NOT NULL, " \
78 " parent_relpath TEXT, " \
79 " repos_id INTEGER REFERENCES REPOSITORY (id), " \
80 " repos_path TEXT, " \
81 " revision INTEGER, " \
82 " presence TEXT NOT NULL, " \
83 " moved_here INTEGER, " \
85 " kind TEXT NOT NULL, " \
86 " properties BLOB, " \
88 " checksum TEXT REFERENCES PRISTINE (checksum), " \
89 " symlink_target TEXT, " \
90 " changed_revision INTEGER, " \
91 " changed_date INTEGER, " \
92 " changed_author TEXT, " \
93 " translated_size INTEGER, " \
94 " last_mod_time INTEGER, " \
96 " file_external INTEGER, " \
97 " inherited_props BLOB, " \
98 " PRIMARY KEY (wc_id, local_relpath, op_depth) " \
100 "CREATE UNIQUE INDEX I_NODES_PARENT ON NODES (wc_id, parent_relpath, " \
101 " local_relpath, op_depth); " \
102 "CREATE UNIQUE INDEX I_NODES_MOVED ON NODES (wc_id, moved_to, op_depth); " \
103 "CREATE VIEW NODES_CURRENT AS " \
104 " SELECT * FROM nodes AS n " \
105 " WHERE op_depth = (SELECT MAX(op_depth) FROM nodes AS n2 " \
106 " WHERE n2.wc_id = n.wc_id " \
107 " AND n2.local_relpath = n.local_relpath); " \
108 "CREATE VIEW NODES_BASE AS " \
109 " SELECT * FROM nodes " \
110 " WHERE op_depth = 0; " \
113 #define STMT_CREATE_NODES_TRIGGERS 2
114 #define STMT_2_INFO {"STMT_CREATE_NODES_TRIGGERS", NULL}
116 "CREATE TRIGGER nodes_insert_trigger " \
117 "AFTER INSERT ON nodes " \
118 "WHEN NEW.checksum IS NOT NULL " \
120 " UPDATE pristine SET refcount = refcount + 1 " \
121 " WHERE checksum = NEW.checksum; " \
123 "CREATE TRIGGER nodes_delete_trigger " \
124 "AFTER DELETE ON nodes " \
125 "WHEN OLD.checksum IS NOT NULL " \
127 " UPDATE pristine SET refcount = refcount - 1 " \
128 " WHERE checksum = OLD.checksum; " \
130 "CREATE TRIGGER nodes_update_checksum_trigger " \
131 "AFTER UPDATE OF checksum ON nodes " \
132 "WHEN NEW.checksum IS NOT OLD.checksum " \
134 " UPDATE pristine SET refcount = refcount + 1 " \
135 " WHERE checksum = NEW.checksum; " \
136 " UPDATE pristine SET refcount = refcount - 1 " \
137 " WHERE checksum = OLD.checksum; " \
141 #define STMT_CREATE_EXTERNALS 3
142 #define STMT_3_INFO {"STMT_CREATE_EXTERNALS", NULL}
144 "CREATE TABLE EXTERNALS ( " \
145 " wc_id INTEGER NOT NULL REFERENCES WCROOT (id), " \
146 " local_relpath TEXT NOT NULL, " \
147 " parent_relpath TEXT NOT NULL, " \
148 " repos_id INTEGER NOT NULL REFERENCES REPOSITORY (id), " \
149 " presence TEXT NOT NULL, " \
150 " kind TEXT NOT NULL, " \
151 " def_local_relpath TEXT NOT NULL, " \
152 " def_repos_relpath TEXT NOT NULL, " \
153 " def_operational_revision TEXT, " \
154 " def_revision TEXT, " \
155 " PRIMARY KEY (wc_id, local_relpath) " \
157 "CREATE UNIQUE INDEX I_EXTERNALS_DEFINED ON EXTERNALS (wc_id, " \
158 " def_local_relpath, " \
159 " local_relpath); " \
162 #define STMT_UPGRADE_TO_20 4
163 #define STMT_4_INFO {"STMT_UPGRADE_TO_20", NULL}
165 "UPDATE BASE_NODE SET checksum = (SELECT checksum FROM pristine " \
166 " WHERE md5_checksum = BASE_NODE.checksum) " \
167 "WHERE EXISTS (SELECT 1 FROM pristine WHERE md5_checksum = BASE_NODE.checksum); " \
168 "UPDATE WORKING_NODE SET checksum = (SELECT checksum FROM pristine " \
169 " WHERE md5_checksum = WORKING_NODE.checksum) " \
170 "WHERE EXISTS (SELECT 1 FROM pristine " \
171 " WHERE md5_checksum = WORKING_NODE.checksum); " \
172 "INSERT INTO NODES ( " \
173 " wc_id, local_relpath, op_depth, parent_relpath, " \
174 " repos_id, repos_path, revision, " \
175 " presence, depth, moved_here, moved_to, kind, " \
176 " changed_revision, changed_date, changed_author, " \
177 " checksum, properties, translated_size, last_mod_time, " \
178 " dav_cache, symlink_target, file_external ) " \
179 "SELECT wc_id, local_relpath, 0 , parent_relpath, " \
180 " repos_id, repos_relpath, revnum, " \
181 " presence, depth, NULL , NULL , kind, " \
182 " changed_rev, changed_date, changed_author, " \
183 " checksum, properties, translated_size, last_mod_time, " \
184 " dav_cache, symlink_target, file_external " \
186 "INSERT INTO NODES ( " \
187 " wc_id, local_relpath, op_depth, parent_relpath, " \
188 " repos_id, repos_path, revision, " \
189 " presence, depth, moved_here, moved_to, kind, " \
190 " changed_revision, changed_date, changed_author, " \
191 " checksum, properties, translated_size, last_mod_time, " \
192 " dav_cache, symlink_target, file_external ) " \
193 "SELECT wc_id, local_relpath, 2 , parent_relpath, " \
194 " copyfrom_repos_id, copyfrom_repos_path, copyfrom_revnum, " \
195 " presence, depth, NULL , NULL , kind, " \
196 " changed_rev, changed_date, changed_author, " \
197 " checksum, properties, translated_size, last_mod_time, " \
198 " NULL , symlink_target, NULL " \
199 "FROM WORKING_NODE; " \
200 "DROP TABLE BASE_NODE; " \
201 "DROP TABLE WORKING_NODE; " \
202 "PRAGMA user_version = 20; " \
205 #define STMT_UPGRADE_TO_21 5
206 #define STMT_5_INFO {"STMT_UPGRADE_TO_21", NULL}
208 "PRAGMA user_version = 21; " \
211 #define STMT_UPGRADE_21_SELECT_OLD_TREE_CONFLICT 6
212 #define STMT_6_INFO {"STMT_UPGRADE_21_SELECT_OLD_TREE_CONFLICT", NULL}
214 "SELECT wc_id, local_relpath, tree_conflict_data " \
215 "FROM actual_node " \
216 "WHERE tree_conflict_data IS NOT NULL " \
219 #define STMT_UPGRADE_21_ERASE_OLD_CONFLICTS 7
220 #define STMT_7_INFO {"STMT_UPGRADE_21_ERASE_OLD_CONFLICTS", NULL}
222 "UPDATE actual_node SET tree_conflict_data = NULL " \
225 #define STMT_UPGRADE_TO_22 8
226 #define STMT_8_INFO {"STMT_UPGRADE_TO_22", NULL}
228 "UPDATE actual_node SET tree_conflict_data = conflict_data; " \
229 "UPDATE actual_node SET conflict_data = NULL; " \
230 "PRAGMA user_version = 22; " \
233 #define STMT_UPGRADE_TO_23 9
234 #define STMT_9_INFO {"STMT_UPGRADE_TO_23", NULL}
236 "PRAGMA user_version = 23; " \
239 #define STMT_UPGRADE_23_HAS_WORKING_NODES 10
240 #define STMT_10_INFO {"STMT_UPGRADE_23_HAS_WORKING_NODES", NULL}
242 "SELECT 1 FROM nodes WHERE op_depth > 0 " \
246 #define STMT_UPGRADE_TO_24 11
247 #define STMT_11_INFO {"STMT_UPGRADE_TO_24", NULL}
249 "UPDATE pristine SET refcount = " \
250 " (SELECT COUNT(*) FROM nodes " \
251 " WHERE checksum = pristine.checksum ); " \
252 "PRAGMA user_version = 24; " \
255 #define STMT_UPGRADE_TO_25 12
256 #define STMT_12_INFO {"STMT_UPGRADE_TO_25", NULL}
258 "DROP VIEW IF EXISTS NODES_CURRENT; " \
259 "CREATE VIEW NODES_CURRENT AS " \
260 " SELECT * FROM nodes " \
261 " JOIN (SELECT wc_id, local_relpath, MAX(op_depth) AS op_depth FROM nodes " \
262 " GROUP BY wc_id, local_relpath) AS filter " \
263 " ON nodes.wc_id = filter.wc_id " \
264 " AND nodes.local_relpath = filter.local_relpath " \
265 " AND nodes.op_depth = filter.op_depth; " \
266 "PRAGMA user_version = 25; " \
269 #define STMT_UPGRADE_TO_26 13
270 #define STMT_13_INFO {"STMT_UPGRADE_TO_26", NULL}
272 "DROP VIEW IF EXISTS NODES_BASE; " \
273 "CREATE VIEW NODES_BASE AS " \
274 " SELECT * FROM nodes " \
275 " WHERE op_depth = 0; " \
276 "PRAGMA user_version = 26; " \
279 #define STMT_UPGRADE_TO_27 14
280 #define STMT_14_INFO {"STMT_UPGRADE_TO_27", NULL}
282 "PRAGMA user_version = 27; " \
285 #define STMT_UPGRADE_27_HAS_ACTUAL_NODES_CONFLICTS 15
286 #define STMT_15_INFO {"STMT_UPGRADE_27_HAS_ACTUAL_NODES_CONFLICTS", NULL}
288 "SELECT 1 FROM actual_node " \
289 "WHERE NOT ((prop_reject IS NULL) AND (conflict_old IS NULL) " \
290 " AND (conflict_new IS NULL) AND (conflict_working IS NULL) " \
291 " AND (tree_conflict_data IS NULL)) " \
295 #define STMT_UPGRADE_TO_28 16
296 #define STMT_16_INFO {"STMT_UPGRADE_TO_28", NULL}
298 "UPDATE NODES SET checksum = (SELECT checksum FROM pristine " \
299 " WHERE md5_checksum = nodes.checksum) " \
300 "WHERE EXISTS (SELECT 1 FROM pristine WHERE md5_checksum = nodes.checksum); " \
301 "PRAGMA user_version = 28; " \
304 #define STMT_UPGRADE_TO_29 17
305 #define STMT_17_INFO {"STMT_UPGRADE_TO_29", NULL}
307 "DROP TRIGGER IF EXISTS nodes_update_checksum_trigger; " \
308 "DROP TRIGGER IF EXISTS nodes_insert_trigger; " \
309 "DROP TRIGGER IF EXISTS nodes_delete_trigger; " \
310 "CREATE TRIGGER nodes_update_checksum_trigger " \
311 "AFTER UPDATE OF checksum ON nodes " \
312 "WHEN NEW.checksum IS NOT OLD.checksum " \
314 " UPDATE pristine SET refcount = refcount + 1 " \
315 " WHERE checksum = NEW.checksum; " \
316 " UPDATE pristine SET refcount = refcount - 1 " \
317 " WHERE checksum = OLD.checksum; " \
319 "CREATE TRIGGER nodes_insert_trigger " \
320 "AFTER INSERT ON nodes " \
321 "WHEN NEW.checksum IS NOT NULL " \
323 " UPDATE pristine SET refcount = refcount + 1 " \
324 " WHERE checksum = NEW.checksum; " \
326 "CREATE TRIGGER nodes_delete_trigger " \
327 "AFTER DELETE ON nodes " \
328 "WHEN OLD.checksum IS NOT NULL " \
330 " UPDATE pristine SET refcount = refcount - 1 " \
331 " WHERE checksum = OLD.checksum; " \
333 "PRAGMA user_version = 29; " \
336 #define STMT_UPGRADE_TO_30 18
337 #define STMT_18_INFO {"STMT_UPGRADE_TO_30", NULL}
339 "CREATE UNIQUE INDEX IF NOT EXISTS I_NODES_MOVED " \
340 "ON NODES (wc_id, moved_to, op_depth); " \
341 "CREATE INDEX IF NOT EXISTS I_PRISTINE_MD5 ON PRISTINE (md5_checksum); " \
342 "UPDATE nodes SET presence = \"server-excluded\" WHERE presence = \"absent\"; " \
343 "UPDATE nodes SET file_external=1 WHERE file_external IS NOT NULL; " \
346 #define STMT_UPGRADE_30_SELECT_CONFLICT_SEPARATE 19
347 #define STMT_19_INFO {"STMT_UPGRADE_30_SELECT_CONFLICT_SEPARATE", NULL}
349 "SELECT wc_id, local_relpath, " \
350 " conflict_old, conflict_working, conflict_new, prop_reject, tree_conflict_data " \
351 "FROM actual_node " \
352 "WHERE conflict_old IS NOT NULL " \
353 " OR conflict_working IS NOT NULL " \
354 " OR conflict_new IS NOT NULL " \
355 " OR prop_reject IS NOT NULL " \
356 " OR tree_conflict_data IS NOT NULL " \
357 "ORDER by wc_id, local_relpath " \
360 #define STMT_UPGRADE_30_SET_CONFLICT 20
361 #define STMT_20_INFO {"STMT_UPGRADE_30_SET_CONFLICT", NULL}
363 "UPDATE actual_node SET conflict_data = ?3, conflict_old = NULL, " \
364 " conflict_working = NULL, conflict_new = NULL, prop_reject = NULL, " \
365 " tree_conflict_data = NULL " \
366 "WHERE wc_id = ?1 and local_relpath = ?2 " \
369 #define STMT_UPGRADE_TO_31_ALTER_TABLE 21
370 #define STMT_21_INFO {"STMT_UPGRADE_TO_31_ALTER_TABLE", NULL}
372 "ALTER TABLE NODES ADD COLUMN inherited_props BLOB; " \
375 #define STMT_UPGRADE_TO_31_FINALIZE 22
376 #define STMT_22_INFO {"STMT_UPGRADE_TO_31_FINALIZE", NULL}
378 "DROP INDEX IF EXISTS I_ACTUAL_CHANGELIST; " \
379 "DROP INDEX IF EXISTS I_EXTERNALS_PARENT; " \
380 "DROP INDEX I_NODES_PARENT; " \
381 "CREATE UNIQUE INDEX I_NODES_PARENT ON NODES (wc_id, parent_relpath, " \
382 " local_relpath, op_depth); " \
383 "DROP INDEX I_ACTUAL_PARENT; " \
384 "CREATE UNIQUE INDEX I_ACTUAL_PARENT ON ACTUAL_NODE (wc_id, parent_relpath, " \
385 " local_relpath); " \
386 "PRAGMA user_version = 31; " \
389 #define STMT_UPGRADE_31_SELECT_WCROOT_NODES 23
390 #define STMT_23_INFO {"STMT_UPGRADE_31_SELECT_WCROOT_NODES", NULL}
392 "SELECT l.wc_id, l.local_relpath FROM nodes as l " \
393 "LEFT OUTER JOIN nodes as r " \
394 "ON l.wc_id = r.wc_id " \
395 " AND r.local_relpath = l.parent_relpath " \
396 " AND r.op_depth = 0 " \
397 "WHERE l.op_depth = 0 " \
398 " AND l.repos_path != '' " \
399 " AND ((l.repos_id IS NOT r.repos_id) " \
400 " 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))) " \
403 #define STMT_UPGRADE_TO_32 24
404 #define STMT_24_INFO {"STMT_UPGRADE_TO_32", NULL}
406 "DROP INDEX IF EXISTS I_ACTUAL_CHANGELIST; " \
407 "DROP INDEX IF EXISTS I_EXTERNALS_PARENT; " \
408 "CREATE INDEX I_EXTERNALS_PARENT ON EXTERNALS (wc_id, parent_relpath); " \
409 "DROP INDEX I_NODES_PARENT; " \
410 "CREATE UNIQUE INDEX I_NODES_PARENT ON NODES (wc_id, parent_relpath, " \
411 " local_relpath, op_depth); " \
412 "DROP INDEX I_ACTUAL_PARENT; " \
413 "CREATE UNIQUE INDEX I_ACTUAL_PARENT ON ACTUAL_NODE (wc_id, parent_relpath, " \
414 " local_relpath); " \
418 #define WC_METADATA_SQL_99 \
419 "CREATE TABLE ACTUAL_NODE_BACKUP ( " \
420 " wc_id INTEGER NOT NULL, " \
421 " local_relpath TEXT NOT NULL, " \
422 " parent_relpath TEXT, " \
423 " properties BLOB, " \
424 " conflict_old TEXT, " \
425 " conflict_new TEXT, " \
426 " conflict_working TEXT, " \
427 " prop_reject TEXT, " \
428 " changelist TEXT, " \
431 "INSERT INTO ACTUAL_NODE_BACKUP SELECT " \
432 " wc_id, local_relpath, parent_relpath, properties, conflict_old, " \
433 " conflict_new, conflict_working, prop_reject, changelist, text_mod " \
434 "FROM ACTUAL_NODE; " \
435 "DROP TABLE ACTUAL_NODE; " \
436 "CREATE TABLE ACTUAL_NODE ( " \
437 " wc_id INTEGER NOT NULL REFERENCES WCROOT (id), " \
438 " local_relpath TEXT NOT NULL, " \
439 " parent_relpath TEXT, " \
440 " properties BLOB, " \
441 " conflict_old TEXT, " \
442 " conflict_new TEXT, " \
443 " conflict_working TEXT, " \
444 " prop_reject TEXT, " \
445 " changelist TEXT, " \
447 " PRIMARY KEY (wc_id, local_relpath) " \
449 "CREATE UNIQUE INDEX I_ACTUAL_PARENT ON ACTUAL_NODE (wc_id, parent_relpath, " \
450 " local_relpath); " \
451 "INSERT INTO ACTUAL_NODE SELECT " \
452 " wc_id, local_relpath, parent_relpath, properties, conflict_old, " \
453 " conflict_new, conflict_working, prop_reject, changelist, text_mod " \
454 "FROM ACTUAL_NODE_BACKUP; " \
455 "DROP TABLE ACTUAL_NODE_BACKUP; " \
458 #define WC_METADATA_SQL_DECLARE_STATEMENTS(varname) \
459 static const char * const varname[] = { \
488 #define WC_METADATA_SQL_DECLARE_STATEMENT_INFO(varname) \
489 static const char * const varname[][2] = { \