>From the following operator precedence table:
https://www.postgresql.org/docs/14/sql-syntax-lexical.html#SQL-PRECEDENCE ,
it looks like Calcite is consistent with Postgresql.

Thanks for the response.

On Wed, Oct 5, 2022 at 6:52 AM Julian Hyde <[email protected]> wrote:

> Infix cast comes from Postgres. Can someone find a table of operator
> precedence in Postgres? Perhaps write a test case involving operators with
> slightly higher and lower precedence, so we can check that Calcite is
> consistent.
>
> > On Oct 4, 2022, at 10:20 AM, Itiel Sadeh <[email protected]>
> wrote:
> >
> > Hello,
> >
> > I've encountered weird parsing of infix cast with the babel parser, where
> > given the
> > following query:
> > SELECT -1 :: INT FROM t;
> > It will parse it as
> > UNARY_MINUS( CAST( 1 AS INT )),
> > while i've expected it to be
> > CAST(-1 AS INT)
> >
> > As i've looked at the code I saw that the precedence of the INFIX_CAST is
> > 94, and the precedence of the UNARY_MINUS is 80.
> >
> > Is there a reason for the INFIX_CAST's precedence to be that high? Other
> > binary operators such as BINARY_PLUS have precedence of 40.
> >
> > Thanks,
> >
> > Itiel
>
>

Reply via email to