tracker r1903 - in branches/indexer-split: . data src/tracker-indexer src/trackerd
- From: pvanhoof svn gnome org
- To: svn-commits-list gnome org
- Subject: tracker r1903 - in branches/indexer-split: . data src/tracker-indexer src/trackerd
- Date: Tue, 22 Jul 2008 14:24:43 +0000 (UTC)
Author: pvanhoof
Date: Tue Jul 22 14:24:43 2008
New Revision: 1903
URL: http://svn.gnome.org/viewvc/tracker?rev=1903&view=rev
Log:
2008-07-22 Philip Van Hoof <pvanhoof gnome org>
* data/sqlite-stored-procs.sql:
* data/sqlite-cache.sql:
* src/tracker-indexer/tracker-indexer-db.c:
* src/tracker-indexer/tracker-indexer-db.h:
* src/tracker-indexer/tracker-indexer.c:
Removed the need for GetNewID and UpdateNewID from the indexer
Replaced the GetNewEventID and UpdateNewEventID with an autoincrement
Modified:
branches/indexer-split/ChangeLog
branches/indexer-split/data/sqlite-cache.sql
branches/indexer-split/data/sqlite-stored-procs.sql
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
branches/indexer-split/src/trackerd/tracker-db.c
Modified: branches/indexer-split/data/sqlite-cache.sql
==============================================================================
--- branches/indexer-split/data/sqlite-cache.sql (original)
+++ branches/indexer-split/data/sqlite-cache.sql Tue Jul 22 14:24:43 2008
@@ -71,7 +71,7 @@
CREATE TABLE Events
(
- ID Integer primary key not null,
+ ID Integer primary key autoincrement,
ServiceID Integer not null,
BeingHandled Integer default 0,
EventType Text
Modified: branches/indexer-split/data/sqlite-stored-procs.sql
==============================================================================
--- branches/indexer-split/data/sqlite-stored-procs.sql (original)
+++ branches/indexer-split/data/sqlite-stored-procs.sql Tue Jul 22 14:24:43 2008
@@ -22,9 +22,10 @@
GetServices SELECT TypeName, Description, Parent FROM ServiceTypes ORDER BY TypeID;
GetAllServices SELECT TypeID, TypeName, Parent, Enabled, Embedded, HasMetadata, HasFullText, HasThumbs, ContentMetadata, Database, ShowServiceFiles, ShowServiceDirectories, KeyMetadata1, KeyMetadata2, KeyMetadata3, KeyMetadata4, KeyMetadata5, KeyMetadata6, KeyMetadata7, KeyMetadata8, KeyMetadata9, KeyMetadata10, KeyMetadata11 FROM ServiceTypes;
+/* GetNewID and UpdateNewID are deprecated !! */
GetNewID SELECT OptionValue FROM Options WHERE OptionKey = 'Sequence';
UpdateNewID UPDATE Options set OptionValue = ? WHERE OptionKey = 'Sequence';
-CreateEvent INSERT INTO Events (ID, ServiceID, EventType) VALUES (?,?,?);
+CreateEvent INSERT INTO Events (ServiceID, EventType) VALUES (?,?);
GetEvents SELECT ID, ServiceID, EventType FROM Events WHERE BeingHandled = 1;
SetEventsBeingHandled UPDATE Events SET BeingHandled = 1;
@@ -35,6 +36,7 @@
GetLiveSearchHitCount SELECT count(*) FROM cache.LiveSearches WHERE SearchID = ?;
LiveSearchStopSearch DELETE FROM cache.LiveSearches WHERE SearchID = ?
+/* GetNewEventID and UpdateNewEventID are deprecated !! */
GetNewEventID SELECT OptionValue FROM Options WHERE OptionKey = 'EventSequence';
UpdateNewEventID UPDATE Options set OptionValue = ? WHERE OptionKey = 'EventSequence';
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 Tue Jul 22 14:24:43 2008
@@ -24,79 +24,58 @@
#include <stdlib.h>
#include <libtracker-common/tracker-type-utils.h>
+#include <libtracker-db/tracker-db-manager.h>
#include "tracker-indexer-db.h"
-void
-tracker_db_inc_service_id (TrackerDBInterface *iface, guint32 id)
-{
- gchar *id_str;
-
- id_str = tracker_int_to_string (id);
-
- tracker_db_interface_execute_procedure (iface, NULL, "UpdateNewID", id_str, NULL);
- g_free (id_str);
-}
guint32
tracker_db_get_new_service_id (TrackerDBInterface *iface)
{
+ guint32 files_max;
TrackerDBResultSet *result_set;
- gchar *id_str;
- guint32 id;
-
- result_set = tracker_db_interface_execute_procedure (iface, NULL, "GetNewID", NULL);
+ TrackerDBInterface *temp_iface;
+ static guint32 max = 0;
- if (!result_set) {
- g_critical ("Could not create service, GetNewID failed");
- return 0;
+ if (max != 0) {
+ return ++max;
}
- tracker_db_result_set_get (result_set, 0, &id_str, -1);
- g_object_unref (result_set);
-
- id = atoi (id_str);
- id++;
- g_free (id_str);
-
- return id;
-}
-
-void
-tracker_db_inc_event_id (TrackerDBInterface *iface, guint32 id)
-{
- gchar *id_str;
+ temp_iface = tracker_db_manager_get_db_interface (TRACKER_DB_FILE_METADATA);
- id_str = tracker_int_to_string (id);
+ result_set = tracker_db_interface_execute_query (temp_iface, NULL,
+ "SELECT MAX(ID) AS A FROM Services");
- tracker_db_interface_execute_procedure (iface, NULL, "UpdateNewEventID", id_str, NULL);
- g_free (id_str);
-}
+ if (result_set) {
+ GValue val = {0, };
+ _tracker_db_result_set_get_value (result_set, 0, &val);
+ if (G_VALUE_TYPE (&val) == G_TYPE_INT) {
+ max = g_value_get_int (&val);
+ }
+ g_value_unset (&val);
+ g_object_unref (result_set);
+ }
-guint32
-tracker_db_get_new_event_id (TrackerDBInterface *iface)
-{
- TrackerDBResultSet *result_set;
- gchar *id_str;
- guint32 id;
+ temp_iface = tracker_db_manager_get_db_interface (TRACKER_DB_EMAIL_METADATA);
- result_set = tracker_db_interface_execute_procedure (iface, NULL, "GetNewEventID", NULL);
+ result_set = tracker_db_interface_execute_query (temp_iface, NULL,
+ "SELECT MAX(ID) AS A FROM Services");
- if (!result_set) {
- g_critical ("Could not create event, GetNewEventID failed");
- return 0;
+ if (result_set) {
+ GValue val = {0, };
+ _tracker_db_result_set_get_value (result_set, 0, &val);
+ if (G_VALUE_TYPE (&val) == G_TYPE_INT) {
+ files_max = g_value_get_int (&val);
+ max = MAX (files_max, max);
+ }
+ g_value_unset (&val);
+ g_object_unref (result_set);
}
- tracker_db_result_set_get (result_set, 0, &id_str, -1);
- g_object_unref (result_set);
-
- id = atoi (id_str);
- id++;
- g_free (id_str);
-
- return id;
+ return ++max;
}
+
void
tracker_db_increment_stats (TrackerDBInterface *iface,
TrackerService *service)
@@ -115,22 +94,18 @@
gboolean
tracker_db_create_event (TrackerDBInterface *iface,
- guint32 id,
guint32 service_id,
const gchar *type)
{
- gchar *id_str, *service_id_str;
+ gchar *service_id_str;
- id_str = tracker_guint32_to_string (id);
service_id_str = tracker_guint32_to_string (service_id);
tracker_db_interface_execute_procedure (iface, NULL, "CreateEvent",
- id_str,
service_id_str,
type,
NULL);
- g_free (id_str);
g_free (service_id_str);
return TRUE;
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 Tue Jul 22 14:24:43 2008
@@ -28,7 +28,6 @@
G_BEGIN_DECLS
guint32 tracker_db_get_new_service_id (TrackerDBInterface *iface);
-guint32 tracker_db_get_new_event_id (TrackerDBInterface *iface);
void tracker_db_increment_stats (TrackerDBInterface *iface,
TrackerService *service);
gboolean tracker_db_create_service (TrackerDBInterface *iface,
@@ -45,13 +44,8 @@
guint32 id,
const gchar *text);
gboolean tracker_db_create_event (TrackerDBInterface *iface,
- guint32 id,
guint32 service_id,
const gchar *type);
-void tracker_db_inc_service_id (TrackerDBInterface *iface,
- guint32 id);
-void tracker_db_inc_event_id (TrackerDBInterface *iface,
- guint32 id);
G_END_DECLS
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 Tue Jul 22 14:24:43 2008
@@ -776,6 +776,7 @@
mimetype = tracker_file_get_mime_type (info->file->path);
service_type = tracker_ontology_get_service_type_for_mime (mimetype);
service_def = tracker_ontology_get_service_type_by_name (service_type);
+
id = tracker_db_get_new_service_id (indexer->private->common);
created = tracker_db_create_service (indexer->private->metadata,
@@ -789,19 +790,10 @@
if (created) {
gchar *text;
- guint32 eid;
- gboolean inc_events = FALSE;
-
- eid = tracker_db_get_new_event_id (indexer->private->common);
created = tracker_db_create_event (indexer->private->cache,
- eid,
id,
"Create");
- if (created) {
- inc_events = TRUE;
- }
-
tracker_db_increment_stats (indexer->private->common, service_def);
index_metadata (indexer, id, service_def, metadata);
@@ -813,11 +805,6 @@
g_free (text);
}
- if (inc_events) {
- tracker_db_inc_event_id (indexer->private->common, eid);
- }
-
- tracker_db_inc_service_id (indexer->private->common, id);
}
g_hash_table_destroy (metadata);
Modified: branches/indexer-split/src/trackerd/tracker-db.c
==============================================================================
--- branches/indexer-split/src/trackerd/tracker-db.c (original)
+++ branches/indexer-split/src/trackerd/tracker-db.c Tue Jul 22 14:24:43 2008
@@ -2739,6 +2739,11 @@
path = tracker_file_get_vfs_path (info->uri);
}
+ /* Using GetNewUID is deprecated, use
+
+ SELECT MAX(ID) from files-meta.Services followed by
+ SELECT MAX(ID) from email-meta.Services instead !!! */
+
/* Get a new unique ID for the service - use mutex to prevent race conditions */
result_set = tracker_db_exec_proc (iface, "GetNewID", NULL);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]