diff options
-rw-r--r-- | src/libtracker-sparql/bus/tracker-bus-fd-cursor.vala | 2 | ||||
-rw-r--r-- | src/libtracker-sparql/remote/tracker-json-cursor.vala | 2 | ||||
-rw-r--r-- | src/libtracker-sparql/remote/tracker-xml-cursor.vala | 2 | ||||
-rw-r--r-- | src/libtracker-sparql/tracker-sparql.vapi | 2 | ||||
-rw-r--r-- | tests/functional-tests/portal.py | 15 |
5 files changed, 19 insertions, 4 deletions
diff --git a/src/libtracker-sparql/bus/tracker-bus-fd-cursor.vala b/src/libtracker-sparql/bus/tracker-bus-fd-cursor.vala index b0ea605ab..954ad1ec7 100644 --- a/src/libtracker-sparql/bus/tracker-bus-fd-cursor.vala +++ b/src/libtracker-sparql/bus/tracker-bus-fd-cursor.vala @@ -69,7 +69,7 @@ class Tracker.Bus.FDCursor : Tracker.Sparql.Cursor { return variable_names[column]; } - public override unowned string? get_string (int column, out long? length = null) + public override unowned string? get_string (int column, out long length = null) requires (cursor_finished == false) { unowned string str = null; diff --git a/src/libtracker-sparql/remote/tracker-json-cursor.vala b/src/libtracker-sparql/remote/tracker-json-cursor.vala index e85c6f459..047d47278 100644 --- a/src/libtracker-sparql/remote/tracker-json-cursor.vala +++ b/src/libtracker-sparql/remote/tracker-json-cursor.vala @@ -95,7 +95,7 @@ public class Tracker.Remote.JsonCursor : Tracker.Sparql.Cursor { return _vars.get_string_element (column); } - public override unowned string? get_string (int column, out long? length = null) requires (_cur_row != null) { + public override unowned string? get_string (int column, out long length = null) requires (_cur_row != null) { var col_node = _cur_row.get_member (get_variable_name (column)); length = 0; diff --git a/src/libtracker-sparql/remote/tracker-xml-cursor.vala b/src/libtracker-sparql/remote/tracker-xml-cursor.vala index 47314c960..a7a710041 100644 --- a/src/libtracker-sparql/remote/tracker-xml-cursor.vala +++ b/src/libtracker-sparql/remote/tracker-xml-cursor.vala @@ -144,7 +144,7 @@ public class Tracker.Remote.XmlCursor : Tracker.Sparql.Cursor { return _vars[column]; } - public override unowned string? get_string (int column, out long? length = null) requires (_cur_row != null) { + public override unowned string? get_string (int column, out long length = null) requires (_cur_row != null) { length = 0; var variable = _vars[column]; diff --git a/src/libtracker-sparql/tracker-sparql.vapi b/src/libtracker-sparql/tracker-sparql.vapi index a7c758d5f..6174ff8c4 100644 --- a/src/libtracker-sparql/tracker-sparql.vapi +++ b/src/libtracker-sparql/tracker-sparql.vapi @@ -122,7 +122,7 @@ namespace Tracker { public abstract Sparql.ValueType get_value_type (int column); public abstract unowned string? get_variable_name (int column); - public abstract unowned string? get_string (int column, out long? length = null); + public abstract unowned string? get_string (int column, out long length = null); public abstract bool next (GLib.Cancellable? cancellable = null) throws GLib.Error; public async abstract bool next_async (GLib.Cancellable? cancellable = null) throws GLib.Error; diff --git a/tests/functional-tests/portal.py b/tests/functional-tests/portal.py index a4e82820f..194f4e86b 100644 --- a/tests/functional-tests/portal.py +++ b/tests/functional-tests/portal.py @@ -57,6 +57,21 @@ class TestPortal(fixtures.TrackerPortalTest): self.assertEqual(len(res), 1) self.assertEqual(res[0][0], 'b') + def test_04_rows_cols(self): + self.start_service('org.freedesktop.PortalTest') + res = self.query( + 'org.freedesktop.PortalTest', + 'select ?a ?b { VALUES (?a ?b) { (1 2) (3 4) (5 6) } }') + self.assertEqual(len(res), 3) + self.assertEqual(res[0][0], '1') + self.assertEqual(res[0][1], '2') + self.assertEqual(len(res[0]), 2) + self.assertEqual(res[1][0], '3') + self.assertEqual(res[1][1], '4') + self.assertEqual(len(res[1]), 2) + self.assertEqual(res[2][0], '5') + self.assertEqual(res[2][1], '6') + self.assertEqual(len(res[2]), 2) if __name__ == '__main__': fixtures.tracker_test_main() |