| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
There is an internal struct carrying the parser state, this struct began
small, but kept growing. This state is actually unneeded after parsing, so
we can keep TrackerSparql smaller, and only allocate the state transiently
during parsing.
Since TrackerSparql is the basis for TrackerSparqlStatement, this should
help memory usage a tiny bit if many prepared statements are cached.
|
| |
|
|
|
|
|
| |
The error checks are the wrong way around. Introduced in commits f8282a29e5
and 87e189d5a0. Spotted again by coverity.
|
|\
| |
| |
| |
| | |
Fixes for Coverity warnings
See merge request GNOME/tracker!312
|
| |
| |
| |
| |
| |
| |
| | |
This function is a getter, and its return value ignored. Spotted by
Coverity.
CID: #1491437
|
| |
| |
| |
| |
| |
| | |
Spotted by Coverity.
CID: #1492511
|
| |
| |
| |
| |
| |
| | |
Spotted by Coverity.
CID: #1491750
|
| |
| |
| |
| |
| |
| | |
Spotted by Coverity.
CID: #1491749
|
| |
| |
| |
| |
| |
| | |
Spotted by Coverity
CID: #1491748
|
| |
| |
| |
| |
| |
| |
| | |
The services virtual table filter() function implementation was missing
a GError in some failure paths. Spotted by Coverity.
CID: #1491444
|
| |
| |
| |
| |
| |
| |
| | |
Coverity seems to deem it possible to leak a variable after ensuring
it is NULL. Assert NULLability harder.
CID: #1496664
|
|/ |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| |
| |
| | |
Fix manpages install
See merge request GNOME/tracker!311
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The xsltproc step has two small gotchas: the output does not happen on
stdout, so we are capturing empty stdout, and installing an empty file instead
of our nice manpages.
But also, the target filename gets determined by the XSL based on the input,
so a manpage filename is as defined in its NAME section. This means we cannot
do filename changes to add the version this late in the stage.
Furthermore, the tracker-xdg-portal-3 manpage follows a different naming scheme
(i.e. not "tracker3-*").
Handle this all at once, specify per manpage target files that do match the
xsltproc output, and ensure the file gets generated at the current build dir.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Those are now versioned, so reference them as such in their respective
manpages.
Note: The name change also changes the target manpage file written by
our xsltproc step, since it is defined by the file+xsl. This will silently
go ignored, as installation of manpages is broken (we install empty files).
This will get fixed in later commits.
|
|/
|
|
|
|
|
|
|
|
|
| |
We did reference it in manpages as simply "tracker", which is definitely
not going to be the case. Make CLI examples, titles and section names
correctly reference the real "tracker3" name.
Note: The name change also changes the target manpage file written by
our xsltproc step, since it is defined by the file+xsl. This will silently
go ignored, as installation of manpages is broken (we install empty files).
This will get fixed in later commits.
|
| |
|
| |
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
libtracker-data: Do not expose FTS5 syntax through fts:match
Closes gtk#3114
See merge request GNOME/tracker!310
|
| |
| |
| |
| | |
Test dots and quotes in input so far.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We used to simply forward all FTS match string interpretation to SQLite's
FTS implementation, and used to allow and announce its features, e.g.
use of AND/OR keywords for more complex matches.
When FTS5 came through, the FTS query syntax got a major revamp, also
in the complexity of the allowed syntax, including non natural language
(e.g. symbols like ^ or *).
This makes all the gory details of this parser available to users, but
also its pitfalls, e.g. execution-time errors are raised when the search
string contains special symbols non-interpretable by the FTS5 parser.
Since fts:match is often plugged directly to search entries in UIs around,
it seems a bad approach to maybe fail the query or not depending on the
last character entered. Arguably applications might cater for this
additional level of syntax, but it's sadly not trivial and kind of a moving
target (fts5 still does add features from time to time), seems bad to leave
this up to applications.
So, hide all FTS5 syntax from the upper layers. The fts:match string forcibly
becomes '"%s"*' so it is ensured that all the input string is interpreted as
"search terms". It is also ensured that the given search string cannot break
out of that. The '*' character makes the last term in the search string be
interpreted as a prefix search.
We lose some neat things there, like AND/OR mentioned above, or the
possibility to match a single property instead of a whole row. AND is already
the default, OR can be obtained through additional fts:match, and the last
one is a rather obscure feature. Might be neat to bring back in another form
someday. (e.g. make fts:match a FILTER function).
Also, update tests to these new expectatives.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/3114
|
|/ |
|
| |
|
|\
| |
| |
| |
| | |
Add --2to3 exporting capabilities to `tracker3 export`
See merge request GNOME/tracker!308
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This special mode opens the old Tracker2 database, and tries to
extract data, pretty much in the same fashion than "tracker export"
command introduced recently in 2.3.x.
So far, this submode only supports exporting of starred files. The
--keyfile argument is also supported, to ease manipulation of this
data on the consumer side.
|
| |
| |
| |
| | |
Only for internal use, and with plenty of care.
|
| | |
|
|/ |
|
|
|
|
|
| |
We let libtracker-sparql tie everything together, specify that these
libraries don't export symbols.
|
|
|
|
|
|
| |
Meson issue https://github.com/mesonbuild/meson/issues/671 was fixed
years ago and we can use tracker_common_dep anywhere we like without
fear of combinatorial explosion.
|
|\
| |
| |
| |
| | |
libtracker-data: Make a static library
See merge request GNOME/tracker!307
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There's no multiple executables pulling this library directly. We have
some direct uses of this library, but they are all tests and non-install
executables in the repo.
Making it a static library won't increase install size, as only
libtracker-sparql pulls from it in the system, that's what everyone should
use instead.
|
|/
|
|
|
|
|
| |
This is being set on the internal .so file. This library is going static,
so for the GResources to endure past our layers of linking, they must be
set on a .so that will be ensured to be installed. That's libtracker-sparql
itself.
|
|\
| |
| |
| |
| | |
Release memory on inactivity
See merge request GNOME/tracker!306
|
| | |
|
| |
| |
| |
| |
| | |
The graph token was consistently being possibly leaked, if it had
to be used again further on in the same query string.
|
| | |
|
| |
| |
| |
| |
| |
| | |
This timeout checks every 30 seconds that the sparql connection has
been inactive for some time, and triggers memory to be reclaimed in
the update thread.
|
| |
| |
| |
| |
| |
| | |
This call frees all inactive readonly TrackerDBInterfaces, and ensures
that the readwrite one releases as much memory as possible (freeing
all cached prepared statements, and asking SQLite to do so).
|
|\ \
| | |
| | |
| | |
| | | |
libtracker-data: Provide better sql-statements debug output
See merge request GNOME/tracker!305
|