Jark Wu commented on FLINK-4825:

Hi [~twalthr] , I also found the result of {{CAST(TRUE AS VARCHAR)}} will be 
{{TRUE}} not {{true}}. Because Calcite is using 
{{SqlFunctions.toString(boolean)}} not {{Boolean::toString()}} to cast boolean 
to string.  So we only need to adapt this and most parts still use Calcite's 
code generation? 

> Implement a RexExecutor that uses Flink's code generation
> ---------------------------------------------------------
>                 Key: FLINK-4825
>                 URL: https://issues.apache.org/jira/browse/FLINK-4825
>             Project: Flink
>          Issue Type: Improvement
>          Components: Table API & SQL
>            Reporter: Timo Walther
> The added {{ReduceExpressionRule}} leads to inconsistent behavior. Because 
> some parts of an expression are evalutated using Flink's code generation and 
> some parts use Calcite's code generation.
> A very easy example: boolean expressions casted to string are represented as 
> "TRUE/FALSE" using Calcite and "true/false" using Flink.
> I propose to implement the RexExecutor interface and forward the calls to 
> Flink's code generation. Additional improvements in order to be more standard 
> compliant could be solved in new Jira issues.
> I will disable the rule and the corresponding tests till this issue is fixed.

This message was sent by Atlassian JIRA

Reply via email to