Обсуждение: case sensitivity

Поиск
Список
Период
Сортировка

case sensitivity

От
"Simon Crute"
Дата:
Hi all,

  I'm having some problems converting a CGI app from oracle to postgres (it
uses Perl & DBI)

When using sth->fetchrow_hashref() against the Oracle DBD, the keys are all
in upper case.

When using sth->fetchrow_hashref() against the Postgres DBD, the keys are
all in lower case.

Now, I'm not sure if oracle converts all column names to upper case, or if
postgres doesn't and "should", but I need to know if there's an easy way to
persuade the postgres DBD driver to return the names in upper case.


As separate point, postgres seems to be bothered about case a lot more than
oracle. My DBA spent ages looking at why a query using count didn't work.
Took a non DBA like me to suggest trying upper case :)

Is there anyway of "relaxing" postgres's demands to exact case, or is this
by design ?

Thanks.





Re: case sensitivity

От
Tom Lane
Дата:
"Simon Crute" <simon-news@nospam.geordie.demon.co.uk> writes:
> As separate point, postgres seems to be bothered about case a lot more than
> oracle.

AFAIK we're exactly as picky about it as Oracle, just in the opposite
direction.

            regards, tom lane

Re: case sensitivity

От
"Simon Crute"
Дата:
If anyone's interested,
I found the answer to my first question buried in the DBI docs
(fetch_hashref("NAME_uc") if anyone's interested)


With regards to case
> AFAIK we're exactly as picky about it as Oracle, just in the opposite
> direction.

I think there's some differences in function names. In oracle I think you
can get away with count(), or COUNT(), in postgres it has to be COUNT(), but
this was probably going through the perl DBI, so that may have been
complicating things.







Re: Re: case sensitivity

От
newsreader@mediaone.net
Дата:
On Sun, May 13, 2001 at 11:21:20AM +0100, Simon Crute wrote:
> If anyone's interested,
> can get away with count(), or COUNT(), in postgres it has to be COUNT(), but
> this was probably going through the perl DBI, so that may have been

been using count() since the
beginning of time

Re: Re: case sensitivity

От
Gilles DAROLD
Дата:
Simon Crute wrote:

> If anyone's interested,
> I found the answer to my first question buried in the DBI docs
> (fetch_hashref("NAME_uc") if anyone's interested)
>
> With regards to case
> > AFAIK we're exactly as picky about it as Oracle, just in the opposite
> > direction.
>
> I think there's some differences in function names. In oracle I think you
> can get away with count(), or COUNT(), in postgres it has to be COUNT(), but
> this was probably going through the perl DBI, so that may have been
> complicating things.

Oracle doesn't care about case sensitive in queries, Postgres too if you don't
quote tablename or columnname at creation time. If you use quote and upercase
at creation time you may quote it as well in you're queries. Function can be
lower
or upper case it doesn't matter at least in PostgreSQL 7.0.3.

SELECT COUNT(*) FROM "T_USERPREF";
select count(*) from "T_USERPREF";

Works well.

But you want columname returned as uppercase and you find the way...