[PYTHON DB-SIG] API conformant sybase module

Ted Horst ted_horst@il.us.swissbank.com
Tue, 7 Jan 97 18:52:01 -0600


I am looking at converting my sybase module to the Python Database API, and I  
could use a little clarification.

First off, I am looking at the 1.0 version of the API dated April 9, 1996 that  
I got from http://www.python.org/sigs/database.  Is this the most recent  
version ?

The next issue is that I don't think that sybase supports cursors.  The are  
optional in the spec, so I guess that it is OK just to skip it, but I am not  
sure how big of an issue this will be.

I have several questions on the specifics of the API.

1) Is there a reason that closing a connection has to render it useless ?  In  
my current module, I can connect and disconnect at will.  This might even be  
useful if you wanted to simulate cursors with multiple connections but keep  
your actual connection count down.

2) I don't understand how the variable binding is supposed to work.  Are the  
items in the tuple just replaced by the values or is there actually some sort  
of binding to a name in some namespace ?

3) How, when, and where are the DBI objects used ?

4) I assume that its ok to add methods, but what would people think about  
having settable attributes (eg. for the database or the connection info) ?

5) What would people think about replacing the connection function with  
something more generic.  Rather than modulename(connection_string), have  
connect(**kw).  Then some_module.connect(user = "ted", server = "local", ...)  
could work on different implementations and unused parameters could just be  
ignored.


Also, have people written generic software on top of this API ?  Is there a  
test suite ?

This should be fairly straightforward once I understand the binding.

Thanks,

Ted Horst

PS  I have not been able to connect to ftp.digicool.com, so if someone can  
send me the oracle module, let me know.




=================
DB-SIG  - SIG on Tabular Databases in Python

send messages to: db-sig@python.org
administrivia to: db-sig-request@python.org
=================