summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/orm
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2008-10-18 19:39:34 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2008-10-18 19:39:34 +0000
commit6ac91ccc8cefa4a8c8728c51e16753aab92e775f (patch)
treef1425c0cf3b2a165ef0197eb4baa4c8fe2fe90dd /lib/sqlalchemy/orm
parentedec6707ecf5c858642b081c02c26800b697bfd7 (diff)
downloadsqlalchemy-6ac91ccc8cefa4a8c8728c51e16753aab92e775f.tar.gz
tiny tiny speed improvements....
Diffstat (limited to 'lib/sqlalchemy/orm')
-rw-r--r--lib/sqlalchemy/orm/mapper.py10
-rw-r--r--lib/sqlalchemy/orm/query.py4
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