Why no SQL Database Backend?

John Ralls jralls at ceridwen.us
Tue Sep 10 21:05:20 EDT 2013

On Sep 10, 2013, at 3:14 PM, blfs at comcast.net wrote:

> What work has already been done on fundamental code rewriting? 

We've started with unit tests. Most of QOF was done 2 years ago by a GSoC student, and I've just finished the last of the 3 core classes in Engine (Account, Split, and Transaction). 

There's a bit more work on testing: Finishing QOF, converting the scrub tests to unit tests and making sure that everything is covered, unit testing the DBI/SQL backend.

Next step is cleanup. We've got two property interfaces--QOF and GObject--and a memory management quagmire, both of which need sorting out. There's a ton of functions that are called exactly once for some "special" purpose clogging up the class interfaces. Much of that belongs in a separate "controller" (as in MVC) layer rather than in the model objects. Those 3 classes are way too co-dependent and thoroughly in each other's knickers. That needs to be cleaned up as well. There are undoubtedly ancillary classes (Lots comes immediately to mind) which will have to be tested and cleaned up as we move along.

At that point (another year or two at the current rate) we'll have to make some decisions about how to either replace QOF or make it "front" for the SQL backend.

John Ralls

More information about the gnucash-devel mailing list