summaryrefslogtreecommitdiff
path: root/sqlparse
diff options
context:
space:
mode:
authorJesús Leganés Combarro "Piranna" <piranna@gmail.com>2012-05-17 23:24:54 +0200
committerJesús Leganés Combarro "Piranna" <piranna@gmail.com>2012-05-17 23:24:54 +0200
commitde8f502cbd54fdac1b91042d414dd99502b5c02b (patch)
tree2d6bdd1673cf3ce86a6187f47355f8375cb6f75d /sqlparse
parent4a41241e8fc084d25cde943263ea507509f9ead4 (diff)
downloadsqlparse-de8f502cbd54fdac1b91042d414dd99502b5c02b.tar.gz
Added compact filter and tests
Diffstat (limited to 'sqlparse')
-rw-r--r--sqlparse/filters.py24
1 files changed, 19 insertions, 5 deletions
diff --git a/sqlparse/filters.py b/sqlparse/filters.py
index 291a613..cc6145a 100644
--- a/sqlparse/filters.py
+++ b/sqlparse/filters.py
@@ -4,11 +4,13 @@ import re
from os.path import abspath, join
-from sqlparse import sql
-from sqlparse import tokens as T
-from sqlparse.engine import FilterStack
-from sqlparse.tokens import (Comment, Comparison, Keyword, Name, Punctuation,
- String, Whitespace)
+from sqlparse import sql
+from sqlparse import 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)
# --------------------------
@@ -624,3 +626,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)