For what it' worth now, here is the first message I posted yesterday. It might to make my last post make a little more sense.

Dennis Cote wrote:
Ulrik Petersen wrote:

I guess the next question is: Can someone verify that this is part of the SQL standard?


Yes, it looks like this is part of the SQL standards, at least for SQL:1999 and SQL:2003.

They both define a column name or table name as an identifier
(directly or indirectly). An identifier is a basically an initial
alphabetic or ideographic character followed by one or more
characters from a larger set of characters. This larger set of
characters contains alphabetic, ideographic, decimal digit,
identifier combining, underscore, alternate underscore, extender,
identifier ignorable, and connector characters. The details of these
character classes are given in the specs.
I believe that the '$' character is an ideographic character. I'm not
certain since the rules are all based on unicode character
properties. This seems to agree with what others have reported using
other database systems.
It looks like SQLite would not be able to support this and continue
to use its TCL type parameter names since the latter uses the '$'
character as the initial character. If the '$' character is not an
ideographic character (i.e. it falls into one of the other classes
like identifer combining characters), then SQLite could continue to
use the initial '$' character for its TCL parameter names.

I will see if I can find a list of these unicode character properties
that will clarify this.

Dennis Cote

Reply via email to