summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/mapping/properties.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2005-12-07 02:57:22 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2005-12-07 02:57:22 +0000
commitc9bfe709611cc419b4ac44d0db258e57682ebf77 (patch)
tree096cb466f5b8e73d61e2cceb4ea8802225771293 /lib/sqlalchemy/mapping/properties.py
parent44abaa9e567e6c412a2ce499907c65d97aa865dc (diff)
downloadsqlalchemy-c9bfe709611cc419b4ac44d0db258e57682ebf77.tar.gz
limit and offset support for mappers, insanity with eager loading
Diffstat (limited to 'lib/sqlalchemy/mapping/properties.py')
-rw-r--r--lib/sqlalchemy/mapping/properties.py13
1 files changed, 4 insertions, 9 deletions
diff --git a/lib/sqlalchemy/mapping/properties.py b/lib/sqlalchemy/mapping/properties.py
index 3429555d3..4b82157d3 100644
--- a/lib/sqlalchemy/mapping/properties.py
+++ b/lib/sqlalchemy/mapping/properties.py
@@ -474,7 +474,7 @@ class LazyLoader(PropertyLoader):
order_by = [self.secondary.rowid_column]
else:
order_by = []
- result = self.mapper.select(self.lazywhere, order_by=order_by,**params)
+ result = self.mapper.select(self.lazywhere, order_by=order_by, params=params)
else:
result = []
if self.uselist:
@@ -530,6 +530,7 @@ class EagerLoader(PropertyLoader):
def init(self, key, parent):
PropertyLoader.init(self, key, parent)
+ parent._has_eager = True
# figure out tables in the various join clauses we have, because user-defined
# whereclauses that reference the same tables will be converted to use
# aliases of those tables
@@ -656,7 +657,6 @@ class EagerLazyOption(MapperOption):
return "EagerLazyOption(%s, %s)" % (repr(self.key), repr(self.toeager))
def process(self, mapper):
-
tup = self.key.split('.', 1)
key = tup[0]
oldprop = mapper.props[key]
@@ -674,13 +674,8 @@ class EagerLazyOption(MapperOption):
else:
class_ = LazyLoader
- self.kwargs.setdefault('primaryjoin', oldprop.primaryjoin)
- self.kwargs.setdefault('secondaryjoin', oldprop.secondaryjoin)
- self.kwargs.setdefault('foreignkey', oldprop.foreignkey)
- self.kwargs.setdefault('uselist', oldprop.uselist)
- self.kwargs.setdefault('private', oldprop.private)
- self.kwargs.setdefault('live', oldprop.live)
- self.kwargs.setdefault('selectalias', oldprop.selectalias)
+ for arg in ('primaryjoin', 'secondaryjoin', 'foreignkey', 'uselist', 'private', 'live', 'isoption', 'association', 'selectalias', 'order_by', 'attributeext'):
+ self.kwargs.setdefault(arg, getattr(oldprop, arg))
self.kwargs['isoption'] = True
mapper.set_property(key, class_(submapper, oldprop.secondary, **self.kwargs ))