calcite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From IƱigo Mediavilla <imedi...@gmail.com>
Subject Adding UnsafeRow to Calcite
Date Wed, 22 Nov 2017 21:16:27 GMT
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

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message