Re: TimestampAdd/Diff rewrite rules

2019-11-09 Thread Dustin Freeman
4d1c3e54fc4172c7ff00db3326823c42f237cf04/core/src/main/java/org/apache/calcite/sql2rel/StandardConvertletTable.java#L1443 > > Best, > Danny Chan > 在 2019年11月10日 +0800 AM8:30,Dustin Freeman ,写道: > > Hi, > > > > It seems that Calcite rewrites TimestampAdd(x, 100) to foll

TimestampAdd/Diff rewrite rules

2019-11-09 Thread Dustin Freeman
Hi, It seems that Calcite rewrites TimestampAdd(x, 100) to following expression [+($3, *(12:INTERVAL YEAR, 100))] Can anyone tell me how to stop above rewrite? Thanks, Dustin

Re: Type Inference and Nullability set/change

2019-10-24 Thread Dustin Freeman
GINT) type, you can use a RexShuttle to visit all the rexCalls and > rewrite your relational expression. > > Best, > Danny Chan > 在 2019年10月25日 +0800 AM10:46,Dustin Freeman ,写道: > > Hi All, > > > > After I translate a query (SQL text) into a RelNode Tree like th

Type Inference and Nullability set/change

2019-10-24 Thread Dustin Freeman
Hi All, After I translate a query (SQL text) into a RelNode Tree like this, RelNode res = planner.getLogicalPlan(getSqlText()); What's the simplest way to do/change type inference and set nullability for all expressions in node res? It seems that RelNode has some type info already like below.

Re: RexInputRef question

2019-09-08 Thread Dustin Freeman
Hi Rui, Thanks very much. It seems that I can find column name from input row type. In order to find column position in original table, I need to find its position based on input row type recursively. Thanks, Dustin On Sun, Sep 8, 2019 at 2:24 PM Rui Wang wrote: > Regarding to original user