Commits

Author Commit Message Labels Comments Date
Mike Bayer
starting to arrange things such that unneeded executors aren't getting pulled into the unit of work at all. this involves dancing around lists of states, seeing if child objects exist, not adding excessive callcounts while doing that, etc.
Mike Bayer
we can load this sum ahead of time, and if there is none, we dont need a per-state/proc for this at all. this greatly reduces unnecessary crap in the UOW for complex models.
Mike Bayer
duh
Mike Bayer
zoomark has additional callcount drops on this side
Mike Bayer
merge default
Mike Bayer
merge default
Mike Bayer
merge from default
Mike Bayer
- added missing coverage for self-referential many-to-many flushes - some other areas where per-state deps are called and an empty result returned are still lacking coverage.
Mike Bayer
remove mostly unneeded calls to conditional_post_update
Mike Bayer
- EdgeCollection can now go away - fix reflection test
Mike Bayer
a RandomSet implementation useful for swapping into topological
Mike Bayer
add batch execute to ProcessState
Mike Bayer
merge default
Mike Bayer
remove prints
Mike Bayer
- cleanup, factoring, had some heisenbugs. more test coverage will be needed overall as missing dependency rules lead to subtle bugs pretty easily
Mike Bayer
all tests pass with this version
Mike Bayer
beginning to get post_update working, will need more tests
Mike Bayer
breakthrough, wow
Mike Bayer
so here is kind of the idea. but it doesn't work like it used to. so I think I want to try to build a smarter "find everything without a dependency" system that is more inline with how this is running now anyway - i.e. go through the whole list, find nodes with no dependencies. maybe the original topological.sort() can do that, not sure.
Mike Bayer
looks like most of the issues are because we're losing insert ordering on cycles. so lets reintroduce the organize as tree component, which works here. still need to make it meaningful by teaching the save/delete state actions to receive a set of items to match up
Mike Bayer
- many-to-many is up. - now running on the full suite of tests. unsurprisingly, it appears there are subtle self-referential issues causing many tests to fail.
Mike Bayer
better assertions, the concern is that an object will change state and not have been appropriately preprocessed
Mike Bayer
these are some assertions that would make things easier, if they can be maintained. otherwise, if listonly can go from True to False, then there's the whole cascades issue to deal with, same for delete moving from False to True and vice versa.
Mike Bayer
- enabled the DetectKeySwitch, and additionally added that it need not execute at all when a one-to-many is present on the reverse side. - OneToMany can establish a state as "listonly" when passive_updates are enabled and the change is due to key switch.
Mike Bayer
branch merge
Mike Bayer
- further reduce what topological has to do, expects full list of nodes - fix some side-effect-dependent behaviors in uow. we can now unconditionally remove "disabled" actions without rewriting
Mike Bayer
this fully moves the per_state methods to work with all states at once
Mike Bayer
moving the per-states operations to be aggreagted on the endpoints to reduce procesing overhead.
Mike Bayer
merge default branch
Mike Bayer
row switch works for post-cycle sorts too...just needed more data in the deps. the pattern here is more data needed for each tweak.
  1. Prev
  2. Next