BUG #15458: pg_typeof inconsistency on negative integer constant limits

From: PG Bug reporting form <noreply(at)postgresql(dot)org>
To: pgsql-bugs(at)lists(dot)postgresql(dot)org
Cc: elprans(at)gmail(dot)com
Subject: BUG #15458: pg_typeof inconsistency on negative integer constant limits
Date: 2018-10-24 20:47:21
Message-ID: 15458-632e422e26e19786@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: 15458
Logged by: Elvis Pranskevichus
Email address: elprans(at)gmail(dot)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.

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Andres Freund 2018-10-24 20:54:32 Re: BUG #15458: pg_typeof inconsistency on negative integer constant limits
Previous Message PG Bug reporting form 2018-10-24 18:44:28 BUG #15457: please de-activate my account