SQL server schema aliasing broken
Issue #2169
resolved
from sqlalchemy import *
m = MetaData()
t1 = Table("table1", m,
Column('a', Integer),
schema='schema'
)
rs1 = t1.alias('rs1')
st = select([select([rs1.c.a](t1,)).as_scalar()])
from sqlalchemy.dialects import mssql
#print st
print st.compile(dialect=mssql.dialect())
output
SELECT table1_1.a, (SELECT rs1.a
FROM [schema](schema).table1 AS rs1) AS anon_1
FROM [schema](schema).table1 AS rs1
likely fix:
diff -r 00380cf3c304ea7f1c7397f17b828166364c36ac lib/sqlalchemy/dialects/mssql/base.py
--- a/lib/sqlalchemy/dialects/mssql/base.py Wed May 18 12:07:40 2011 -0400
+++ b/lib/sqlalchemy/dialects/mssql/base.py Thu May 19 11:48:19 2011 -0400
@@ -821,7 +821,6 @@
def visit_alias(self, alias, **kwargs):
# translate for schema-qualified table aliases
- self.tablealiases[alias.original](alias.original) = alias
kwargs['mssql_aliased']('mssql_aliased') = alias.original
return super(MSSQLCompiler, self).visit_alias(alias, **kwargs)
Comments (2)
-
reporter -
reporter - removed milestone
Removing milestone: 0.6.8 (automated comment)
- Log in to comment
c7713a6f0af7c76321fd5a72fbae0e8c4a52179c dafbea8d9e9ce9b4de5c746af3c70aa3b13dc7ca