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



commit 9f65fba304d6e7633856d244ce8739c38eee0039
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 651a0ab..7844dad 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]