Given this domain...
CREATE DOMAIN loan.loan_amount numeric(7,2) --loan.loan_amount_raw
        CONSTRAINT 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


--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to