Anthony Baxter wrote:
Isn't this the same split that Perl has with it's DBI:DBD?
In any case, I too would like to see a standard higher level API on top
of the DB-API - note that this should not be included as part of the DB-API,
but as an additional API on top of it. This API would be a good candidate
for the Python standard library - perhaps starting with something like db_row
or the like.
+1
And the DB-API needs to be tightened up - in particular things like argument
passing (binding input variables) and return values from execute are an utter
utter pain in the arse right now, as they vary across database interfaces.
As an example, an update that modifies two columns of a single row returns
1 on some implementations, 2 on others.
So in the interests of spurring action, what other parts of the DB-API need
revision? Let's make a concrete list, then this can actually move forward.
Lets put aside all higher-level APIs for the moment - I think that this is
better handled in a different PEP.
Off the top of my head:
connection paramaters
execute return values
Uhm, .executeXXX() methods don't have a return value ?!
DB API 2.0 specifies that .rowcount is to be used to access
the number of rows touched in an update, insert, etc.
.rowcount
This read-only attribute specifies the number of rows that
the last executeXXX() produced (for DQL statements like
'select') or affected (for DML statements like 'update' or
'insert').
The attribute is -1 in case no executeXXX() has been
performed on the cursor or the rowcount of the last
operation is not determinable by the interface. [7]
Note: Future versions of the DB API specification could
redefine the latter case to have the object return None
instead of -1.
binding input variables
--
Marc-Andre Lemburg
eGenix.com
Professional Python Services directly from the Source (#1, Apr 18 2005)
>>> Python/Zope Consulting and Support ... http://www.egenix.com/
>>> mxODBC.Zope.Database.Adapter ... http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/
________________________________________________________________________
::: Try mxODBC.Zope.DA for Windows,Linux,Solaris,FreeBSD for free ! ::::
_______________________________________________
DB-SIG maillist - DB-SIG@python.org
http://mail.python.org/mailman/listinfo/db-sig