From cfc12748348dc3e183edc16b1711ae3d466cc2e0 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Sat, 2 Apr 2011 16:32:05 -0400 Subject: - add some function examples, [ticket:2107] - have "packagenames" be present on FunctionElement by default so that compiler.visit_function() can be called - add a test for that --- lib/sqlalchemy/sql/compiler.py | 2 +- lib/sqlalchemy/sql/expression.py | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) (limited to 'lib/sqlalchemy/sql') diff --git a/lib/sqlalchemy/sql/compiler.py b/lib/sqlalchemy/sql/compiler.py index 7547e1662..76303c10c 100644 --- a/lib/sqlalchemy/sql/compiler.py +++ b/lib/sqlalchemy/sql/compiler.py @@ -489,7 +489,7 @@ class SQLCompiler(engine.Compiled): return disp(func, **kwargs) else: name = FUNCTIONS.get(func.__class__, func.name + "%(expr)s") - return ".".join(func.packagenames + [name]) % \ + return ".".join(list(func.packagenames) + [name]) % \ {'expr':self.function_argspec(func, **kwargs)} def visit_next_value_func(self, next_value, **kw): diff --git a/lib/sqlalchemy/sql/expression.py b/lib/sqlalchemy/sql/expression.py index d49f12150..3323dcca9 100644 --- a/lib/sqlalchemy/sql/expression.py +++ b/lib/sqlalchemy/sql/expression.py @@ -3004,6 +3004,8 @@ class _Case(ColumnElement): class FunctionElement(Executable, ColumnElement, FromClause): """Base for SQL function-oriented constructs.""" + packagenames = () + def __init__(self, *clauses, **kwargs): """Construct a :class:`.FunctionElement`. """ -- cgit v1.2.1