Subject Re: [firebird-support] Use of double quoted names in Firebird
Author Kjell Rilbe
Lester Caine wrote:

> In the good old days identifiers were always UPPER_CASE and I prefer to
> retain that convention. Using lower case when writing scripts was
> possible, but keeping to the UPPER_CASE version made everything
> consistent, and as I remember dBase would use any valid UPPER_CASE
> character set as long as you did not try and mix them.

Consistent for whom? As Martijn has mentioned, some languages might
differ from others in how case conversion works. So, having case
insensitive identifiers is bound to cause problems unless we stick to
ASCII only.

IMO, quotes are even stronger markers that "this is an identifier" than
uppercase is. Especially since the SQL itself can be written in
uppercase, e.g.

SELECT MYTHING
FROM THATTABLE
WHERE SOMETHINGELSE = :MYPARAM
ORDER BY THELARCH

is not as easy to read as this:

SELECT "MyThing"
FROM "ThatTable"
WHERE "SomethingElse" = :MyParam
ORDER BY "TheLarch"

or this:

select "MyThing"
from "ThatTable"
where "SomethingElse" = :MyParam
order by "TheLarch"

> People kept pestering for upper and lower case, and the "MiXeD" method
> seemed a way to go, but I never saw any strong reason that it was
> actually NECESSARY.

Nothing's *necessary*. We can actually live entirely without computers
if we want to. But do we?

> It was pure aesthetics and of little practical value
> as no one in their right mind would use "UPPER" and "Upper" as two
> different fields (would they?).

Hopefully not, but that's not the point. The point is to avoid as many
conversions from the original idea as possible. That implies support for
any case mixed anywhichway and any characters, national or otherwise,
and never convert case, strip accents or anything. In other words:
quoted case sensitive identifiers in unicode. That's it.

> The starting point in all of this is WHICH character set do you use, and
> a move to standardise on UTF-8 seems quite strong.
> http://www.cl.cam.ac.uk/~mgk25/unicode.html provides a nice summary -
> linux based, but most applies equally to Windows. It seems a little out
> of date as it even highlights the UTF-8 6 byte sequences, but it does
> seem to be a very useful reference doc. Given that Unicode provides a
> defined UPPER_CASE conversion is also a good start - even given the
> minor gray areas :)

Agreed, except that I strongly disagree about uppercasing identifiers.
It will cause problems.

Kjell
--
--------------------------------------
Kjell Rilbe
Adressmarknaden AM AB
E-post: kjell.rilbe@...
Telefon: 08-761 06 55
Mobil: 0733-44 24 64