tracker r1412 - in branches/indexer-split: . data src/trackerd
- From: ifrade svn gnome org
- To: svn-commits-list gnome org
- Subject: tracker r1412 - in branches/indexer-split: . data src/trackerd
- Date: Tue, 13 May 2008 15:11:30 +0100 (BST)
Author: ifrade
Date: Tue May 13 14:11:29 2008
New Revision: 1412
URL: http://svn.gnome.org/viewvc/tracker?rev=1412&view=rev
Log:
Using sql file to create ServiceContents table
Added:
branches/indexer-split/data/sqlite-contents.sql
Modified:
branches/indexer-split/ChangeLog
branches/indexer-split/data/Makefile.am
branches/indexer-split/src/trackerd/tracker-db-sqlite.c
branches/indexer-split/src/trackerd/tracker-db-sqlite.h
Modified: branches/indexer-split/data/Makefile.am
==============================================================================
--- branches/indexer-split/data/Makefile.am (original)
+++ branches/indexer-split/data/Makefile.am Tue May 13 14:11:29 2008
@@ -11,6 +11,7 @@
tracker-dbus-xesam.xml \
sqlite-tracker.sql \
sqlite-cache.sql \
+ sqlite-contents.sql \
sqlite-email.sql \
sqlite-service-stored-procs.sql \
sqlite-service-triggers.sql \
Added: branches/indexer-split/data/sqlite-contents.sql
==============================================================================
--- (empty file)
+++ branches/indexer-split/data/sqlite-contents.sql Tue May 13 14:11:29 2008
@@ -0,0 +1,8 @@
+
+CREATE TABLE ServiceContents
+(
+ ServiceID Int not null,
+ MetadataID Int not null,
+ Content Text,
+ primary key (ServiceID, MetadataID)
+);
\ No newline at end of file
Modified: branches/indexer-split/src/trackerd/tracker-db-sqlite.c
==============================================================================
--- branches/indexer-split/src/trackerd/tracker-db-sqlite.c (original)
+++ branches/indexer-split/src/trackerd/tracker-db-sqlite.c Tue May 13 14:11:29 2008
@@ -937,13 +937,6 @@
}
-static void
-open_common_db (DBConnection *db_con)
-{
- db_con->db = open_db_interface (TRACKER_DB_COMMON);
-}
-
-
DBConnection *
tracker_db_connect_common (void)
{
@@ -952,7 +945,7 @@
db_con = g_new0 (DBConnection, 1);
- open_common_db (db_con);
+ db_con->db = open_db_interface (TRACKER_DB_COMMON);
db_con->cache = NULL;
db_con->emails = NULL;
@@ -1129,8 +1122,8 @@
create_table = !tracker_db_manager_file_exists (TRACKER_DB_FILE_META);
- db_con = g_new0 (DBConnection, 1);
- db_con->db = open_db_interface (TRACKER_DB_FILE_META);
+ db_con = tracker_db_connect_file_meta ();
+
db_con->data = db_con;
if (create_table) {
@@ -1180,7 +1173,7 @@
db_con = g_new0 (DBConnection, 1);
- open_file_db (db_con);
+ db_con->db = open_db_interface (TRACKER_DB_FILE_META);
return db_con;
}
@@ -1217,7 +1210,7 @@
db_con->db = open_db_interface (TRACKER_DB_FILE_CONTENTS);
if (create) {
- tracker_db_exec_no_reply (db_con->db, "CREATE TABLE ServiceContents (ServiceID Int not null, MetadataID Int not null, Content Text, primary key (ServiceID, MetadataID))");
+ load_sql_file (db_con, "sqlite-contents.sql");
tracker_log ("Creating db: %s",
tracker_db_manager_get_file (TRACKER_DB_FILE_CONTENTS));
}
@@ -1250,7 +1243,7 @@
db_con->db = open_db_interface (TRACKER_DB_EMAIL_CONTENTS);
if (create_table) {
- tracker_db_exec_no_reply (db_con->db, "CREATE TABLE ServiceContents (ServiceID Int not null, MetadataID Int not null, Content Text, primary key (ServiceID, MetadataID))");
+ load_sql_file (db_con, "sqlite-contents.sql");
tracker_log ("Creating db: %s",
tracker_db_manager_get_file (TRACKER_DB_EMAIL_CONTENTS));
}
@@ -1296,7 +1289,9 @@
open_file_content_db (db_con->blob);
open_email_content_db (emails->blob);
- open_common_db (emails->common);
+
+ emails->common->db = open_db_interface (TRACKER_DB_COMMON);
+
open_email_db (emails);
if (cache_trans) {
@@ -1325,7 +1320,9 @@
tracker_db_close (emails->db);
open_email_content_db (emails->blob);
- open_common_db (emails->common);
+
+ emails->common->db = open_db_interface (TRACKER_DB_COMMON);
+
open_email_db (emails);
if (cache_trans) {
@@ -1424,14 +1421,27 @@
return result_set;
}
+TrackerDBResultSet *
+tracker_db_exec_proc (TrackerDBInterface *iface, const char *procedure, ...)
+{
+ TrackerDBResultSet *result_set;
+ va_list args;
-gboolean
-tracker_exec_proc_no_reply (DBConnection *db_con, const char *procedure, ...)
+ va_start (args, procedure);
+ result_set = tracker_db_interface_execute_vprocedure (iface, NULL, procedure, args);
+ va_end (args);
+
+ return result_set;
+}
+
+
+static gboolean
+tracker_exec_proc_no_reply (TrackerDBInterface *iface, const char *procedure, ...)
{
va_list args;
va_start (args, procedure);
- tracker_db_interface_execute_vprocedure_no_reply (db_con->db, NULL, procedure, args);
+ tracker_db_interface_execute_vprocedure_no_reply (iface, NULL, procedure, args);
va_end (args);
return TRUE;
@@ -1506,7 +1516,7 @@
return !tracker_db_manager_file_exists (TRACKER_DB_COMMON);
}
-gint
+static gint
tracker_metadata_is_key (const gchar *service, const gchar *meta_name)
{
return tracker_service_manager_metadata_in_service (service, meta_name);
@@ -3195,7 +3205,7 @@
g_static_rec_mutex_lock (&events_table_lock);
/* Uses the Events table */
tracker_debug ("SetEventsBeingHandled");
- tracker_exec_proc_no_reply (db_con->cache, "SetEventsBeingHandled", NULL);
+ tracker_exec_proc_no_reply (db_con->cache->db, "SetEventsBeingHandled", NULL);
tracker_debug ("GetEvents");
result = tracker_exec_proc (db_con->cache, "GetEvents", NULL);
g_static_rec_mutex_unlock (&events_table_lock);
@@ -5032,32 +5042,6 @@
}
-gboolean
-tracker_db_integrity_check (DBConnection *db_con)
-{
- TrackerDBResultSet *result_set;
- gboolean integrity_check = TRUE;
-
- result_set = tracker_db_interface_execute_query (db_con->db, NULL, "pragma integrity_check;");
-
- if (!result_set) {
- integrity_check = FALSE;
- } else {
- gchar *check;
-
- tracker_db_result_set_get (result_set, 0, &check, -1);
-
- if (check) {
- integrity_check = (strcasecmp (check, "ok") == 0);
- g_free (check);
- }
-
- g_object_unref (result_set);
- }
-
- return integrity_check;
-}
-
void
tracker_free_metadata_field (FieldData *field_data)
{
Modified: branches/indexer-split/src/trackerd/tracker-db-sqlite.h
==============================================================================
--- branches/indexer-split/src/trackerd/tracker-db-sqlite.h (original)
+++ branches/indexer-split/src/trackerd/tracker-db-sqlite.h Tue May 13 14:11:29 2008
@@ -89,13 +89,18 @@
} FieldData;
+/* Module wide ops */
gboolean tracker_db_needs_setup (void);
gboolean tracker_db_common_need_build (void);
gboolean tracker_db_load_prepared_queries (void);
void tracker_db_thread_init (void);
void tracker_db_thread_end (void);
-void tracker_db_close (TrackerDBInterface *iface);
void tracker_db_finalize (void);
+void tracker_create_common_db (void);
+void tracker_db_get_static_data (DBConnection *db_con);
+
+
+/* Open, create, connect DBs */
DBConnection * tracker_db_connect (void);
DBConnection * tracker_db_connect_common (void);
DBConnection * tracker_db_connect_file_content (void);
@@ -108,23 +113,46 @@
void tracker_db_close_all (DBConnection *db_con);
void tracker_db_refresh_all (DBConnection *db_con);
void tracker_db_refresh_email (DBConnection *db_con);
+
+/* Operations for TrackerDBInterface */
+void tracker_db_close (TrackerDBInterface *iface);
+
TrackerDBResultSet *tracker_exec_proc (DBConnection *db_con,
const gchar *procedure,
...);
-gboolean tracker_exec_proc_no_reply (DBConnection *db_con,
- const gchar *procedure,
- ...);
+TrackerDBResultSet *tracker_db_exec_proc (TrackerDBInterface *iface,
+ const gchar *procedure,
+ ...);
+
gboolean tracker_db_exec_no_reply (TrackerDBInterface *iface,
const gchar *query,
...);
-void tracker_create_common_db (void);
+gboolean tracker_db_is_in_transaction (DBConnection *db_con);
+
+gchar * tracker_db_get_option_string (DBConnection *db_con,
+ const gchar *option);
+void tracker_db_set_option_string (DBConnection *db_con,
+ const gchar *option,
+ const gchar *value);
+gint tracker_db_get_option_int (DBConnection *db_con,
+ const gchar *option);
+void tracker_db_set_option_int (DBConnection *db_con,
+ const gchar *option,
+ gint value);
+
+
+/* high level transactions things */
+void tracker_db_start_index_transaction (DBConnection *db_con);
+void tracker_db_end_index_transaction (DBConnection *db_con);
+gboolean tracker_db_regulate_transactions (DBConnection *db_con,
+ gint interval);
+
+/* High level operations (with application logic and/or using more than one DB */
void tracker_db_save_file_contents (DBConnection *db_con,
GHashTable *index_table,
GHashTable *old_table,
const gchar *file_name,
TrackerDBFileInfo *info);
-gboolean tracker_db_start_transaction (DBConnection *db_con);
-gboolean tracker_db_end_transaction (DBConnection *db_con);
void tracker_db_update_indexes_for_new_service (guint32 service_id,
gint service_type_id,
GHashTable *table);
@@ -300,7 +328,6 @@
const gchar *id,
const gchar *key,
gchar **values);
-void tracker_db_get_static_data (DBConnection *db_con);
DBConnection * tracker_db_get_service_connection (DBConnection *db_con,
const gchar *service);
gchar * tracker_db_get_service_for_entity (DBConnection *db_con,
@@ -315,12 +342,12 @@
guint32 id,
GHashTable *table,
gboolean embedded_only);
-gboolean tracker_db_has_display_metadata (FieldDef *def);
+
gchar * tracker_db_get_field_name (const gchar *service,
const gchar *meta_name);
-gint tracker_metadata_is_key (const gchar *service,
- const gchar *meta_name);
gchar * tracker_db_get_display_field (FieldDef *def);
+void tracker_free_metadata_field (FieldData *field_data);
+
void tracker_db_delete_service (DBConnection *db_con,
guint32 id,
const gchar *uri);
@@ -330,22 +357,8 @@
gint field_count,
gboolean is_select,
gboolean is_condition);
-gboolean tracker_db_is_in_transaction (DBConnection *db_con);
-void tracker_db_start_index_transaction (DBConnection *db_con);
-void tracker_db_end_index_transaction (DBConnection *db_con);
-gboolean tracker_db_regulate_transactions (DBConnection *db_con,
- gint interval);
-gchar * tracker_db_get_option_string (DBConnection *db_con,
- const gchar *option);
-void tracker_db_set_option_string (DBConnection *db_con,
- const gchar *option,
- const gchar *value);
-gint tracker_db_get_option_int (DBConnection *db_con,
- const gchar *option);
-void tracker_db_set_option_int (DBConnection *db_con,
- const gchar *option,
- gint value);
-gboolean tracker_db_integrity_check (DBConnection *db_con);
+
+/* XESAM stuff */
TrackerDBResultSet *tracker_db_get_events (DBConnection *db_con);
void tracker_db_delete_handled_events (DBConnection *db_con,
TrackerDBResultSet *events);
@@ -359,7 +372,6 @@
TrackerDBResultSet *tracker_db_get_live_search_hit_count (DBConnection *db_con,
const gchar *search_id);
-void tracker_free_metadata_field (FieldData *field_data);
G_END_DECLS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]