Hi Calcite Community Developers, I have JSON array, which I like to use as a table for query like "select * from jsonTable". I followed as given tutorials (youtube <https://www.youtube.com/watch?v=p1O3E33FIs8>) but got a ClassCastException [ com.google.gson.JsonObject cannot be cast to [Ljava.lang.Object] I checked implementations of org.apache.calcite.schema.ScannableTable which can support for JsonArray. but didn't find any.
Any help would be appreciated. // My code snippet . JsonAray jsonArray = // JsonArray consists of employee details RelDataTypeFactory typeFactory = new JavaTypeFactoryImpl(); RelDataType tableType = typeFactory.builder() .add("name", SqlTypeName.VARCHAR) .add("dob",SqlTypeName.TIMESTAMP) .add("age",SqlTypeName.INTEGER) .build(); ListTable jsonTable = new ListTable(tableType,jsonArray); getConnection().getRootSchema().add("jsonTable",jsonTable); ListTable class : public class ListTable extends AbstractTable implements ScannableTable { private final RelDataType rowType; private final JsonArray data; @Override public Enumerable scan(final DataContext root) { return Linq4j.asEnumerable(data);} @Override public RelDataType getRowType(final RelDataTypeFactory typeFactory) { return rowType;} } Reference for tutorials : youtube <https://www.youtube.com/watch?v=p1O3E33FIs8> and github <https://github.com/zabetak/calcite/blob/demo-january-2021/core/src/test/java/org/apache/calcite/examples/foodmart/java/EndToEndExampleBindable.java> Regards, Kartik