diff options
Diffstat (limited to 'src/libtracker-data/tracker-class.c')
-rw-r--r-- | src/libtracker-data/tracker-class.c | 279 |
1 files changed, 0 insertions, 279 deletions
diff --git a/src/libtracker-data/tracker-class.c b/src/libtracker-data/tracker-class.c index 6c9754e70..f216c8e94 100644 --- a/src/libtracker-data/tracker-class.c +++ b/src/libtracker-data/tracker-class.c @@ -49,27 +49,6 @@ struct _TrackerClassPrivate { GArray *last_super_classes; TrackerOntologies *ontologies; - - struct { - struct { - GArray *sub_pred_ids; - GArray *obj_graph_ids; - } pending; - struct { - GArray *sub_pred_ids; - GArray *obj_graph_ids; - } ready; - } deletes; - struct { - struct { - GArray *sub_pred_ids; - GArray *obj_graph_ids; - } pending; - struct { - GArray *sub_pred_ids; - GArray *obj_graph_ids; - } ready; - } inserts; }; static void class_finalize (GObject *object); @@ -99,16 +78,6 @@ tracker_class_init (TrackerClass *service) priv->last_domain_indexes = NULL; priv->last_super_classes = NULL; - priv->deletes.pending.sub_pred_ids = g_array_new (FALSE, FALSE, sizeof (gint64)); - priv->deletes.pending.obj_graph_ids = g_array_new (FALSE, FALSE, sizeof (gint64)); - priv->deletes.ready.sub_pred_ids = g_array_new (FALSE, FALSE, sizeof (gint64)); - priv->deletes.ready.obj_graph_ids = g_array_new (FALSE, FALSE, sizeof (gint64)); - - priv->inserts.pending.sub_pred_ids = g_array_new (FALSE, FALSE, sizeof (gint64)); - priv->inserts.pending.obj_graph_ids = g_array_new (FALSE, FALSE, sizeof (gint64)); - priv->inserts.ready.sub_pred_ids = g_array_new (FALSE, FALSE, sizeof (gint64)); - priv->inserts.ready.obj_graph_ids = g_array_new (FALSE, FALSE, sizeof (gint64)); - /* Make GET_PRIV working */ service->priv = priv; } @@ -126,16 +95,6 @@ class_finalize (GObject *object) g_array_free (priv->super_classes, TRUE); g_array_free (priv->domain_indexes, TRUE); - g_array_free (priv->deletes.pending.sub_pred_ids, TRUE); - g_array_free (priv->deletes.pending.obj_graph_ids, TRUE); - g_array_free (priv->deletes.ready.sub_pred_ids, TRUE); - g_array_free (priv->deletes.ready.obj_graph_ids, TRUE); - - g_array_free (priv->inserts.pending.sub_pred_ids, TRUE); - g_array_free (priv->inserts.pending.obj_graph_ids, TRUE); - g_array_free (priv->inserts.ready.sub_pred_ids, TRUE); - g_array_free (priv->inserts.ready.obj_graph_ids, TRUE); - if (priv->last_domain_indexes) { g_array_free (priv->last_domain_indexes, TRUE); } @@ -511,244 +470,6 @@ tracker_class_set_db_schema_changed (TrackerClass *service, priv->db_schema_changed = value; } -gboolean -tracker_class_has_insert_events (TrackerClass *class) -{ - TrackerClassPrivate *priv; - - g_return_val_if_fail (TRACKER_IS_CLASS (class), FALSE); - - priv = GET_PRIV (class); - - return (priv->inserts.ready.sub_pred_ids->len > 0); -} - -gboolean -tracker_class_has_delete_events (TrackerClass *class) -{ - TrackerClassPrivate *priv; - - g_return_val_if_fail (TRACKER_IS_CLASS (class), FALSE); - - priv = GET_PRIV (class); - - return (priv->deletes.ready.sub_pred_ids->len > 0); -} - -void -tracker_class_foreach_insert_event (TrackerClass *class, - TrackerEventsForeach foreach, - gpointer user_data) -{ - guint i; - TrackerClassPrivate *priv; - - g_return_if_fail (TRACKER_IS_CLASS (class)); - g_return_if_fail (foreach != NULL); - - priv = GET_PRIV (class); - - for (i = 0; i < priv->inserts.ready.sub_pred_ids->len; i++) { - gint graph_id, subject_id, pred_id, object_id; - gint64 sub_pred_id; - gint64 obj_graph_id; - - sub_pred_id = g_array_index (priv->inserts.ready.sub_pred_ids, gint64, i); - obj_graph_id = g_array_index (priv->inserts.ready.obj_graph_ids, gint64, i); - - pred_id = sub_pred_id & 0xffffffff; - subject_id = sub_pred_id >> 32; - graph_id = obj_graph_id & 0xffffffff; - object_id = obj_graph_id >> 32; - - foreach (graph_id, subject_id, pred_id, object_id, user_data); - } -} - -void -tracker_class_foreach_delete_event (TrackerClass *class, - TrackerEventsForeach foreach, - gpointer user_data) -{ - guint i; - TrackerClassPrivate *priv; - - g_return_if_fail (TRACKER_IS_CLASS (class)); - g_return_if_fail (foreach != NULL); - - priv = GET_PRIV (class); - - for (i = 0; i < priv->deletes.ready.sub_pred_ids->len; i++) { - gint graph_id, subject_id, pred_id, object_id; - gint64 sub_pred_id; - gint64 obj_graph_id; - - sub_pred_id = g_array_index (priv->deletes.ready.sub_pred_ids, gint64, i); - obj_graph_id = g_array_index (priv->deletes.ready.obj_graph_ids, gint64, i); - - pred_id = sub_pred_id & 0xffffffff; - subject_id = sub_pred_id >> 32; - graph_id = obj_graph_id & 0xffffffff; - object_id = obj_graph_id >> 32; - - foreach (graph_id, subject_id, pred_id, object_id, user_data); - } -} - -void -tracker_class_reset_ready_events (TrackerClass *class) -{ - TrackerClassPrivate *priv; - - g_return_if_fail (TRACKER_IS_CLASS (class)); - - priv = GET_PRIV (class); - - /* Reset */ - g_array_set_size (priv->deletes.ready.sub_pred_ids, 0); - g_array_set_size (priv->deletes.ready.obj_graph_ids, 0); - - g_array_set_size (priv->inserts.ready.sub_pred_ids, 0); - g_array_set_size (priv->inserts.ready.obj_graph_ids, 0); - -} - -void -tracker_class_reset_pending_events (TrackerClass *class) -{ - TrackerClassPrivate *priv; - - g_return_if_fail (TRACKER_IS_CLASS (class)); - - priv = GET_PRIV (class); - - /* Reset */ - g_array_set_size (priv->deletes.pending.sub_pred_ids, 0); - g_array_set_size (priv->deletes.pending.obj_graph_ids, 0); - - g_array_set_size (priv->inserts.pending.sub_pred_ids, 0); - g_array_set_size (priv->inserts.pending.obj_graph_ids, 0); - -} - -void -tracker_class_transact_events (TrackerClass *class) -{ - TrackerClassPrivate *priv; - - g_return_if_fail (TRACKER_IS_CLASS (class)); - priv = GET_PRIV (class); - - /* Move */ - g_array_insert_vals (priv->deletes.ready.obj_graph_ids, - priv->deletes.ready.obj_graph_ids->len, - priv->deletes.pending.obj_graph_ids->data, - priv->deletes.pending.obj_graph_ids->len); - - g_array_insert_vals (priv->deletes.ready.sub_pred_ids, - priv->deletes.ready.sub_pred_ids->len, - priv->deletes.pending.sub_pred_ids->data, - priv->deletes.pending.sub_pred_ids->len); - - /* Reset */ - g_array_set_size (priv->deletes.pending.sub_pred_ids, 0); - g_array_set_size (priv->deletes.pending.obj_graph_ids, 0); - - - /* Move */ - g_array_insert_vals (priv->inserts.ready.obj_graph_ids, - priv->inserts.ready.obj_graph_ids->len, - priv->inserts.pending.obj_graph_ids->data, - priv->inserts.pending.obj_graph_ids->len); - - g_array_insert_vals (priv->inserts.ready.sub_pred_ids, - priv->inserts.ready.sub_pred_ids->len, - priv->inserts.pending.sub_pred_ids->data, - priv->inserts.pending.sub_pred_ids->len); - - /* Reset */ - g_array_set_size (priv->inserts.pending.sub_pred_ids, 0); - g_array_set_size (priv->inserts.pending.obj_graph_ids, 0); - -} - -static void -insert_vals_into_arrays (GArray *sub_pred_ids, - GArray *obj_graph_ids, - gint graph_id, - gint subject_id, - gint pred_id, - gint object_id) -{ - gint i, j, k; - gint64 tmp; - gint64 sub_pred_id; - gint64 obj_graph_id; - - sub_pred_id = (gint64) subject_id; - sub_pred_id = sub_pred_id << 32 | pred_id; - obj_graph_id = (gint64) object_id; - obj_graph_id = obj_graph_id << 32 | graph_id; - - i = 0; - j = sub_pred_ids->len - 1; - - while (j - i > 0) { - k = (i + j) / 2; - tmp = g_array_index (sub_pred_ids, gint64, k); - if (tmp == sub_pred_id) { - i = k + 1; - break; - } else if (tmp > sub_pred_id) - j = k; - else - i = k + 1; - } - - g_array_insert_val (sub_pred_ids, i, sub_pred_id); - g_array_insert_val (obj_graph_ids, i, obj_graph_id); -} - -void -tracker_class_add_insert_event (TrackerClass *class, - gint graph_id, - gint subject_id, - gint pred_id, - gint object_id) -{ - TrackerClassPrivate *priv; - - g_return_if_fail (TRACKER_IS_CLASS (class)); - priv = GET_PRIV (class); - - insert_vals_into_arrays (priv->inserts.pending.sub_pred_ids, - priv->inserts.pending.obj_graph_ids, - graph_id, - subject_id, - pred_id, - object_id); -} - -void -tracker_class_add_delete_event (TrackerClass *class, - gint graph_id, - gint subject_id, - gint pred_id, - gint object_id) -{ - TrackerClassPrivate *priv; - - g_return_if_fail (TRACKER_IS_CLASS (class)); - priv = GET_PRIV (class); - - insert_vals_into_arrays (priv->deletes.pending.sub_pred_ids, - priv->deletes.pending.obj_graph_ids, - graph_id, - subject_id, - pred_id, - object_id); -} - void tracker_class_set_ontologies (TrackerClass *class, TrackerOntologies *ontologies) |