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.
"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
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера