No support for int8 sized binary/hex literals - Mailing list pgsql-bugs
From | pgsql-bugs@postgresql.org |
---|---|
Subject | No support for int8 sized binary/hex literals |
Date | |
Msg-id | 200102172322.f1HNMai95676@hub.org Whole thread Raw |
Responses |
Re: No support for int8 sized binary/hex literals
|
List | pgsql-bugs |
Steffen Hulegaard (9sch1@txl.com) reports a bug with a severity of 2 The lower the number the more severe it is. Short Description No support for int8 sized binary/hex literals Long Description The B'111...' and X'1F...' SQL92 literal syntax is limited to int4 sized literals. Any attempt to use an int8 sized literal > int4/32-bit word size fails. This makes it impossible to specify many int8 sized bit patterns as column default values. It makes it impossible to even insert > 32bit sized binary/hex values. Failure to support SQL92 literals for int8 types dramatically limits and/or complicates the use of int8 bit/nibble/byte composed values (bit fields, nibble/byte patterns, etc.) Sample Code /* $Id$ +-------------------------------------------------------------------- | No Copyright. Public Domain. +-------------------------------------------------------------------- | | bug5.sql 32 bit limit on SQL92 numeric literals | | Major Annoyance: Any attempt to use SQL92 string literals | (B'0101...' or X'1fa945...') whose values | exceed the 32 bit limit fail. This dramatically | limits and/or complicates usage of int8 types | for either bit fields or byte/nibble fields. | You cannot define default values for | int8 fields with binary or hex literals due | to this limitation. | | Environment ---------------------------------------------------- | RedHat 6.2 | select version(); | PostgreSQL 7.0.2 on i686-pc-linux-gnu, compiled by gcc egcs-2.91.66 | # rpm -qi postgresql-7.0.2-2 | Name : postgresql Relocations: /usr | Version : 7.0.2 Vendor: The Ramifordistat | Release : 2 Build Date: Mon 12 Jun 2000 02:21:35 PM PDT | Install date: Fri 04 Aug 2000 11:40:39 AM PDT Build Host: utility.wgcr.org | Group : Applications/Databases Source RPM: postgresql-7.0.2-2.src.rpm | Size : 7431735 License: BSD | Packager : Lamar Owen <lamar.owen@wgcr.org> | URL : http://www.postgresql.org/ | Summary : PostgreSQL client programs and libraries. | | 02/17/2000 SC Hulegaard Created. + ------------------------------------------------------------------- */ CREATE TABLE test_num_literals ( foo INT4, bigfoo INT8 ); /* try what works */ insert into test_num_literals (foo) values ( X'04040404'); /* get close to limit - this works too */ insert into test_num_literals (foo) values ( X'040404040'); /* demonstrate that it works for int8 type attributes too */ insert into test_num_literals (bigfoo) values ( X'040404040'); /* step beyond the 32 bit limit - this does *NOT* work - FAILS! */ insert into test_num_literals (bigfoo) values ( X'0404040404'); /* try to establish an int8 bit pattern - FAILS! */ insert into test_num_literals (bigfoo) values ( X'0404040404040404'); /* review what did work */ select * from test_num_literals; DROP TABLE test_num_literals ; No file was uploaded with this report
pgsql-bugs by date: