File tree Expand file tree Collapse file tree 3 files changed +14
-2
lines changed
Expand file tree Collapse file tree 3 files changed +14
-2
lines changed Original file line number Diff line number Diff line change @@ -1233,7 +1233,7 @@ func (ac *arrayContainer) toEfficientContainer() container {
12331233 card := ac .getCardinality ()
12341234 sizeAsArrayContainer := arrayContainerSizeInBytes (card )
12351235
1236- if sizeAsRunContainer <= minOfInt (sizeAsBitmapContainer , sizeAsArrayContainer ) {
1236+ if sizeAsRunContainer < minOfInt (sizeAsBitmapContainer , sizeAsArrayContainer ) {
12371237 return newRunContainer16FromArray (ac )
12381238 }
12391239 if card <= arrayDefaultMaxSize {
Original file line number Diff line number Diff line change @@ -1187,7 +1187,7 @@ func (bc *bitmapContainer) toEfficientContainer() container {
11871187 card := bc .getCardinality ()
11881188 sizeAsArrayContainer := arrayContainerSizeInBytes (card )
11891189
1190- if sizeAsRunContainer <= minOfInt (sizeAsBitmapContainer , sizeAsArrayContainer ) {
1190+ if sizeAsRunContainer < minOfInt (sizeAsBitmapContainer , sizeAsArrayContainer ) {
11911191 return newRunContainer16FromBitmapContainer (bc )
11921192 }
11931193 if card <= arrayDefaultMaxSize {
Original file line number Diff line number Diff line change @@ -13,6 +13,18 @@ import (
1313 "github.com/stretchr/testify/require"
1414)
1515
16+ func TestIssue440 (t * testing.T ) {
17+ a := NewBitmap ()
18+ a .AddMany ([]uint32 {1 , 2 , 3 })
19+ a .RunOptimize ()
20+ b1 , err := a .MarshalBinary ()
21+ require .NoError (t , err )
22+ a .RunOptimize ()
23+ b2 , err := a .MarshalBinary ()
24+ require .NoError (t , err )
25+ require .Equal (t , b1 , b2 )
26+ }
27+
1628func checkValidity (t * testing.T , rb * Bitmap ) {
1729 t .Helper ()
1830
You can’t perform that action at this time.
0 commit comments