diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2008-03-25 17:25:20 +0000 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2008-03-25 17:25:20 +0000 |
commit | fc2cf22038e575670ee2edc890f8dfbc07d9bfa7 (patch) | |
tree | 36cf2f89b6eca2353d5febbabfc61f94d253039c | |
parent | 92a5df77538069efd9f8cfc14cf83807ce43c288 (diff) | |
download | sqlalchemy-fc2cf22038e575670ee2edc890f8dfbc07d9bfa7.tar.gz |
- fixed SQL function truncation of trailing underscores
[ticket:996]
-rw-r--r-- | CHANGES | 5 | ||||
-rw-r--r-- | lib/sqlalchemy/sql/expression.py | 2 | ||||
-rw-r--r-- | test/sql/functions.py | 5 |
3 files changed, 9 insertions, 3 deletions
@@ -20,7 +20,10 @@ CHANGES - Fixed bug which was preventing synonym() attributes from being used with inheritance - + + - fixed SQL function truncation of trailing underscores + [ticket:996] + - Session.execute can now find binds from metadata - adjusted the definition of "self-referential" to be diff --git a/lib/sqlalchemy/sql/expression.py b/lib/sqlalchemy/sql/expression.py index 0d10c844a..a3a25f573 100644 --- a/lib/sqlalchemy/sql/expression.py +++ b/lib/sqlalchemy/sql/expression.py @@ -777,7 +777,7 @@ class _FunctionGenerator(object): except KeyError: raise AttributeError(name) - elif name.startswith('_'): + elif name.endswith('_'): name = name[0:-1] f = _FunctionGenerator(**self.opts) f.__names = list(self.__names) + [name] diff --git a/test/sql/functions.py b/test/sql/functions.py index e5c59b091..d1ce17c72 100644 --- a/test/sql/functions.py +++ b/test/sql/functions.py @@ -32,7 +32,10 @@ class CompileTest(TestBase, AssertsCompiledSQL): else: self.assert_compile(func.nosuchfunction(), "nosuchfunction()", dialect=dialect) self.assert_compile(func.char_length('foo'), "char_length(%s)" % bindtemplate % {'name':'param_1', 'position':1}, dialect=dialect) - + + def test_underscores(self): + self.assert_compile(func.if_(), "if()") + def test_generic_now(self): assert isinstance(func.now().type, sqltypes.DateTime) |