diff --git a/presto-pinot-toolkit/src/main/java/com/facebook/presto/pinot/PinotSegmentPageSource.java b/presto-pinot-toolkit/src/main/java/com/facebook/presto/pinot/PinotSegmentPageSource.java index e3891c99ab4a9..2a37ded486a0a 100644 --- a/presto-pinot-toolkit/src/main/java/com/facebook/presto/pinot/PinotSegmentPageSource.java +++ b/presto-pinot-toolkit/src/main/java/com/facebook/presto/pinot/PinotSegmentPageSource.java @@ -494,6 +494,7 @@ private Slice getSlice(int rowIndex, int columnIndex) String[] stringArray = currentDataTable.getDataTable().getStringArray(rowIndex, columnIndex); return utf8Slice(Arrays.toString(stringArray)); case STRING: + case JSON: String field = currentDataTable.getDataTable().getString(rowIndex, columnIndex); if (field == null || field.isEmpty()) { return Slices.EMPTY_SLICE; diff --git a/presto-pinot-toolkit/src/main/java/com/facebook/presto/pinot/query/PinotQueryGenerator.java b/presto-pinot-toolkit/src/main/java/com/facebook/presto/pinot/query/PinotQueryGenerator.java index a264e5596d11f..b073d01711b2c 100644 --- a/presto-pinot-toolkit/src/main/java/com/facebook/presto/pinot/query/PinotQueryGenerator.java +++ b/presto-pinot-toolkit/src/main/java/com/facebook/presto/pinot/query/PinotQueryGenerator.java @@ -16,6 +16,7 @@ import com.facebook.airlift.log.Logger; import com.facebook.presto.common.type.BigintType; import com.facebook.presto.common.type.FixedWidthType; +import com.facebook.presto.common.type.JsonType; import com.facebook.presto.common.type.TypeManager; import com.facebook.presto.common.type.VarcharType; import com.facebook.presto.pinot.PinotColumnHandle; @@ -499,7 +500,7 @@ public PinotQueryGeneratorContext visitAggregation(AggregationNode node, PinotQu case GROUP_BY: { GroupByColumnNode groupByColumn = (GroupByColumnNode) expression; VariableReferenceExpression groupByInputColumn = getVariableReference(groupByColumn.getInputColumn()); - checkState(groupByInputColumn.getType() instanceof FixedWidthType || groupByInputColumn.getType() instanceof VarcharType); + checkState(groupByInputColumn.getType() instanceof FixedWidthType || groupByInputColumn.getType() instanceof VarcharType || groupByInputColumn.getType() instanceof JsonType); variablesInAggregation.add(groupByInputColumn); break; }