Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pass nullMask to setValuesFromUncompressed #3247

Merged
merged 1 commit into from
Apr 17, 2024

Conversation

benjaminwinger
Copy link
Collaborator

@benjaminwinger benjaminwinger commented Apr 10, 2024

Fixes #3143 by making the compression code aware of null values which don't need to be able to be read later (0 is not necessarily compressible when doing in-place updates to compressed data).

I've made a few modifications to NullMask to clean up its initialization and to allow it to reference existing data in NullColumnChunks. I think eventually it will be useful to separate management of data buffers from the ColumnChunks, and at that point the NullColumnChunk could more or less just be a ColumnChunk that uses a NullMask to store its data, but that will take more work.

NullMask::resize was also broken since memcpy takes the number of bytes to copy, not the number of (in this case) 64-bit values, so it was only copying the beginning of the data. I've added a unit test since we obviously aren't hitting that in the integration tests (it's only being used in one spot in the ValueVector's AuxiliaryBuffer).

src/storage/store/dictionary_column.cpp Outdated Show resolved Hide resolved
@benjaminwinger benjaminwinger force-pushed the null-compression-fix branch 4 times, most recently from 126aff4 to de5a0e6 Compare April 12, 2024 21:00
…es don't need to be checked

Also fixed NullMask::resize, which was truncating the existing data
@benjaminwinger benjaminwinger merged commit 5f53253 into master Apr 17, 2024
17 checks passed
@benjaminwinger benjaminwinger deleted the null-compression-fix branch April 17, 2024 14:43
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.

Rel with string property insertion error
2 participants