I've just checked in the last of the code for the gda backend business objects. The status is:
- The code compiles, and on startup, creates the tables - I am using sqlite as my test db. Later, testing will involve other test dbs (mysql but probably not postgresql) - I have done very basic testing on the business objects side - Things I know that still should be done - Use transactions to make operations atomic (e.g. update an object, then save its slots) - Possibly add a "known-to-be-in-the-db" flag to each object. This would allow me to bypass the check whether the object is in the db which is used to pick either an INSERT or an UPDATE. I know some dbs have some sort of INSERT-OR-UPDATE-IF-IT-ALREADY-EXISTS, but I don't know if all dbs do and I don't know how to access through libgda. However, if we want to support multi-user operation, then we either need db alerts (again, some db's have but I don't know how to use with libgda), or we need to lock/check before each operation anyway. - Multi-user features (table locking) - Indexes and other performance enhancement features (e.g. the postgres backend used a checkpoint table to keep track of balances at certain point for an account with lots of transactions. - Automated tests - Proper UI to allow more general url entry which is needed to access anything other than an sqlite db - Update max string lengths. For string fields, I just picked 50 as a standard value for length (e.g. customer name, address field length). There should be some constant defined somewhere. - Proper integration with QofQuery - I know on startup, for example, the business code queries for unpaid bills. - Testing There's probably more. Phil _______________________________________________ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel