Fossil SCM

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

mistachkin 2014-06-16 16:31 trunk merge
Commit b0d61b05d3e843e23d0754fb3c04d7b4ff46052e
2 files changed +13 -10 +13 -10
+13 -10
--- src/db.c
+++ src/db.c
@@ -792,15 +792,17 @@
792792
if( g.useAttach ){
793793
db_detach("configdb");
794794
g.useAttach = 0;
795795
g.zConfigDbName = 0;
796796
}else if( g.dbConfig ){
797
+ sqlite3_wal_checkpoint(g.dbConfig, 0);
797798
sqlite3_close(g.dbConfig);
798799
g.dbConfig = 0;
799800
g.zConfigDbType = 0;
800801
g.zConfigDbName = 0;
801802
}else if( g.db && fossil_strcmp(g.zMainDbType, "configdb")==0 ){
803
+ sqlite3_wal_checkpoint(g.db, 0);
802804
sqlite3_close(g.db);
803805
g.db = 0;
804806
g.zMainDbType = 0;
805807
g.zConfigDbName = 0;
806808
}
@@ -1228,22 +1230,23 @@
12281230
if( reportErrors ){
12291231
while( (pStmt = sqlite3_next_stmt(g.db, pStmt))!=0 ){
12301232
fossil_warning("unfinalized SQL statement: [%s]", sqlite3_sql(pStmt));
12311233
}
12321234
}
1235
+ db_close_config();
1236
+ if( g.db ){
1237
+ sqlite3_wal_checkpoint(g.db, 0);
1238
+ sqlite3_close(g.db);
1239
+ g.db = 0;
1240
+ g.zMainDbType = 0;
1241
+ }
12331242
g.repositoryOpen = 0;
12341243
g.localOpen = 0;
1235
- g.zConfigDbName = NULL;
1236
- sqlite3_wal_checkpoint(g.db, 0);
1237
- sqlite3_close(g.db);
1238
- g.db = 0;
1239
- g.zMainDbType = 0;
1240
- if( g.dbConfig ){
1241
- sqlite3_close(g.dbConfig);
1242
- g.dbConfig = 0;
1243
- g.zConfigDbType = 0;
1244
- }
1244
+ assert( g.dbConfig==0 );
1245
+ assert( g.useAttach==0 );
1246
+ assert( g.zConfigDbName==0 );
1247
+ assert( g.zConfigDbType==0 );
12451248
}
12461249
12471250
12481251
/*
12491252
** Create a new empty repository database with the given name.
12501253
--- src/db.c
+++ src/db.c
@@ -792,15 +792,17 @@
792 if( g.useAttach ){
793 db_detach("configdb");
794 g.useAttach = 0;
795 g.zConfigDbName = 0;
796 }else if( g.dbConfig ){
 
797 sqlite3_close(g.dbConfig);
798 g.dbConfig = 0;
799 g.zConfigDbType = 0;
800 g.zConfigDbName = 0;
801 }else if( g.db && fossil_strcmp(g.zMainDbType, "configdb")==0 ){
 
802 sqlite3_close(g.db);
803 g.db = 0;
804 g.zMainDbType = 0;
805 g.zConfigDbName = 0;
806 }
@@ -1228,22 +1230,23 @@
1228 if( reportErrors ){
1229 while( (pStmt = sqlite3_next_stmt(g.db, pStmt))!=0 ){
1230 fossil_warning("unfinalized SQL statement: [%s]", sqlite3_sql(pStmt));
1231 }
1232 }
 
 
 
 
 
 
 
1233 g.repositoryOpen = 0;
1234 g.localOpen = 0;
1235 g.zConfigDbName = NULL;
1236 sqlite3_wal_checkpoint(g.db, 0);
1237 sqlite3_close(g.db);
1238 g.db = 0;
1239 g.zMainDbType = 0;
1240 if( g.dbConfig ){
1241 sqlite3_close(g.dbConfig);
1242 g.dbConfig = 0;
1243 g.zConfigDbType = 0;
1244 }
1245 }
1246
1247
1248 /*
1249 ** Create a new empty repository database with the given name.
1250
--- src/db.c
+++ src/db.c
@@ -792,15 +792,17 @@
792 if( g.useAttach ){
793 db_detach("configdb");
794 g.useAttach = 0;
795 g.zConfigDbName = 0;
796 }else if( g.dbConfig ){
797 sqlite3_wal_checkpoint(g.dbConfig, 0);
798 sqlite3_close(g.dbConfig);
799 g.dbConfig = 0;
800 g.zConfigDbType = 0;
801 g.zConfigDbName = 0;
802 }else if( g.db && fossil_strcmp(g.zMainDbType, "configdb")==0 ){
803 sqlite3_wal_checkpoint(g.db, 0);
804 sqlite3_close(g.db);
805 g.db = 0;
806 g.zMainDbType = 0;
807 g.zConfigDbName = 0;
808 }
@@ -1228,22 +1230,23 @@
1230 if( reportErrors ){
1231 while( (pStmt = sqlite3_next_stmt(g.db, pStmt))!=0 ){
1232 fossil_warning("unfinalized SQL statement: [%s]", sqlite3_sql(pStmt));
1233 }
1234 }
1235 db_close_config();
1236 if( g.db ){
1237 sqlite3_wal_checkpoint(g.db, 0);
1238 sqlite3_close(g.db);
1239 g.db = 0;
1240 g.zMainDbType = 0;
1241 }
1242 g.repositoryOpen = 0;
1243 g.localOpen = 0;
1244 assert( g.dbConfig==0 );
1245 assert( g.useAttach==0 );
1246 assert( g.zConfigDbName==0 );
1247 assert( g.zConfigDbType==0 );
 
 
 
 
 
 
1248 }
1249
1250
1251 /*
1252 ** Create a new empty repository database with the given name.
1253
+13 -10
--- src/db.c
+++ src/db.c
@@ -792,15 +792,17 @@
792792
if( g.useAttach ){
793793
db_detach("configdb");
794794
g.useAttach = 0;
795795
g.zConfigDbName = 0;
796796
}else if( g.dbConfig ){
797
+ sqlite3_wal_checkpoint(g.dbConfig, 0);
797798
sqlite3_close(g.dbConfig);
798799
g.dbConfig = 0;
799800
g.zConfigDbType = 0;
800801
g.zConfigDbName = 0;
801802
}else if( g.db && fossil_strcmp(g.zMainDbType, "configdb")==0 ){
803
+ sqlite3_wal_checkpoint(g.db, 0);
802804
sqlite3_close(g.db);
803805
g.db = 0;
804806
g.zMainDbType = 0;
805807
g.zConfigDbName = 0;
806808
}
@@ -1228,22 +1230,23 @@
12281230
if( reportErrors ){
12291231
while( (pStmt = sqlite3_next_stmt(g.db, pStmt))!=0 ){
12301232
fossil_warning("unfinalized SQL statement: [%s]", sqlite3_sql(pStmt));
12311233
}
12321234
}
1235
+ db_close_config();
1236
+ if( g.db ){
1237
+ sqlite3_wal_checkpoint(g.db, 0);
1238
+ sqlite3_close(g.db);
1239
+ g.db = 0;
1240
+ g.zMainDbType = 0;
1241
+ }
12331242
g.repositoryOpen = 0;
12341243
g.localOpen = 0;
1235
- g.zConfigDbName = NULL;
1236
- sqlite3_wal_checkpoint(g.db, 0);
1237
- sqlite3_close(g.db);
1238
- g.db = 0;
1239
- g.zMainDbType = 0;
1240
- if( g.dbConfig ){
1241
- sqlite3_close(g.dbConfig);
1242
- g.dbConfig = 0;
1243
- g.zConfigDbType = 0;
1244
- }
1244
+ assert( g.dbConfig==0 );
1245
+ assert( g.useAttach==0 );
1246
+ assert( g.zConfigDbName==0 );
1247
+ assert( g.zConfigDbType==0 );
12451248
}
12461249
12471250
12481251
/*
12491252
** Create a new empty repository database with the given name.
12501253
--- src/db.c
+++ src/db.c
@@ -792,15 +792,17 @@
792 if( g.useAttach ){
793 db_detach("configdb");
794 g.useAttach = 0;
795 g.zConfigDbName = 0;
796 }else if( g.dbConfig ){
 
797 sqlite3_close(g.dbConfig);
798 g.dbConfig = 0;
799 g.zConfigDbType = 0;
800 g.zConfigDbName = 0;
801 }else if( g.db && fossil_strcmp(g.zMainDbType, "configdb")==0 ){
 
802 sqlite3_close(g.db);
803 g.db = 0;
804 g.zMainDbType = 0;
805 g.zConfigDbName = 0;
806 }
@@ -1228,22 +1230,23 @@
1228 if( reportErrors ){
1229 while( (pStmt = sqlite3_next_stmt(g.db, pStmt))!=0 ){
1230 fossil_warning("unfinalized SQL statement: [%s]", sqlite3_sql(pStmt));
1231 }
1232 }
 
 
 
 
 
 
 
1233 g.repositoryOpen = 0;
1234 g.localOpen = 0;
1235 g.zConfigDbName = NULL;
1236 sqlite3_wal_checkpoint(g.db, 0);
1237 sqlite3_close(g.db);
1238 g.db = 0;
1239 g.zMainDbType = 0;
1240 if( g.dbConfig ){
1241 sqlite3_close(g.dbConfig);
1242 g.dbConfig = 0;
1243 g.zConfigDbType = 0;
1244 }
1245 }
1246
1247
1248 /*
1249 ** Create a new empty repository database with the given name.
1250
--- src/db.c
+++ src/db.c
@@ -792,15 +792,17 @@
792 if( g.useAttach ){
793 db_detach("configdb");
794 g.useAttach = 0;
795 g.zConfigDbName = 0;
796 }else if( g.dbConfig ){
797 sqlite3_wal_checkpoint(g.dbConfig, 0);
798 sqlite3_close(g.dbConfig);
799 g.dbConfig = 0;
800 g.zConfigDbType = 0;
801 g.zConfigDbName = 0;
802 }else if( g.db && fossil_strcmp(g.zMainDbType, "configdb")==0 ){
803 sqlite3_wal_checkpoint(g.db, 0);
804 sqlite3_close(g.db);
805 g.db = 0;
806 g.zMainDbType = 0;
807 g.zConfigDbName = 0;
808 }
@@ -1228,22 +1230,23 @@
1230 if( reportErrors ){
1231 while( (pStmt = sqlite3_next_stmt(g.db, pStmt))!=0 ){
1232 fossil_warning("unfinalized SQL statement: [%s]", sqlite3_sql(pStmt));
1233 }
1234 }
1235 db_close_config();
1236 if( g.db ){
1237 sqlite3_wal_checkpoint(g.db, 0);
1238 sqlite3_close(g.db);
1239 g.db = 0;
1240 g.zMainDbType = 0;
1241 }
1242 g.repositoryOpen = 0;
1243 g.localOpen = 0;
1244 assert( g.dbConfig==0 );
1245 assert( g.useAttach==0 );
1246 assert( g.zConfigDbName==0 );
1247 assert( g.zConfigDbType==0 );
 
 
 
 
 
 
1248 }
1249
1250
1251 /*
1252 ** Create a new empty repository database with the given name.
1253

Keyboard Shortcuts

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