CVS update: gnucash/src/backend/file
Derek Atkins
warlord at MIT.EDU
Sun Oct 12 13:03:21 CDT 2003
linas at linas.org (Linas Vepstas) writes:
> fix compile break due to structure changes.
Ahh, ok. The log message was not clear on this.
> --linas
>
> p.s. I have a bunch of questions about bus objects, e.g. like
> what the parent/child relationship is/means for bill term, tax table.
> Is this written up somewhere? (or some more 'trivial' things, like
> what does 'invisible' or 'refount' mean?) I was hoping to catch you on
> irc ...
Unfortunately I'm in San Diego on a business trip and haven't really
be able to get on IRC.
Quickly:
- a child is a 'frozen' instance of a parent. For example, the tax
percentage in a particular tax table may change over time, but you
dont want that change to affect already-posted invoices... So you
make sure there is an immutable 'copy' (read: child) of the tax
table when you post the invoice and repoint at the child.
- a parent can have many children, but it will only have a 'child'
pointer if the parent has not been modified. Think of this as a
copy-on-write mechanism. posted invoices will continue to use the
_same_ child until the parent is modified, at which point a new
child will be created.
- invisible means "dont show this in the list". It's so you dont
get all the children in the tax table list -- you only see parents.
I suppose this flag could also be called "is-child" as I believe that
only children can be invisible, and ALL children are invisible.
- refcount is a listing of how many objects are referencing it.
Basically, it's letting you know how many customer, vendor, entries,
etc are referencing e.g. a particular tax table object. mostly this
was done to make sure you cannot delete an in-use taxtable.
children dont use refcounts, only parents do.
I dont think I'll get back onto IRC until tuesday.
-derek
PS: Feel free to copy this into some documentation somewhere.
--
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
warlord at MIT.EDU PGP key available
More information about the gnucash-patches
mailing list