[tracker/wip/carlosg/sparql1.1: 77/80] libtracker-data: Store whether resources are blank nodes



commit eabe9d9412671b22c52ca3b9be2b90046cc557ce
Author: Carlos Garnacho <carlosg gnome org>
Date:   Sun Jul 7 20:26:12 2019 +0200

    libtracker-data: Store whether resources are blank nodes
    
    Add a new column in the Resource table, so we can fetch the elements
    that are blank nodes without second guesses.

 src/libtracker-data/tracker-data-manager.c | 2 +-
 src/libtracker-data/tracker-data-update.c  | 3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)
---
diff --git a/src/libtracker-data/tracker-data-manager.c b/src/libtracker-data/tracker-data-manager.c
index d03d64122..ee687c870 100644
--- a/src/libtracker-data/tracker-data-manager.c
+++ b/src/libtracker-data/tracker-data-manager.c
@@ -3451,7 +3451,7 @@ create_base_tables (TrackerDataManager  *manager,
 
        tracker_db_interface_execute_query (iface, &internal_error,
                                            "CREATE TABLE Resource (ID INTEGER NOT NULL PRIMARY KEY,"
-                                           " Uri TEXT NOT NULL, Refcount INTEGER DEFAULT 0, UNIQUE (Uri))");
+                                           " Uri TEXT NOT NULL, Refcount INTEGER DEFAULT 0, BlankNode 
INTEGER DEFAULT 0, UNIQUE (Uri))");
 
        if (internal_error) {
                g_propagate_error (error, internal_error);
diff --git a/src/libtracker-data/tracker-data-update.c b/src/libtracker-data/tracker-data-update.c
index caebff462..97b656333 100644
--- a/src/libtracker-data/tracker-data-update.c
+++ b/src/libtracker-data/tracker-data-update.c
@@ -686,11 +686,12 @@ ensure_resource_id (TrackerData *data,
 
                id = tracker_data_update_get_new_service_id (data);
                stmt = tracker_db_interface_create_statement (iface, TRACKER_DB_STATEMENT_CACHE_TYPE_UPDATE, 
&error,
-                                                             "INSERT INTO Resource (ID, Uri) VALUES (?, ?)");
+                                                             "INSERT INTO Resource (ID, Uri, BlankNode) 
VALUES (?, ?, ?)");
 
                if (stmt) {
                        tracker_db_statement_bind_int (stmt, 0, id);
                        tracker_db_statement_bind_text (stmt, 1, uri);
+                       tracker_db_statement_bind_int (stmt, 2, g_str_has_prefix (uri, "urn:bnode:"));
                        tracker_db_statement_execute (stmt, &error);
                        g_object_unref (stmt);
                }


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