From f00a59e1b25c466da1d2612405f7abb7c93db207 Mon Sep 17 00:00:00 2001 From: spigwitmer Date: Tue, 4 Feb 2014 14:08:55 -0800 Subject: Fix Function.get_parameters() with 1 literal as its parameter --- sqlparse/sql.py | 2 ++ tests/test_parse.py | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/sqlparse/sql.py b/sqlparse/sql.py index cfd622b..4664142 100644 --- a/sqlparse/sql.py +++ b/sqlparse/sql.py @@ -628,6 +628,8 @@ class Function(TokenList): return t.get_identifiers() elif isinstance(t, Identifier): return [t,] + elif t.ttype in T.Literal: + return [t,] return [] diff --git a/tests/test_parse.py b/tests/test_parse.py index a6145d8..27da5b5 100644 --- a/tests/test_parse.py +++ b/tests/test_parse.py @@ -116,6 +116,11 @@ class SQLParseTest(TestCaseBase): self.assertEqual(len(t), 1) self.assert_(isinstance(t[0], sqlparse.sql.Identifier)) + def test_function_param_single_literal(self): + t = sqlparse.parse('foo(5)')[0].tokens[0].get_parameters() + self.assertEqual(len(t), 1) + self.assert_(t[0].ttype is T.Number.Integer) + def test_quoted_identifier(): t = sqlparse.parse('select x.y as "z" from foo')[0].tokens -- cgit v1.2.1