Hi Andrew,

If you are focusing parsing only, I believe you can just use the babel parser - 
in babel we have added support for DATE function via CALCITE-3022. The thing is 
you need to compile Calcite's code by yourself - 1.20.0 hasn't been released 
yet. 

Hongze

> On Jun 6, 2019, at 19:06, Andrew O <[email protected]> wrote:
> 
> I'm doing a project trying to parse some IBM DB2 sql expressions (to
> analyze table / column usages).
> 
> To note,
> 1) these are existing ad-hoc user queries so I can't change their syntax
> 2)  I don't have a connection / schema for the database,  but my
> understanding is that this shouldn't be required by Calcite for this
> kind of work.
> 
> Currently I'm hitting some parsing issues with queries like
> 
>    select Date(x.col1), x.col2 from myTable x
> 
> It fails parse at the point of the Date function call. This is trying to
> use the function to convert the value of col1 to a date (almost similar to
> a cast/convert).
> 
> https://www.ibm.com/support/knowledgecenter/en/SSEPEK_11.0.0/sqlref/src/tpc/db2z_bif_date.html
> 
> 
> My current thinking would be that this  may need changes to the parser
> grammar (through an extension?). Or perhaps this could be registered as a
> custom User Defined Function of some kind (although Date seems like a
> reserved word)?
> 
> Is this the right thinking,  or is there another approach I could look at?
> 
> Thanks in advance
> 
> Andrew

Reply via email to