Re: JDBC bug? - Mailing list pgsql-jdbc

From Colin Freas
Subject Re: JDBC bug?
Date
Msg-id IIEPJDIJEEBPKJGDFFBEEEDLCAAA.cef6@georgetown.edu
Whole thread Raw
In response to Re: JDBC bug?  (Bruce Momjian <pgman@candle.pha.pa.us>)
Responses Re: JDBC bug?
List pgsql-jdbc
>> Hi,
>>
>> I've found an annoyance with the postgresql JDBC driver (from the 7.1.3
>> release).
>>
>> Pardon if this has been asked before, but the web archives are offline...
>>
>> In org/postgresql/jdbc2/DatabaseMetaData.java, there are several lines
>> that call toLowerCase() on the table string names. This causes 'table
>> unknown' erros when accessing tables with mixed case in the name. This
>> popped out at me when trying to use the XML-DBMS package and also
>> DbVisualizer.
>>
>> 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.

Colin Freas


pgsql-jdbc by date:

Previous
From: Barry Lind
Date:
Subject: Re: JDBC bug?
Next
From: Stuart Robinson
Date:
Subject: Re: CallableStatements