diff options
author | Jürg Billeter <j@bitron.ch> | 2010-05-19 13:50:34 +0200 |
---|---|---|
committer | Martyn Russell <martyn@lanedo.com> | 2010-05-20 16:19:13 +0100 |
commit | 9742b6d4acafbfd380597827072d39ae4268b49f (patch) | |
tree | 887b9e7b897e8230f6b3174d8fcdae40bc1025db | |
parent | aa2523fd2283b844c364af7379d74a58ce21cbc3 (diff) | |
download | tracker-9742b6d4acafbfd380597827072d39ae4268b49f.tar.gz |
SPARQL: Add tracker:id function
This returns the internal integer ID to be used as last sort key in
queries. This helps retrieving results in stable order which is
important for paged queries.
-rw-r--r-- | src/libtracker-data/tracker-sparql-expression.vala | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/libtracker-data/tracker-sparql-expression.vala b/src/libtracker-data/tracker-sparql-expression.vala index 94adfdada..95b70c49d 100644 --- a/src/libtracker-data/tracker-sparql-expression.vala +++ b/src/libtracker-data/tracker-sparql-expression.vala @@ -548,6 +548,13 @@ class Tracker.Sparql.Expression : Object { sql.append_printf ("\"%s_u_offsets\"", v); return PropertyType.STRING; + } else if (uri == TRACKER_NS + "id") { + var type = translate_expression (sql); + if (type != PropertyType.RESOURCE) { + throw get_error ("expected resource"); + } + + return PropertyType.INTEGER; } else if (uri == TRACKER_NS + "cartesian-distance") { sql.append ("SparqlCartesianDistance("); translate_expression (sql); |