I like the idea of using *args and **kwargs a lot. Not having to build a sequence is nice and is an option I already provide in pyodbc:
cursor.execute("insert into t(?,?)", a, b) Using the two items to differentiate between qmark and named seems like a simple idea and does not require connection or cursor variables. I also like the suggestion of *not* making either one required. ODBC drivers (and ODBC libraries themselves) already parse and rebuild SQL to replace ? with whatever is native. 1) I am very leery of modifying application SQL. 2) pyodbc is C/C++; if the community wants to provide SQL rewriting code to switch formats, I would want it in C/C++. I've seen it mentioned multiple times that it would be easy and I'm guessing the assumption is it would always be in Python. +1 for reducing the param styles to ? and named +1 for using *args and **kwargs to differentiate between them. -1 on requiring both (not yet, at least) Michael Kleehammer pyodbc maintainer http://pyodbc.sourceforge.net _______________________________________________ DB-SIG maillist - DB-SIG@python.org http://mail.python.org/mailman/listinfo/db-sig