Jump to: navigation, search

GEPS 010: Relational Backend

585 bytes added, 19:51, 9 August 2009
Reasons for adding a sql backend
# BSDDB is being removed from the standard distribution of Python (as of Python 2.6)
# SQLITE is being added to the standard Python distribution
# BSDDB is not a relational database, but a hierarchical onedatastore
# BSDDB databases do not have schema or data-definitions. BSDDB requires all of the database structure logic to reside in code
# BSDDB is a programmer's API
I have been writing SQL for 20 years :) --[[User:Gburto01|Gburto01]] 23:06, 4 April 2009 (UTC)
Perhaps one of the most important reasons for moving away from a low-level datastore is to allow more sophisticated interfaces. Currently BSDDB offers transactions and recover, or multiuser access, but not both together. If we want to have a GRAMPS webapp or a multiuser GTK interface (for examples), then we would have to either disable transactions and recover (dangerous!) or switch backends. (Another option would be to write a server interface, but the complexity of that is probably on par with just switching backends. See [[GEPS 013: GRAMPS Webapp]] for more discussion.)
== Discussions of BSDDB in Python ==

Navigation menu