| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| |
| | |
This is implemented as separate code that does markdown formatting,
there's probably some opportunities for subclassing and text
templating, but it can be made prettier later on.
|
| |
| |
| |
| | |
Let the caller produce the links in the format it likes.
|
| |
| |
| |
| | |
Give it a more generic name.
|
| |
| |
| |
| |
| | |
Make the code filename more consistent with the rest of the
Tracker tree, and account for multiple writers in the future.
|
| |
| |
| |
| |
| | |
We'll want to have multiple writers, so put all XML together in
a single file.
|
| |
| |
| |
| |
| | |
We'll want to generate different document formats, the printing
of the hierarchy tree can be abstraced into a common helper.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Instead of parsing ontology TTL by itself, use 2 in-memory
TrackerSparqlConnections for the task, one to load .description
files, and another with an empty database.
With these in place, the ontology is fully introspectable, we
can then query these to fill in our information about the defined
classes and properties.
One advantage here is that we avoid purpose-specific Turtle
file parsers and unify this on the sparql library.
|
| |
| |
| |
| | |
Manpages aren't going anywhere, and ontology docs not yet.
|
| |
| |
| |
| | |
These files only served for gtk-doc purposes, drop them.
|
| | |
|
| |
| |
| |
| |
| | |
If there's anything left to be ported, perhaps it's time to
admit some docs won't help it.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
Currently this is the preferred way to integrate it with the built system.
|
| | |
|
|/ |
|
|\
| |
| |
| |
| | |
libtracker-data: Ensure tracker:id/uri can only look up allowed graphs
See merge request GNOME/tracker!461
|
|/
|
|
|
| |
Check with the per-graph Refcount table whether the ROWID involved
is used in any allowed graph. Return 0/null otherwise.
|
|\
| |
| |
| |
| | |
HACKING.md: Update for change in functional-tests
See merge request GNOME/tracker!460
|
|/ |
|
|\
| |
| |
| |
| | |
Ignore saving half completed db
See merge request GNOME/tracker!457
|
| |
| |
| |
| | |
Replaced @ut.skip() by @ut.expectedFailure notation for tests that are not supported by tracker yet.
|
| |
| |
| |
| |
| | |
There were some tests that were skipped in ontology-changes.py file (most likely because tracker was not support them when they are written).
The @ut.skip notation is removed from the tests that are supported by tracker now.
|
| |
| |
| |
| |
| |
| |
| | |
The test case works by trying to create a database with a malformed ontology. Hence, the connection is expected to fail and no database is created.
Then, a new connection is created with a valid ontology. Hence, we ensure that the database is build correctly and it is not affected by the malformed ontology.
The next step is trying to update the ontology using another malformed ontology. It is expected to fail and the db is rolled back to its previous consistent state.
Finally, the database is updated using a valid ontology and we make sure that it is updated successfully without being affected by the malformed ontology update.
|
| | |
|
| |
| |
| |
| |
| | |
If an error happens while updating the existing ontologies, all changes that applied on the db schema will be rolled back and an error will propagate to the connection method.
The old behavior was showing warnings, applying some changes and discarding other changes.
|
| |
| |
| |
| | |
Prevents saving half completed database when the error happens while creating the database for the first time.
|
| |
| |
| |
| |
| |
| | |
Adds "first_time" field to TrackerDBManager class.
Removes "first_time" argument from tracker_db_manager_new() as we can access it through tracker_db_manager_is_first_time()
Later, the first_time field will be checked before deleting the newly created db when error occures during the creation process
|
|\ \
| | |
| | |
| | |
| | | |
libtracker-sparql: Check for the correct build CWD as subproject
See merge request GNOME/tracker!458
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When building Tracker as a subproject, the CWD at build time is still
that of the root project. We want to check this, instead of the
subproject build root.
This makes the remote module correctly detected in the build dir
when building Tracker as a subproject (as it happens in tracker-miners
CI).
|
|\ \
| |/
| |
| |
| |
| |
| | |
libtracker-sparql: Allow building against multiple versions of libsoup
Closes #320
See merge request GNOME/tracker!456
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Tracker is an innocent bystander hindering libsoup3 port, since the
libsoup2/3->tracker->gtk3 dependency chain imposes a libsoup version,
graphical applications using libsoup cannot port at their own pace.
Make our remote code (connection & endpoint) be a private module
that is built against both versions of libsoup (if found), then we
pick one at runtime, with a preference on libsoup3 if libsoup2 .so
file is not seen in the already loaded libraries.
This patch should be reverted ASAP, once we can consider libsoup2
deprecated.
Fixes: https://gitlab.gnome.org/GNOME/tracker/-/issues/320
|
|\
| |
| |
| |
| | |
Remove dependency on GModule
See merge request GNOME/tracker!454
|
|/
|
|
|
|
| |
This was used by tracker-extract which no longer lives in this repo.
https://gitlab.gnome.org/GNOME/tracker/-/issues/313
|
|\
| |
| |
| |
| | |
meson.build: fix building with libsoup3
See merge request GNOME/tracker!453
|
|/
|
|
| |
currently it requires soup2 to be installed even if building against soup3
|
|\
| |
| |
| |
| | |
Check style fixes.
See merge request GNOME/tracker!451
|
| |
| |
| |
| | |
So it's more easily visible.
|
| |
| |
| |
| | |
These have no code style to check.
|
| |
| |
| |
| |
| |
| | |
Checking the end line, we should account that the whole chunk was
already displaced by the code comment that turns uncrustify on, so
we are off by one here.
|
| |
| |
| |
| |
| |
| |
| | |
This avoids setting the uncrustify on/off code comments in the
middle of surrounding code, and maybe breaking their style on the
way. Reducing the context to 0 ensures these are right at the start
and end lines of the function.
|
|\ \
| |/
|/|
| |
| |
| |
| | |
Improve handling of consecutive single-valued property changes in the same batch
Closes tracker-miners#179
See merge request GNOME/tracker!450
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In these paths of TrackerResource insertion handling for single valued
properties, we schedule property deletion, but don't synchronize the
cache here. Clear the value array contents so future checks match.
This is the most direct cause of the warning seen at
https://gitlab.gnome.org/GNOME/tracker-miners/-/issues/179, there
is a double CREATED event emission going on there, that due to
non-atomicity in the file creation operation has those TrackerResources
disagreeing in the nfo:fileSize for the file.
Being those 2 tracker_resource_set_*() operations, we schedule prior
deletes, but at the time of handling the second nfo:fileSize we'd
still be thinking there was a value left in the array, due to the lack
of sync.
Fixes: https://gitlab.gnome.org/GNOME/tracker-miners/-/issues/179
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Due to TrackerResource insertion trying to avoid too frequent flushing,
we might end up with a single batch containing multiple single-valued
property delete+insert changes for the same resource/property. These
currently fail with "multiple values for single-valued property" errors
but that will be fixed in a followup commit.
If these got through, we would want to avoid telling SQLite about
these properties several times, e.g.:
INSERT OR REPLACE INTO ... (ID, "nfo:fileSize", "nfo:fileSize")
Since what happens then is unspecified (SQLite chooses to honor the
first value and ignore the second).
To fix this, check the already visited properties when generating
the INSERT/UPDATE statement for single-valued properties in a class
table, and ensure we stick to the last given value.
This avoids having to prematurely flush just to keep these two
changes separate, and coalesces things the right way (i.e. we end
up with the good, last value).
|