From: | Benoit Menendez <benoitm(at)pacbell(dot)net> |
---|---|
To: | Barry Lind <barry(at)xythos(dot)com> |
Cc: | pgsql-jdbc(at)postgresql(dot)org, pgsql-odbc(at)postgresql(dot)org |
Subject: | Re: Case folding in DatabaseMetaData |
Date: | 2002-02-28 18:48:43 |
Message-ID: | 000b01c1c088$8c23db90$0201a8c0@osprey |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-jdbc pgsql-odbc |
Let's just say that this makes office applications fail with the existing
ODBC driver unless you override the ~~ (like) operator in the database to
use the case insensitive version of like with:
DROP OPERATOR ~~ (name, text);
CREATE OPERATOR ~~ (PROCEDURE = nameiclike, LEFTARG = name, RIGHTARG = text,
NEGATOR = !~~ );
Benoit
----- Original Message -----
From: "Barry Lind" <barry(at)xythos(dot)com>
To: "Benoit Menendez" <benoitm(at)pacbell(dot)net>
Cc: <pgsql-jdbc(at)postgresql(dot)org>; <pgsql-odbc(at)postgresql(dot)org>
Sent: Wednesday, February 06, 2002 6:19 PM
Subject: Re: [JDBC] Case folding in DatabaseMetaData
> Benoit,
>
> Postgres doesn't fold all table and column names to lowercase. If the
> identifier is enclosed in quotes then the case is preserved. Thus it is
> possible to have three tables all named test but differing in their case:
>
> TEST
> Test
> test
>
> can all exist at the same time. However to reference TEST or Test the
> identifier would need to be quoted (i.e. select * from "TEST"). All
> unquoted references are folded to lowercase.
>
> I haven't seen anything in the jdbc spec on how this should be handled.
> Does anyone know what the spec says should be done in this area, or
> what other databases jdbc drivers do?
>
> thanks,
> --Barry
>
>
> Benoit Menendez wrote:
> > Since PostgreSQL folds all table and column names (to lowercase),
> > shouldn't the DatabaseMetaData calls do the same:
> >
> >
> >
> > for example:
> >
> >
> >
> > create table FOO ...
> >
> >
> >
> > DatabaseMetaData.getColumns(null, null, "FOO", "%") returns nothing
> > since FOO has been folded to lowercase
> >
> >
> >
> > The same goes with other DatabaseMetaData taking table or column names
> > (or patterns)...
> >
> >
> >
> > A fix would be to use the case insensitive like operator when querying
> > system tables...
> >
> >
> >
> > This applies to both ODBC and JDBC as far as I can tell...
> >
> >
> >
> > I am using the latest stable versions of 7.2 and corresponding ODBC and
> > JDBC drivers...
> >
> >
> >
> > Thanks for your comments on the subject...
> >
> >
> >
> > Benoit
> >
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Mauricio S. Palazzi | 2002-02-28 19:26:59 | Postgress 7.2 and j2sdk 1.4.0 |
Previous Message | Anders Bengtsson | 2002-02-28 12:06:59 | Re: Multibyte or not? |
From | Date | Subject | |
---|---|---|---|
Next Message | Steve Wranovsky | 2002-02-28 19:03:58 | PostgreSQL 7.2 RedHat ODBC RPM Problem |
Previous Message | Erik Hjortsberg | 2002-02-28 16:41:11 | returning refcursors (into Visual Basic) |