[tracker/wip/carlosg/sparql1.1: 61/145] libtracker-data: Make tracker_triples table use union views



commit 84eaa34572fb489e465211f891d55eb31065bbba
Author: Carlos Garnacho <carlosg gnome org>
Date:   Mon Jun 3 01:34:04 2019 +0200

    libtracker-data: Make tracker_triples table use union views
    
    This virtual table returns graph/subject/predicate/object, just rely
    on union views so we can fetch the first.

 src/libtracker-data/tracker-vtab-triples.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)
---
diff --git a/src/libtracker-data/tracker-vtab-triples.c b/src/libtracker-data/tracker-vtab-triples.c
index 775e95b32..43556bec7 100644
--- a/src/libtracker-data/tracker-vtab-triples.c
+++ b/src/libtracker-data/tracker-vtab-triples.c
@@ -362,20 +362,17 @@ init_stmt (TrackerTriplesCursor *cursor)
 
                sql = g_string_new (NULL);
                g_string_append_printf (sql,
-                                       "SELECT t.\"%s:graph\", t.ID, "
+                                       "SELECT t.graph, t.ID, "
                                        "       (SELECT ID From Resource WHERE Uri = \"%s\"), "
                                        "       %s "
-                                       "FROM \"%s\" AS t "
+                                       "FROM \"unionGraph_%s\" AS t "
                                        "WHERE 1 ",
-                                       tracker_property_get_name (property),
                                        tracker_property_get_uri (property),
                                        string_expr,
                                        tracker_property_get_table_name (property));
 
                if (cursor->match.graph) {
-                       g_string_append_printf (sql,
-                                               "AND t.\"%s:graph\" ",
-                                               tracker_property_get_name (property));
+                       g_string_append (sql, "AND t.graph ");
                        add_arg_check (sql, cursor->match.graph,
                                       !!(cursor->match.idxFlags & IDX_MATCH_GRAPH_NEG),
                                       "@g");


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]