Re: Negative numbers to DOMAIN casting

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Matija Lesar <matija(dot)lesar(at)gmail(dot)com>
Cc: PostgreSQL General <pgsql-general(at)postgresql(dot)org>
Subject: Re: Negative numbers to DOMAIN casting
Date: 2016-12-14 14:53:17
Message-ID: 18047.1481727197@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Matija Lesar <matija(dot)lesar(at)gmail(dot)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

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Adrian Klaver 2016-12-14 15:18:41 Re: Install doesnt set SuperUser PW
Previous Message Adrian Klaver 2016-12-14 14:45:56 Re: PostgreSQL 9.6.1: Debug window does not load function sql