Christopher Browne <[EMAIL PROTECTED]> writes:
> It is thus *absolutely essential* that "GnuCash, for General Deployment,"
> use some form of embedded database.
>
> Thus, at the base level, No SQL Spoken Here, Thank You...
That doesn't follow at all. SQL is an interface, you can have an SQL interface
to a simple flat file database if you want and have the driver be entirely
embedded.
> But that would be pointless, and much of the talk of "doing database
> stuff" betrays a lack of comprehension of the source code that actually
> resides in ~/src/engine/.
>
> Personally, I don't see much value in bothering with multiple database
> forms, because GnuCash doesn't really use a "database," but rather uses a
> "document" paradigm, where you have a set of books that consists of:
> a) A tree of accounts,
> b) A tree of "splits" that point back to the accounts.
> It is *all* loaded into RAM at the start, and then THE WHOLE THING gets
> dumped to disk at the end.
Hm, I admit to a lack of knowledge about the file handling code then. I guess
I was assuming the original subject was broached by someone who knew more.
It's somewhat disappointing that gnucash's file handling code is so primitive
then. It means it will never be able to handle more than basically a simple
personal checkbook.
You're absolutely right the only way having a generic database interface
capable of using a relational database makes sense is if the structure of the
data is represented by the data model of the relational database.
This would allow other applications to read the data and generate reports
easily, even sql reporting tools not specifically designed for Gnucash data.
It would even allow Gnucash to be a component of a larger system in which the
data would be transparently linked. An entire small business financial system
could be built to share a single data source.
That doesn't mean working on the current codebase is a waste of time, it will
still fill a niche and be very useful to many people when it's ready.
--
greg
--
Gnucash Developer's List
To unsubscribe send empty email to: [EMAIL PROTECTED]