From 4e12db829599e95a8e015e5254b0d8e0c28fffdd Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Sun, 18 Nov 2007 21:20:32 +0000 Subject: [PATCH] repaired FB functions, [ticket:862] --- lib/sqlalchemy/databases/firebird.py | 6 +++--- test/dialect/firebird.py | 8 +++++++- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/lib/sqlalchemy/databases/firebird.py b/lib/sqlalchemy/databases/firebird.py index 5316f528dc..7580a750aa 100644 --- a/lib/sqlalchemy/databases/firebird.py +++ b/lib/sqlalchemy/databases/firebird.py @@ -354,11 +354,11 @@ class FBCompiler(compiler.DefaultCompiler): else: return self.process(alias.original, **kwargs) - def visit_function(self, func): + def apply_function_parens(self, func): if func.clauses: - return super(FBCompiler, self).visit_function(func) + return super(FBCompiler, self).apply_function_parens(func) else: - return func.name + return False def default_from(self): return " FROM rdb$database" diff --git a/test/dialect/firebird.py b/test/dialect/firebird.py index 9875073068..daf2abba67 100644 --- a/test/dialect/firebird.py +++ b/test/dialect/firebird.py @@ -20,6 +20,12 @@ class CompileTest(SQLCompileTest): s = select([t.alias()]) self.assert_compile(s, "SELECT sometable_1.col1, sometable_1.col2 FROM sometable sometable_1") - + def test_function(self): + self.assert_compile(func.foo(1, 2), "foo(:foo, :foo_1)") + self.assert_compile(func.current_time(), "current_time") + self.assert_compile(func.foo(), "foo") + t = table('sometable', column('col1'), column('col2')) + self.assert_compile(select([func.max(t.c.col1)]), "SELECT max(sometable.col1) FROM sometable") + if __name__ == '__main__': testbase.main() -- 2.47.2