On 4/19/06, Gerhard Häring <[EMAIL PROTECTED]> wrote: > M.-A. Lemburg wrote: > > [...] > > If that's the case, then I suppose supporting qmark style > > wouldn't be too much of a problem. > > It's doable, but it requires parsing the SQL, i. e. find all the qmarks > that are not inside SQL string literals. > > Databases like MySQL, PostgreSQL (*) and SQLite 2.x don't natively > support parameter binding, so the Python adapter will end up quoting > parameters and stuffing them in the query string.
-1 on making qmark mandatory, even though I am constantly having to correct newbies who see %s and think, "I must use a string formatting operator since I am too ignorant to read PEP-249". On the other hand, MySQL-4.1 and newer *does* support ? as a placeholder *iff* you are using the prepared statement API, which MySQLdb does not implement *yet*, but that is one of the next things to do. One complication is, not all SQL statements will work with the prepared statements API, and there is a lot of code out there that correctly uses %s. I am probably going to have to have some means for indicating what paramstyle is in use by the application, so the driver can transliterate it if it needs to, and that's one of the things I have to figure out for MySQLdb-1.3/1.4/2.0. -- The Pythonic Principle: Python works the way it does because if it didn't, it wouldn't be Python. _______________________________________________ DB-SIG maillist - [email protected] http://mail.python.org/mailman/listinfo/db-sig
