[DB-SIG] DBAPI 3.0: Unified parameter style
Tony Locke
tlocke at tlocke.org.uk
Fri Sep 13 19:54:35 CEST 2013
Hi, I'm a contributor to the PG8000 Postgres driver:
https://github.com/mfenniak/pg8000/tree/py3
Having read the interesting DBAPI 3.0 wiki page:
https://wiki.python.org/moin/DbApi3
I thought I'd give a suggestion for unified parameters. Apologies if
this has been suggested before, I did have a look at the archives :-)
In DBAPI 2.0, the parameters to execute() can be a sequence or a
mapping. In DBAPI 3.0, the paramstyle attribute should be removed, and
the style determined by whether the parameters are a sequence or
mapping. For a sequence the 'numeric' style is expected, and for a
mapping the 'named' style. For example:
execute("select * from emp where name = :1", ['horatio'])
execute("select * from emp where name = :name", {'name': 'horatio'})
The reason I like this solution is that if someone asked me how
parameters work in DBAPI, this one would be the easiest to explain!
Any thoughts?
Cheers,
Tony.
More information about the DB-SIG
mailing list