[Python-Dev] Re: GadflyDA in core? Or as add-on-product?

Richard Jones rjones@ekit-inc.com
Wed, 22 Jan 2003 12:16:13 +1100

On Wed, 22 Jan 2003 12:03 pm, Kevin Altis wrote:
> Interesting. I'm in the process of trying out Gadfly, PySQLite, and MetaKit
> as embedded databases. For reference, the links are:
> Gadfly
> http://gadfly.sourceforge.net/
> SQLite and PySQLite
> http://www.hwaci.com/sw/sqlite/
> http://pysqlite.sourceforge.net/
> MetaKit, Mk4py, MkSQL
> http://www.equi4.com/metakit/
> http://www.equi4.com/metakit/python.html
> http://www.mcmillan-inc.com/mksqlintro.html
> All are embeddable databases, but they each have their pros and cons.

Gadfly has the advantage that any marshallable Python object may be stored 
with no mess, no fuss. Sqlite is restricted to only storing strings. Metakit 
supports a variety of data types, but no explicit NULL. Actually, the three 
support wildly different types of "unset" values:

gadfly: python's None
sqlite: sql NULL      (and all its quirks ;)
metakit: no support

Gadfly has the additional benefit that any Python object may support its View 
interface, and thus participate in SQL queries. Pretty powerful stuff.

> Since it doesn't use a memory map like MetaKit, it should work equally well
> with small and large data sets.

I'm not sure this is a reasonable statement to make.

> I would be interested in seeing both Gadfly and PySQLite supported in the
> standard libs. I'm guessing that Gadfly needs a lot of testing and probably
> bug fixes to justify including it in the 2.3 standard libs.

Gadfly has outstanding bugs (see the sourceforge bug tracker). It has a suite 
of unit tests, but these are far from complete. It needs volunteers :)

It'd also be nice for gadfly to support SQL "LIKE" expressions, but that also 
requires work under the hood by some generous volunteer :)