Phil Longstaff <[EMAIL PROTECTED]> writes:

> The xml file backend has 2 functions to handle a commodity reference.  The 
> first, dom_tree_to_commodity_ref_no_engine(), gets the two pieces of the 
> reference (space and id) and creates a new gnc_commodity from them.  The 
> second, dom_tree_to_commodity_ref(), calls 
> dom_tree_to_commodity_ref_no_engine() and then looks up the commodity in the 
> engine.  This has the result of only leaving 1 gnc_commodity per commodity.

Right, you only WANT 1 gnc_commodity* object per commodity.  That's
exactly what you want.  Similarly you only want one Account* object
per account, one Transaction* object per transaction, etc.

> In the places where commodity refs are used, dom parsers for prices and 
> transactions call dom_tree_to_commodity_ref() but the parser for accounts 
> calls dom_tree_to_commodity_ref_no_engine().  Can anyone explain why?

Probably because Accounts are always loaded first so you'll always have
all your commodities before you load any transactions.

-derek

-- 
       Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
       Member, MIT Student Information Processing Board  (SIPB)
       URL: http://web.mit.edu/warlord/    PP-ASEL-IA     N1NWH
       [EMAIL PROTECTED]                        PGP key available
_______________________________________________
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel

Reply via email to