diff options
Diffstat (limited to 'sqlparse/filters.py')
-rw-r--r-- | sqlparse/filters.py | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/sqlparse/filters.py b/sqlparse/filters.py index 08c1f69..ce5dd85 100644 --- a/sqlparse/filters.py +++ b/sqlparse/filters.py @@ -6,6 +6,8 @@ from os.path import abspath, join from sqlparse import sql, tokens as T from sqlparse.engine import FilterStack +from sqlparse.lexer import tokenize +from sqlparse.pipeline import Pipeline from sqlparse.tokens import (Comment, Comparison, Keyword, Name, Punctuation, String, Whitespace) from sqlparse.utils import memoize_generator @@ -647,3 +649,15 @@ class Limit: return stream[4 - index][1] return -1 + + +def Compact(sql, includePath="sql"): + """Function that return a compacted version of the input SQL query""" + pipe = Pipeline() + + pipe.append(tokenize) + pipe.append(IncludeStatement(includePath)) + pipe.append(StripComments()) + pipe.append(StripWhitespace) + + return pipe(sql) |