diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2008-10-18 19:39:34 +0000 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2008-10-18 19:39:34 +0000 |
| commit | 6ac91ccc8cefa4a8c8728c51e16753aab92e775f (patch) | |
| tree | f1425c0cf3b2a165ef0197eb4baa4c8fe2fe90dd /lib/sqlalchemy/orm | |
| parent | edec6707ecf5c858642b081c02c26800b697bfd7 (diff) | |
| download | sqlalchemy-6ac91ccc8cefa4a8c8728c51e16753aab92e775f.tar.gz | |
tiny tiny speed improvements....
Diffstat (limited to 'lib/sqlalchemy/orm')
| -rw-r--r-- | lib/sqlalchemy/orm/mapper.py | 10 | ||||
| -rw-r--r-- | lib/sqlalchemy/orm/query.py | 4 |
2 files changed, 8 insertions, 6 deletions
diff --git a/lib/sqlalchemy/orm/mapper.py b/lib/sqlalchemy/orm/mapper.py index bd96b9e69..279fcd60c 100644 --- a/lib/sqlalchemy/orm/mapper.py +++ b/lib/sqlalchemy/orm/mapper.py @@ -314,7 +314,7 @@ class Mapper(object): def _iterate_polymorphic_properties(self, mappers=None): if mappers is None: mappers = self._with_polymorphic_mappers - return iter(util.OrderedSet( + return iter(util.unique_list( chain(*[list(mapper.iterate_properties) for mapper in [self] + mappers]) )) @@ -842,7 +842,7 @@ class Mapper(object): if manager is not None: if manager.class_ is not self.class_: # An inherited manager. Install one for this subclass. - raise "eh?" + # TODO: no coverage here manager = None elif manager.mapper: raise sa_exc.ArgumentError( @@ -970,8 +970,8 @@ class Mapper(object): A ``sqlalchemy.engine.base.RowProxy`` instance or a dictionary corresponding result-set ``ColumnElement`` instances to their values within a row. - """ + """ pk_cols = self.primary_key if adapter: pk_cols = [adapter.columns[c] for c in pk_cols] @@ -984,6 +984,7 @@ class Mapper(object): primary_key A list of values indicating the identifier. + """ return (self._identity_class, tuple(util.to_list(primary_key))) @@ -1003,6 +1004,7 @@ class Mapper(object): def primary_key_from_instance(self, instance): """Return the list of primary key values for the given instance. + """ state = attributes.instance_state(instance) return self._primary_key_from_state(state) @@ -1020,7 +1022,7 @@ class Mapper(object): else: raise exc.UnmappedColumnError("No column %s is configured on mapper %s..." % (column, self)) - # TODO: improve names + # TODO: improve names? def _get_state_attr_by_column(self, state, column): return self._get_col_to_prop(column).getattr(state, column) diff --git a/lib/sqlalchemy/orm/query.py b/lib/sqlalchemy/orm/query.py index 12a69855d..b53256a24 100644 --- a/lib/sqlalchemy/orm/query.py +++ b/lib/sqlalchemy/orm/query.py @@ -1103,9 +1103,9 @@ class Query(object): if filtered: if single_entity: - filter = util.OrderedIdentitySet + filter = lambda x: util.unique_list(x, util.IdentitySet) else: - filter = util.OrderedSet + filter = util.unique_list else: filter = None |
