From 662759b8f998c015f5153feeaf8564fd43058e92 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Tue, 5 Mar 2013 08:50:08 -0600 Subject: [PATCH 1/2] FS-5141 revert f8d769ae1ce86c814cca03cbc8dee659447d3a19 from FS-4289 --- src/switch_core_db.c | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/src/switch_core_db.c b/src/switch_core_db.c index 590301fcc5..2eee23bce3 100644 --- a/src/switch_core_db.c +++ b/src/switch_core_db.c @@ -45,20 +45,6 @@ static void db_pick_path(const char *dbname, char *buf, switch_size_t size) } } -struct integrity_check_cb_arg { - int rows; - int ok; -}; - -/* pragma integrity_check returns a single row with the value "ok" if no errors are found */ -static int integrity_check_cb(void *pArg, int argc, char **argv, char **columnNames) -{ - struct integrity_check_cb_arg *cb_arg = (struct integrity_check_cb_arg *)pArg; - cb_arg->rows++; - cb_arg->ok = (0 == strcasecmp(argv[0], "ok")); - return 0; -} - SWITCH_DECLARE(int) switch_core_db_open(const char *filename, switch_core_db_t **ppDb) { return sqlite3_open(filename, ppDb); From 57d6495248bcca96f2d22a3c1b63d426f551a33e Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Tue, 5 Mar 2013 09:07:02 -0600 Subject: [PATCH 2/2] FS-5141 revert f8d769ae1ce86c814cca03cbc8dee659447d3a19 from FS-4289 --- src/switch_core_db.c | 35 +++-------------------------------- 1 file changed, 3 insertions(+), 32 deletions(-) diff --git a/src/switch_core_db.c b/src/switch_core_db.c index 2eee23bce3..6cc8896fab 100644 --- a/src/switch_core_db.c +++ b/src/switch_core_db.c @@ -197,43 +197,14 @@ SWITCH_DECLARE(int) switch_core_db_load_extension(switch_core_db_t *db, const ch SWITCH_DECLARE(switch_core_db_t *) switch_core_db_open_file(const char *filename) { - switch_core_db_t *db = NULL; + switch_core_db_t *db; char path[1024]; int db_ret; - struct integrity_check_cb_arg cb_arg; - int i; - db_pick_path(filename, path, sizeof(path)); - - for (i = 0; i < 2; i++) { - if ((db_ret = switch_core_db_open(path, &db)) != SQLITE_OK) { - goto end; - } - - memset(&cb_arg, 0, sizeof(cb_arg)); - if ((db_ret = switch_core_db_exec(db, "PRAGMA integrity_check;", integrity_check_cb, &cb_arg, NULL) != SQLITE_OK)) { - goto end; - } - - if (cb_arg.ok && (1 == cb_arg.rows)) { - break; - } else if (0 == i) { - char *cpath = switch_mprintf("%s.%ld.cdb", path, (long) switch_epoch_time_now(NULL)); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "SQLite integrity_check failed for [%s]. Deleting file and retrying\n", path); - switch_core_db_close(db); - rename(path, cpath); - free(cpath); - continue; - - } else { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "SQLite integrity_check failed second time for [%s]\n", path); - switch_core_db_close(db); - db = NULL; - goto end; - } + if ((db_ret = switch_core_db_open(path, &db)) != SQLITE_OK) { + goto end; } - if ((db_ret = switch_core_db_exec(db, "PRAGMA synchronous=OFF;", NULL, NULL, NULL) != SQLITE_OK)) { goto end; }