DBI backend design questions
Graham Menhennitt
graham at menhennitt.com.au
Mon Jul 20 02:06:30 EDT 2009
I've been playing with the new DBI backend over the weekend. I have a
couple of questions and I potentially have a couple of bugs too, but I
need to test a bit further.
A number of times Derek has said that, despite using a DB as the
backend, GnuCash is not a real DB app. I'd like to know what that means
exactly. Some things that I would expect of a DB app are:
- making all changes using DB transactions to avoid inconsistencies,
- handling multi-user access to some extent (at the very least, just
saying "DB locked" if users try to do things simultaneously),
- high level consistency if two users try to update sequentially (i.e.
you don't get primary key errors on inserting transactions),
- dynamic update of GUI to reflect changes made by other users (i.e.
register entries automatically appear on other user's GUIs).
Are any of these met by the current implementation?
In particular, if I try to open the same GnuCash DB from two machines
simultaneously, should I expect any "DB locked" message (similar to the
"could not obtain lock" message of the old XML store)? If not, what
should I expect?
Thanks for any answers,
Graham
More information about the gnucash-devel
mailing list