Hi Tom,
thank you for the explanation.On 14 December 2016 at 15:53, Tom Lane <tgl@xxxxxxxxxxxxx> wrote:
Matija Lesar <matija.lesar@xxxxxxxxx> writes:
> I have uint4 domain created like this:
> CREATE DOMAIN uint4 AS int8
> CHECK(VALUE BETWEEN 0 AND 4294967295);
> If I try to cast negative number to this domain check constraint is not
> validated:
> SELECT -1::uint4, pg_typeof(-1::uint4), 1::uint4, pg_typeof(1::uint4);
:: binds tighter than minus, so you would need to write these like
"(-1)::uint4" to get the behavior you're expecting. See
https://www.postgresql.org/docs/9.5/static/sql-syntax- lexical.html#SQL-PRECEDENCE
regards, tom lane