summaryrefslogtreecommitdiff
path: root/sqlparse/filters.py
diff options
context:
space:
mode:
Diffstat (limited to 'sqlparse/filters.py')
-rw-r--r--sqlparse/filters.py14
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)