[tracker/tracker-store] tracker-indexer: Open database files read-only



commit 535ceabc12f5ff66714c0691d7bbc6605a697118
Author: Jürg Billeter <j bitron ch>
Date:   Tue May 5 13:46:00 2009 +0200

    tracker-indexer: Open database files read-only
---
 src/libtracker-db/tracker-db-manager.c |   18 +++++++++++++-----
 src/libtracker-db/tracker-db-manager.h |    3 ++-
 src/tracker-indexer/tracker-main.c     |    3 +++
 3 files changed, 18 insertions(+), 6 deletions(-)

diff --git a/src/libtracker-db/tracker-db-manager.c b/src/libtracker-db/tracker-db-manager.c
index b6b83d6..77c9cb5 100644
--- a/src/libtracker-db/tracker-db-manager.c
+++ b/src/libtracker-db/tracker-db-manager.c
@@ -1205,11 +1205,19 @@ tracker_db_manager_init (TrackerDBManagerFlags	flags,
 
 	initialized = TRUE;
 
-	resources_iface = tracker_db_manager_get_db_interfaces (4,
-							    TRACKER_DB_METADATA,
-							    TRACKER_DB_FULLTEXT,
-							    TRACKER_DB_CONTENTS,
-							    TRACKER_DB_COMMON);
+	if (flags & TRACKER_DB_MANAGER_READONLY) {
+		resources_iface = tracker_db_manager_get_db_interfaces_ro (4,
+								    TRACKER_DB_METADATA,
+								    TRACKER_DB_FULLTEXT,
+								    TRACKER_DB_CONTENTS,
+								    TRACKER_DB_COMMON);
+	} else {
+		resources_iface = tracker_db_manager_get_db_interfaces (4,
+								    TRACKER_DB_METADATA,
+								    TRACKER_DB_FULLTEXT,
+								    TRACKER_DB_CONTENTS,
+								    TRACKER_DB_COMMON);
+	}
 }
 
 void
diff --git a/src/libtracker-db/tracker-db-manager.h b/src/libtracker-db/tracker-db-manager.h
index fe2e724..bd01b1b 100644
--- a/src/libtracker-db/tracker-db-manager.h
+++ b/src/libtracker-db/tracker-db-manager.h
@@ -48,7 +48,8 @@ typedef enum {
 	TRACKER_DB_MANAGER_REMOVE_CACHE     = 1 << 2,
 	TRACKER_DB_MANAGER_LOW_MEMORY_MODE  = 1 << 3,
 	TRACKER_DB_MANAGER_REMOVE_ALL       = 1 << 4,
-	TRACKER_DB_MANAGER_TEST_MODE        = 1 << 5
+	TRACKER_DB_MANAGER_READONLY        = 1 << 5,
+	TRACKER_DB_MANAGER_TEST_MODE        = 1 << 6
 } TrackerDBManagerFlags;
 
 GType	     tracker_db_get_type			    (void) G_GNUC_CONST;
diff --git a/src/tracker-indexer/tracker-main.c b/src/tracker-indexer/tracker-main.c
index 5152d4e..ffa6eff 100644
--- a/src/tracker-indexer/tracker-main.c
+++ b/src/tracker-indexer/tracker-main.c
@@ -363,6 +363,9 @@ main (gint argc, gchar *argv[])
 		flags |= TRACKER_DB_MANAGER_LOW_MEMORY_MODE;
 	}
 
+	/* Only tracker-store writes to database */
+	flags |= TRACKER_DB_MANAGER_READONLY;
+
 	if (!tracker_data_manager_init (config, language, flags, NULL, &is_first_time_index)) {
 		return EXIT_FAILURE;
 	}



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