BUG #5845: Postgres does not seem to handle unquoted upper cased object identifiers

From: "Kasia Tuszynska" <ktuszynska(at)esri(dot)com>
To: pgsql-bugs(at)postgresql(dot)org
Subject: BUG #5845: Postgres does not seem to handle unquoted upper cased object identifiers
Date: 2011-01-24 19:48:21
Message-ID: 201101241948.p0OJmLeL005707@wwwmaster.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs


The following bug has been logged online:

Bug reference: 5845
Logged by: Kasia Tuszynska
Email address: ktuszynska(at)esri(dot)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

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message David E. Wheeler 2011-01-24 23:41:01 BUG #5846: Segfault Postgresql Built with --lib-libedit-preferred
Previous Message Murray S. Kucherawy 2011-01-24 18:48:25 Re: BUG #5837: PQstatus() fails to report lost connection