[ 
https://issues.apache.org/jira/browse/CALCITE-6465?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17865194#comment-17865194
 ] 

Julian Hyde commented on CALCITE-6465:
--------------------------------------

I would support this.

Timeline could be as follows. It could start off as optional, later it would be 
the default (preferred) code generator, and later it could become the only code 
generator. Before step 2, it would need to be spun out of Flink. (Flink depends 
on Calcite, and we don't want a cyclic dependency between Calcite and Flink.)

Calcite's current generator ('enumerable') generates Java for both relational 
expressions (classes that implement Iterator, i.e. the Volcano execution model) 
and scalar expressions. Do you see this generator doing relational expressions 
or just scalar expressions?

Would the generator make any assumptions about the data format, e.g. that an 
incoming row is a java.util.List and that a TIMESTAMP value is represented as a 
Java java.lang.Long.

Would the generator make assumptions about how rows sent or received?

> Rework code generator
> ---------------------
>
>                 Key: CALCITE-6465
>                 URL: https://issues.apache.org/jira/browse/CALCITE-6465
>             Project: Calcite
>          Issue Type: New Feature
>          Components: core
>            Reporter: James Duong
>            Assignee: James Duong
>            Priority: Major
>
> Holistically replace the (or provide a separate optional) code generator to 
> reduce issues such as CALCITE-3094 .
> One suggestion in the comments for CALCITE-3094 has been to use the [code 
> generator from 
> Flink.|https://nightlies.apache.org/flink/flink-docs-release-1.3/api/java/org/apache/flink/table/codegen/CodeGenerator.html]



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to