diff options
| author | Andi Albrecht <albrecht.andi@gmail.com> | 2015-02-21 07:48:55 +0100 |
|---|---|---|
| committer | Andi Albrecht <albrecht.andi@gmail.com> | 2015-02-21 07:48:55 +0100 |
| commit | 51871a8ffa0de99e98e2b24794458c9aa6b36689 (patch) | |
| tree | 8f5beb4e9c71c4e37513b800f118c8c67754804c /sqlparse | |
| parent | 9eb0b8cbe89057601d577b744696b5c39f3a2b20 (diff) | |
| parent | 703aec1fb30dcf5c0ed14552e601e4487707435e (diff) | |
| download | sqlparse-51871a8ffa0de99e98e2b24794458c9aa6b36689.tar.gz | |
Merge pull request #172 from JacekPliszka/master
Fix pathological case of empty statement
Diffstat (limited to 'sqlparse')
| -rw-r--r-- | sqlparse/filters.py | 6 | ||||
| -rw-r--r-- | sqlparse/lexer.py | 8 |
2 files changed, 12 insertions, 2 deletions
diff --git a/sqlparse/filters.py b/sqlparse/filters.py index 7b9b5e7..9c0a476 100644 --- a/sqlparse/filters.py +++ b/sqlparse/filters.py @@ -271,7 +271,11 @@ class StripWhitespaceFilter: [self.process(stack, sgroup, depth + 1) for sgroup in stmt.get_sublists()] self._stripws(stmt) - if depth == 0 and stmt.tokens[-1].is_whitespace(): + if ( + depth == 0 + and stmt.tokens + and stmt.tokens[-1].is_whitespace() + ): stmt.tokens.pop(-1) diff --git a/sqlparse/lexer.py b/sqlparse/lexer.py index a60c789..3e9a1a6 100644 --- a/sqlparse/lexer.py +++ b/sqlparse/lexer.py @@ -315,7 +315,13 @@ class Lexer(object): statestack.pop() elif state == '#push': statestack.append(statestack[-1]) - else: + elif ( + # Ugly hack - multiline-comments + # are not stackable + state != 'multiline-comments' + or not statestack + or statestack[-1] != 'multiline-comments' + ): statestack.append(state) elif isinstance(new_state, int): # pop |
