PostgreSQL & Freecoins

Linas Vepstas linas@linas.org
Tue, 5 Nov 2002 21:50:09 -0600


--EuxKj2iCbKjpUGkD
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Tue, Nov 05, 2002 at 09:13:23PM -0600, Matthew Vanecek was heard to rema=
rk:
>=20
> 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.=20
> That would allow, e.g., the addition of business objects, or budgeting,
> etc.
>=20
> 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=20
a version number stored in the db, and performs a restructuring of=20
the db tables, if needed.  Fundamentally incompatible version=20
changes bump the major version number, but backwards compatible=20
changes bump only the minor version and/or revision.=20=20

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

--=20
pub  1024D/01045933 2001-02-01 Linas Vepstas (Labas!) <linas@linas.org>
PGP Key fingerprint =3D 8305 2521 6000 0B5E 8984  3F54 64A9 9A82 0104 5933

--EuxKj2iCbKjpUGkD
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iD8DBQE9yJFxZKmaggEEWTMRArYAAJsEFbniPBl9qX13jnOK4aGvhMhV9QCeJiOO
VGKnFrdXvNOsLfoCZ5nbDWU=
=TDdi
-----END PGP SIGNATURE-----

--EuxKj2iCbKjpUGkD--