On Jan 14, 2014, at 8:05 AM, David Osguthorpe <david.osgutho...@gmail.com> 
wrote:

> On Mon, Jan 13, 2014 at 03:59:29PM -0800, John Ralls wrote:
>> 
>> Please remember to copy the list on all replies. Use “reply all” or, if your 
>> mailer supports it, “reply list”.
> 
> sorry - on some lists the list email is first - others not - remembering 
> which one is which
> is a problem
> 
>> 
>> You should use the Query interface to find objects. If there are any 
>> “foo_find_by_bar” functions in the API now, they’ll be ripped out in the 
>> rewrite. In order to get to multiuser we’ll only be instantiating objects on 
>> demand, ideally only to edit unless it turns out to be easier to instantiate 
>> for viewing.
>> 
> 
> what is the Query interface - is that the libqof functions??
> 
> Is there an example which shows how this is done  - I dont remember seeing 
> any query functions
> for budgets in gnc-budget.c

The current interface is QOFQuery. All of the persistent objects in Engine 
implement the QOFObject interface which QOFQuery uses, so it's available for 
Budgets regardless of whether the gnc-budget code uses it. You must *not* look 
at code in src/engine for examples of what to do: That code is private and is 
going to change a *lot* in the coming dev cycle. Look instead at src/report. 

I can't be certain that we'll get to replacing QOFQuery in this cycle, but we 
will eventually replace it with SQL when we migrate to using the database as a 
database instead of a mere persistence store, so be sure to abstract your query 
code so that it can be easily replaced.

Regards,
John Ralls


_______________________________________________
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel

Reply via email to