You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ib...@apache.org on 2022/10/07 08:53:08 UTC
[ignite-3] branch main updated: IGNITE-17844 Fixed corner case in BitmaskNativeType constructor. (#1174)
This is an automated email from the ASF dual-hosted git repository.
ibessonov pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ignite-3.git
The following commit(s) were added to refs/heads/main by this push:
new f6bad72d20 IGNITE-17844 Fixed corner case in BitmaskNativeType constructor. (#1174)
f6bad72d20 is described below
commit f6bad72d20acbf97a96b8a317357e2f9a5c4bb14
Author: Ivan Bessonov <be...@gmail.com>
AuthorDate: Fri Oct 7 11:53:02 2022 +0300
IGNITE-17844 Fixed corner case in BitmaskNativeType constructor. (#1174)
---
.../org/apache/ignite/internal/schema/BitmaskNativeType.java | 2 +-
.../org/apache/ignite/internal/schema/NativeTypeTest.java | 12 ++++++++++++
2 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/modules/schema/src/main/java/org/apache/ignite/internal/schema/BitmaskNativeType.java b/modules/schema/src/main/java/org/apache/ignite/internal/schema/BitmaskNativeType.java
index 2e3e7331a3..7d02185a24 100644
--- a/modules/schema/src/main/java/org/apache/ignite/internal/schema/BitmaskNativeType.java
+++ b/modules/schema/src/main/java/org/apache/ignite/internal/schema/BitmaskNativeType.java
@@ -32,7 +32,7 @@ public class BitmaskNativeType extends NativeType {
* @param bits The number of bits in the bitmask.
*/
protected BitmaskNativeType(int bits) {
- super(NativeTypeSpec.BITMASK, (bits + 7) / 8);
+ super(NativeTypeSpec.BITMASK, Math.max(1, (bits + 7) / 8));
this.bits = bits;
}
diff --git a/modules/schema/src/test/java/org/apache/ignite/internal/schema/NativeTypeTest.java b/modules/schema/src/test/java/org/apache/ignite/internal/schema/NativeTypeTest.java
index acd3ef4fc4..1f64c08c5e 100644
--- a/modules/schema/src/test/java/org/apache/ignite/internal/schema/NativeTypeTest.java
+++ b/modules/schema/src/test/java/org/apache/ignite/internal/schema/NativeTypeTest.java
@@ -148,4 +148,16 @@ public class NativeTypeTest {
public void compareVarlenTypesByDesc() {
assertTrue(BYTES.compareTo(STRING) < 0);
}
+
+ /**
+ * Validate data size of bitmap type.
+ */
+ @Test
+ public void bitmaskSizeTest() {
+ assertEquals(1, new BitmaskNativeType(0).sizeInBytes());
+
+ assertEquals(1, new BitmaskNativeType(8).sizeInBytes());
+
+ assertEquals(2, new BitmaskNativeType(9).sizeInBytes());
+ }
}