default packagenames on function element

Issue #2108 resolved
Mike Bayer repo owner created an issue

put the test in ext.compiler using a FunctionElement subclass

diff -r de529fb81cc80cd49666a80ef60de6015ff81c1c lib/sqlalchemy/sql/compiler.py
--- a/lib/sqlalchemy/sql/compiler.py    Wed Mar 23 17:38:54 2011 -0400
+++ b/lib/sqlalchemy/sql/compiler.py    Thu Mar 24 21:07:19 2011 -0400
@@ -489,7 +489,7 @@
             return disp(func, **kwargs)
         else:
             name = FUNCTIONS.get(func.__class__, func.name + "%(expr)s")
-            return ".".join(func.packagenames + [name](name)) % \
+            return ".".join(list(func.packagenames) + [name](name)) % \
                             {'expr':self.function_argspec(func, **kwargs)}

     def visit_next_value_func(self, next_value, **kw):
diff -r de529fb81cc80cd49666a80ef60de6015ff81c1c lib/sqlalchemy/sql/expression.py
--- a/lib/sqlalchemy/sql/expression.py  Wed Mar 23 17:38:54 2011 -0400
+++ b/lib/sqlalchemy/sql/expression.py  Thu Mar 24 21:07:19 2011 -0400
@@ -3004,6 +3004,8 @@
 class FunctionElement(Executable, ColumnElement, FromClause):
     """Base for SQL function-oriented constructs."""

+    packagenames = ()
+
     def __init__(self, *clauses, **kwargs):
         """Construct a :class:`.FunctionElement`.
         """

Comments (2)

  1. Log in to comment