Skip to content

Conversation

@joka921
Copy link
Member

@joka921 joka921 commented Dec 9, 2025

Add an options to libqlever to load an index without its permutations.
This index can still be used to answer queries that don't depend on the permutations (i.e. don't contain any triples), because they for example rely on the named query cache.

This allows for efficient scenarios where all queries can be answered from the named query cache, so the files from the permutations don't even have to be present.

Signed-off-by: Johannes Kalmbach <[email protected]>
@codecov
Copy link

codecov bot commented Dec 9, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 91.54%. Comparing base (7ec91f8) to head (71033c2).

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #2587      +/-   ##
==========================================
+ Coverage   91.52%   91.54%   +0.01%     
==========================================
  Files         479      479              
  Lines       41177    41197      +20     
  Branches     5474     5482       +8     
==========================================
+ Hits        37688    37714      +26     
+ Misses       1910     1904       -6     
  Partials     1579     1579              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Signed-off-by: Johannes Kalmbach <[email protected]>
Copy link
Member Author

@joka921 joka921 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Commenting done:)

@sonarqubecloud
Copy link

sonarqubecloud bot commented Dec 9, 2025

Signed-off-by: Johannes Kalmbach <[email protected]>
Signed-off-by: Johannes Kalmbach <[email protected]>
# Conflicts:
#	src/libqlever/Qlever.h
@joka921 joka921 marked this pull request as ready for review January 14, 2026 09:02
@joka921 joka921 requested review from RobinTF and ullingerc January 14, 2026 09:07
Signed-off-by: Johannes Kalmbach <[email protected]>
Copy link
Collaborator

@RobinTF RobinTF left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Two comments.

load(sop_);
} else {
if (dontLoadPermutations_) {
// Set all permutations to nullptr to indicate they are not loaded.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With this change, the term "loaded" becomes ambiguous. There already is Permutation::isLoaded. Can't you use that instead and just prevent the reading from disk part?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unfortunately this doesn't work, as this function is also called during the index building when the permutation is not yet loaded.
I agree that this is unfortunate, but for now I will leave this.

Signed-off-by: Johannes Kalmbach <[email protected]>
@joka921 joka921 requested review from RobinTF and ullingerc January 14, 2026 10:44
@sparql-conformance
Copy link

Overview

Number of Tests Passed ✅ Intended ✅ Failed ❌ Not tested
547 450 73 24 0

Conformance check passed ✅

No test result changes.

Details: https://qlever.dev/sparql-conformance-ui?cur=71033c2aa893534088d3fcdeb885f11269757b2c&prev=7ec91f836cb8c98b4e07c906574cb4bf7f6f4e02

@sonarqubecloud
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants