Commits

Author Commit Message Labels Comments Date
Mike Bayer
attempt to reduce redundant calc of pk_switched
Mike Bayer
fix bug + add coverage to ensure unneeded SaveUpdateAll/DeleteAll plus extra work doesn't occur during per-state usage
Mike Bayer
got DetectKeySwitch into the fold, can now greatly collapse a lot of the preprocess/process down
Mike Bayer
removes some unneeded methods, initial DetectKeySwitch not present unnecessarily
Mike Bayer
refined system bywhich dependencyprocessor per-state actions are established
Mike Bayer
start adding tests to ensure the size of the uow
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.
  1. Prev
  2. Next