On November 13, 2008 10:10:53 am Derek Atkins wrote: > What exactly is the use-case for using codes as a primary key? > Keep in mind that the SQL Backend data store is just that, a > data store. GnuCash does NOT use database constraints, and > for Accounts it doesn't even need to use an Index, because GnuCash > does (should!) load in all the accounts at start time. > > So... All searches on accounts are done in core in the gnucash app > without looking at the DB backend.
The use case is that one person wants to have another table which stores information based on the account code. I gather there are standard German account codes and he wants to key off of them. Possible alternatives are to key off of the account guid, or have a code key but don't require the code key in his table to be 2048 long. BTW, Derek is right that the SQL backend is simply a data store. When you open an SQL db, the entire contents is read in the same way the current XML file is read. Any time you add/delete/edit anything, the change is written to the db immediately, so it should help prevent data loss. Gnucash is not written as a database app. It is written assuming that all data is immediately available. Having an SQL db will open up possibilities, but the app will need a lot of work to make use of those possibilities. Phil _______________________________________________ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel