I've included a portion of the GDA_STATUS file which brings up some questions:
- To avoid having the backend commit everything twice (because of the Qof two phase commit protocol), saved objects are marked clean when committed. To do this, I need to reach right into the QofInstance structure and clear the dirty flag. There should be a better way to do this. Note this also keeps the book from being marked dirty. Q: If a db backend becomes the standard and xml is only for import/export, does the concept of clean/dirty disappear? - Recurrences are currently only used by budgets, and recurrence save/restore is included in the budget save/restore code. If recurrences will eventually be used elsewhere in GC, recurrence save/restore code may need to be split out on its own (separate recurrences table?) - The backend has its own tables for objects which include db-related info. Can these be merged with the engine object tables? Some engine tables don't exist (commodity), some have extra parameters, some don't have all needed parameters, some don't have setters for every parameter, some have an inappropriate setter, ... I've often wondered if the engine object <-> backend interface should NOT use the standard get/set APIs but should be more of a serialize/deserialize interface where when an object is to be committed, the object's SaveYourself method is called. This method grabs the backend and calls SaveThisParameter multiple times. When loading, the object would be malloc'ed and then its RestoreYourself method would be called. This would call the backend's RestoreThisParameter. This would also solve the problem of commits occuring while an object is being loaded (I have a flag to catch these). - When a price is committed, the priceDB is also committed. Could there eventually be multiple priceDBs? The priceDB is currently ignored. - Multiple books? The old postgres backend had a books table. If the new db should have one, accounts (and other objects) should have a book guid field. - If I try to "Save As" and type a url (e.g. gda://xxx), this gets converted to file:///home/phil/.../gda%3F%2A%2Axxx. (I don't remember the % escapes exactly, but you get the picture). I tried adding gtk_file_chooser_set_local_only( file_box, FALSE) but that didn't help. Phil _______________________________________________ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel