summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* libtracker-data: Add support for BINDCarlos Garnacho2015-10-192-1/+34
| | | | | | | | | | | | | | | | | | The BIND form allows a value to be assigned to a variable from a graph pattern: SELECT ?u ?hour { ?u a rdfs:Resource . nfo:fileLastModified ?modified BIND (HOUR (?modified) AS ?hour) } It will be specially useful on places where we use the result of a calculation on more than one places, eg. on SELECT and FILTER(). It will also be useful combined with DELETE...INSERT...WHERE to perform complex mass-updates in a single query. http://www.w3.org/TR/sparql11-query/#bind
* libtracker-data: Resolve variables looking up the binding if we're in same ↵Carlos Garnacho2015-10-191-1/+9
| | | | | | | | | | | | | | | | | | | context This is necessary for BIND support, as the variables looked up to add the BIND alias likely belong to the same scope that we're currently building. This results in SQL like (very simplified, and shortened): SELECT "nie:url" AS "1_u", "1_u" AS "2_u" ... The second "1_u" can't be looked up yet in this scope (only on the WHERE clause, or a wrapping SELECT), so ends up as the string itself. With this change, this kind of queries will result in (shortened again): SELECT "nie:url" AS "1_u", "nie:url" AS "2_u" ... Which is legal, and results in the expected values assigned to the BIND alias.
* libtracker-data: Relate Variable objects to their origin ContextCarlos Garnacho2015-10-191-2/+4
| | | | | It will be necessary so we can figure out at query construction time whether we are in a scope where we can use the variable alias or not.
* libtracker-data: Implement sparql1.1 delete/insertCarlos Garnacho2015-10-191-47/+82
| | | | | | | | | | | | | Sparql1.1 defines updates as a single statement of the form: DELETE {} INSERT {} WHERE {} With delete/insert-only syntax being special cases for that common form: http://www.w3.org/TR/sparql11-update/#deleteInsert This is now implemented in litracker-data, the parser will accept this new syntax, and perform the delete/insert operations on all solution items. We first perform all deletes and then all inserts in order to minimize database flushing.
* libtracker-data: Add support for NOW() builtin functionCarlos Garnacho2015-10-192-1/+18
| | | | | This function is defined in Sparql 1.1 query language recommendation, http://www.w3.org/TR/sparql11-query/#func-now
* libtracker-data: Add support for RAND() builtin functionCarlos Garnacho2015-10-192-0/+12
| | | | | This function is defined in Sparql 1.1 query language recommendation, http://www.w3.org/TR/sparql11-query/#idp2130040
* libtracker-data: Add SparqlRand sqlite functionCarlos Garnacho2015-10-191-0/+17
| | | | | | | This will be used to back up the RAND() sparql 1.1 function. Unlike the random() sqlite builtin function, g_random_double() gives us the random number in the same range than described in the recommendation, so it seems a better fit.
* libtracker-data: Add support for MD5/SHA1/256/512 builtin functionsCarlos Garnacho2015-10-192-0/+51
| | | | | | | | These functions are defined in Sparql 1.1 query language recommendation, http://www.w3.org/TR/sparql11-query/#func-md5 http://www.w3.org/TR/sparql11-query/#func-sha1 http://www.w3.org/TR/sparql11-query/#func-sha256 http://www.w3.org/TR/sparql11-query/#func-sha512
* libtracker-data: Add SparqlChecksum sqlite functionCarlos Garnacho2015-10-191-0/+43
| | | | | This function will be used to back the various sparql checksum functions.
* libtracker-data: Add support for YEAR/.../SECONDS builtin functionsCarlos Garnacho2015-10-192-2/+79
| | | | | | | | | | These functions are defined in Sparql 1.1 query language recommendation, http://www.w3.org/TR/sparql11-query/#func-year http://www.w3.org/TR/sparql11-query/#func-month http://www.w3.org/TR/sparql11-query/#func-day http://www.w3.org/TR/sparql11-query/#func-hours http://www.w3.org/TR/sparql11-query/#func-minutes http://www.w3.org/TR/sparql11-query/#func-seconds
* libtracker-data: Pass explicitly the operation type on updatesCarlos Garnacho2015-10-191-32/+29
| | | | | | Instead of storing it in an internal variable, we might be applying different operation types here, so it will be clearer overall if we pass the operation around.
* libtracker-data: Make datetime functions accept other than varsCarlos Garnacho2015-10-191-48/+51
| | | | | | | | | | | | | | | | The datetime functions were very specific at only accepting variables (backed by a table column), using the :localDate and :localTime decomposed fields, specific internally to datetime properties. So, actually make it able to accept other than variables (we will still use the decomposed local time for these), and translate these as a primary expression. This makes all these queries work (as opposed to just the first): select year(?date) { ?u nie:contentCreated ?date } select year(now()) {} select year("2015-07-29T23:00:00Z"^^xsd:dateTime) {} select year("2015-07-29"^^xsd:date) {}
* libtracker-data: Add support for CEIL/FLOOR builtin functionsCarlos Garnacho2015-10-192-1/+30
| | | | | | These functions are defined in Sparql 1.1 query language recommendation, http://www.w3.org/TR/sparql11-query/#func-ceil http://www.w3.org/TR/sparql11-query/#func-floor
* libtracker-data: Add SparqlCeil/Floor sqlite functionsCarlos Garnacho2015-10-191-0/+39
| | | | These will be used to implement CEIL/FLOOR, as per Sparql 1.1
* libtracker-data: Add support for STRBEFORE/STRAFTER builtin functionsCarlos Garnacho2015-10-192-2/+46
| | | | | | These functions are defined in Sparql 1.1 query language recommendation, http://www.w3.org/TR/sparql11-query/#func-strbefore http://www.w3.org/TR/sparql11-query/#func-strafter
* libtracker-data: Add SparqlStrBefore/After sqlite functionsCarlos Garnacho2015-10-191-0/+85
| | | | These will be used in STRBEFORE/STRAFTER, as per sparql 1.1
* libtracker-data: Add support for the ENCODE_FOR_URI() builtin functionCarlos Garnacho2015-10-192-0/+13
| | | | | This function is defined in Sparql 1.1 query language recommendation, http://www.w3.org/TR/sparql11-query/#func-encode
* libtracker-data: Add SparqlEncodeForUri sqlite functionCarlos Garnacho2015-10-191-0/+22
| | | | This will be used on ENCODE_FOR_URI(), as per sparql 1.1.
* libtracker-data: Add support for the ROUND() builtin functionCarlos Garnacho2015-10-192-1/+18
| | | | | This function is defined in Sparql 1.1 query language recommendation, http://www.w3.org/TR/sparql11-query/#func-round
* libtracker-data: Add support for the ABS() builtin functionCarlos Garnacho2015-10-192-0/+12
| | | | | This function is defined in Sparql 1.1 query language recommendation, http://www.w3.org/TR/sparql11-query/#func-abs
* libtracker-data: Add support for STRSTARTS/STRENDS builtin functionsCarlos Garnacho2015-10-192-0/+24
| | | | | | These are defined in Sparql 1.1 query language recommendation, http://www.w3.org/TR/sparql11-query/#func-strstarts http://www.w3.org/TR/sparql11-query/#func-strends
* libtracker-data: Add support for the SUBSTR() builtin functionCarlos Garnacho2015-10-192-0/+12
| | | | | This function is defined in Sparql 1.1 query language recommedation, http://www.w3.org/TR/sparql11-query/#func-substr
* libtracker-data: Add support for the STRLEN() builtin functionCarlos Garnacho2015-10-192-0/+12
| | | | | This function is defined in Sparql 1.1 query recommendation, http://www.w3.org/TR/sparql11-query/#func-strlen
* libtracker-data: Add support for LCASE/UCASE builtin functionsCarlos Garnacho2015-10-192-2/+36
| | | | | | These functions are defined in Sparql 1.1 query recommendation, http://www.w3.org/TR/sparql11-query/#func-lcase http://www.w3.org/TR/sparql11-query/#func-ucase
* libtracker-data: Add support for the CONTAINS builtin functionCarlos Garnacho2015-10-192-1/+18
| | | | | This function is defined in Sparql 1.1 query language recommendation, http://www.w3.org/TR/sparql11-query/#func-contains
* libtracker-data: Add support for the CONCAT() builtin functionCarlos Garnacho2015-10-192-0/+12
| | | | | This function is defined in Sparql 1.1 query language recommendation, http://www.w3.org/TR/sparql11-query/#func-concat
* Updated Basque languageInaki Larranaga Murgoitio2015-10-141-83/+117
|
* functional-tests: Time out after 5 seconds, instead of 30 secondsSam Thursfield2015-10-112-2/+2
| | | | | Failing tests shouldn't take 30 seconds to fail. 5 seconds is still a long time.
* functional-tests: Clean up name watches properlySam Thursfield2015-10-111-5/+14
|
* functional-tests Remove some outdated and unused testsSam Thursfield2015-10-117-7619/+1
| | | | | Also, the test-runner.sh now runs all .py files, instead of just those marked executable.
* functional-tests: Use GDBus instead of dbus-pythonSam Thursfield2015-10-1118-227/+162
| | | | dbus-python is deprecated.
* functional-tests: Avoid AttributeError exception in Helper.stop()Sam Thursfield2015-10-101-0/+6
| | | | | If a process was never started, the .stop method should do nothing instead of raising an AttributeError.
* functional-tests: Use environment vars instead of commandline optionsSam Thursfield2015-10-101-28/+15
| | | | | | | | | | | The commandline option parsing is totally broken and interferes with the real argument parsing of the unittest module or whatever other test runner you are using. You can now enable verbose test output by setting TRACKER_TESTS_VERBOSE=1 in the environment. The TRACKER_TESTS_MANUAL_START variable also exists but probably doesn't work at present.
* tracker: detect uid from /proc/pidDenis Zalevskiy2015-10-061-4/+9
| | | | | | | | | Owner UID of the /proc/[pid]/cmdline could be different than process real UID while /proc/[pid] owner is expected to be equal. Signed-off-by: Denis Zalevskiy <denis.zalevskiy@jolla.com> https://bugzilla.gnome.org/show_bug.cgi?id=755945
* Updated Italian translationMilo Casagrande2015-09-281-360/+508
|
* build: Work-around vim highlighting bugBastien Nocera2015-09-251-45/+45
| | | | | | | | When "Couldn't" is used in an m4 macro, vim will highlight all the code until the next "'" to close it. Work around that by replacing "Couldn't" by "Could not". https://bugzilla.gnome.org/show_bug.cgi?id=755218
* Updated Serbian Latin translationМилош Поповић2015-09-221-125/+116
|
* Updated Serbian translationМилош Поповић2015-09-221-125/+116
|
* Release 1.6.01.6.0Carlos Garnacho2015-09-222-2/+11
|
* tests: Don't use the same test path twiceCarlos Garnacho2015-09-224-2/+12
| | | | | Recent glib forbids duplicate test paths, as the test relies on that in order to find the .rq/.out files, copy these files from graph-4*.
* Updated Danish translationAsk Hjorth Larsen2015-09-201-286/+180
|
* Updated Brazilian Portuguese translationRafael Fontenelle2015-09-201-14/+9
|
* Updated Norwegian bokmål translation.Kjartan Maraas2015-09-201-68/+95
|
* Updated French translationAlexandre Franke2015-09-201-62/+95
|
* Updated German translationBernd Homuth2015-09-181-55/+74
|
* Updated Russian translationStas Solovey2015-09-171-93/+130
|
* Updated Turkish translationMuhammet Kara2015-09-121-67/+92
|
* Updated Slovenian translationMatej Urbančič2015-09-081-63/+96
|
* Updated Korean translationSeong-ho Cho2015-09-051-70/+104
|
* libtracker-extract: fix dummy_moduleDominique Leuenberger2015-09-021-1/+1
| | | | | | | | | | | The ModuleInfo typedef contains 6 items, of which the last is 'optional' (predefined). TRUE as parameter for TrackerExtractShutdownFunc though is not a good idea: it's used as an integer and passed as a pointer to a function call. As there is no shudown function for the dummy module, just pass an additional NULL in there. https://bugzilla.gnome.org/show_bug.cgi?id=754448