Skip to content

Conversation

@ullingerc
Copy link
Member

@ullingerc ullingerc commented Jan 12, 2026

If the query for writing a materialized view has less than four columns, empty columns are now appended automatically.

This is a prerequisite for detecting certain join patterns cleanly (the user may now write a query with a single join on two index scans), which may be used for query rewriting.

@codecov
Copy link

codecov bot commented Jan 12, 2026

Codecov Report

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

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #2639      +/-   ##
==========================================
+ Coverage   91.52%   91.55%   +0.02%     
==========================================
  Files         479      479              
  Lines       41177    41184       +7     
  Branches     5474     5476       +2     
==========================================
+ Hits        37688    37704      +16     
+ Misses       1910     1902       -8     
+ Partials     1579     1578       -1     

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

@ullingerc ullingerc requested a review from joka921 January 12, 2026 13:47
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.

Only some comments, but this is a nice small PR:)

<< " empty column(s) will be appended." << std::endl;

for (uint8_t i = 0; i < 4 - numCols; ++i) {
result.push_back({Variable{absl::StrCat("?_empty_", i)}, std::nullopt});
Copy link
Member

Choose a reason for hiding this comment

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

maybe make the pattern a little longer and stranger to decrease the probability of accidental mismatches..

Copy link
Member

Choose a reason for hiding this comment

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

Can we currently manually select this empty garbage column?
If yes,
Can you please change the design s.t. when READING, we never can obtain those columns (because they have no name on that side of the API s.t. this only becomes an artifact when writing?

Copy link
Member Author

Choose a reason for hiding this comment

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

Yes currently they can be read. But this is a very nice idea. If we fully hide them, I believe we don't even need any name for them.

@ullingerc ullingerc requested a review from joka921 January 13, 2026 09:41
@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=726a9572039ea73d55b0724d46d029901f684f52&prev=7ec91f836cb8c98b4e07c906574cb4bf7f6f4e02

@sonarqubecloud
Copy link

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.

This looks much cleaner now:) Thank you very much!

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.

2 participants