util: increase column's nullBitmap's capacity (#12470) #12981
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
cherry-pick #12470 to release-3.1
Signed-off-by: H-ZeX hzx20112012@gmail.com
What problem does this PR solve?
nullBitmap
's capThe origin
nullBitmap
's capacity is a little small.When the
cap
param is(x<<3)+y(0<y<8)
, the nullBitMap's len is onlyx
, so the col that it can represent is(x<<3)
, which is small that the column number(x<<3)+y
, then this slice need to be expanded.For example, if there is
8+7=15
col, we need2
bytesnullBitmap
to represent it. But,15>>3
only get1
, so this slice need to be expanded to2
bytes.If the slice expands, the memory usage increased is not little, so I think adding one byte to
nullBitmap
is better and necessary.In
util/chunk/column.go
, there is many patterns like(x+7)>>3
such asWhat is changed and how it works?
x>>3
->((x+7)>>3)
Check List
Tests
existing unit test
Side effects
No.
Related changes
No.
Release note
TODO