Skip site navigation (1) Skip section navigation (2)

Re: JDBC bug?

From: Barry Lind <barry(at)xythos(dot)com>
To: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: JDBC bug?
Date: 2001-11-26 20:09:20
Message-ID: 3C02A170.8060205@xythos.com (view raw or flat)
Thread:
Lists: pgsql-jdbc
I haven't seen any evidence in this thread of a JDBC bug.  The original 
posting refered to calls in the DatabaseMetaData classes doing 
toLowerCase().  This is appropriate because the DatabaseMetaData class 
is querying the pg_* tables to get information about database objects, 
thus since the backend stores the identifiers in lower case, therefore 
the jdbc code needs to do a toLowerCase().  The followup below is more 
of a complaint on how SQL is case insensitive and if you have created 
your objects with quoted mixed case identifiers you need to access them 
via quoted mixed case identifiers.  I haven't seen any evidence that 
basic SQL operations (select, insert, update, delete) have a bug in them.

thanks,
--Barry

Bruce Momjian wrote:

>>>>So does postgres not support mixed case in table names, or the backend
>>>>does but the clients dont, or what?
>>>>
>>>Well, we support mixed case identifiers, but they need to be
>>>double-quoted, as you saw.  The \d behavior looks correct.  The jdbc
>>>issue looks more complicated because we are forcing lowercase in the
>>>jdbc code.  Perhaps some jdbc folks can comment on that.
>>>
>>I think Nate's being kind calling this an annoyance.  I may have missed
>>something in the docs, but I just spent a few frustrating hours confronting
>>a similar issue with tables of mixed case.  Everything was working correctly
>>with my servlet, except when I referenced a column with a name like
>>questionID in a where clause.  Note the casing.  I had no idea this is what
>>was wrong until, other ideas exhausted, I recreated my query text with
>>pgadmin's query wizard and it put quotes around everything in the SQL it
>>generated.
>>
>>Is there a pqsql-jdbc log somewhere that this might have shown up?  I was so
>>sure it was my java code (which in the end it was, sort of :) I never
>>bothered to check any Postgres logs.  Would it have shown up somewhere
>>there?  Either way, personally, I think this isn't the best behavior.  I
>>don't want to get into a casing flame war, but, I would've expected an
>>exception if it couldn't figure out what was happening with the where
>>clause, something at least.
>>
> 
> Yes, I agree, it clearly looks like a jdbc bug.  If you have created
> mixed-case identifiers, the jdbc toLower call make accessing it
> impossible.  If we can trust the case of the indentifier supplied, we
> can just put double-quotes around it to preserve the case as passed to
> the backend.
> 
> 



In response to

Responses

pgsql-jdbc by date

Next:From: Bruce MomjianDate: 2001-11-26 20:13:36
Subject: Re: JDBC bug?
Previous:From: Rene PijlmanDate: 2001-11-26 19:57:14
Subject: Re: CallableStatements

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group