Thread: BUG #1626: Minimum documented values aren't accepted for all basic integer types
BUG #1626: Minimum documented values aren't accepted for all basic integer types
From
"Dennis Vshivkov"
Date:
The following bug has been logged online: Bug reference: 1626 Logged by: Dennis Vshivkov Email address: walrus@amur.ru PostgreSQL version: 7.4.6, 8.0.2 Operating system: Debian GNU/Linux sarge, kernel 2.4.x Description: Minimum documented values aren't accepted for all basic integer types Details: 8.0 documentation states: Table 8-2. Numeric Types Name Range smallint -32768 to +32767 integer -2147483648 to +2147483647 bigint -9223372036854775808 to 9223372036854775807 However, # SELECT -32768::SMALLINT; ERROR: smallint out of range # SELECT -2147483648::INTEGER; ERROR: integer out of range # SELECT -9223372036854775808::BIGINT; ERROR: bigint out of range # SELECT version(); PostgreSQL 8.0.2 on i386-pc-linux-gnu, compiled by GCC cc (GCC) 3.3.5 (Debian 1:3.3.5-5) 7.4.6 also produces errors, albeit the message is invariably `integer out of range' in all three cases.
Re: BUG #1626: Minimum documented values aren't accepted for all basic integer types
From
Tom Lane
Date:
"Dennis Vshivkov" <walrus@amur.ru> writes: > # SELECT -32768::SMALLINT; > ERROR: smallint out of range Not a bug, because that is read as "-(32768::SMALLINT)", per the documented operator precedence. Try (-32768)::SMALLINT. regards, tom lane