[tracker] libtracker-data: Do not delete database and do not exit on corruption



commit 1bf4ae5b4aed145b6c3d3f35cdc65cbe98c80b4d
Author: JÃrg Billeter <j bitron ch>
Date:   Mon Sep 5 14:52:05 2011 +0200

    libtracker-data: Do not delete database and do not exit on corruption
    
    If there is no journal, deleting the database will cause data loss. Do
    not do this automatically as it should not be common with SQLite fsync
    enabled and we cannot be sure that database file is not usable anymore.

 src/libtracker-data/tracker-db-interface-sqlite.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
---
diff --git a/src/libtracker-data/tracker-db-interface-sqlite.c b/src/libtracker-data/tracker-db-interface-sqlite.c
index 7a75ae2..45e973b 100644
--- a/src/libtracker-data/tracker-db-interface-sqlite.c
+++ b/src/libtracker-data/tracker-db-interface-sqlite.c
@@ -1387,6 +1387,7 @@ execute_stmt (TrackerDBInterface  *interface,
 			            sqlite3_errmsg (interface->db),
 			            g_strerror (errno));
 
+#ifndef DISABLE_JOURNAL
 			g_unlink (interface->filename);
 
 			g_error ("SQLite experienced an error with file:'%s'. "
@@ -1397,6 +1398,7 @@ execute_stmt (TrackerDBInterface  *interface,
 			         interface->filename);
 
 			return;
+#endif /* DISABLE_JOURNAL */
 		}
 
 		if (!error) {



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]