as it does in 0.3 since ~(x==y) compiles to "x != y", but still applies
to operators like BETWEEN.
-- Other tickets: [ticket:768], [ticket:728]
+- Other tickets: [ticket:768], [ticket:728], [ticket:779]
0.4.0beta5
----------
def visit_alias(self, alias, asfrom=False, **kwargs):
# Override to not use the AS keyword which FB 1.5 does not like
if asfrom:
- return self.process(alias.original, asfrom=True) + " " + self.preparer.format_alias(alias)
+ return self.process(alias.original, asfrom=True, **kwargs) + " " + self.preparer.format_alias(alias, self._anonymize(alias.name))
else:
- return self.process(alias.original, asfrom=True)
+ return self.process(alias.original, **kwargs)
def visit_function(self, func):
if func.clauses:
import testbase
from sqlalchemy import *
from sqlalchemy.databases import firebird
+from sqlalchemy.sql import table, column
from testlib import *
class BasicTest(AssertMixin):
def test_import(self):
# we got this far, right?
return True
+
+
+
+class CompileTest(SQLCompileTest):
+ __dialect__ = firebird.FBDialect()
+
+ def test_alias(self):
+ t = table('sometable', column('col1'), column('col2'))
+ s = select([t.alias()])
+ self.assert_compile(s, "SELECT sometable_1.col1, sometable_1.col2 FROM sometable sometable_1")
+
+
+if __name__ == '__main__':
+ testbase.main()
c = clause.compile(column_keys=keys, dialect=dialect)
- print "\nSQL String:\n" + str(c) + repr(c.get_params())
+ print "\nSQL String:\n" + str(c) + repr(c.params)
cc = re.sub(r'\n', '', str(c))
if checkparams is not None:
if isinstance(checkparams, list):
- self.assert_(c.get_params().get_raw_list({}) == checkparams, "params dont match ")
+ self.assert_(c.params.get_raw_list({}) == checkparams, "params dont match ")
else:
- self.assert_(c.get_params().get_original_dict() == checkparams, "params dont match" + repr(c.get_params()))
+ self.assert_(c.params.get_original_dict() == checkparams, "params dont match" + repr(c.params))
class AssertMixin(PersistTest):
"""given a list-based structure of keys/properties which represent information within an object structure, and