Teg wrote:

> Why not use "?" then fill it in the the actual value later? Quoting
> and having to actually look at values to make sure they were legal
> gave me no end of problems now I:
>   ...
> I never pass any kind of quoted values any more.

I'm sorry, my previous post is quite obscure. This is because my English
is not very good. Now I try to explain it in more clear terms:

1. SQLite has a feature of double-quoted column names. It is good
   feature and is part of SQL standard.

2. Double-quoting allows columns with internationalized names.
   I teach SQL-92 to russian beginner students, and use SQLite
   in this course. Many students like gives russian names to columns,
   and such columns must be double-quoted.

3. If student misprint non-English column name in complex query,
   SQLite don't report about error, but treat this misprinted name
   as string literal. This SQLite behaviour can introduce very
   subtle bugs, if error happens in subquery or aggregate function.

4. This is because SQLite allows two absolutely different meaning of
   double-quoted strings. It may be column name OR string literal.
   I think this is misfeature.
   
5. Good system must have brittle behaviour in respect of programmer
   errors. If program (or SQL query) contains error, system must
   report about this error as soon as possible. Instead, SQLite
   current behaviour hide this class of errors, and introduce bug.

6. I propose deprecation of double-quoted string literal in next
   SQLite version, and then (after some deprecation period)
   completely remove this misfeature.


Best regards,
 Alexander                            mailto:[EMAIL PROTECTED]

Reply via email to