[tracker/sam/import-export: 2/5] libtracker-data: Don't create double transactions in LOAD



commit f621a88a69dbff5b579f09668bd398245a382b2e
Author: Sam Thursfield <sam afuera me uk>
Date:   Sun Mar 8 16:21:33 2020 +0100

    libtracker-data: Don't create double transactions in LOAD

 src/libtracker-data/tracker-data-update.c     | 13 -------------
 tests/libtracker-data/tracker-ontology-test.c |  4 ++++
 tests/libtracker-data/tracker-sparql-test.c   |  4 ++++
 3 files changed, 8 insertions(+), 13 deletions(-)
---
diff --git a/src/libtracker-data/tracker-data-update.c b/src/libtracker-data/tracker-data-update.c
index 64ebee694..260003b48 100644
--- a/src/libtracker-data/tracker-data-update.c
+++ b/src/libtracker-data/tracker-data-update.c
@@ -3073,13 +3073,7 @@ tracker_data_load_turtle_file (TrackerData  *data,
 {
        TrackerTurtleReader *reader = NULL;
        GError *inner_error = NULL;
-       gboolean in_transaction = FALSE;
 
-       tracker_data_begin_transaction (data, &inner_error);
-       if (inner_error)
-               goto failed;
-
-       in_transaction = TRUE;
        reader = tracker_turtle_reader_new (file, &inner_error);
        if (inner_error)
                goto failed;
@@ -3116,10 +3110,6 @@ tracker_data_load_turtle_file (TrackerData  *data,
                        goto failed;
        }
 
-       if (inner_error)
-               goto failed;
-
-       tracker_data_commit_transaction (data, &inner_error);
        if (inner_error)
                goto failed;
 
@@ -3128,9 +3118,6 @@ tracker_data_load_turtle_file (TrackerData  *data,
        return;
 
 failed:
-       if (in_transaction)
-               tracker_data_rollback_transaction (data);
-
        g_clear_object (&reader);
 
        g_propagate_error (error, inner_error);
diff --git a/tests/libtracker-data/tracker-ontology-test.c b/tests/libtracker-data/tracker-ontology-test.c
index e22078364..edf021c36 100644
--- a/tests/libtracker-data/tracker-ontology-test.c
+++ b/tests/libtracker-data/tracker-ontology-test.c
@@ -239,8 +239,12 @@ test_query (TestInfo      *test_info,
        data_filename = g_strconcat (data_prefix, ".ttl", NULL);
        file = g_file_new_for_path (data_filename);
        data_update = tracker_data_manager_get_data (manager);
+       tracker_data_begin_transaction (data_update, &error);
+       g_assert_no_error (error);
        tracker_data_load_turtle_file (data_update, file, NULL, &error);
        g_assert_no_error (error);
+       tracker_data_commit_transaction (data_update, &error);
+       g_assert_no_error (error);
        g_object_unref (file);
 
        query_filename = g_strconcat (test_prefix, ".rq", NULL);
diff --git a/tests/libtracker-data/tracker-sparql-test.c b/tests/libtracker-data/tracker-sparql-test.c
index 614fc516c..f4864b8b0 100644
--- a/tests/libtracker-data/tracker-sparql-test.c
+++ b/tests/libtracker-data/tracker-sparql-test.c
@@ -392,8 +392,12 @@ test_sparql_query (TestInfo      *test_info,
        data_filename = g_strconcat (data_prefix, ".ttl", NULL);
        if (g_file_test (data_filename, G_FILE_TEST_IS_REGULAR)) {
                GFile *file = g_file_new_for_path (data_filename);
+               tracker_data_begin_transaction (data_update, &error);
+               g_assert_no_error (error);
                tracker_data_load_turtle_file (data_update, file, NULL, &error);
                g_assert_no_error (error);
+               tracker_data_commit_transaction (data_update, &error);
+               g_assert_no_error (error);
                g_object_unref (file);
        } else {
                /* no .ttl available, assume .rq with SPARQL Update */


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