Re: Object Graph Refreshing: design ideas?

From: Andrus Adamchik (andru..bjectstyle.org)
Date: Thu Jan 08 2004 - 01:34:51 EST

  • Next message: Mike Kienenberger: "FWD:..uthor tags in community projects"

    I played with a few scenarios during my time on vacation, and events
    storing purely DB information didn't work out well, or at least I
    couldn't figure it out. Instead I came up with another approach that
    seems to work ok so far.

    ObjectStore now explicitly tracks all changes to "indirect"
    relationships, just like we used to do for flattened relationships. For
    the formal definition of indirect relationship (and a better term for
    it) see new method:
    ObjRelationship.isSourceIndependentFromTargetChange(). These changes
    are included in the SnapshotEvent. Currently ObjectStore behavior is to
    invalidate all indirect relationships of the target object. This is not
    as bad as invalidating the object itself, but is still pretty crude.
    Fortunately current design should allow to optimize it further in the
    future without too much rewrite. I'll continue testing this feature...

    Andrus

    On Dec 23, 2003, at 7:35 PM, Andrus Adamchik wrote:

    > Intuitively this sounds just right, though I am not quiet sure yet how
    > to apply this to our case. Need to do more investigation when I get
    > back from vacation.
    >
    > Andrus
    >
    > On Dec 22, 2003, at 6:37 AM, Andriy Shapochka wrote:
    >> What would you say about passing the info "those and those
    >> *DbRelationships*
    >> changed." First, all our ObjRelationships are always based on
    >> DbRelationships. Second, if a data row for a given DbEntity gets
    >> modified
    >> (deleted) we should always be able to track which DbRelationships get
    >> affected by this modification, just like any relational database
    >> engine can
    >> instantly recognaze an FK->PK relationship is modified when a
    >> participating
    >> table is edited.
    >
    >



    This archive was generated by hypermail 2.0.0 : Thu Jan 08 2004 - 01:34:57 EST