Skip to content

Conversation

@RobinTF
Copy link
Collaborator

@RobinTF RobinTF commented Dec 1, 2025

The DeltaTriples can now keep track of LocatedTriplesPerBlock for each of the six normal permutations (PSO, POS, SPO, SOP, OSP, and OPS), as well as for the two internal permutations (PSO and POS). This does not yet change any functionality, but is preparation for #2461, which will also consider the special language triples (which reside in the internal permutations) when an update triples with an object with a language tag is encountered

@codecov
Copy link

codecov bot commented Dec 1, 2025

Codecov Report

❌ Patch coverage is 93.06931% with 7 lines in your changes missing coverage. Please review.
✅ Project coverage is 91.14%. Comparing base (82318ed) to head (2ac5cab).
⚠️ Report is 2 commits behind head on master.

Files with missing lines Patch % Lines
src/index/Permutation.h 0.00% 5 Missing ⚠️
src/index/DeltaTriples.cpp 98.59% 0 Missing and 1 partial ⚠️
src/index/Permutation.cpp 93.33% 0 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #2561      +/-   ##
==========================================
- Coverage   91.15%   91.14%   -0.01%     
==========================================
  Files         471      471              
  Lines       40185    40231      +46     
  Branches     5376     5379       +3     
==========================================
+ Hits        36629    36669      +40     
- Misses       2021     2024       +3     
- Partials     1535     1538       +3     

☔ 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.

@RobinTF RobinTF marked this pull request as ready for review December 3, 2025 14:22
@RobinTF RobinTF requested review from Qup42 and joka921 December 3, 2025 14:22
Copy link
Member

@Qup42 Qup42 left a comment

Choose a reason for hiding this comment

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

Nothing much from me, only to small suggestions.

@RobinTF RobinTF requested a review from Qup42 December 4, 2025 16:52
Copy link
Member

@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.

We had a 1-1 discussion.

Copy link
Member

@Qup42 Qup42 left a comment

Choose a reason for hiding this comment

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

Looks good to me once the changes from Johannes review are incorporated. Great that we could get this part done so quickly! Now I can continue with some of my PRs :)

Copy link
Member

@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.

We have a chance to get rid of some more duplications, but overall I like this.

Copy link
Member

@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.

Thank youy very much, make sure to write a descriptive message.

@sparql-conformance
Copy link

Overview

Number of Tests Passed ✅ Intended ✅ Failed ❌ Not tested
525 379 67 79 0

Conformance check passed ✅

No test result changes.

Details: https://qlever.dev/sparql-conformance-ui?cur=2ac5cabc627943798854e7b2db5afcf3c422cd95&prev=82318eda6752920eab9286ffa5b5a639d4820781

@sonarqubecloud
Copy link

sonarqubecloud bot commented Dec 5, 2025

Copy link
Member

@hannahbast hannahbast left a comment

Choose a reason for hiding this comment

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

@RobinTF @joka921 Thank you for this. I understand the change and see that it works, but would have expected something slightly different. Namely, we have already refactored our index scan such that it simply gets a PermutationPtr, but is otherwise oblivious to the nature of the permutation (normal, internal, materialized view, whatever).

Shouldn't we do the same thing for the located triples? That is, whatever the set of permutations is (just two of them, all six of them, all six and the two internal ones, ...), we have one LocatedTriplesPerBlock for each permutation, and the LocatedTriplesPerBlock just know to which permutation they below and are otherwise unaware of the nature of the permutation.

Of course, there needs to be code somewhere that decides, which permutation is chosen for a particular operation, and which triples are added to which permutation, but the permutations and located triples themselves are oblivious.

@hannahbast hannahbast changed the title Implement DeltaTriple infrastructure for internal permutations Extend DeltaTriples to also keep track of updates to the internal permutations Dec 5, 2025
@hannahbast hannahbast changed the title Extend DeltaTriples to also keep track of updates to the internal permutations Extend DeltaTriples to also keep track of updates to the internal permutations [HANNAH IS SCEPTICAL OF THE DESIGN] Dec 5, 2025
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.

4 participants