[tracker/transient] libtracker-data: Disable the /dev/shm part, as this only makes it slower



commit dc75096a727212cfa1ceb58edd8bed13e7f57459
Author: Philip Van Hoof <philip codeminded be>
Date:   Tue Nov 23 15:24:16 2010 +0100

    libtracker-data: Disable the /dev/shm part, as this only makes it slower

 src/libtracker-data/tracker-data-manager.c        |   22 ++++++++--------
 src/libtracker-data/tracker-db-interface-sqlite.c |   11 ++++---
 src/libtracker-data/tracker-db-manager.c          |   29 ++++++++++++--------
 3 files changed, 34 insertions(+), 28 deletions(-)
---
diff --git a/src/libtracker-data/tracker-data-manager.c b/src/libtracker-data/tracker-data-manager.c
index 78b28a1..586d7bd 100644
--- a/src/libtracker-data/tracker-data-manager.c
+++ b/src/libtracker-data/tracker-data-manager.c
@@ -2424,15 +2424,15 @@ create_decomposed_metadata_property_table (TrackerDBInterface *iface,
 {
 	const char *field_name;
 	const char *sql_type;
-	gboolean    transient;
+	gboolean    some_bool;
 
 	field_name = tracker_property_get_name (property);
 
-	transient = !sql_type_for_single_value;
+	some_bool = !sql_type_for_single_value;
 
-	if (!transient) {
-		transient = tracker_property_get_transient (property);
-	}
+	/* if (!some_bool) {
+		some_bool = tracker_property_get_transient (property);
+	} */
 
 	switch (tracker_property_get_data_type (property)) {
 	case TRACKER_PROPERTY_TYPE_STRING:
@@ -2456,7 +2456,7 @@ create_decomposed_metadata_property_table (TrackerDBInterface *iface,
 	if (!in_update || (in_update && (tracker_property_get_is_new (property) ||
 	                                 tracker_property_get_is_new_domain_index (property, service) ||
 	                                 tracker_property_get_db_schema_changed (property)))) {
-		if (transient || tracker_property_get_multiple_values (property)) {
+		if (some_bool || tracker_property_get_multiple_values (property)) {
 			GString *sql;
 			GString *in_col_sql = NULL;
 			GString *sel_col_sql = NULL;
@@ -2494,7 +2494,7 @@ create_decomposed_metadata_property_table (TrackerDBInterface *iface,
 			                             "ID INTEGER NOT NULL, "
 			                             "\"%s\" %s NOT NULL, "
 			                             "\"%s:graph\" INTEGER",
-			                             transient ? "IF NOT EXISTS transient." : "",
+			                             some_bool ? "IF NOT EXISTS transient." : "",
 			                             service_name,
 			                             field_name,
 			                             field_name,
@@ -3000,7 +3000,7 @@ create_decomposed_metadata_tables (TrackerDBInterface *iface,
 	}
 }
 
-static void
+/* static void
 create_decomposed_transient_metadata_tables (TrackerDBInterface *iface)
 {
 	TrackerProperty **properties;
@@ -3020,7 +3020,7 @@ create_decomposed_transient_metadata_tables (TrackerDBInterface *iface)
 			domain = tracker_property_get_domain (property);
 			service_name = tracker_class_get_name (domain);
 
-			/* create the TEMPORARY table */
+			* create the TEMPORARY table *
 			create_decomposed_metadata_property_table (iface, property,
 			                                           service_name,
 			                                           domain,
@@ -3028,7 +3028,7 @@ create_decomposed_transient_metadata_tables (TrackerDBInterface *iface)
 			                                           FALSE);
 		}
 	}
-}
+} */
 
 static void
 tracker_data_ontology_import_finished (void)
@@ -3389,7 +3389,7 @@ tracker_data_manager_init (TrackerDBManagerFlags  flags,
 
 		/* Load ontology from database into memory */
 		db_get_static_data (iface);
-		create_decomposed_transient_metadata_tables (iface);
+		/* create_decomposed_transient_metadata_tables (iface); */
 		check_ontology = TRUE;
 
 		/* This is a no-op when FTS is disabled */
diff --git a/src/libtracker-data/tracker-db-interface-sqlite.c b/src/libtracker-data/tracker-db-interface-sqlite.c
index 9bf5464..98b76b7 100644
--- a/src/libtracker-data/tracker-db-interface-sqlite.c
+++ b/src/libtracker-data/tracker-db-interface-sqlite.c
@@ -532,10 +532,10 @@ static void
 open_database (TrackerDBInterface *db_interface)
 {
 	int mode;
-	sqlite3 *transient = NULL;
+	/* sqlite3 *transient = NULL; */
 
 	g_assert (db_interface->filename != NULL);
-	g_assert (db_interface->transient_filename != NULL);
+	/* g_assert (db_interface->transient_filename != NULL); */
 
 	if (!db_interface->ro) {
 		mode = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE;
@@ -543,11 +543,12 @@ open_database (TrackerDBInterface *db_interface)
 		mode = SQLITE_OPEN_READONLY;
 	}
 
+	/*
 	if (sqlite3_open_v2 (db_interface->transient_filename, &transient, mode | SQLITE_OPEN_NOMUTEX, NULL) != SQLITE_OK) {
 		g_critical ("Could not open transient sqlite3 database:'%s'", db_interface->transient_filename);
 	} else {
 		sqlite3_close (transient);
-	}
+	} */
 
 	if (sqlite3_open_v2 (db_interface->filename, &db_interface->db, mode | SQLITE_OPEN_NOMUTEX, NULL) != SQLITE_OK) {
 		g_critical ("Could not open sqlite3 database:'%s'", db_interface->filename);
@@ -1223,7 +1224,7 @@ tracker_db_interface_sqlite_new (const gchar *filename,
 {
 	return g_object_new (TRACKER_TYPE_DB_INTERFACE,
 	                     "filename", filename,
-	                     "transient-filename", transient_filename,
+	                     /* "transient-filename", transient_filename, */
 	                     NULL);
 }
 
@@ -1233,7 +1234,7 @@ tracker_db_interface_sqlite_new_ro (const gchar *filename,
 {
 	return g_object_new (TRACKER_TYPE_DB_INTERFACE,
 	                     "filename", filename,
-	                     "transient-filename", filename,
+	                     /* "transient-filename", filename, */
 	                     "read-only", TRUE,
 	                     NULL);
 }
diff --git a/src/libtracker-data/tracker-db-manager.c b/src/libtracker-data/tracker-db-manager.c
index 9b77643..5082769 100644
--- a/src/libtracker-data/tracker-db-manager.c
+++ b/src/libtracker-data/tracker-db-manager.c
@@ -274,6 +274,16 @@ db_type_to_string (TrackerDB db)
 	return enum_value->value_nick;
 }
 
+static void
+db_prepare_transient (TrackerDBInterface *iface)
+{
+	/* Sadly this is actually slower
+	 * db_exec_no_reply (iface,
+	 *                   "ATTACH '%s' as 'transient'",
+	 *                   transient_filename);
+	 */
+}
+
 static TrackerDBInterface *
 db_interface_get (TrackerDB  type,
                   gboolean  *create)
@@ -296,14 +306,12 @@ db_interface_get (TrackerDB  type,
 
 	iface = tracker_db_interface_sqlite_new (path, transient_filename);
 
+	db_prepare_transient (iface);
+
 	db_set_params (iface,
 	               dbs[type].cache_size,
 	               dbs[type].page_size);
 
-	db_exec_no_reply (iface,
-	                  "ATTACH '%s' as 'transient'",
-	                  transient_filename);
-
 	return iface;
 }
 
@@ -697,7 +705,7 @@ db_recreate_all (void)
 static void
 tracker_db_manager_prepare_transient (gboolean readonly)
 {
-	gchar *shm_path;
+/*	gchar *shm_path;
 	struct passwd *pwd;
 
 	shm_path = g_build_filename (G_DIR_SEPARATOR_S "dev", "shm", NULL);
@@ -735,7 +743,7 @@ tracker_db_manager_prepare_transient (gboolean readonly)
 		}
 	}
 
-	g_free (shm_path);
+	g_free (shm_path); */
 }
 
 void
@@ -1478,9 +1486,7 @@ tracker_db_manager_get_db_interfaces (gint num, ...)
 			connection = tracker_db_interface_sqlite_new (dbs[db].abs_filename,
 			                                              transient_filename);
 
-			db_exec_no_reply (connection,
-			                  "ATTACH '%s' as 'transient'",
-			                  transient_filename);
+			db_prepare_transient (connection);
 
 			db_set_params (connection,
 			               dbs[db].cache_size,
@@ -1515,9 +1521,8 @@ tracker_db_manager_get_db_interfaces_ro (gint num, ...)
 		if (!connection) {
 			connection = tracker_db_interface_sqlite_new_ro (dbs[db].abs_filename,
 			                                                 transient_filename);
-			db_exec_no_reply (connection,
-			                  "ATTACH '%s' as 'transient'",
-			                  transient_filename);
+
+			db_prepare_transient (connection);
 
 			db_set_params (connection,
 			               dbs[db].cache_size,



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