summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2022-01-16 15:40:01 +0100
committerCarlos Garnacho <carlosg@gnome.org>2022-02-10 23:36:58 +0100
commite312cb33bd513bf463c8bde5a055b5e6463ef0aa (patch)
tree6099d56b532836af88056729502f77fe4362e9fc
parent64f8b5decbf72a1bb0295ec60b249943724e088b (diff)
downloadtracker-e312cb33bd513bf463c8bde5a055b5e6463ef0aa.tar.gz
libtracker-data: Use TrackerRowid in ontology data
Use TrackerRowid in the places where we map properties/classes to ROWIDs, and map between URIs an those.
-rw-r--r--src/libtracker-data/tracker-class.c6
-rw-r--r--src/libtracker-data/tracker-class.h6
-rw-r--r--src/libtracker-data/tracker-data-manager.c20
-rw-r--r--src/libtracker-data/tracker-ontologies.c16
-rw-r--r--src/libtracker-data/tracker-ontologies.h4
-rw-r--r--src/libtracker-data/tracker-property.c6
-rw-r--r--src/libtracker-data/tracker-property.h4
-rw-r--r--src/libtracker-data/tracker-sparql.c2
8 files changed, 33 insertions, 31 deletions
diff --git a/src/libtracker-data/tracker-class.c b/src/libtracker-data/tracker-class.c
index c83879f86..3a9eac370 100644
--- a/src/libtracker-data/tracker-class.c
+++ b/src/libtracker-data/tracker-class.c
@@ -34,7 +34,7 @@ typedef struct _TrackerClassPrivate TrackerClassPrivate;
struct _TrackerClassPrivate {
gchar *uri;
gchar *name;
- gint id;
+ TrackerRowid id;
guint is_new : 1;
guint db_schema_changed : 1;
guint notify : 1;
@@ -189,7 +189,7 @@ tracker_class_get_name (TrackerClass *service)
return priv->name;
}
-gint
+TrackerRowid
tracker_class_get_id (TrackerClass *service)
{
TrackerClassPrivate *priv;
@@ -367,7 +367,7 @@ tracker_class_set_uri (TrackerClass *service,
void
tracker_class_set_id (TrackerClass *service,
- gint value)
+ TrackerRowid value)
{
TrackerClassPrivate *priv;
diff --git a/src/libtracker-data/tracker-class.h b/src/libtracker-data/tracker-class.h
index e806c035f..c57631595 100644
--- a/src/libtracker-data/tracker-class.h
+++ b/src/libtracker-data/tracker-class.h
@@ -23,6 +23,8 @@
#include <glib-object.h>
+#include "tracker-rowid.h"
+
G_BEGIN_DECLS
#if !defined (__LIBTRACKER_DATA_INSIDE__) && !defined (TRACKER_COMPILATION)
@@ -53,7 +55,7 @@ GType tracker_class_get_type (void) G_GNUC_CONST;
TrackerClass * tracker_class_new (gboolean use_gvdb);
const gchar * tracker_class_get_uri (TrackerClass *service);
const gchar * tracker_class_get_name (TrackerClass *service);
-gint tracker_class_get_id (TrackerClass *service);
+TrackerRowid tracker_class_get_id (TrackerClass *service);
gboolean tracker_class_get_is_new (TrackerClass *service);
gboolean tracker_class_get_db_schema_changed (TrackerClass *service);
gboolean tracker_class_get_notify (TrackerClass *service);
@@ -78,7 +80,7 @@ void tracker_class_del_domain_index (TrackerClass *ser
void tracker_class_reset_domain_indexes (TrackerClass *service);
void tracker_class_reset_super_classes (TrackerClass *service);
void tracker_class_set_id (TrackerClass *service,
- gint id);
+ TrackerRowid id);
void tracker_class_set_is_new (TrackerClass *service,
gboolean value);
void tracker_class_set_db_schema_changed (TrackerClass *service,
diff --git a/src/libtracker-data/tracker-data-manager.c b/src/libtracker-data/tracker-data-manager.c
index ca51c9e4f..640f1de87 100644
--- a/src/libtracker-data/tracker-data-manager.c
+++ b/src/libtracker-data/tracker-data-manager.c
@@ -575,7 +575,7 @@ update_property_value (TrackerDataManager *manager,
if (!unsup_onto_err) {
GValue value = G_VALUE_INIT;
- gint64 subject_id = 0;
+ TrackerRowid subject_id = 0;
tracker_data_query_string_to_value (manager,
str, NULL,
@@ -614,7 +614,7 @@ update_property_value (TrackerDataManager *manager,
if (!error && needed && object) {
GValue value = G_VALUE_INIT;
- gint64 subject_id = 0;
+ TrackerRowid subject_id = 0;
tracker_data_query_string_to_value (manager,
object, NULL,
@@ -858,7 +858,7 @@ tracker_data_ontology_load_statement (TrackerDataManager *manager,
if (g_strcmp0 (predicate, RDF_TYPE) == 0) {
if (g_strcmp0 (object, RDFS_CLASS) == 0) {
TrackerClass *class;
- gint subject_id;
+ TrackerRowid subject_id;
class = tracker_ontologies_get_class_by_uri (manager->ontologies, subject);
@@ -903,7 +903,7 @@ tracker_data_ontology_load_statement (TrackerDataManager *manager,
g_object_unref (class);
} else if (g_strcmp0 (object, RDF_PROPERTY) == 0) {
TrackerProperty *property;
- gint subject_id;
+ TrackerRowid subject_id;
property = tracker_ontologies_get_property_by_uri (manager->ontologies, subject);
if (property != NULL) {
@@ -1550,7 +1550,7 @@ check_for_deleted_domain_index (TrackerDataManager *manager,
TrackerProperty *prop = l->data;
const gchar *uri;
GValue value = G_VALUE_INIT;
- gint64 class_id = 0;
+ TrackerRowid class_id = 0;
TRACKER_NOTE (ONTOLOGY_CHANGES,
g_message ("Ontology change: deleting nrl:domainIndex: %s",
@@ -1741,7 +1741,7 @@ check_for_deleted_super_properties (TrackerDataManager *manager,
const gchar *object = tracker_property_get_uri (prop_to_remove);
const gchar *subject = tracker_property_get_uri (property);
GValue value = G_VALUE_INIT;
- gint64 subject_id;
+ TrackerRowid subject_id;
property = tracker_ontologies_get_property_by_uri (ontologies,
TRACKER_PREFIX_RDFS "subPropertyOf");
@@ -2220,7 +2220,7 @@ tracker_data_ontology_process_statement (TrackerDataManager *manager,
{
TrackerProperty *property;
GValue value = G_VALUE_INIT;
- gint64 subject_id = 0;
+ TrackerRowid subject_id = 0;
if (g_strcmp0 (predicate, RDF_TYPE) == 0) {
if (g_strcmp0 (object, RDFS_CLASS) == 0) {
@@ -2599,7 +2599,7 @@ db_get_static_data (TrackerDBInterface *iface,
while (tracker_db_cursor_iter_next (cursor, NULL, &internal_error)) {
TrackerClass *class;
const gchar *uri;
- gint id;
+ TrackerRowid id;
GValue value = { 0 };
gboolean notify;
@@ -2668,7 +2668,7 @@ db_get_static_data (TrackerDBInterface *iface,
const gchar *uri, *domain_uri, *range_uri, *secondary_index_uri;
gboolean multi_valued, indexed, fulltext_indexed;
gboolean is_inverse_functional_property;
- gint id;
+ TrackerRowid id;
property = tracker_property_new (FALSE);
@@ -2775,7 +2775,7 @@ static void
insert_uri_in_resource_table (TrackerDataManager *manager,
TrackerDBInterface *iface,
const gchar *uri,
- gint id,
+ TrackerRowid id,
GError **error)
{
TrackerDBStatement *stmt;
diff --git a/src/libtracker-data/tracker-ontologies.c b/src/libtracker-data/tracker-ontologies.c
index ed97bf648..ef0f8306d 100644
--- a/src/libtracker-data/tracker-ontologies.c
+++ b/src/libtracker-data/tracker-ontologies.c
@@ -102,8 +102,8 @@ tracker_ontologies_init (TrackerOntologies *ontologies)
g_free,
g_object_unref);
- priv->id_uri_pairs = g_hash_table_new_full (g_direct_hash, g_direct_equal,
- NULL,
+ priv->id_uri_pairs = g_hash_table_new_full (tracker_rowid_hash, tracker_rowid_equal,
+ (GDestroyNotify) tracker_rowid_free,
g_free);
priv->properties = g_ptr_array_new_with_free_func (g_object_unref);
@@ -174,13 +174,13 @@ tracker_ontologies_get_rdf_type (TrackerOntologies *ontologies)
const gchar*
tracker_ontologies_get_uri_by_id (TrackerOntologies *ontologies,
- gint id)
+ TrackerRowid id)
{
TrackerOntologiesPrivate *priv = tracker_ontologies_get_instance_private (ontologies);
g_return_val_if_fail (id != -1, NULL);
- return g_hash_table_lookup (priv->id_uri_pairs, GINT_TO_POINTER (id));
+ return g_hash_table_lookup (priv->id_uri_pairs, &id);
}
void
@@ -362,13 +362,13 @@ tracker_ontologies_add_property (TrackerOntologies *ontologies,
void
tracker_ontologies_add_id_uri_pair (TrackerOntologies *ontologies,
- gint id,
+ TrackerRowid id,
const gchar *uri)
{
TrackerOntologiesPrivate *priv = tracker_ontologies_get_instance_private (ontologies);
g_hash_table_insert (priv->id_uri_pairs,
- GINT_TO_POINTER (id),
+ tracker_rowid_copy (&id),
g_strdup (uri));
}
@@ -561,7 +561,7 @@ tracker_ontologies_write_gvdb (TrackerOntologies *ontologies,
item = gvdb_hash_table_insert_item (table, root, uri);
- str = g_strdup_printf ("%d", tracker_class_get_id (class));
+ str = g_strdup_printf ("%" G_GINT64_FORMAT, tracker_class_get_id (class));
gvdb_hash_table_insert_statement (table, item, uri, "id", str);
g_free (str);
@@ -593,7 +593,7 @@ tracker_ontologies_write_gvdb (TrackerOntologies *ontologies,
item = gvdb_hash_table_insert_item (table, root, uri);
- str = g_strdup_printf ("%d", tracker_property_get_id (property));
+ str = g_strdup_printf ("%" G_GINT64_FORMAT, tracker_property_get_id (property));
gvdb_hash_table_insert_statement (table, item, uri, "id", str);
g_free (str);
diff --git a/src/libtracker-data/tracker-ontologies.h b/src/libtracker-data/tracker-ontologies.h
index c984b7a2e..529be25fa 100644
--- a/src/libtracker-data/tracker-ontologies.h
+++ b/src/libtracker-data/tracker-ontologies.h
@@ -83,9 +83,9 @@ TrackerNamespace * tracker_ontologies_get_namespace_by_uri (TrackerOntologies *o
TrackerOntology * tracker_ontologies_get_ontology_by_uri (TrackerOntologies *ontologies,
const gchar *namespace_uri);
const gchar* tracker_ontologies_get_uri_by_id (TrackerOntologies *ontologies,
- gint id);
+ TrackerRowid id);
void tracker_ontologies_add_id_uri_pair (TrackerOntologies *ontologies,
- gint id,
+ TrackerRowid id,
const gchar *uri);
gboolean tracker_ontologies_write_gvdb (TrackerOntologies *ontologies,
diff --git a/src/libtracker-data/tracker-property.c b/src/libtracker-data/tracker-property.c
index 7d84a7b35..0bab37b1b 100644
--- a/src/libtracker-data/tracker-property.c
+++ b/src/libtracker-data/tracker-property.c
@@ -71,7 +71,7 @@ struct _TrackerPropertyPrivate {
TrackerClass *domain_index;
TrackerClass *range;
gint weight;
- gint id;
+ TrackerRowid id;
guint use_gvdb : 1;
guint indexed : 1;
guint orig_fulltext_indexed : 1;
@@ -469,7 +469,7 @@ tracker_property_get_weight (TrackerProperty *property)
return priv->weight;
}
-gint
+TrackerRowid
tracker_property_get_id (TrackerProperty *property)
{
TrackerPropertyPrivate *priv;
@@ -879,7 +879,7 @@ tracker_property_set_weight (TrackerProperty *property,
void
tracker_property_set_id (TrackerProperty *property,
- gint value)
+ TrackerRowid value)
{
TrackerPropertyPrivate *priv;
g_return_if_fail (TRACKER_IS_PROPERTY (property));
diff --git a/src/libtracker-data/tracker-property.h b/src/libtracker-data/tracker-property.h
index 6ad6b9fda..84e98b5f5 100644
--- a/src/libtracker-data/tracker-property.h
+++ b/src/libtracker-data/tracker-property.h
@@ -82,7 +82,7 @@ TrackerClass * tracker_property_get_domain (TrackerProperty
TrackerClass * tracker_property_get_range (TrackerProperty *property);
TrackerClass ** tracker_property_get_domain_indexes (TrackerProperty *property);
gint tracker_property_get_weight (TrackerProperty *property);
-gint tracker_property_get_id (TrackerProperty *property);
+TrackerRowid tracker_property_get_id (TrackerProperty *property);
gboolean tracker_property_get_indexed (TrackerProperty *property);
TrackerProperty * tracker_property_get_secondary_index (TrackerProperty *property);
gboolean tracker_property_get_orig_fulltext_indexed(TrackerProperty *property);
@@ -116,7 +116,7 @@ void tracker_property_set_range (TrackerProperty
void tracker_property_set_weight (TrackerProperty *property,
gint value);
void tracker_property_set_id (TrackerProperty *property,
- gint value);
+ TrackerRowid value);
void tracker_property_set_indexed (TrackerProperty *property,
gboolean value);
void tracker_property_set_secondary_index (TrackerProperty *property,
diff --git a/src/libtracker-data/tracker-sparql.c b/src/libtracker-data/tracker-sparql.c
index a7915b441..2931c18d7 100644
--- a/src/libtracker-data/tracker-sparql.c
+++ b/src/libtracker-data/tracker-sparql.c
@@ -1112,7 +1112,7 @@ _prepend_path_element (TrackerSparql *sparql,
_append_string (sparql, "WHERE ");
}
- _append_string_printf (sparql, "predicate != %d ",
+ _append_string_printf (sparql, "predicate != %" G_GINT64_FORMAT " ",
tracker_property_get_id (path_elem->data.property));
_append_string (sparql, ") ");
break;