diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2011-02-11 14:41:29 -0500 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2011-02-11 14:41:29 -0500 |
| commit | d7fda4ae03f0e1c1ab73ced15e7b0472f36d1024 (patch) | |
| tree | 280225601b0b1768423babdef6fb52766f4b21d2 /lib/sqlalchemy/orm/dependency.py | |
| parent | 33eae4a1405b1968ad486bfe3aefee7f7d631128 (diff) | |
| download | sqlalchemy-d7fda4ae03f0e1c1ab73ced15e7b0472f36d1024.tar.gz | |
- Additional tuning to "many-to-one" relationship
loads during a flush(). A change in version 0.6.6
([ticket:2002]) required that more "unnecessary" m2o
loads during a flush could occur. Extra loading modes have
been added so that the SQL emitted in this
specific use case is trimmed back, while still
retrieving the information the flush needs in order
to not miss anything. [ticket:2049]
Diffstat (limited to 'lib/sqlalchemy/orm/dependency.py')
| -rw-r--r-- | lib/sqlalchemy/orm/dependency.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/sqlalchemy/orm/dependency.py b/lib/sqlalchemy/orm/dependency.py index e3e2f5d56..dde0d94c8 100644 --- a/lib/sqlalchemy/orm/dependency.py +++ b/lib/sqlalchemy/orm/dependency.py @@ -219,7 +219,12 @@ class DependencyProcessor(object): pass def prop_has_changes(self, uowcommit, states, isdelete): - passive = not isdelete or self.passive_deletes + if not isdelete or self.passive_deletes: + passive = attributes.PASSIVE_NO_INITIALIZE + elif self.direction is MANYTOONE: + passive = attributes.PASSIVE_NO_FETCH_RELATED + else: + passive = attributes.PASSIVE_OFF for s in states: # TODO: add a high speed method |
