File tree Expand file tree Collapse file tree 3 files changed +53
-37
lines changed
Expand file tree Collapse file tree 3 files changed +53
-37
lines changed Original file line number Diff line number Diff line change 55# This module is part of python-sqlparse and is released under
66# the BSD License: http://www.opensource.org/licenses/bsd-license.php
77
8- """filter"""
9-
10- from sqlparse import lexer
118from sqlparse .engine import grouping
12- from sqlparse .engine .filter import StatementFilter
13-
14-
15- class FilterStack (object ):
16- def __init__ (self ):
17- self .preprocess = []
18- self .stmtprocess = []
19- self .postprocess = []
20- self ._grouping = False
21-
22- def enable_grouping (self ):
23- self ._grouping = True
24-
25- def run (self , sql , encoding = None ):
26- stream = lexer .tokenize (sql , encoding )
27- # Process token stream
28- for filter_ in self .preprocess :
29- stream = filter_ .process (stream )
30-
31- stream = StatementFilter ().process (stream )
32-
33- # Output: Stream processed Statements
34- for stmt in stream :
35- if self ._grouping :
36- stmt = grouping .group (stmt )
37-
38- for filter_ in self .stmtprocess :
39- filter_ .process (stmt )
40-
41- for filter_ in self .postprocess :
42- stmt = filter_ .process (stmt )
43-
44- yield stmt
9+ from sqlparse .engine .filter_stack import FilterStack
10+ from sqlparse .engine .statement_splitter import StatementSplitter
11+
12+ __all__ = [
13+ 'grouping' ,
14+ 'FilterStack' ,
15+ 'StatementSplitter' ,
16+ ]
Original file line number Diff line number Diff line change 1+ # -*- coding: utf-8 -*-
2+ #
3+ # Copyright (C) 2016 Andi Albrecht, [email protected] 4+ #
5+ # This module is part of python-sqlparse and is released under
6+ # the BSD License: http://www.opensource.org/licenses/bsd-license.php
7+
8+ """filter"""
9+
10+ from sqlparse import lexer
11+ from sqlparse .engine import grouping
12+ from sqlparse .engine .statement_splitter import StatementSplitter
13+
14+
15+ class FilterStack (object ):
16+ def __init__ (self ):
17+ self .preprocess = []
18+ self .stmtprocess = []
19+ self .postprocess = []
20+ self ._grouping = False
21+
22+ def enable_grouping (self ):
23+ self ._grouping = True
24+
25+ def run (self , sql , encoding = None ):
26+ stream = lexer .tokenize (sql , encoding )
27+ # Process token stream
28+ for filter_ in self .preprocess :
29+ stream = filter_ .process (stream )
30+
31+ stream = StatementSplitter ().process (stream )
32+
33+ # Output: Stream processed Statements
34+ for stmt in stream :
35+ if self ._grouping :
36+ stmt = grouping .group (stmt )
37+
38+ for filter_ in self .stmtprocess :
39+ filter_ .process (stmt )
40+
41+ for filter_ in self .postprocess :
42+ stmt = filter_ .process (stmt )
43+
44+ yield stmt
Original file line number Diff line number Diff line change 88from sqlparse import sql , tokens as T
99
1010
11- class StatementFilter (object ):
11+ class StatementSplitter (object ):
1212 """Filter that split stream at individual statements"""
1313
1414 def __init__ (self ):
You can’t perform that action at this time.
0 commit comments