summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/libtracker-sparql/bus/tracker-bus-fd-cursor.vala2
-rw-r--r--src/libtracker-sparql/remote/tracker-json-cursor.vala2
-rw-r--r--src/libtracker-sparql/remote/tracker-xml-cursor.vala2
-rw-r--r--src/libtracker-sparql/tracker-sparql.vapi2
-rw-r--r--tests/functional-tests/portal.py15
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()