Cast has higher precedence than - - Mailing list pgsql-hackers

From Jim Nasby
Subject Cast has higher precedence than -
Date
Msg-id 5546BFC1.9070009@BlueTreble.com
Whole thread Raw
Responses Re: Cast has higher precedence than -  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Given this domain...
CREATE DOMAIN loan.loan_amount numeric(7,2) --loan.loan_amount_rawCONSTRAINT loan_amount__greater_equal_0 CHECK( VALUE
>=0 )CONSTRAINT loan_amount__less_equal_20000 CHECK( VALUE <= 20000 )
 
;

I was rather surprised by

select -1::loan.loan_amount; ?column?
----------    -1.00
(1 row)

The problem is that :: binds more tightly than -:

select (-1)::loan.loan_amount;
ERROR:  value for domain loan.loan_amount violates check constraint 
"loan_amount__greater_equal_0"

Is this by design? If not, any ideas how bad it'd be to fix?
-- 
Jim Nasby, Data Architect, Blue Treble Consulting
Data in Trouble? Get it in Treble! http://BlueTreble.com



pgsql-hackers by date:

Previous
From: Anton
Date:
Subject: optimization join on random value
Next
From: Tom Lane
Date:
Subject: Re: Cast has higher precedence than -