Re: unary operators, precedence, grouping - Mailing list pgsql-general

From Tom Lane
Subject Re: unary operators, precedence, grouping
Date
Msg-id 16862.1173546859@sss.pgh.pa.us
Whole thread Raw
In response to unary operators, precedence, grouping  ("woger151" <woger151@jqpx37.cotse.net>)
List pgsql-general
"woger151" <woger151@jqpx37.cotse.net> writes:
> Why wouldn't <~~(item_1) + <~~(item_2) be parsed as (<~~(item_1)) +
> (<~~(item_2))?

Because it's parsed as
    <~~ ( (item_1) + ( <~~ (item_2) ) )
"+" binds more tightly than any non-built-in operator, per the
precedence chart in the manual:
http://www.postgresql.org/docs/8.2/static/sql-syntax-lexical.html#SQL-PRECEDENCE
so this interpretation is preferred over the alternative
    ( <~~ (item_1) ) + ( <~~ (item_2) )
Those are the only two possibilities without getting into right-unary
operators, which the parser is generally designed not to do if it can
avoid it.

            regards, tom lane

pgsql-general by date:

Previous
From: Rich Shepard
Date:
Subject: Re: Re: Anyone know a good opensource CRM that actually installs with Posgtres?
Next
From: Tom Lane
Date:
Subject: Re: HIPPA (was Re: Anyone know ...)