Re: 关于Flink SQL语句内的函数名和内建函数名称对应不上的问题

2023-11-24 文章 jinzhuguang
感谢大佬,我找到了。 所以说SQL类的内建函数实际上使用的是calcite的能力,而flink自己的内建函数是在table api中使用 > 2023年11月24日 17:07,Xuyang 写道: > > Hi, > 关于你举的例子,如果编译了源码的话,可以在FlinkSqlParserImpl这个被动态生成的词法解析器类中找到PostfixRowOperator方法,大致是通过识别到IS > NOT NULL这三个关键字,转化为Calcite的这个内置函数SqlStdOperatorTable.IS_NOT_NULL > > > > > -- > >

Re:关于Flink SQL语句内的函数名和内建函数名称对应不上的问题

2023-11-24 文章 Xuyang
Hi, 关于你举的例子,如果编译了源码的话,可以在FlinkSqlParserImpl这个被动态生成的词法解析器类中找到PostfixRowOperator方法,大致是通过识别到IS NOT NULL这三个关键字,转化为Calcite的这个内置函数SqlStdOperatorTable.IS_NOT_NULL -- Best! Xuyang 在 2023-11-24 15:15:04,"jinzhuguang" 写道: >flink 1.18.0 > > >例如我写下一条SQL: > select * from KafkaTable where

关于Flink SQL语句内的函数名和内建函数名称对应不上的问题

2023-11-23 文章 jinzhuguang
flink 1.18.0 例如我写下一条SQL: select * from KafkaTable where id is not null; IS NOT NULL应该属于系统内建函数,于是我找到相关代码: public static final BuiltInFunctionDefinition IS_NOT_NULL = BuiltInFunctionDefinition.newBuilder() .name("isNotNull") .kind(SCALAR)