Subject Re: [firebird-support] Use of double quoted names in Firebird
Author Fabricio Araujo
On Wed, 23 Mar 2005 13:56:31 +0100, Kjell Rilbe wrote:

>
>Fabricio Araujo wrote:
>
>> On Wed, 23 Mar 2005 12:01:33 +0100, Kjell Rilbe wrote:
>> Why you can't accept the fact that case sensitive idents can create
>> very annoying and obscure programming errors? A sleepless night is
>> just enough to this.
>> These errors simple doesn't exist in case insensitive idents.
>
>I can't accept the fact that such simple errors as simple typos could
>cause such big problems as to losing sleep over it. No. I can't.
>In Delphi, if you do a typo (other than wrong case, which Delphi
>ignores), it will be caught as soon as you try to compile. You correct
>it and try again. Problem solved in less than 10 seconds.

Case mistakes is NOT a problem Delphi.

>In C++, if you do a typo (including wrong case), it is also caught as
>soon as you try to compile. Due to C++ complexity the error message
>might be slightly more difficult to decipher, but once that problem is
>solved you just correct the typo and try again. Problem probably solved
>in less than a minute.

Unless you have variables that differ only the case...

>In SQL, if you do a typo in a query, it will be caught with a usually
>pretty clear and helpful error message the first time the query is
>prepared. You correct the typo and try again. If you change a query,
>you'd better try to execute it at least once before putting it into your
>production environment, otherwise you're a lunatic. If you do, you will
>find the typo and correct it. Problem solved in less than a minute.

Unless you use quoted identifiers for table, fields, constraints, etc.
If two names differ only in case, you'll take the wrong field and won't
get a SQL exception. And you won't see the difference. If in 50 tables
there
are two fields with different cases and same name, this error will take

hours to discover.

>For SP:s, it's even better, because then the typo will be detected by
>the SP compiler immediately when you try to (re)create the SP. Problem
>solved in 10 seconds.

Unless the returned field must be a quoted ident, and you err the case
of ONE letter. You won't see it as the data is returned absolutely
correct. But it'll disrupt the application that access that sp.