summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/mapping/properties.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2006-01-01 21:08:22 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2006-01-01 21:08:22 +0000
commit705f308452b0741747c27ee4edcd75f2ec0e6ae8 (patch)
tree9f23719ca0098f8d5a933aefc86a8abe32509f80 /lib/sqlalchemy/mapping/properties.py
parent943bb0b0e08fec9bc0ccc784a4dd154783031e8d (diff)
downloadsqlalchemy-705f308452b0741747c27ee4edcd75f2ec0e6ae8.tar.gz
rowid_column becomes more like the "order by column". 'default_ordering' flag sent to create_engine enables whether or not the rowid_column on a Table will be None or not. mappers/relations will by default use the rowid_column for ordering if its not None, else theres no default ordering.
still should better define 'default_ordering'/'rowid_column' relationship since its a little kludgy.
Diffstat (limited to 'lib/sqlalchemy/mapping/properties.py')
-rw-r--r--lib/sqlalchemy/mapping/properties.py6
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/sqlalchemy/mapping/properties.py b/lib/sqlalchemy/mapping/properties.py
index 6fb078d78..d049aec98 100644
--- a/lib/sqlalchemy/mapping/properties.py
+++ b/lib/sqlalchemy/mapping/properties.py
@@ -592,7 +592,7 @@ class LazyLoader(PropertyLoader):
if allparams:
if self.order_by is not None:
order_by = self.order_by
- elif self.secondary is not None:
+ elif self.secondary is not None and self.secondary.rowid_column is not None:
order_by = [self.secondary.rowid_column]
else:
order_by = None
@@ -714,11 +714,11 @@ class EagerLoader(PropertyLoader):
if self.secondaryjoin is not None:
statement._outerjoin = sql.outerjoin(towrap, self.secondary, self.primaryjoin).outerjoin(self.eagertarget, self.eagersecondary)
- if self.order_by is None:
+ if self.order_by is None and self.secondary.rowid_column is not None:
statement.order_by(self.secondary.rowid_column)
else:
statement._outerjoin = towrap.outerjoin(self.eagertarget, self.eagerprimary)
- if self.order_by is None:
+ if self.order_by is None and self.eagertarget.rowid_column is not None:
statement.order_by(self.eagertarget.rowid_column)
if self.eager_order_by is not None: