BUG #15458: pg_typeof inconsistency on negative integer constantlimits - Mailing list pgsql-bugs

From PG Bug reporting form
Subject BUG #15458: pg_typeof inconsistency on negative integer constantlimits
Date
Msg-id 15458-632e422e26e19786@postgresql.org
Whole thread Raw
Responses Re: BUG #15458: pg_typeof inconsistency on negative integer constantlimits
List pgsql-bugs
The following bug has been logged on the website:

Bug reference:      15458
Logged by:          Elvis Pranskevichus
Email address:      elprans@gmail.com
PostgreSQL version: 11.0
Operating system:   x86_64-pc-linux-gnu
Description:

There seems to be an inconsistency in how the parser and the integer input
functions interpret the integers at the negative limit (-2 ^ 31 and -2 ^
63):


SELECT pg_typeof(-2147483648);

 pg_typeof
-----------
 integer
(1 row)

But:

SELECT -2147483648::integer;
ERROR:  integer out of range


The same issue applies to int8 as well.

PG_INT32_MIN is explicitly defined as -(2 ^ 31 - 1), and it seems 
inconsistent that the parser does not respect that when determining the 
type of numeric constants.


pgsql-bugs by date:

Previous
From: PG Bug reporting form
Date:
Subject: BUG #15457: please de-activate my account
Next
From: Andres Freund
Date:
Subject: Re: BUG #15458: pg_typeof inconsistency on negative integer constantlimits