From 2481560cacd2715ec9d0b5889a6cf58dfa0962dc Mon Sep 17 00:00:00 2001 From: Larry Booker Date: Wed, 21 Jun 2023 12:53:01 -0700 Subject: [PATCH 1/2] One-line change. --- .../java/io/deephaven/extensions/barrage/util/BarrageUtil.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/extensions/barrage/src/main/java/io/deephaven/extensions/barrage/util/BarrageUtil.java b/extensions/barrage/src/main/java/io/deephaven/extensions/barrage/util/BarrageUtil.java index f6d0bc66465..608939245fd 100755 --- a/extensions/barrage/src/main/java/io/deephaven/extensions/barrage/util/BarrageUtil.java +++ b/extensions/barrage/src/main/java/io/deephaven/extensions/barrage/util/BarrageUtil.java @@ -452,6 +452,8 @@ private static ConvertedArrowSchema convertArrowSchema( // TODO (deephaven-core#3403) widen this check for better assurances Class defaultType = getDefaultType(getArrowType.apply(i), result, i); Assert.eq(type.getValue(), "deephaven column type", defaultType, "arrow inferred type"); + // force to boxed boolean to allow nullability in the column sources + type.setValue(Boolean.class); } columns[i] = ColumnDefinition.fromGenericType(name, type.getValue(), componentType.getValue()); } From 144f1de62790304f084e47bf9e9b16471f5af51d Mon Sep 17 00:00:00 2001 From: Larry Booker Date: Thu, 22 Jun 2023 11:25:02 -0700 Subject: [PATCH 2/2] Flailing a bit. --- .../io/deephaven/extensions/barrage/util/BarrageUtil.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/extensions/barrage/src/main/java/io/deephaven/extensions/barrage/util/BarrageUtil.java b/extensions/barrage/src/main/java/io/deephaven/extensions/barrage/util/BarrageUtil.java index 608939245fd..6f13a8a0f1a 100755 --- a/extensions/barrage/src/main/java/io/deephaven/extensions/barrage/util/BarrageUtil.java +++ b/extensions/barrage/src/main/java/io/deephaven/extensions/barrage/util/BarrageUtil.java @@ -299,7 +299,7 @@ private static Class getDefaultType(final ArrowType arrowType, final Converte throw Exceptions.statusRuntimeException(Code.INVALID_ARGUMENT, exMsg + " of intType(signed=" + intType.getIsSigned() + ", bitWidth=" + intType.getBitWidth() + ")"); case Bool: - return boolean.class; + return Boolean.class; case Duration: final ArrowType.Duration durationType = (ArrowType.Duration) arrowType; final TimeUnit durationUnit = durationType.getUnit(); @@ -447,11 +447,11 @@ private static ConvertedArrowSchema convertArrowSchema( if (type.getValue() == null) { Class defaultType = getDefaultType(getArrowType.apply(i), result, i); type.setValue(defaultType); - } else if (type.getValue() == boolean.class) { + } else if (type.getValue() == boolean.class || type.getValue() == Boolean.class) { // check existing barrage clients that might be sending int8 instead of bool // TODO (deephaven-core#3403) widen this check for better assurances Class defaultType = getDefaultType(getArrowType.apply(i), result, i); - Assert.eq(type.getValue(), "deephaven column type", defaultType, "arrow inferred type"); + Assert.eq(Boolean.class, "deephaven column type", defaultType, "arrow inferred type"); // force to boxed boolean to allow nullability in the column sources type.setValue(Boolean.class); }