BUG #18481: BIGINT Out of Range Error When Selecting Data
The following bug has been logged on the website:
Bug reference: 18481
Logged by: Wenking Deng
Email address: dengwenking@gmail.com
PostgreSQL version: 16.0
Operating system: Ubuntu
Description:
Create the table and insert the values:
CREATE TABLE t0 (c_0 BIGINT, c_1 BIGINT, c_2 BIGINT);
INSERT INTO t0 VALUES (-9223372036854775808, 145477110, 0);
Then I executed the following query:
SELECT t0.c_1
FROM t0
WHERE (t0.c_2 <> t0.c_0 * t0.c_1 AND t0.c_0 = -9223372036854775808)
AND t0.c_1 = 145477110;
Expected Behavior:
The query should return: 145477110
Actual Behavior:
The query results in an error: ERROR: bigint out of range
Hi,
Le lun. 27 mai 2024 à 17:57, PG Bug reporting form <noreply@postgresql.org>
a écrit :
The following bug has been logged on the website:
Bug reference: 18481
Logged by: Wenking Deng
Email address: dengwenking@gmail.com
PostgreSQL version: 16.0
Operating system: Ubuntu
Description:Create the table and insert the values:
CREATE TABLE t0 (c_0 BIGINT, c_1 BIGINT, c_2 BIGINT);
INSERT INTO t0 VALUES (-9223372036854775808, 145477110, 0);Then I executed the following query:
SELECT t0.c_1
FROM t0
WHERE (t0.c_2 <> t0.c_0 * t0.c_1 AND t0.c_0 = -9223372036854775808)
AND t0.c_1 = 145477110;Expected Behavior:
The query should return: 145477110Actual Behavior:
The query results in an error: ERROR: bigint out of range
PostgreSQL is correct. Multiplying c_0 and c_1 gives a result bigger than a
bigint, hence the error.
--
Guillaume.