diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2020-11-24 13:27:52 +0100 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2020-11-24 13:58:17 +0100 |
commit | cf3fac9e5f70adcd404b24db8987815125b748be (patch) | |
tree | a98e4f116ab6be232dc19980c0545ba3085d1428 | |
parent | e25c34ba410787c7cb14d6bd9593d5dd4ad6d537 (diff) | |
download | tracker-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.c | 16 | ||||
-rw-r--r-- | src/libtracker-data/tracker-namespace.c | 8 | ||||
-rw-r--r-- | src/libtracker-data/tracker-property.c | 52 |
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 |