summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2021-02-27 12:11:49 +0100
committerCarlos Garnacho <carlosg@gnome.org>2021-02-27 12:11:49 +0100
commit8e7a3c9ed7784fd5f2a6826fb0db27a37afd2b19 (patch)
treeafc16cdf86be6f8bf03dc44acf3d30b6b6afd6c0
parent4b60f6b8dc0da6df960159f4ad379dd706f6d6d9 (diff)
downloadtracker-8e7a3c9ed7784fd5f2a6826fb0db27a37afd2b19.tar.gz
libtracker-sparql: Handle correctly OFFSET without LIMIT
In Sparql, OFFSET and LIMIT can be set independently (and event flip around!), however SQL mandates that OFFSET also needs LIMIT. Handle correctly the case that only OFFSET is given, by setting an unlimited limit.
-rw-r--r--src/libtracker-data/tracker-sparql.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/libtracker-data/tracker-sparql.c b/src/libtracker-data/tracker-sparql.c
index e2f1139b0..ce33a5ca2 100644
--- a/src/libtracker-data/tracker-sparql.c
+++ b/src/libtracker-data/tracker-sparql.c
@@ -3708,6 +3708,8 @@ translate_LimitOffsetClauses (TrackerSparql *sparql,
TRACKER_LITERAL_BINDING (limit));
_append_literal_sql (sparql, TRACKER_LITERAL_BINDING (limit));
g_object_unref (limit);
+ } else if (offset) {
+ _append_string (sparql, "LIMIT -1 ");
}
if (offset) {