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.
_______________________________________________
DB-SIG maillist  -  DB-SIG@python.org
https://mail.python.org/mailman/listinfo/db-sig

Reply via email to