- mssql
- Fixed reflection bug which did not properly handle
reflection of unknown types. [ticket:1946]
+
+ - Fixed bug where aliasing of tables with "schema" would
+ fail to compile properly. [ticket:1943]
- informix
- *Major* cleanup / modernization of the Informix
return None
def visit_table(self, table, mssql_aliased=False, **kwargs):
- if mssql_aliased:
+ if mssql_aliased is table:
return super(MSSQLCompiler, self).visit_table(table, **kwargs)
# alias schema-qualified tables
alias = self._schema_aliased_table(table)
if alias is not None:
- return self.process(alias, mssql_aliased=True, **kwargs)
+ return self.process(alias, mssql_aliased=table, **kwargs)
else:
return super(MSSQLCompiler, self).visit_table(table, **kwargs)
def visit_alias(self, alias, **kwargs):
# translate for schema-qualified table aliases
self.tablealiases[alias.original] = alias
- kwargs['mssql_aliased'] = True
+ kwargs['mssql_aliased'] = alias.original
return super(MSSQLCompiler, self).visit_alias(alias, **kwargs)
def visit_extract(self, extract, **kw):
s = table4.select(use_labels=True)
c = s.compile(dialect=self.__dialect__)
- print c.result_map
assert table4.c.rem_id \
in set(c.result_map['remote_owner_remotetable_rem_id'][1])
self.assert_compile(table4.select(),
'remotetable_1.value FROM mytable JOIN '
'remote_owner.remotetable AS remotetable_1 '
'ON remotetable_1.rem_id = mytable.myid')
-
+
+ self.assert_compile(select([table4.c.rem_id,
+ table4.c.value]).apply_labels().union(select([table1.c.myid,
+ table1.c.description]).apply_labels()).alias().select(),
+ "SELECT anon_1.remote_owner_remotetable_rem_id, "
+ "anon_1.remote_owner_remotetable_value FROM "
+ "(SELECT remotetable_1.rem_id AS remote_owner_remotetable_rem_id, "
+ "remotetable_1.value AS remote_owner_remotetable_value "
+ "FROM remote_owner.remotetable AS remotetable_1 UNION "
+ "SELECT mytable.myid AS mytable_myid, mytable.description "
+ "AS mytable_description FROM mytable) AS anon_1"
+ )
+
+
def test_delete_schema(self):
metadata = MetaData()
tbl = Table('test', metadata, Column('id', Integer,