Hello, I'm using Calcite to provide an SQL interface (Read-Only) for a Java Service that contains its data in memory. However most of the fields are primitive types and exposing them in a ProjectableFilterableTable forces boxing of the fields values since the scan method returns Enumerable<Object[]>.
When I look at how ProjectableFilterableTable is used, it seems that for every Object array calcite is generating a Row object that relies on an array of Object internally. I was wondering if an UnsafeRow similar to what Spark has implemented could be considered for Calcite given the possible savings that it could bring in terms of memory and how it could in some cases like mine help avoiding unnecessary boxing / unboxing. https://github.com/apache/spark/blob/master/sql/catalyst/src/main/java/org/apache/spark/sql/catalyst/expressions/UnsafeRow.java Kind regards, Inigo Mediavilla
