Future allocated money, aka Envelope Budgeting

John Ralls jralls at ceridwen.us
Fri Feb 2 11:00:06 EST 2018

> On Feb 2, 2018, at 7:25 AM, Wm via gnucash-devel <gnucash-devel at gnucash.org <mailto:gnucash-devel at gnucash.org>> wrote:
> There is, IMO, work to be done on on the underlying db structure, have you seen this monster ?
> ===
> https://wiki.gnucash.org/wiki/images/8/86/Gnucash_erd.png <https://wiki.gnucash.org/wiki/images/8/86/Gnucash_erd.png>
> ===
> It is as ugly as an ugly thing (I'd say what I thought but I'd like more than a  mod to get to read this).

Sure is.

Step 1 in getting to being able to clean it up was converting the backend that implements it to C++ with clearly defined objects instead of a rather quirky collection of macros. That’s in the current “unstable” and will be released in 3.0.

Step 2 is to convert the corresponding objects in libgnucash/engine to C++ objects with proper constructors so that creating an object doesn’t involve calling a bunch of property setters (one at a time!) that want to commit the object and write it back to the database. That will be my focus for the next development cycle.

Once that’s in hand we can consider refactoring the schema into something a bit more reasonable and get away from sucking the whole DB into memory at load time.

John Ralls

More information about the gnucash-devel mailing list