[DB-SIG] Abstraction layer confusion, ULA (was Re: Database Abstraction in Python)

Anthony Baxter anthony at interlink.com.au
Mon Apr 18 16:04:15 CEST 2005

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.

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
   binding input variables

Anthony Baxter     <anthony at interlink.com.au>
It's never too late to have a happy childhood.

More information about the DB-SIG mailing list