diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2012-08-08 19:20:17 -0400 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2012-08-08 19:20:17 -0400 |
commit | 60913b8ccf9db19a9e673b6e4f3deefe0dea04ae (patch) | |
tree | 22e2952d7a46b468921de91764457a0ffc5da6f5 | |
parent | 6b0631c852ab1a37bfce2acec8f866bce8a48fbe (diff) | |
download | sqlalchemy-60913b8ccf9db19a9e673b6e4f3deefe0dea04ae.tar.gz |
don't need this is_really_none() thing anymore
-rw-r--r-- | lib/sqlalchemy/orm/identity.py | 10 | ||||
-rw-r--r-- | lib/sqlalchemy/orm/persistence.py | 22 | ||||
-rw-r--r-- | lib/sqlalchemy/orm/state.py | 3 | ||||
-rw-r--r-- | test/perf/orm2010.py | 2 |
4 files changed, 13 insertions, 24 deletions
diff --git a/lib/sqlalchemy/orm/identity.py b/lib/sqlalchemy/orm/identity.py index 6fd184350..b58aa14a6 100644 --- a/lib/sqlalchemy/orm/identity.py +++ b/lib/sqlalchemy/orm/identity.py @@ -72,8 +72,6 @@ class WeakInstanceDict(IdentityMap): state = dict.__getitem__(self, key) o = state.obj() if o is None: - o = state._is_really_none() - if o is None: raise KeyError, key return o @@ -82,8 +80,6 @@ class WeakInstanceDict(IdentityMap): if dict.__contains__(self, key): state = dict.__getitem__(self, key) o = state.obj() - if o is None: - o = state._is_really_none() else: return False except KeyError: @@ -113,8 +109,6 @@ class WeakInstanceDict(IdentityMap): existing_state = dict.__getitem__(self, key) if existing_state is not state: o = existing_state.obj() - if o is None: - o = existing_state._is_really_none() if o is not None: raise AssertionError("A conflicting state is already " "present in the identity map for key %r" @@ -132,9 +126,7 @@ class WeakInstanceDict(IdentityMap): return default o = state.obj() if o is None: - o = state._is_really_none() - if o is None: - return default + return default return o def _items(self): diff --git a/lib/sqlalchemy/orm/persistence.py b/lib/sqlalchemy/orm/persistence.py index 7872499ea..03d4a5457 100644 --- a/lib/sqlalchemy/orm/persistence.py +++ b/lib/sqlalchemy/orm/persistence.py @@ -765,7 +765,7 @@ def _connections_for_states(base_mapper, uowtransaction, states): def _cached_connection_dict(base_mapper): # dictionary of connection->connection_with_cache_options. return util.PopulateDict( - lambda conn:conn.execution_options( + lambda conn: conn.execution_options( compiled_cache=base_mapper._compiled_cache )) @@ -774,7 +774,7 @@ def _sort_states(states): persistent = set(s for s in pending if s.key is not None) pending.difference_update(persistent) return sorted(pending, key=operator.attrgetter("insert_order")) + \ - sorted(persistent, key=lambda q:q.key[1]) + sorted(persistent, key=lambda q: q.key[1]) class BulkUD(object): """Handle bulk update and deletes via a :class:`.Query`.""" @@ -850,7 +850,7 @@ class BulkEvaluate(BulkUD): #TODO: detect when the where clause is a trivial primary key match self.matched_objects = [ - obj for (cls, pk),obj in + obj for (cls, pk), obj in query.session.identity_map.iteritems() if issubclass(cls, target_cls) and eval_condition(obj)] @@ -878,9 +878,9 @@ class BulkUpdate(BulkUD): @classmethod def factory(cls, query, synchronize_session, values): return BulkUD._factory({ - "evaluate":BulkUpdateEvaluate, - "fetch":BulkUpdateFetch, - False:BulkUpdate + "evaluate": BulkUpdateEvaluate, + "fetch": BulkUpdateFetch, + False: BulkUpdate }, synchronize_session, query, values) def _do_exec(self): @@ -906,9 +906,9 @@ class BulkDelete(BulkUD): @classmethod def factory(cls, query, synchronize_session): return BulkUD._factory({ - "evaluate":BulkDeleteEvaluate, - "fetch":BulkDeleteFetch, - False:BulkDelete + "evaluate": BulkDeleteEvaluate, + "fetch": BulkDeleteFetch, + False: BulkDelete }, synchronize_session, query) def _do_exec(self): @@ -928,9 +928,9 @@ class BulkUpdateEvaluate(BulkEvaluate, BulkUpdate): """BulkUD which handles UPDATEs using the "evaluate" method of session resolution.""" - def _additional_evaluators(self,evaluator_compiler): + def _additional_evaluators(self, evaluator_compiler): self.value_evaluators = {} - for key,value in self.values.iteritems(): + for key, value in self.values.iteritems(): key = _attr_as_key(key) self.value_evaluators[key] = evaluator_compiler.process( expression._literal_as_binds(value)) diff --git a/lib/sqlalchemy/orm/state.py b/lib/sqlalchemy/orm/state.py index 9d17fa344..22ad06f13 100644 --- a/lib/sqlalchemy/orm/state.py +++ b/lib/sqlalchemy/orm/state.py @@ -424,9 +424,6 @@ class InstanceState(interfaces._InspectionAttr): def _instance_dict(self): return None - def _is_really_none(self): - return self.obj() - def _modified_event(self, dict_, attr, previous, collection=False): if attr.key not in self.committed_state: if collection: diff --git a/test/perf/orm2010.py b/test/perf/orm2010.py index ed4e7b090..47257ba87 100644 --- a/test/perf/orm2010.py +++ b/test/perf/orm2010.py @@ -161,7 +161,7 @@ print 'Total executemany calls: %d' \ #stats.sort_stats('time', 'calls') #stats.print_stats() -#os.system("runsnake %s" % filename) +os.system("runsnake %s" % filename) # SQLA Version: 0.7b1 # Total calls 4956750 |