Thread: pgsql/src/backend/parser gram.y

pgsql/src/backend/parser gram.y

From
Tom Lane
Date:
CVSROOT:    /home/projects/pgsql/cvsroot
Module name:    pgsql
Changes by:    tgl@hub.org    01/01/23 17:39:09

Modified files:
    src/backend/parser: gram.y

Log message:
    Give 'a_expr ::= a_expr Op' production a slightly lower precedence than
    Op, so that the sequence 'a_expr Op Op a_expr' will be parsed as
    a_expr Op (Op a_expr) not (a_expr Op) Op a_expr as formerly.  In other
    words, prefer treating user-defined operators as prefix operators to
    treating them as postfix operators, when there is an ambiguity.
    Also clean up a couple of other infelicities in production priority
    assignment --- for example, BETWEEN wasn't being given the intended
    priority, but that of AND.