diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2006-02-24 17:12:02 +0000 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2006-02-24 17:12:02 +0000 |
commit | 5b81c1a2d0915d95d9928ffaaf81af814cf4ec3e (patch) | |
tree | 817f298cd213e819f809281796b3263121f40eb5 | |
parent | 49e3948d5d7c8c55c925901be76a0487f9ccea70 (diff) | |
download | sqlalchemy-5b81c1a2d0915d95d9928ffaaf81af814cf4ec3e.tar.gz |
tentative fix for oracle row_number over syntax
-rw-r--r-- | CHANGES | 1 | ||||
-rw-r--r-- | lib/sqlalchemy/databases/oracle.py | 3 |
2 files changed, 3 insertions, 1 deletions
@@ -1,4 +1,5 @@ 0.1.3 +- fix to Oracle "row_number over" clause with mulitple tables - mapper.get() was not selecting multiple-keyed objects if the mapper's table was a join, such as in an inheritance relationship, this is fixed. 0.1.2 diff --git a/lib/sqlalchemy/databases/oracle.py b/lib/sqlalchemy/databases/oracle.py index eba04a27f..2b91c176d 100644 --- a/lib/sqlalchemy/databases/oracle.py +++ b/lib/sqlalchemy/databases/oracle.py @@ -212,7 +212,8 @@ class OracleCompiler(ansisql.ANSICompiler): if hasattr(select, "order_by_clause"): orderby = self.strings[select.order_by_clause] else: - orderby = "rowid ASC" + # TODO: try to get "oid_column" to be used here + orderby = "%s.rowid ASC" % select.froms[0].id select.append_column(sql.ColumnClause("ROW_NUMBER() OVER (ORDER BY %s)" % orderby).label("ora_rn")) limitselect = sql.select([c for c in select.c if c.key!='ora_rn']) if select.offset is not None: |