On Tue, Nov 05, 2002 at 09:13:23PM -0600, Matthew Vanecek was heard to remark:
> 
> It will be extremely useful in a business environment, and I have a
> twisted penchant for database design. :(  So, yes, we're doing something
> about it.  The plan is to make the database backend more extensible. 
> That would allow, e.g., the addition of business objects, or budgeting,
> etc.
> 
> I've been working on a redesign, and am currently finishing up the data
> model, with only one or two entities remaining.  That said, however,
> it's never a good idea to access the data store directly, not when
> there's a good API to go through.

Ohh, good, I was wondering what the status was.

> These will likely not maintain the exact current structure.  The backend
> should be accessed via the Engine API.

FYI, the current backend has an interesting stunt for dealing with
version changes& backwards compat.   Basically, the engine checks 
a version number stored in the db, and performs a restructuring of 
the db tables, if needed.  Fundamentally incompatible version 
changes bump the major version number, but backwards compatible 
changes bump only the minor version and/or revision.  

Things like freecoins or older versions of gnucash can use
the version table to determine if they even know the db structure.
(Old versions of gnucash do check this table, and will operate
only if the changes to the db were backwards compat, i.e. didn't
bump the major version.)

It helps avoid having to upgrade lots of old clients in lockstep with
db changes.

--linas

-- 
pub  1024D/01045933 2001-02-01 Linas Vepstas (Labas!) <[EMAIL PROTECTED]>
PGP Key fingerprint = 8305 2521 6000 0B5E 8984  3F54 64A9 9A82 0104 5933

Attachment: msg01252/pgp00000.pgp
Description: PGP signature

Reply via email to