> On Feb 2, 2018, at 7:25 AM, Wm via gnucash-devel <gnucash-devel@gnucash.org 
> <mailto:gnucash-devel@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 

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

gnucash-devel mailing list

Reply via email to