2006/11/2, Derek Atkins <[EMAIL PROTECTED]>: > Quoting Phil Longstaff <[EMAIL PROTECTED]>: > > > I have started working on a gda backend and am starting with a QofQuery > > -> SQL translator. I assume no one else has such a beast (there is a > > SQL -> QofQuery translator as part of QOF. When we get an SQL backend, > > it won't make sense to translate SQL -> QofQuery -> SQL). I have also > > looked at the pattern of queries. When GC starts, there is only one > > query - for bills which need to be paid. There is no query for the > > account tree, for example. GC must assume that session_begin loads the > > account tree. > > The PG Backend has a sample Query -> SQL converter, but it's very > limited -- it only does Transaction (Split) searches. > > > Is this expected behaviour? I had assumed that everything would be > > queried for. > > This is expected behavior. Take a look at the PG Backend. All of the > accounts are expected to get loaded at start time. From the business > side, the Tax Tables and Terms are also expected to get loaded at > start time. > > Not everything gets loaded by a query.
Why you need to load all the registers in memory? in GDA you can use a GdaDataModel to refer a table or a query and get the data *just* when you use it, I think this is better in terms of performance. > > > Secondly, I looked at the begin/commit edit behaviour when an account > > was being created. There was a *lot* of begin/commit activity on the > > commodity, including some cases of begin/commit/commit. Is this > > expected behaviour? > > Begin/Commit can be nested (and indeed SHOULD be nested, IMNSHO).. However > the begins and commits should be balanced. If they are not balanced > then that is a bug. Using a GdaDataModel or a GdaQuery, you can directly modify the data in the DataBase using a begin/commit transaction (usefull in a multiuser enviroment), of course this could fix the *autosave* future request becouse you can edit a transaction and when saved it wil be automaticaly commit to the server/database. > > Only the final commit() should push the data out to the database. > GDA allows you to commit the data directly with out a "buffer" managed by GC and then commited when the user push the "Save Button". -- Trabajar, la mejor arma para tu superación "de grano en grano, se hace la arena" (R) (entrámite, pero para los cuates: LIBRE) _______________________________________________ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel