Skip to content

[ntuple] Properly set bit width/value range when generating column elements from on disk info - #23755

Open
silverweed wants to merge 4 commits into
root-project:masterfrom
silverweed:rcolelembase_generate
Open

silverweed wants to merge 4 commits into
root-project:masterfrom
silverweed:rcolelembase_generate

Conversation

@silverweed

Copy link
Copy Markdown
Contributor

This Pull request:

changes the signature of RColumnElementBase::Generate<void> to pass the entire column descriptor (rather than just the column type) so that the function can properly set the extra column information for types that need it (Real32Trunc/Quant).
Also adds an overload for GenerateColumnElement that does the same.

This fixes a bug in the Merger (reported in #23752, which this PR builds upon/includes) and hopefully prevents similar bugs to appear in the future.

The merger test provided by @Elvand-Lie is included in this PR.

Checklist:

  • tested changes locally
  • updated the docs (if necessary)

@github-actions

github-actions Bot commented Oct 19, 2026 •

Copy link
Copy Markdown

Test Results

    23 files      23 suites   3d 22h 18m 31s ⏱️
 3 885 tests  3 885 ✅ 0 💤 0 ❌
79 687 runs  79 687 ✅ 0 💤 0 ❌

Results for commit 2f77729.

♻️ This comment has been updated with latest results.

silverweed and others added 4 commits October 20, 2026 14:30
The column type alone is insufficient to create a proper ColumnElement
when the element type is one that carries additional info, such as
Real32Trunc/Quant.
When creating such types one must also set the BitsOnStorage and
ValueRange appropriately.

To prevent mistakes due to callers forgetting to do so, we force them
to pass the complete column descriptor when generating a column element
using the <void> overload.
Apply the source column's stored bit width before computing packed page
sizes during recompression. This allows truncated and quantized float
pages to be merged with a different output compression.

Compare both fields against their stored source values in a regression.

Assisted-by: codex:gpt-6.1-sol
Assisted-by: claude-code:opus
@silverweed
silverweed force-pushed the rcolelembase_generate branch from 2f77729 to cf69920 Compare October 20, 2026 12:30

This branch has not been deployed

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants