Fossil SCM

Refactor db_close() so that it can make use of db_close_config().

mistachkin 2014-06-14 21:52 trunk
Commit e2755462150dbbaf2f621fb5dcf8d34fc653fc72
1 file changed +13 -10
+13 -10
--- src/db.c
+++ src/db.c
@@ -795,15 +795,17 @@
795795
if( g.useAttach ){
796796
db_detach("configdb");
797797
g.useAttach = 0;
798798
g.zConfigDbName = 0;
799799
}else if( g.dbConfig ){
800
+ sqlite3_wal_checkpoint(g.dbConfig, 0);
800801
sqlite3_close(g.dbConfig);
801802
g.dbConfig = 0;
802803
g.zConfigDbType = 0;
803804
g.zConfigDbName = 0;
804805
}else if( g.db && fossil_strcmp(g.zMainDbType, "configdb")==0 ){
806
+ sqlite3_wal_checkpoint(g.db, 0);
805807
sqlite3_close(g.db);
806808
g.db = 0;
807809
g.zMainDbType = 0;
808810
g.zConfigDbName = 0;
809811
}
@@ -1231,22 +1233,23 @@
12311233
if( reportErrors ){
12321234
while( (pStmt = sqlite3_next_stmt(g.db, pStmt))!=0 ){
12331235
fossil_warning("unfinalized SQL statement: [%s]", sqlite3_sql(pStmt));
12341236
}
12351237
}
1238
+ db_close_config();
1239
+ if( g.db ){
1240
+ sqlite3_wal_checkpoint(g.db, 0);
1241
+ sqlite3_close(g.db);
1242
+ g.db = 0;
1243
+ g.zMainDbType = 0;
1244
+ }
12361245
g.repositoryOpen = 0;
12371246
g.localOpen = 0;
1238
- g.zConfigDbName = NULL;
1239
- sqlite3_wal_checkpoint(g.db, 0);
1240
- sqlite3_close(g.db);
1241
- g.db = 0;
1242
- g.zMainDbType = 0;
1243
- if( g.dbConfig ){
1244
- sqlite3_close(g.dbConfig);
1245
- g.dbConfig = 0;
1246
- g.zConfigDbType = 0;
1247
- }
1247
+ assert( g.dbConfig==0 );
1248
+ assert( g.useAttach==0 );
1249
+ assert( g.zConfigDbName==0 );
1250
+ assert( g.zConfigDbType==0 );
12481251
}
12491252
12501253
12511254
/*
12521255
** Create a new empty repository database with the given name.
12531256
--- src/db.c
+++ src/db.c
@@ -795,15 +795,17 @@
795 if( g.useAttach ){
796 db_detach("configdb");
797 g.useAttach = 0;
798 g.zConfigDbName = 0;
799 }else if( g.dbConfig ){
 
800 sqlite3_close(g.dbConfig);
801 g.dbConfig = 0;
802 g.zConfigDbType = 0;
803 g.zConfigDbName = 0;
804 }else if( g.db && fossil_strcmp(g.zMainDbType, "configdb")==0 ){
 
805 sqlite3_close(g.db);
806 g.db = 0;
807 g.zMainDbType = 0;
808 g.zConfigDbName = 0;
809 }
@@ -1231,22 +1233,23 @@
1231 if( reportErrors ){
1232 while( (pStmt = sqlite3_next_stmt(g.db, pStmt))!=0 ){
1233 fossil_warning("unfinalized SQL statement: [%s]", sqlite3_sql(pStmt));
1234 }
1235 }
 
 
 
 
 
 
 
1236 g.repositoryOpen = 0;
1237 g.localOpen = 0;
1238 g.zConfigDbName = NULL;
1239 sqlite3_wal_checkpoint(g.db, 0);
1240 sqlite3_close(g.db);
1241 g.db = 0;
1242 g.zMainDbType = 0;
1243 if( g.dbConfig ){
1244 sqlite3_close(g.dbConfig);
1245 g.dbConfig = 0;
1246 g.zConfigDbType = 0;
1247 }
1248 }
1249
1250
1251 /*
1252 ** Create a new empty repository database with the given name.
1253
--- src/db.c
+++ src/db.c
@@ -795,15 +795,17 @@
795 if( g.useAttach ){
796 db_detach("configdb");
797 g.useAttach = 0;
798 g.zConfigDbName = 0;
799 }else if( g.dbConfig ){
800 sqlite3_wal_checkpoint(g.dbConfig, 0);
801 sqlite3_close(g.dbConfig);
802 g.dbConfig = 0;
803 g.zConfigDbType = 0;
804 g.zConfigDbName = 0;
805 }else if( g.db && fossil_strcmp(g.zMainDbType, "configdb")==0 ){
806 sqlite3_wal_checkpoint(g.db, 0);
807 sqlite3_close(g.db);
808 g.db = 0;
809 g.zMainDbType = 0;
810 g.zConfigDbName = 0;
811 }
@@ -1231,22 +1233,23 @@
1233 if( reportErrors ){
1234 while( (pStmt = sqlite3_next_stmt(g.db, pStmt))!=0 ){
1235 fossil_warning("unfinalized SQL statement: [%s]", sqlite3_sql(pStmt));
1236 }
1237 }
1238 db_close_config();
1239 if( g.db ){
1240 sqlite3_wal_checkpoint(g.db, 0);
1241 sqlite3_close(g.db);
1242 g.db = 0;
1243 g.zMainDbType = 0;
1244 }
1245 g.repositoryOpen = 0;
1246 g.localOpen = 0;
1247 assert( g.dbConfig==0 );
1248 assert( g.useAttach==0 );
1249 assert( g.zConfigDbName==0 );
1250 assert( g.zConfigDbType==0 );
 
 
 
 
 
 
1251 }
1252
1253
1254 /*
1255 ** Create a new empty repository database with the given name.
1256

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button