summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2020-11-24 13:27:52 +0100
committerCarlos Garnacho <carlosg@gnome.org>2020-11-24 13:58:17 +0100
commitcf3fac9e5f70adcd404b24db8987815125b748be (patch)
treea98e4f116ab6be232dc19980c0545ba3085d1428
parente25c34ba410787c7cb14d6bd9593d5dd4ad6d537 (diff)
downloadtracker-cf3fac9e5f70adcd404b24db8987815125b748be.tar.gz
libtracker-data: Make ontology structs more compact
Stuff all those booleans as bitfields, since we have a high-ish amount of those in memory at all times (At least with Nepomuk).
-rw-r--r--src/libtracker-data/tracker-class.c16
-rw-r--r--src/libtracker-data/tracker-namespace.c8
-rw-r--r--src/libtracker-data/tracker-property.c52
3 files changed, 38 insertions, 38 deletions
diff --git a/src/libtracker-data/tracker-class.c b/src/libtracker-data/tracker-class.c
index 47bf8439f..3c87cbabb 100644
--- a/src/libtracker-data/tracker-class.c
+++ b/src/libtracker-data/tracker-class.c
@@ -35,11 +35,11 @@ struct _TrackerClassPrivate {
gchar *uri;
gchar *name;
gint id;
- gboolean is_new;
- gboolean db_schema_changed;
- gboolean notify;
+ guint is_new : 1;
+ guint db_schema_changed : 1;
+ guint notify : 1;
+ guint use_gvdb : 1;
- gboolean use_gvdb;
GArray *super_classes;
GArray *domain_indexes;
@@ -109,7 +109,7 @@ tracker_class_new (gboolean use_gvdb)
if (use_gvdb) {
priv = tracker_class_get_instance_private (service);
- priv->use_gvdb = use_gvdb;
+ priv->use_gvdb = !!use_gvdb;
}
return service;
@@ -407,7 +407,7 @@ tracker_class_set_is_new (TrackerClass *service,
priv = tracker_class_get_instance_private (service);
- priv->is_new = value;
+ priv->is_new = !!value;
}
@@ -421,7 +421,7 @@ tracker_class_set_notify (TrackerClass *service,
priv = tracker_class_get_instance_private (service);
- priv->notify = value;
+ priv->notify = !!value;
}
void
@@ -434,7 +434,7 @@ tracker_class_set_db_schema_changed (TrackerClass *service,
priv = tracker_class_get_instance_private (service);
- priv->db_schema_changed = value;
+ priv->db_schema_changed = !!value;
}
void
diff --git a/src/libtracker-data/tracker-namespace.c b/src/libtracker-data/tracker-namespace.c
index 618570062..bb6496e06 100644
--- a/src/libtracker-data/tracker-namespace.c
+++ b/src/libtracker-data/tracker-namespace.c
@@ -32,10 +32,10 @@ typedef struct _TrackerNamespacePrivate TrackerNamespacePrivate;
struct _TrackerNamespacePrivate {
gchar *uri;
- gboolean use_gvdb;
+ guint use_gvdb : 1;
+ guint is_new : 1;
gchar *prefix;
- gboolean is_new;
TrackerOntologies *ontologies;
};
@@ -79,7 +79,7 @@ tracker_namespace_new (gboolean use_gvdb)
if (use_gvdb) {
priv = tracker_namespace_get_instance_private (namespace);
- priv->use_gvdb = use_gvdb;
+ priv->use_gvdb = !!use_gvdb;
}
return namespace;
@@ -173,7 +173,7 @@ tracker_namespace_set_is_new (TrackerNamespace *namespace,
priv = tracker_namespace_get_instance_private (namespace);
- priv->is_new = value;
+ priv->is_new = !!value;
}
void
diff --git a/src/libtracker-data/tracker-property.c b/src/libtracker-data/tracker-property.c
index b6f21c0fb..42c7ff931 100644
--- a/src/libtracker-data/tracker-property.c
+++ b/src/libtracker-data/tracker-property.c
@@ -45,32 +45,32 @@ struct _TrackerPropertyPrivate {
gchar *name;
gchar *table_name;
- gboolean use_gvdb;
-
TrackerPropertyType data_type;
TrackerClass *domain;
TrackerClass *domain_index;
TrackerClass *range;
gint weight;
gint id;
- gboolean indexed;
+ guint use_gvdb : 1;
+ guint indexed : 1;
+ guint orig_fulltext_indexed : 1;
+ guint fulltext_indexed : 1;
+ guint multiple_values : 1;
+ guint last_multiple_values : 1;
+ guint is_inverse_functional_property : 1;
+ guint is_new : 1;
+ guint db_schema_changed : 1;
+ guint writeback : 1;
+ guint force_journal : 1;
+ guint cardinality_changed : 1;
+ guint orig_multiple_values : 1;
+
TrackerProperty *secondary_index;
- gboolean orig_fulltext_indexed;
- gboolean fulltext_indexed;
- gboolean multiple_values;
- gboolean last_multiple_values;
- gboolean is_inverse_functional_property;
- gboolean is_new;
- gboolean db_schema_changed;
- gboolean writeback;
GPtrArray *is_new_domain_index;
- gboolean force_journal;
GArray *super_properties;
GArray *domain_indexes;
GArray *last_super_properties;
- gboolean cardinality_changed;
- gboolean orig_multiple_values;
TrackerOntologies *ontologies;
};
@@ -201,7 +201,7 @@ tracker_property_new (gboolean use_gvdb)
if (use_gvdb) {
priv = tracker_property_get_instance_private (property);
- priv->use_gvdb = use_gvdb;
+ priv->use_gvdb = !!use_gvdb;
}
return property;
@@ -858,7 +858,7 @@ tracker_property_set_indexed (TrackerProperty *property,
priv = tracker_property_get_instance_private (property);
- priv->indexed = value;
+ priv->indexed = !!value;
}
void
@@ -871,7 +871,7 @@ tracker_property_set_is_new (TrackerProperty *property,
priv = tracker_property_get_instance_private (property);
- priv->is_new = value;
+ priv->is_new = !!value;
}
void
@@ -931,7 +931,7 @@ tracker_property_set_writeback (TrackerProperty *property,
priv = tracker_property_get_instance_private (property);
- priv->writeback = value;
+ priv->writeback = !!value;
}
void
@@ -944,7 +944,7 @@ tracker_property_set_db_schema_changed (TrackerProperty *property,
priv = tracker_property_get_instance_private (property);
- priv->db_schema_changed = value;
+ priv->db_schema_changed = !!value;
}
void
@@ -957,7 +957,7 @@ tracker_property_set_cardinality_changed (TrackerProperty *property,
priv = tracker_property_get_instance_private (property);
- priv->cardinality_changed = value;
+ priv->cardinality_changed = !!value;
}
void
@@ -970,7 +970,7 @@ tracker_property_set_orig_fulltext_indexed (TrackerProperty *property,
priv = tracker_property_get_instance_private (property);
- priv->orig_fulltext_indexed = value;
+ priv->orig_fulltext_indexed = !!value;
}
void
@@ -983,7 +983,7 @@ tracker_property_set_fulltext_indexed (TrackerProperty *property,
priv = tracker_property_get_instance_private (property);
- priv->fulltext_indexed = value;
+ priv->fulltext_indexed = !!value;
}
void
@@ -996,7 +996,7 @@ tracker_property_set_multiple_values (TrackerProperty *property,
priv = tracker_property_get_instance_private (property);
- priv->multiple_values = value;
+ priv->multiple_values = !!value;
g_clear_pointer (&priv->table_name, g_free);
}
@@ -1010,7 +1010,7 @@ tracker_property_set_last_multiple_values (TrackerProperty *property,
priv = tracker_property_get_instance_private (property);
- priv->last_multiple_values = value;
+ priv->last_multiple_values = !!value;
}
void
@@ -1023,7 +1023,7 @@ tracker_property_set_orig_multiple_values (TrackerProperty *property,
priv = tracker_property_get_instance_private (property);
- priv->orig_multiple_values = value;
+ priv->orig_multiple_values = !!value;
}
@@ -1037,7 +1037,7 @@ tracker_property_set_is_inverse_functional_property (TrackerProperty *property,
priv = tracker_property_get_instance_private (property);
- priv->is_inverse_functional_property = value;
+ priv->is_inverse_functional_property = !!value;
}
void