Re: [BUGS] BUG #5845: Postgres does not seem to handle unquoted upper cased object identifiers
Excerpts from Kasia Tuszynska's message of lun ene 24 16:48:21 -0300 2011: Basic issue: In the documentation Postgres states that it's identifiers (table, column names etc)are case insensitive and thus it stores everything in lower case. To preserve case of a identifier, the name needs to be quoted. But it's handing of incoming upper cased identifiers seems to be inconsistent. We have observed the following: create table á007 (objectid integer); select * from á007;Found select * from Á007;Not Found Yes, this is a known limitation, but previous discussions about it haven't led to finding a solution to the problem. -- Álvaro Herrera alvhe...@commandprompt.com The PostgreSQL Company - Command Prompt, Inc. PostgreSQL Replication, Consulting, Custom Development, 24x7 support -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs
[BUGS] BUG #5845: Postgres does not seem to handle unquoted upper cased object identifiers
The following bug has been logged online: Bug reference: 5845 Logged by: Kasia Tuszynska Email address: ktuszyn...@esri.com PostgreSQL version: 9.0.2 Operating system: Windows 2008 R2 (64bit) Description:Postgres does not seem to handle unquoted upper cased object identifiers Details: This issue was reported by a customer in Spain, the original examples with table and column names specific to the Spanish language. Basic issue: In the documentation Postgres states that it's identifiers (table, column names etc)are case insensitive and thus it stores everything in lower case. To preserve case of a identifier, the name needs to be quoted. So, in the example: create table TESTá007 (objectid integer); create table testá007 (objectid integer); - the second statement should fail with a table exists error. But it's handing of incoming upper cased identifiers seems to be inconsistent. We have observed the following: create table á007 (objectid integer); select * from á007;Found select * from Á007;Not Found create table Á008 (objectid integer); select * from Á008;Found select * from á008;Not Found This inability to ignore the case causes problems when trying to delete the table. It seems that the upper and lower functions are not working as expected: select upper('ñ006'),lower('Ñ005'); ñ006;Ñ005 Environments Tested: Version 8.3.8 (codepage win1252 and Spain locale): --all query return records correctly with upper and lower case. Version 9.0.0: --error trying to delete table á008 Version 9.0.2(codepage win1252 and Spanish locale) --error trying to delete table á008 -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs