tracker r1611 - in branches/indexer-split: . src/tracker-indexer



Author: carlosg
Date: Mon Jun  9 15:17:54 2008
New Revision: 1611
URL: http://svn.gnome.org/viewvc/tracker?rev=1611&view=rev

Log:
2008-06-09  Carlos Garnacho  <carlos imendio com>

        * src/tracker-indexer/tracker-indexer-db.[ch] (tracker_db_set_text):
        New function, saves text into the content database.
        * src/tracker-indexer/tracker-indexer.c (init_indexer): create content
        database.
        (process_file): get text content and store it in the database.
        (tracker_indexer_finalize): Do not unref here the database
        connections, they're already taken care of by the DB manager.


Modified:
   branches/indexer-split/ChangeLog
   branches/indexer-split/src/tracker-indexer/tracker-indexer-db.c
   branches/indexer-split/src/tracker-indexer/tracker-indexer-db.h
   branches/indexer-split/src/tracker-indexer/tracker-indexer.c

Modified: branches/indexer-split/src/tracker-indexer/tracker-indexer-db.c
==============================================================================
--- branches/indexer-split/src/tracker-indexer/tracker-indexer-db.c	(original)
+++ branches/indexer-split/src/tracker-indexer/tracker-indexer-db.c	Mon Jun  9 15:17:54 2008
@@ -200,3 +200,22 @@
 	g_free (id_str);
 }
 
+void
+tracker_db_set_text (TrackerDBInterface *iface,
+		     guint32             id,
+		     const gchar        *text)
+{
+	TrackerField *field;
+	gchar *id_str;
+
+	id_str = tracker_guint32_to_string (id);
+	field = tracker_ontology_get_field_def ("File:Contents");
+
+	tracker_db_interface_execute_procedure (iface, NULL,
+						"SaveServiceContents",
+						id_str,
+						tracker_field_get_id (field),
+						text,
+						NULL);
+	g_free (id_str);
+}

Modified: branches/indexer-split/src/tracker-indexer/tracker-indexer-db.h
==============================================================================
--- branches/indexer-split/src/tracker-indexer/tracker-indexer-db.h	(original)
+++ branches/indexer-split/src/tracker-indexer/tracker-indexer-db.h	Mon Jun  9 15:17:54 2008
@@ -40,6 +40,9 @@
                                         guint32             id,
                                         TrackerField       *field,
                                         const gchar        *value);
+void     tracker_db_set_text           (TrackerDBInterface *iface,
+					guint32             id,
+					const gchar        *text);
 gboolean tracker_db_create_event       (TrackerDBInterface *iface,
                                         guint32             id,
                                         guint32             service_id,

Modified: branches/indexer-split/src/tracker-indexer/tracker-indexer.c
==============================================================================
--- branches/indexer-split/src/tracker-indexer/tracker-indexer.c	(original)
+++ branches/indexer-split/src/tracker-indexer/tracker-indexer.c	Mon Jun  9 15:17:54 2008
@@ -165,14 +165,6 @@
 		tracker_index_free (priv->index);
 	}
 
-	if (priv->common) {
-		g_object_unref (priv->common);
-	}
-
-	if (priv->metadata) {
-		g_object_unref (priv->metadata);
-	}
-
 	G_OBJECT_CLASS (tracker_indexer_parent_class)->finalize (object);
 }
 
@@ -287,6 +279,7 @@
 
 	priv->common = tracker_db_manager_get_db_interface (TRACKER_DB_COMMON);
 	priv->metadata = tracker_db_manager_get_db_interface (TRACKER_DB_FILE_METADATA);
+	priv->contents = tracker_db_manager_get_db_interface (TRACKER_DB_FILE_CONTENTS);
 
 	tracker_indexer_set_running (indexer, TRUE);
 
@@ -463,6 +456,7 @@
 		id = tracker_db_get_new_service_id (priv->common);
 
 		if (tracker_db_create_service (priv->metadata, id, service, info->path, metadata)) {
+			gchar *text;
 			guint32 eid;
 
 			eid = tracker_db_get_new_event_id (priv->common);
@@ -472,6 +466,13 @@
 			tracker_db_increment_stats (priv->common, service);
 
 			index_metadata (indexer, id, service, metadata);
+
+			text = tracker_indexer_module_get_text (info->module, info->path);
+
+			if (text) {
+				tracker_db_set_text (priv->contents, id, text);
+				g_free (text);
+			}
 		}
 
 		g_hash_table_destroy (metadata);



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