On Mon, 04 Jun 2007 10:41:46 +0200, M.-A. Lemburg wrote > > We still need to settle the question of what to do about numeric and > > named styles. There is some support for making both styles mandatory and > > expecting the API to automatically discern from the query string which > > parameter style is in use. > > I don't think that this is such a good idea and I'm also not sure > how you'd do that: what if a programmer mixes the two (or three) > styles by mistake ? How would the programmer test whether a > module supports this automatic detection scheme ?
If the programmer mixes incompatible parameter styles, the implementation can choose to handle it gracefully (sqlite3) or raise an exception (InformixDB). InformixDB actually allows mixing qmark and numeric in a straightforward way: The first question mark is equivalent to :1, the second question mark is equivalent to :2, etc. Only mixing positional markers and named markers raises an exception. I'd be okay with throwing an exception in any case of mixing, but I don't know how that would sit with sqlite3. The test for whether the module supports the automatic detection is module.apilevel=='3.0'. > There's also the problem of parameter type if we allow named > style. The parameters would then have to be dictionaries for > named and tuples for qmark/numeric. So you effectively change > the signature of the .execute() methods based on a parameter > which is not good style. I disagree. It's duck-typing. -- Carsten Haese http://informixdb.sourceforge.net _______________________________________________ DB-SIG maillist - DB-SIG@python.org http://mail.python.org/mailman/listinfo/db-sig