summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/ansisql.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2007-05-07 20:29:26 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2007-05-07 20:29:26 +0000
commite23c3a89742712c427c7e642186fc32263652530 (patch)
tree704ee033fcc55f2f58dc4f6c3b10542cf2644c26 /lib/sqlalchemy/ansisql.py
parent6dd05dfb00cca205ffdcf6bdddcd77f368249ebb (diff)
downloadsqlalchemy-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.py6
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: