>> On 26/04/2009, at 8:44 AM, Jay Pipes wrote:
> +1 from me. Can we get a verification on the SQL standard? If it says
> case-insensitive identifiers, I think it's reasonable to have Drizzle
> use case-insensitive identifiers for all identifiers.
The SQL (1992/2003) standards say *unquoted* ("regular") identifiers
are transformed to uppercase for comparison - and so should be case
insensitive. Quoted ("delimited") identifiers are not transformed
that way, however, and may not compare to unquoted identifiers as
expected (at least, if you're not expecting sql-standard behavior).
The following are equivalent:
SELECT foo FROM ...
SELECT FOO FROM ...
SELECT fOo FROM ...
SELECT "FOO" FROM ...
But the following should differ from those above on a standards
compliant implementation:
SELECT "foo" FROM ...
SELECT "fOo" ... FROM ...
I believe this is defined in section 5 of the standard(s), "Lexical
Elements : Syntax Rules".
So the following should be equivalent according to the standard:
select * from t as foo inner join t as bar using (t);
select * from t as foo inner join t as bar using (T);
But not, I believe:
select * from t as foo inner join t as bar using ("t");
In slight contrast, Postgres transforms unquoted identifiers to
lowercase, rather than uppercase:
http://www.postgresql.org/docs/current/static/sql-syntax-lexical.html
At any rate, +1 for case insensitive unquoted identifiers.
~Andrew
_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to : [email protected]
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help : https://help.launchpad.net/ListHelp