Recursive QofBooks

Christian Stimming christian at cstimming.de
Fri Aug 12 04:38:58 EDT 2011


Am Donnerstag, 11. August 2011 schrieb John Ralls:
> On Aug 11, 2011, at 12:28 PM, John Ralls wrote:
> > Muslim discovered a couple of functions in QofSession.c,
> > qof_instance_copy_coll_r and qof_instance_copy_one_r, along with a
> > companion test src/engine/test/test-recursive.c which seems intended to
> > support a hierarchy of books. Given the way we treat books, this seems
> > to me to be a seriously dumb idea. It seems to have been added in
> > mid-2005 by Neil Williams as part of a conversion to Gnome 2. Does
> > anyone recall the rationale behind it? Is there any reason not to remove
> > it as useless cruft?
> 
> Another batch of unused functions from qofsession.c, called only by
> python_bindings/gnucash_core.c: qof_instance_copy_to_session,
> qof_instance_copy_list, qof_instance_copy_coll
> 
> These (and the other two mentioned earlier) are implemented in part by the
> following static functions (which aren't used for anything else, as can be
> seen from the list of callers):
> 
> qof_book_set_partial			qof_session_update_reference_list,
> qof_instance_copy_to_session, qof_instance_copy_list,
> qof_instance_copy_coll
> qof_session_update_reference_list	col_ref_cb, qof_instance_foreach_copy
> qof_instance_param_cb			qof_instance_list_foreach,
> qof_instance_copy_to_session, qof_instance_copy_coll
> col_ref_cb				qof_instance_foreach_copy
> qof_instance_foreach_copy		qof_instance_list_foreach,
> qof_instance_coll_copy, qof_instance_copy_to_session
> qof_instance_guid_match			qof_instance_list_foreach,
> qof_instance_copy_to_session
> qof_instance_list_foreach		qof_instance_copy_list
> qof_instance_coll_foreach		qof_instance_copy_coll
> qof_instance_coll_copy			qof_instance_copy_coll
> recurse_collection_cb			recurse_ent_cb
> recurse_ent_cb				qof_instance_copy_coll_r
> 
> Unless someone objects convincingly, the whole steaming pile is coming out.

I agree those should be moved out. The reasons are still the same as earlier 
this year: As those are not (yet) in use, they are most likely wrong anyway 
and need to be re-implemented when actually needed anyway.

Regards,

Christian


More information about the gnucash-devel mailing list