[tracker/wip/carlosg/property-path-fixes: 3/4] libtracker-data: Fix '?' property path on edge cases
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tracker/wip/carlosg/property-path-fixes: 3/4] libtracker-data: Fix '?' property path on edge cases
- Date: Mon, 18 May 2020 19:36:47 +0000 (UTC)
commit c631637827f374fe0644fce14b34bbbaac35ffa5
Author: Carlos Garnacho <carlosg gnome org>
Date: Sun May 17 15:39:35 2020 +0200
libtracker-data: Fix '?' property path on edge cases
The query fails for resources that don't define the property, eg:
SELECT ?u {
<file:///home/carlos> (nfo:belongsToContainer/nie:isStoredAs)? ?u
}
would come up empty because the home folder does not have any
nfo:belongsToContainer property. In this case we still expect to
return the element itself.
Ensure such element is included for these edge cases.
src/libtracker-data/tracker-sparql.c | 4 ++++
1 file changed, 4 insertions(+)
---
diff --git a/src/libtracker-data/tracker-sparql.c b/src/libtracker-data/tracker-sparql.c
index 78b0f4499..d355c7035 100644
--- a/src/libtracker-data/tracker-sparql.c
+++ b/src/libtracker-data/tracker-sparql.c
@@ -847,9 +847,13 @@ _prepend_path_element (TrackerSparql *sparql,
"FROM \"%s\" "
"UNION "
"SELECT ID, value, graph, ID_type, value_type "
+ "FROM \"%s\" "
+ "UNION "
+ "SELECT value, value, graph, value_type, value_type "
"FROM \"%s\") ",
path_elem->name,
path_elem->data.composite.child1->name,
+ path_elem->data.composite.child1->name,
path_elem->data.composite.child1->name);
break;
case TRACKER_PATH_OPERATOR_NEGATED:
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]