In the documentation section -
https://calcite.apache.org/docs/reference.html - in "Dialect Specific
Operator" I can see that "IF" is listed for Big-Query.  Based on this I
assumed that it should be supported out of the box without extentind the
parser.
It says that I need to specify a "fun" variable in the connection string.
As I am not really using a connection string, I am not sure how to create a
proper parser

On Fri, Dec 17, 2021 at 12:35 PM Maxim Gramin <mgra...@querifylabs.com>
wrote:

> It looks like the parser needs to be extended
> https://calcite.apache.org/docs/adapter.html#extending-the-parser
>
> On Fri, Dec 17, 2021 at 5:34 PM Arash Bizhan zadeh <aras...@gmail.com>
> wrote:
>
> > This is my test query
> >
> > SELECT  IF(CAST(age as numeric) < 0.5, name, last_name) as customer_name
> > FROM 307320.test_dataset.customers
> >
> >
> >
> > On Fri, Dec 17, 2021 at 5:47 AM Maxim Gramin <mgra...@querifylabs.com>
> > wrote:
> >
> > > Can you show the query? I don't see this one.
> > >
> > > On Thu, Dec 16, 2021 at 10:12 PM Arash Bizhan zadeh <aras...@gmail.com
> >
> > > wrote:
> > >
> > > > Hi,
> > > > I am trying to create a parser to parse big query statements like
> this
> > -
> > > > this is kotlin btw:
> > > >
> > > > val sqlParserConfig = BigQuerySqlDialect(
> > > >
> > > >
> > >
> >
> BigQuerySqlDialect.DEFAULT_CONTEXT.withDatabaseProduct(SqlDialect.DatabaseProduct.BIG_QUERY)).configureParser(SqlParser.config()
> > > >       .withParserFactory(SqlBabelParserImpl.FACTORY)
> > > >
> > > >       .withConformance(SqlConformanceEnum.BIG_QUERY))
> > > >     val parser = SqlParser.create(str, sqlParserConfig)
> > > >
> > > > but the resulting parser seems not to understand BQ specific things
> > like
> > > > the `IF` function.
> > > >
> > > > How can I properly construct a SqlParser?
> > > >
> > >
> >
>

Reply via email to