tracker r1892 - in branches/indexer-split: . src/libtracker-db
- From: pvanhoof svn gnome org
- To: svn-commits-list gnome org
- Subject: tracker r1892 - in branches/indexer-split: . src/libtracker-db
- Date: Mon, 21 Jul 2008 11:10:41 +0000 (UTC)
Author: pvanhoof
Date: Mon Jul 21 11:10:41 2008
New Revision: 1892
URL: http://svn.gnome.org/viewvc/tracker?rev=1892&view=rev
Log:
2008-07-21 Philip Van Hoof <pvanhoof gnome org>
* src/libtracker-db/tracker-db-manager.c: Functions for attached
connections
Modified:
branches/indexer-split/ChangeLog
branches/indexer-split/src/libtracker-db/tracker-db-manager.c
Modified: branches/indexer-split/src/libtracker-db/tracker-db-manager.c
==============================================================================
--- branches/indexer-split/src/libtracker-db/tracker-db-manager.c (original)
+++ branches/indexer-split/src/libtracker-db/tracker-db-manager.c Mon Jul 21 11:10:41 2008
@@ -1525,6 +1525,57 @@
}
}
+
+static void
+db_set_interfaces_params (TrackerDBInterface *iface,
+ gint cache_size,
+ gint page_size)
+{
+ tracker_db_interface_execute_query (iface, NULL, "PRAGMA synchronous = NORMAL;");
+ tracker_db_interface_execute_query (iface, NULL, "PRAGMA count_changes = 0;");
+ tracker_db_interface_execute_query (iface, NULL, "PRAGMA temp_store = FILE;");
+ tracker_db_interface_execute_query (iface, NULL, "PRAGMA encoding = \"UTF-8\"");
+ tracker_db_interface_execute_query (iface, NULL, "PRAGMA auto_vacuum = 0;");
+
+ if (page_size != TRACKER_DB_PAGE_SIZE_DONT_SET) {
+ g_message (" Setting page size to %d", page_size);
+ tracker_db_interface_execute_query (iface, NULL, "PRAGMA page_size = %d", page_size);
+ }
+
+ tracker_db_interface_execute_query (iface, NULL, "PRAGMA cache_size = %d", cache_size);
+ g_message (" Setting cache size to %d", cache_size);
+
+ g_message (" Adding functions (FormatDate, etc)");
+
+ if (!tracker_db_interface_sqlite_set_collation_function (TRACKER_DB_INTERFACE_SQLITE (iface),
+ "UTF8",
+ utf8_collation_func)) {
+ g_critical ("Collation sequence failed");
+ }
+
+ /* Create user defined functions that can be used in sql */
+ tracker_db_interface_sqlite_create_function (iface,
+ "FormatDate",
+ function_date_to_str,
+ 1);
+ tracker_db_interface_sqlite_create_function (iface,
+ "GetServiceName",
+ function_get_service_name,
+ 1);
+ tracker_db_interface_sqlite_create_function (iface,
+ "GetServiceTypeID",
+ function_get_service_type,
+ 1);
+ tracker_db_interface_sqlite_create_function (iface,
+ "GetMaxServiceTypeID",
+ function_get_max_service_type,
+ 1);
+ tracker_db_interface_sqlite_create_function (iface,
+ "REGEXP",
+ function_regexp,
+ 2);
+}
+
static void
db_get_static_data (TrackerDBInterface *iface)
{
@@ -2477,11 +2528,10 @@
tracker_db_interface_set_procedure_table (connection,
prepared_queries);
- db_set_params (connection,
+ db_set_interfaces_params (connection,
dbs[db].cache_size,
- dbs[db].page_size,
- TRUE,
- FALSE);
+ dbs[db].page_size);
+
} else {
db_exec_no_reply (connection,
"ATTACH '%s' as '%s'",
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]