From: | PG Bug reporting form <noreply(at)postgresql(dot)org> |
---|---|
To: | pgsql-bugs(at)postgresql(dot)org |
Cc: | binoternary(at)gmail(dot)com |
Subject: | BUG #14986: -2147483648 is minimum value of integer but -2147483648::integer fails (out of range). |
Date: | 2017-12-20 12:20:32 |
Message-ID: | 20171220122032.25740.1219@wrigleys.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
The following bug has been logged on the website:
Bug reference: 14986
Logged by: Indrek Loolaid
Email address: binoternary(at)gmail(dot)com
PostgreSQL version: 10.1
Operating system: Ubuntu 16.04.3 LTS
Description:
Documentation in
https://www.postgresql.org/docs/current/static/datatype-numeric.html states
that the range for integer type is -2147483648 to +2147483647.
However casting the minimum value literal with :: syntax to integer fails
(ERROR: integer out of range).
postgres=# select version();
version
----------------------------------------------------------------------------------------------------------------
PostgreSQL 10.1 on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu
5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609, 64-bit
(1 row)
postgres=# select -2147483648::integer;
ERROR: integer out of range
postgres=# select cast(-2147483648 as integer);
int4
-------------
-2147483648
(1 row)
postgres=# select (select -2147483648)::integer;
?column?
-------------
-2147483648
(1 row)
The expected outome is that the first query returns the same result as the
other two.
Bigint and smallint types have the same issue.
From | Date | Subject | |
---|---|---|---|
Next Message | Magnus Hagander | 2017-12-20 12:25:38 | Re: BUG #14986: -2147483648 is minimum value of integer but -2147483648::integer fails (out of range). |
Previous Message | PG Bug reporting form | 2017-12-20 10:05:40 | BUG #14985: ExecCopySlotTuple not set "type id" and "type mod" when from minial tuple" |