Re: [GENERAL] Negative numbers to DOMAIN casting - Mailing list pgsql-general

From Matija Lesar
Subject Re: [GENERAL] Negative numbers to DOMAIN casting
Date
Msg-id CAPx3hmPkzdDdJVXT7Zivm5M3wzHf4C+oFDkY2GaPf3Ky-VWZKA@mail.gmail.com
Whole thread Raw
In response to Re: [GENERAL] Negative numbers to DOMAIN casting  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
Hi Tom,

thank you for the explanation.

Regards,
Matija Lesar

On 14 December 2016 at 15:53, Tom Lane <tgl@sss.pgh.pa.us> wrote:
Matija Lesar <matija.lesar@gmail.com> 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

pgsql-general by date:

Previous
From: David Steele
Date:
Subject: Re: [GENERAL] pgAudit_Analyze - parse error in pgaudit_analyze.log
Next
From: Thomas Kellerer
Date:
Subject: Re: [GENERAL] pg_dump and quoted identifiers