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
