summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/libtracker-data/libtracker-data.vapi11
-rw-r--r--src/libtracker-data/tracker-data-update.c7
-rw-r--r--src/libtracker-data/tracker-data-update.h12
-rw-r--r--src/tracker-store/tracker-resources.vala32
-rw-r--r--src/tracker-store/tracker-store.vala27
5 files changed, 13 insertions, 76 deletions
diff --git a/src/libtracker-data/libtracker-data.vapi b/src/libtracker-data/libtracker-data.vapi
index 9876d6a7a..2daae8061 100644
--- a/src/libtracker-data/libtracker-data.vapi
+++ b/src/libtracker-data/libtracker-data.vapi
@@ -180,17 +180,10 @@ namespace Tracker {
}
public delegate void StatementCallback (int graph_id, string? graph, int subject_id, string subject, int predicate_id, int object_id, string object, GLib.PtrArray rdf_types);
- public delegate void CommitCallback (Data.Update.CommitType commit_type);
+ public delegate void CommitCallback ();
[CCode (lower_case_cprefix="tracker_data_", cname = "TrackerData", cheader_filename = "libtracker-data/tracker-data-query.h,libtracker-data/tracker-data-update.h")]
public class Data.Update : GLib.Object {
- [CCode (cprefix = "TRACKER_DATA_COMMIT_")]
- public enum CommitType {
- REGULAR,
- BATCH,
- BATCH_LAST
- }
-
public void begin_db_transaction ();
public void commit_db_transaction ();
public void begin_transaction () throws DBInterfaceError;
@@ -199,7 +192,7 @@ namespace Tracker {
public void update_sparql (string update) throws Sparql.Error;
public GLib.Variant update_sparql_blank (string update) throws Sparql.Error;
public void load_turtle_file (GLib.File file) throws Sparql.Error;
- public void notify_transaction (CommitType commit_type);
+ public void notify_transaction ();
public void delete_statement (string? graph, string subject, string predicate, string object) throws Sparql.Error, DateError;
public void update_statement (string? graph, string subject, string predicate, string? object) throws Sparql.Error, DateError;
public void insert_statement (string? graph, string subject, string predicate, string object) throws Sparql.Error, DateError;
diff --git a/src/libtracker-data/tracker-data-update.c b/src/libtracker-data/tracker-data-update.c
index eb58caafd..e552b10ce 100644
--- a/src/libtracker-data/tracker-data-update.c
+++ b/src/libtracker-data/tracker-data-update.c
@@ -3628,15 +3628,14 @@ tracker_data_commit_transaction (TrackerData *data,
}
void
-tracker_data_notify_transaction (TrackerData *data,
- TrackerDataCommitType commit_type)
+tracker_data_notify_transaction (TrackerData *data)
{
if (data->commit_callbacks) {
guint n;
for (n = 0; n < data->commit_callbacks->len; n++) {
TrackerCommitDelegate *delegate;
delegate = g_ptr_array_index (data->commit_callbacks, n);
- delegate->callback (commit_type, delegate->user_data);
+ delegate->callback (delegate->user_data);
}
}
}
@@ -3679,7 +3678,7 @@ tracker_data_rollback_transaction (TrackerData *data)
for (n = 0; n < data->rollback_callbacks->len; n++) {
TrackerCommitDelegate *delegate;
delegate = g_ptr_array_index (data->rollback_callbacks, n);
- delegate->callback (TRUE, delegate->user_data);
+ delegate->callback (delegate->user_data);
}
}
}
diff --git a/src/libtracker-data/tracker-data-update.h b/src/libtracker-data/tracker-data-update.h
index 75444875c..640df408a 100644
--- a/src/libtracker-data/tracker-data-update.h
+++ b/src/libtracker-data/tracker-data-update.h
@@ -47,12 +47,6 @@ typedef struct _TrackerDataClass TrackerDataClass;
typedef struct _TrackerData TrackerData;
typedef struct _TrackerDataClass TrackerDataClass;
-typedef enum {
- TRACKER_DATA_COMMIT_REGULAR,
- TRACKER_DATA_COMMIT_BATCH,
- TRACKER_DATA_COMMIT_BATCH_LAST
-} TrackerDataCommitType;
-
typedef struct _TrackerData TrackerData;
typedef struct _TrackerData TrackerDataUpdate;
@@ -65,8 +59,7 @@ typedef void (*TrackerStatementCallback) (gint graph_id,
const gchar *object,
GPtrArray *rdf_types,
gpointer user_data);
-typedef void (*TrackerCommitCallback) (TrackerDataCommitType commit_type,
- gpointer user_data);
+typedef void (*TrackerCommitCallback) (gpointer user_data);
GQuark tracker_data_error_quark (void);
@@ -110,8 +103,7 @@ void tracker_data_begin_transaction_for_replay (TrackerData *
GError **error);
void tracker_data_commit_transaction (TrackerData *data,
GError **error);
-void tracker_data_notify_transaction (TrackerData *data,
- TrackerDataCommitType commit_type);
+void tracker_data_notify_transaction (TrackerData *data);
void tracker_data_rollback_transaction (TrackerData *data);
void tracker_data_update_sparql (TrackerData *data,
const gchar *update,
diff --git a/src/tracker-store/tracker-resources.vala b/src/tracker-store/tracker-resources.vala
index ed34a5f56..fe805e196 100644
--- a/src/tracker-store/tracker-resources.vala
+++ b/src/tracker-store/tracker-resources.vala
@@ -51,7 +51,6 @@ public class Tracker.Resources : Object {
DBusConnection connection;
uint signal_timeout;
- bool regular_commit_pending;
Tracker.Config config;
public signal void writeback ([DBus (signature = "a{iai}")] Variant subjects);
@@ -268,49 +267,26 @@ public class Tracker.Resources : Object {
Tracker.Writeback.reset_ready ();
- regular_commit_pending = false;
signal_timeout = 0;
return false;
}
- void on_statements_committed (Tracker.Data.Update.CommitType commit_type) {
+ void on_statements_committed () {
/* Class signal feature */
foreach (var cl in Tracker.Events.get_classes ()) {
cl.transact_events ();
}
- if (!regular_commit_pending) {
- // never cancel timeout for non-batch commits as we want
- // to ensure that the signal corresponding to a certain
- // update arrives within a fixed time limit
-
- // cancel it in all other cases
- // in the BATCH_LAST case, the timeout will be reenabled
- // further down but it's important to cancel it first
- // to reset the timeout to 1 s starting now
- if (signal_timeout != 0) {
- Source.remove (signal_timeout);
- signal_timeout = 0;
- }
- }
-
- if (commit_type == Tracker.Data.Update.CommitType.REGULAR) {
- regular_commit_pending = true;
- }
-
- if (regular_commit_pending || commit_type == Tracker.Data.Update.CommitType.BATCH_LAST) {
- // timer wanted for non-batch commits and the last in a series of batch commits
- if (signal_timeout == 0) {
- signal_timeout = Timeout.add (config.graphupdated_delay, on_emit_signals);
- }
+ if (signal_timeout == 0) {
+ signal_timeout = Timeout.add (config.graphupdated_delay, on_emit_signals);
}
/* Writeback feature */
Tracker.Writeback.transact ();
}
- void on_statements_rolled_back (Tracker.Data.Update.CommitType commit_type) {
+ void on_statements_rolled_back () {
Tracker.Events.reset_pending ();
Tracker.Writeback.reset_pending ();
}
diff --git a/src/tracker-store/tracker-store.vala b/src/tracker-store/tracker-store.vala
index bcc776180..a555c67b0 100644
--- a/src/tracker-store/tracker-store.vala
+++ b/src/tracker-store/tracker-store.vala
@@ -138,29 +138,6 @@ public class Tracker.Store {
}
}
- static Tracker.Data.Update.CommitType commit_type (Task task) {
- switch (task.type) {
- case TaskType.UPDATE:
- case TaskType.UPDATE_BLANK:
- if (((UpdateTask) task).priority == Priority.HIGH) {
- return Tracker.Data.Update.CommitType.REGULAR;
- } else if (update_queues[Priority.LOW].get_length () > 0) {
- return Tracker.Data.Update.CommitType.BATCH;
- } else {
- return Tracker.Data.Update.CommitType.BATCH_LAST;
- }
- case TaskType.TURTLE:
- if (update_queues[Priority.TURTLE].get_length () > 0) {
- return Tracker.Data.Update.CommitType.BATCH;
- } else {
- return Tracker.Data.Update.CommitType.BATCH_LAST;
- }
- default:
- warn_if_reached ();
- return Tracker.Data.Update.CommitType.REGULAR;
- }
- }
-
static bool task_finish_cb (Task task) {
var data = task.data_manager.get_data ();
@@ -180,7 +157,7 @@ public class Tracker.Store {
n_queries_running--;
} else if (task.type == TaskType.UPDATE || task.type == TaskType.UPDATE_BLANK) {
if (task.error == null) {
- data.notify_transaction (commit_type (task));
+ data.notify_transaction ();
}
task.callback ();
@@ -189,7 +166,7 @@ public class Tracker.Store {
update_running = false;
} else if (task.type == TaskType.TURTLE) {
if (task.error == null) {
- data.notify_transaction (commit_type (task));
+ data.notify_transaction ();
}
task.callback ();