Re: JDBC bug? - Mailing list pgsql-jdbc

From Bruce Momjian
Subject Re: JDBC bug?
Date
Msg-id 200111261917.fAQJHVa09726@candle.pha.pa.us
Whole thread Raw
In response to Re: JDBC bug?  ("Colin Freas" <cef6@georgetown.edu>)
List pgsql-jdbc
> >> 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.

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

pgsql-jdbc by date:

Previous
From: "Ross J. Reedstrom"
Date:
Subject: Re: JDBC bug?
Next
From: Rene Pijlman
Date:
Subject: Re: CallableStatements