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 {
1233
1233
card := ac .getCardinality ()
1234
1234
sizeAsArrayContainer := arrayContainerSizeInBytes (card )
1235
1235
1236
- if sizeAsRunContainer <= minOfInt (sizeAsBitmapContainer , sizeAsArrayContainer ) {
1236
+ if sizeAsRunContainer < minOfInt (sizeAsBitmapContainer , sizeAsArrayContainer ) {
1237
1237
return newRunContainer16FromArray (ac )
1238
1238
}
1239
1239
if card <= arrayDefaultMaxSize {
Original file line number Diff line number Diff line change @@ -1187,7 +1187,7 @@ func (bc *bitmapContainer) toEfficientContainer() container {
1187
1187
card := bc .getCardinality ()
1188
1188
sizeAsArrayContainer := arrayContainerSizeInBytes (card )
1189
1189
1190
- if sizeAsRunContainer <= minOfInt (sizeAsBitmapContainer , sizeAsArrayContainer ) {
1190
+ if sizeAsRunContainer < minOfInt (sizeAsBitmapContainer , sizeAsArrayContainer ) {
1191
1191
return newRunContainer16FromBitmapContainer (bc )
1192
1192
}
1193
1193
if card <= arrayDefaultMaxSize {
Original file line number Diff line number Diff line change @@ -13,6 +13,18 @@ import (
13
13
"github.com/stretchr/testify/require"
14
14
)
15
15
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
+
16
28
func checkValidity (t * testing.T , rb * Bitmap ) {
17
29
t .Helper ()
18
30
You can’t perform that action at this time.
0 commit comments