wc-metadata.h revision 251886
1/* This file is automatically generated from wc-metadata.sql and .dist_sandbox/subversion-1.8.0-rc3/subversion/libsvn_wc/token-map.h. 2 * Do not edit this file -- edit the source and rerun gen-make.py */ 3 4#define STMT_CREATE_SCHEMA 0 5#define STMT_0_INFO {"STMT_CREATE_SCHEMA", NULL} 6#define STMT_0 \ 7 "CREATE TABLE REPOSITORY ( " \ 8 " id INTEGER PRIMARY KEY AUTOINCREMENT, " \ 9 " root TEXT UNIQUE NOT NULL, " \ 10 " uuid TEXT NOT NULL " \ 11 " ); " \ 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 " \ 17 " ); " \ 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 " \ 25 " ); " \ 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, " \ 37 " text_mod 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) " \ 44 " ); " \ 45 "CREATE UNIQUE INDEX I_ACTUAL_PARENT ON ACTUAL_NODE (wc_id, parent_relpath, " \ 46 " local_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) " \ 55 " ); " \ 56 "CREATE TABLE WORK_QUEUE ( " \ 57 " id INTEGER PRIMARY KEY AUTOINCREMENT, " \ 58 " work BLOB NOT NULL " \ 59 " ); " \ 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) " \ 65 " ); " \ 66 "PRAGMA user_version = " \ 67 APR_STRINGIFY(SVN_WC__VERSION) \ 68 "; " \ 69 "" 70 71#define STMT_CREATE_NODES 1 72#define STMT_1_INFO {"STMT_CREATE_NODES", NULL} 73#define STMT_1 \ 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, " \ 84 " moved_to TEXT, " \ 85 " kind TEXT NOT NULL, " \ 86 " properties BLOB, " \ 87 " depth TEXT, " \ 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, " \ 95 " dav_cache BLOB, " \ 96 " file_external INTEGER, " \ 97 " inherited_props BLOB, " \ 98 " PRIMARY KEY (wc_id, local_relpath, op_depth) " \ 99 " ); " \ 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; " \ 111 "" 112 113#define STMT_CREATE_NODES_TRIGGERS 2 114#define STMT_2_INFO {"STMT_CREATE_NODES_TRIGGERS", NULL} 115#define STMT_2 \ 116 "CREATE TRIGGER nodes_insert_trigger " \ 117 "AFTER INSERT ON nodes " \ 118 "WHEN NEW.checksum IS NOT NULL " \ 119 "BEGIN " \ 120 " UPDATE pristine SET refcount = refcount + 1 " \ 121 " WHERE checksum = NEW.checksum; " \ 122 "END; " \ 123 "CREATE TRIGGER nodes_delete_trigger " \ 124 "AFTER DELETE ON nodes " \ 125 "WHEN OLD.checksum IS NOT NULL " \ 126 "BEGIN " \ 127 " UPDATE pristine SET refcount = refcount - 1 " \ 128 " WHERE checksum = OLD.checksum; " \ 129 "END; " \ 130 "CREATE TRIGGER nodes_update_checksum_trigger " \ 131 "AFTER UPDATE OF checksum ON nodes " \ 132 "WHEN NEW.checksum IS NOT OLD.checksum " \ 133 "BEGIN " \ 134 " UPDATE pristine SET refcount = refcount + 1 " \ 135 " WHERE checksum = NEW.checksum; " \ 136 " UPDATE pristine SET refcount = refcount - 1 " \ 137 " WHERE checksum = OLD.checksum; " \ 138 "END; " \ 139 "" 140 141#define STMT_CREATE_EXTERNALS 3 142#define STMT_3_INFO {"STMT_CREATE_EXTERNALS", NULL} 143#define STMT_3 \ 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) " \ 156 "); " \ 157 "CREATE UNIQUE INDEX I_EXTERNALS_DEFINED ON EXTERNALS (wc_id, " \ 158 " def_local_relpath, " \ 159 " local_relpath); " \ 160 "" 161 162#define STMT_UPGRADE_TO_20 4 163#define STMT_4_INFO {"STMT_UPGRADE_TO_20", NULL} 164#define STMT_4 \ 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 " \ 185 "FROM BASE_NODE; " \ 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; " \ 203 "" 204 205#define STMT_UPGRADE_TO_21 5 206#define STMT_5_INFO {"STMT_UPGRADE_TO_21", NULL} 207#define STMT_5 \ 208 "PRAGMA user_version = 21; " \ 209 "" 210 211#define STMT_UPGRADE_21_SELECT_OLD_TREE_CONFLICT 6 212#define STMT_6_INFO {"STMT_UPGRADE_21_SELECT_OLD_TREE_CONFLICT", NULL} 213#define STMT_6 \ 214 "SELECT wc_id, local_relpath, tree_conflict_data " \ 215 "FROM actual_node " \ 216 "WHERE tree_conflict_data IS NOT NULL " \ 217 "" 218 219#define STMT_UPGRADE_21_ERASE_OLD_CONFLICTS 7 220#define STMT_7_INFO {"STMT_UPGRADE_21_ERASE_OLD_CONFLICTS", NULL} 221#define STMT_7 \ 222 "UPDATE actual_node SET tree_conflict_data = NULL " \ 223 "" 224 225#define STMT_UPGRADE_TO_22 8 226#define STMT_8_INFO {"STMT_UPGRADE_TO_22", NULL} 227#define STMT_8 \ 228 "UPDATE actual_node SET tree_conflict_data = conflict_data; " \ 229 "UPDATE actual_node SET conflict_data = NULL; " \ 230 "PRAGMA user_version = 22; " \ 231 "" 232 233#define STMT_UPGRADE_TO_23 9 234#define STMT_9_INFO {"STMT_UPGRADE_TO_23", NULL} 235#define STMT_9 \ 236 "PRAGMA user_version = 23; " \ 237 "" 238 239#define STMT_UPGRADE_23_HAS_WORKING_NODES 10 240#define STMT_10_INFO {"STMT_UPGRADE_23_HAS_WORKING_NODES", NULL} 241#define STMT_10 \ 242 "SELECT 1 FROM nodes WHERE op_depth > 0 " \ 243 "LIMIT 1 " \ 244 "" 245 246#define STMT_UPGRADE_TO_24 11 247#define STMT_11_INFO {"STMT_UPGRADE_TO_24", NULL} 248#define STMT_11 \ 249 "UPDATE pristine SET refcount = " \ 250 " (SELECT COUNT(*) FROM nodes " \ 251 " WHERE checksum = pristine.checksum ); " \ 252 "PRAGMA user_version = 24; " \ 253 "" 254 255#define STMT_UPGRADE_TO_25 12 256#define STMT_12_INFO {"STMT_UPGRADE_TO_25", NULL} 257#define STMT_12 \ 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; " \ 267 "" 268 269#define STMT_UPGRADE_TO_26 13 270#define STMT_13_INFO {"STMT_UPGRADE_TO_26", NULL} 271#define STMT_13 \ 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; " \ 277 "" 278 279#define STMT_UPGRADE_TO_27 14 280#define STMT_14_INFO {"STMT_UPGRADE_TO_27", NULL} 281#define STMT_14 \ 282 "PRAGMA user_version = 27; " \ 283 "" 284 285#define STMT_UPGRADE_27_HAS_ACTUAL_NODES_CONFLICTS 15 286#define STMT_15_INFO {"STMT_UPGRADE_27_HAS_ACTUAL_NODES_CONFLICTS", NULL} 287#define STMT_15 \ 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)) " \ 292 "LIMIT 1 " \ 293 "" 294 295#define STMT_UPGRADE_TO_28 16 296#define STMT_16_INFO {"STMT_UPGRADE_TO_28", NULL} 297#define STMT_16 \ 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; " \ 302 "" 303 304#define STMT_UPGRADE_TO_29 17 305#define STMT_17_INFO {"STMT_UPGRADE_TO_29", NULL} 306#define STMT_17 \ 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 " \ 313 "BEGIN " \ 314 " UPDATE pristine SET refcount = refcount + 1 " \ 315 " WHERE checksum = NEW.checksum; " \ 316 " UPDATE pristine SET refcount = refcount - 1 " \ 317 " WHERE checksum = OLD.checksum; " \ 318 "END; " \ 319 "CREATE TRIGGER nodes_insert_trigger " \ 320 "AFTER INSERT ON nodes " \ 321 "WHEN NEW.checksum IS NOT NULL " \ 322 "BEGIN " \ 323 " UPDATE pristine SET refcount = refcount + 1 " \ 324 " WHERE checksum = NEW.checksum; " \ 325 "END; " \ 326 "CREATE TRIGGER nodes_delete_trigger " \ 327 "AFTER DELETE ON nodes " \ 328 "WHEN OLD.checksum IS NOT NULL " \ 329 "BEGIN " \ 330 " UPDATE pristine SET refcount = refcount - 1 " \ 331 " WHERE checksum = OLD.checksum; " \ 332 "END; " \ 333 "PRAGMA user_version = 29; " \ 334 "" 335 336#define STMT_UPGRADE_TO_30 18 337#define STMT_18_INFO {"STMT_UPGRADE_TO_30", NULL} 338#define STMT_18 \ 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; " \ 344 "" 345 346#define STMT_UPGRADE_30_SELECT_CONFLICT_SEPARATE 19 347#define STMT_19_INFO {"STMT_UPGRADE_30_SELECT_CONFLICT_SEPARATE", NULL} 348#define STMT_19 \ 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 " \ 358 "" 359 360#define STMT_UPGRADE_30_SET_CONFLICT 20 361#define STMT_20_INFO {"STMT_UPGRADE_30_SET_CONFLICT", NULL} 362#define STMT_20 \ 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 " \ 367 "" 368 369#define STMT_UPGRADE_TO_31_ALTER_TABLE 21 370#define STMT_21_INFO {"STMT_UPGRADE_TO_31_ALTER_TABLE", NULL} 371#define STMT_21 \ 372 "ALTER TABLE NODES ADD COLUMN inherited_props BLOB; " \ 373 "" 374 375#define STMT_UPGRADE_TO_31_FINALIZE 22 376#define STMT_22_INFO {"STMT_UPGRADE_TO_31_FINALIZE", NULL} 377#define STMT_22 \ 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; " \ 387 "" 388 389#define STMT_UPGRADE_31_SELECT_WCROOT_NODES 23 390#define STMT_23_INFO {"STMT_UPGRADE_31_SELECT_WCROOT_NODES", NULL} 391#define STMT_23 \ 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))) " \ 401 "" 402 403#define STMT_UPGRADE_TO_32 24 404#define STMT_24_INFO {"STMT_UPGRADE_TO_32", NULL} 405#define STMT_24 \ 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); " \ 415 "-- format: YYY " \ 416 "" 417 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, " \ 429 " text_mod TEXT " \ 430 " ); " \ 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, " \ 446 " text_mod TEXT, " \ 447 " PRIMARY KEY (wc_id, local_relpath) " \ 448 " ); " \ 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; " \ 456 "" 457 458#define WC_METADATA_SQL_DECLARE_STATEMENTS(varname) \ 459 static const char * const varname[] = { \ 460 STMT_0, \ 461 STMT_1, \ 462 STMT_2, \ 463 STMT_3, \ 464 STMT_4, \ 465 STMT_5, \ 466 STMT_6, \ 467 STMT_7, \ 468 STMT_8, \ 469 STMT_9, \ 470 STMT_10, \ 471 STMT_11, \ 472 STMT_12, \ 473 STMT_13, \ 474 STMT_14, \ 475 STMT_15, \ 476 STMT_16, \ 477 STMT_17, \ 478 STMT_18, \ 479 STMT_19, \ 480 STMT_20, \ 481 STMT_21, \ 482 STMT_22, \ 483 STMT_23, \ 484 STMT_24, \ 485 NULL \ 486 } 487 488#define WC_METADATA_SQL_DECLARE_STATEMENT_INFO(varname) \ 489 static const char * const varname[][2] = { \ 490 STMT_0_INFO, \ 491 STMT_1_INFO, \ 492 STMT_2_INFO, \ 493 STMT_3_INFO, \ 494 STMT_4_INFO, \ 495 STMT_5_INFO, \ 496 STMT_6_INFO, \ 497 STMT_7_INFO, \ 498 STMT_8_INFO, \ 499 STMT_9_INFO, \ 500 STMT_10_INFO, \ 501 STMT_11_INFO, \ 502 STMT_12_INFO, \ 503 STMT_13_INFO, \ 504 STMT_14_INFO, \ 505 STMT_15_INFO, \ 506 STMT_16_INFO, \ 507 STMT_17_INFO, \ 508 STMT_18_INFO, \ 509 STMT_19_INFO, \ 510 STMT_20_INFO, \ 511 STMT_21_INFO, \ 512 STMT_22_INFO, \ 513 STMT_23_INFO, \ 514 STMT_24_INFO, \ 515 {NULL, NULL} \ 516 } 517