Subject Re: [firebird-support] Upper case behaviour
Author Eugen.Konkov@aldec.com
There is not need to test all possibilities.
create table myTable (
myField integer
)

so
select * from myTable will result column 'myField' not 'MYFIELD'
it will also allow next query
select * from mytable

>there was a discussion in the past about having another field in the
>system tables which would store the table and field names in the same way
>they were created
>but it might be a good time to bring it back up if not
I expect it will be considered

----- Original Message -----
From: Woody
To: firebird-support@yahoogroups.com
Sent: Tuesday, December 04, 2007 6:50 PM
Subject: Re: [firebird-support] Upper case behaviour


From: "Nando Dessena" <nando@...>
>
> The OP is just asking for Firebird to stay case-insensitive but become
> case-preserving, meaning it will spit out whatever case was used
> during definition. This can be done without breaking the SQL standard
> (SQL Server is a good example), but I guess it would be a very
> pervasive change to Firebird's code base. Too much to be considered.
>

I understand that but it is only an issue when printing out or looking at
table/field/proc names. It has no bearing on executing SQL at all, unless
quotes are used, so it's mainly only for the developer to be able to view it
that way. Clients will never, well generally never, see it because you
define column titles, etc. with real names, not field names when displaying.

I can tell you this. Whenever I compare strings in my own programs, I
compare them using case insensitive functions. I don't care how it was
input, it's always done that way. I'm fairly certain FB could be coded the
same way by having a common function that would test for all possibilities.
The biggest problem for this is that it would slow down processing by always
having to run these tests on every identifier. It may not seem like much,
but I'm sure it's done often enough to make it a sticking point, IMO.

Woody (TMW)





[Non-text portions of this message have been removed]