diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2007-05-07 20:29:26 +0000 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2007-05-07 20:29:26 +0000 |
commit | e23c3a89742712c427c7e642186fc32263652530 (patch) | |
tree | 704ee033fcc55f2f58dc4f6c3b10542cf2644c26 /lib/sqlalchemy/ansisql.py | |
parent | 6dd05dfb00cca205ffdcf6bdddcd77f368249ebb (diff) | |
download | sqlalchemy-e23c3a89742712c427c7e642186fc32263652530.tar.gz |
- fix to long name generation when using oid_column as an order by
(oids used heavily in mapper queries)
Diffstat (limited to 'lib/sqlalchemy/ansisql.py')
-rw-r--r-- | lib/sqlalchemy/ansisql.py | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/sqlalchemy/ansisql.py b/lib/sqlalchemy/ansisql.py index cd6e0858f..ab043f3ec 100644 --- a/lib/sqlalchemy/ansisql.py +++ b/lib/sqlalchemy/ansisql.py @@ -265,7 +265,7 @@ class ANSICompiler(sql.Compiled): name = self._truncated_identifier("colident", column.name) else: name = column.name - + if column.table is None or not column.table.named_with_column(): self.strings[column] = self.preparer.format_column(column, name=name) else: @@ -274,7 +274,9 @@ class ANSICompiler(sql.Compiled): if n is not None: self.strings[column] = "%s.%s" % (self.preparer.format_table(column.table, use_schema=False), n) elif len(column.table.primary_key) != 0: - self.strings[column] = self.preparer.format_column_with_table(list(column.table.primary_key)[0]) + pk = list(column.table.primary_key)[0] + pkname = (pk.is_literal and name or self._truncated_identifier("colident", pk.name)) + self.strings[column] = self.preparer.format_column_with_table(list(column.table.primary_key)[0], column_name=pkname) else: self.strings[column] = None else: |