DBI backend design questions

Derek Atkins warlord at MIT.EDU
Mon Jul 20 06:24:38 EDT 2009


Graham Menhennitt <graham at menhennitt.com.au> writes:

> 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?

Only the first is met by the current implementation.  The second
one MAY be met to some extent.  The third, probably not.  The
fourth DEFINITELY not.

> 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?

I don't know..  Ideally it would be NICE to have a DB Locked but
I suspect it will just work and let you shoot yourself in the foot.

It also depends on the underlying database.

> Thanks for any answers,
>  Graham

-derek

-- 
       Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
       Member, MIT Student Information Processing Board  (SIPB)
       URL: http://web.mit.edu/warlord/    PP-ASEL-IA     N1NWH
       warlord at MIT.EDU                        PGP key available


More information about the gnucash-devel mailing list