Skip to content

feat(writer): NULL_COUNT zone-maps for dict-encoded columns#127

Merged
dfa1 merged 1 commit into
mainfrom
feat/zone-map-dict-null-count
Jun 21, 2026
Merged

feat(writer): NULL_COUNT zone-maps for dict-encoded columns#127
dfa1 merged 1 commit into
mainfrom
feat/zone-map-dict-null-count

Conversation

@dfa1

@dfa1 dfa1 commented Jun 21, 2026

Copy link
Copy Markdown
Owner

Global-dict columns live in a separate write path (dictColRefs) that
flushZoneMaps did not touch, so they carried no zone-map. Rust zone-maps
dict columns too (vortex.stats wrapping vortex.dict), so capture per-chunk
null counts in DictColRef and emit a NULL_COUNT-only zone-map wrapping the
dict layout. Global-dict columns are dense (non-nullable) so counts are 0
today, but the plumbing is correct for future nullable-dict support.

Closes the main null_count gap: every column type, dict or not, now
carries a zone-map. New code fully covered; full suites + Rust interop green.

Co-Authored-By: Claude Opus 4.8 [email protected]

Global-dict columns live in a separate write path (dictColRefs) that
flushZoneMaps did not touch, so they carried no zone-map. Rust zone-maps
dict columns too (vortex.stats wrapping vortex.dict), so capture per-chunk
null counts in DictColRef and emit a NULL_COUNT-only zone-map wrapping the
dict layout. Global-dict columns are dense (non-nullable) so counts are 0
today, but the plumbing is correct for future nullable-dict support.

Closes the main null_count gap: every column type, dict or not, now
carries a zone-map. New code fully covered; full suites + Rust interop green.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
@dfa1 dfa1 merged commit ab233b8 into main Jun 21, 2026
6 checks passed
@dfa1 dfa1 deleted the feat/zone-map-dict-null-count branch June 21, 2026 14:36
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.

1 participant