[tracker/wip/carlosg/wal-and-other-fixes: 4/8] libtracker-sparql: Use matching integer types on (de)serialization
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tracker/wip/carlosg/wal-and-other-fixes: 4/8] libtracker-sparql: Use matching integer types on (de)serialization
- Date: Wed, 1 Jul 2020 17:40:00 +0000 (UTC)
commit 571c9a51b8ba83efeed90a3bab3d4d6e4a3d7058
Author: Carlos Garnacho <carlosg gnome org>
Date: Mon Jun 29 13:05:24 2020 +0200
libtracker-sparql: Use matching integer types on (de)serialization
We were serializing to int/int64, but deserializing to int64 always,
make this more 1:1 and deserialize using the same integer type.
Fixes the expectations in tracker-writeback wrt integer keys.
src/libtracker-sparql/tracker-resource.c | 18 +++++++++---------
tests/libtracker-sparql/tracker-resource-test.c | 6 ++++--
2 files changed, 13 insertions(+), 11 deletions(-)
---
diff --git a/src/libtracker-sparql/tracker-resource.c b/src/libtracker-sparql/tracker-resource.c
index 15eeac575..1a0f6dc03 100644
--- a/src/libtracker-sparql/tracker-resource.c
+++ b/src/libtracker-sparql/tracker-resource.c
@@ -1919,11 +1919,11 @@ tracker_resource_deserialize (GVariant *variant)
tracker_resource_set_boolean (resource, pred,
g_variant_get_boolean (obj));
} else if (g_variant_is_of_type (obj, G_VARIANT_TYPE_INT16)) {
- tracker_resource_set_int64 (resource, pred,
- (gint64) g_variant_get_int16 (obj));
+ tracker_resource_set_int (resource, pred,
+ (gint) g_variant_get_int16 (obj));
} else if (g_variant_is_of_type (obj, G_VARIANT_TYPE_INT32)) {
- tracker_resource_set_int64 (resource, pred,
- (gint64) g_variant_get_int32 (obj));
+ tracker_resource_set_int (resource, pred,
+ (gint) g_variant_get_int32 (obj));
} else if (g_variant_is_of_type (obj, G_VARIANT_TYPE_INT64)) {
tracker_resource_set_int64 (resource, pred,
(gint64) g_variant_get_int64 (obj));
@@ -1958,14 +1958,14 @@ tracker_resource_deserialize (GVariant *variant)
tracker_resource_add_boolean (resource, pred,
g_variant_get_boolean (elem));
} else if (g_variant_is_of_type (elem, G_VARIANT_TYPE_INT16)) {
- tracker_resource_add_int64 (resource, pred,
- (gint64) g_variant_get_int16 (elem));
+ tracker_resource_add_int (resource, pred,
+ (gint) g_variant_get_int16 (elem));
} else if (g_variant_is_of_type (elem, G_VARIANT_TYPE_INT32)) {
- tracker_resource_add_int64 (resource, pred,
- (gint64) g_variant_get_int32 (elem));
+ tracker_resource_add_int (resource, pred,
+ (gint) g_variant_get_int32 (elem));
} else if (g_variant_is_of_type (elem, G_VARIANT_TYPE_INT64)) {
tracker_resource_add_int64 (resource, pred,
- (gint64) g_variant_get_int16 (elem));
+ (gint64) g_variant_get_int64 (elem));
} else if (g_variant_is_of_type (elem, G_VARIANT_TYPE_DOUBLE)) {
tracker_resource_add_double (resource, pred,
g_variant_get_double (elem));
diff --git a/tests/libtracker-sparql/tracker-resource-test.c b/tests/libtracker-sparql/tracker-resource-test.c
index 1325eb9bb..0506c0771 100644
--- a/tests/libtracker-sparql/tracker-resource-test.c
+++ b/tests/libtracker-sparql/tracker-resource-test.c
@@ -156,7 +156,8 @@ test_resource_serialization (void)
tracker_resource_set_string (res, "nie:title", "foo");
tracker_resource_set_double (res, "nfo:duration", 25.4);
tracker_resource_set_boolean (res, "nfo:isBootable", TRUE);
- tracker_resource_set_int64 (res, "nie:usageCounter", 4);
+ tracker_resource_set_int (res, "nie:usageCounter", 4);
+ tracker_resource_set_int64 (res, "nie:contentSize", 42);
tracker_resource_add_uri (res, "rdf:type", "nfo:Audio");
tracker_resource_add_uri (res, "rdf:type", "nfo:Media");
@@ -183,7 +184,8 @@ test_resource_serialization (void)
g_assert_true (tracker_resource_get_first_boolean (copy, "nfo:isBootable"));
g_assert_true (strncmp (tracker_resource_get_identifier (copy), "_:", 2) == 0);
g_assert_cmpstr (tracker_resource_get_first_string (copy, "nie:title"), ==, "foo");
- g_assert_cmpint (tracker_resource_get_first_int64 (copy, "nie:usageCounter"), ==, 4);
+ g_assert_cmpint (tracker_resource_get_first_int (copy, "nie:usageCounter"), ==, 4);
+ g_assert_cmpint (tracker_resource_get_first_int64 (copy, "nie:contentSize"), ==, 42);
child = tracker_resource_get_first_relation (copy, "nie:isStoredAs");
g_assert_true (child != NULL);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]