Hi Chris

Well, feel free to saut� my own words and feed them to me :) A good test would be to start porting it to a few more database implementations. Oracle or some ODBC-based connection would be great, but I don't have access to that. I can try for PostgreSQL if you like (via pyPgSQL or psycopg) if you like. Does it come with a bunch of unit tests ?

:-)

I used to support Gadfly and Marc-Andre's ODBC driver too but Gadfly didn't support NULLs and ODBC wasn't open source so I dropped them both. Since the code worked with them both a few releases ago I'm fairly confident that it should be easy to implement drivers for ODBC and indeed most SQL databases, certainly PostgreSQL. There is also a driver mechanism in the pure Python implementation to allow data to be stored in different formats, I've currently only implemented a DBM driver but at one point also had a CSV driver too so the whole system is fairly extensible.

If you are keen to implement a PostgreSQL driver that would be fantastic.. you just derive from database.drivers.base, use database.drivers.mysql as an example. There are five unit tests but I haven't distributed them yet. Here is a zip of the CVS tree with the tests if it is helpful: http://pythonweb.org/projects/pdbc/PDBC.zip I'll package up a proper release in the next few weeks and provide some better documentation. Did you notice the SQL console program which works like the MySQL prompt but for all supported databases in portable mode?

More generally, do people feel this is a useful piece of software? Since the same API is used to access all underlying DB-API 2.0 drivers, this could be a useful way of distributing all the DB-API drivers in one package. If people wanted to implement drivers for the databases they use we could implement a feasible database abstraction layer that was genuinely portable when used in portable mode and provided full access to the underlying database in direct mode. Would this not form a useful basis for a DB-API 3.0?

James

_______________________________________________
DB-SIG maillist  -  [email protected]
http://mail.python.org/mailman/listinfo/db-sig

Reply via email to