@@ -502,12 +502,12 @@
502 502 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
503 503 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Optionally make the following changes to the database if feasible and
504 504 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** convenient. Do not start a transaction for these changes, but only
505 505 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** make these changes if other changes are also being made.
506 506 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
507 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- void db_optional_sql(const char *zSql, ...){
508 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( db.nBeforeCommit < count(db.azBeforeCommit) ){
507 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ void db_optional_sql(const char *zDb, const char *zSql, ...){
508 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( db_is_writeable(zDb) && db.nBeforeCommit < count(db.azBeforeCommit) ){
509 509 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
va_list ap;
510 510 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
va_start(ap, zSql);
511 511 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db.azBeforeCommit[db.nBeforeCommit++] = sqlite3_vmprintf(zSql, ap);
512 512 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
va_end(ap);
513 513 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
@@ -1020,10 +1020,17 @@
1020 1020 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int db_schema_is_outofdate(void){
1021 1021 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return db_exists("SELECT 1 FROM config"
1022 1022 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" WHERE name='aux-schema'"
1023 1023 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" AND value<>'%s'", AUX_SCHEMA);
1024 1024 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1025 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
1026 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /*
1027 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** Return true if the database is writeable
1028 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ */
1029 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int db_is_writeable(const char *zName){
1030 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return !sqlite3_db_readonly(g.db, db_name(zName));
1031 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
1025 1032 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
1026 1033 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
1027 1034 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Verify that the repository schema is correct. If it is not correct,
1028 1035 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** issue a fatal error and die.
1029 1036 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
@@ -1736,16 +1743,20 @@
1736 1743 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_multi_exec(
1737 1744 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"REPLACE INTO global_config(name, value)"
1738 1745 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"VALUES('ckout:%q','%q');",
1739 1746 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_str(&localRoot), blob_str(&full)
1740 1747 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
);
1741 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- db_optional_sql("REPLACE INTO config(name,value,mtime)"
1742 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "VALUES('ckout:%q',1,now())",
1743 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- blob_str(&localRoot));
1748 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ db_swap_connections();
1749 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ db_optional_sql("repository",
1750 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "REPLACE INTO config(name,value,mtime)"
1751 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "VALUES('ckout:%q',1,now())",
1752 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_str(&localRoot)
1753 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ );
1744 1754 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_reset(&localRoot);
1755 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else{
1756 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ db_swap_connections();
1745 1757 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1746 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- db_swap_connections();
1747 1758 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_reset(&full);
1748 1759 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1749 1760 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
1750 1761 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
1751 1762 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** COMMAND: open
1752 1763 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!