diff --git a/src/main/java/ai/chalk/client/ChalkClientImpl.java b/src/main/java/ai/chalk/client/ChalkClientImpl.java index df3c2ae..96c7bf9 100644 --- a/src/main/java/ai/chalk/client/ChalkClientImpl.java +++ b/src/main/java/ai/chalk/client/ChalkClientImpl.java @@ -162,12 +162,14 @@ private OnlineQueryResult onlineQueryJson(OnlineQueryParamsComplete params) thro var dataItem = (Map) item; String fieldName = (String) dataItem.get("field"); Object value = dataItem.get("value"); - if (fieldName == null) continue; + if (fieldName == null || value == null) continue; FieldVector vector = createVectorForValue(fieldName, value, childAllocator); if (vector != null) vectors.add(vector); } - scalarTable = new Table(vectors); + if (!vectors.isEmpty()) { + scalarTable = new Table(vectors); + } } catch (Exception e) { for (FieldVector v : vectors) v.close(); childAllocator.close(); @@ -179,9 +181,7 @@ private OnlineQueryResult onlineQueryJson(OnlineQueryParamsComplete params) thro } private static FieldVector createVectorForValue(String name, Object value, BufferAllocator allocator) { - if (value == null) { - return new NullVector(name, 1); - } else if (value instanceof Integer intVal) { + if (value instanceof Integer intVal) { BigIntVector v = new BigIntVector(name, allocator); v.allocateNew(1); v.set(0, intVal.longValue());