Open main menu

Gramps β

Changes

GEPS 032: Database Backend API

382 bytes added, 11:35, 22 May 2015
no edit summary
'''DjangoDb and DictionaryDb are largely complete.'''
 
=== Step 3 ===
 
Develop a fully-tested alternative to BSDDB.
 
Proposal is to develop a <a href="https://www.python.org/dev/peps/pep-0249/">DB-API 2.0 database backend</a>, testing with sqlite.
 
The database directory will have a small initialize program to create the database, and return a class that can create the connection.
==Transactions==
Because BSDDB didn't support transaction nativelybut required a two-step transactional system, Gramps developed these this support in Python. Most database system have transaction built into the system. Most database backends will perhaps not use transactions as BSDDB does.
There still could be uses for the transactions, However. For example, we can use an abstraction for the History undo/redo. Although the current system only exists in the current session, and is limited. We can probably create a better method with more features (such as diff between versions, lifetime changes, etc).