Skip to content

Commit 5d0389e

Browse files
illesmacbre
andauthored
Allow overriding sqlparse.parse() (#545)
Co-authored-by: Maciej Brencz <[email protected]>
1 parent 5ec2015 commit 5d0389e

1 file changed

Lines changed: 9 additions & 1 deletion

File tree

sql_metadata/parser.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,8 @@ def tokens(self) -> List[SQLToken]: # noqa: C901
134134
if self._tokens is not None:
135135
return self._tokens
136136

137-
parsed = sqlparse.parse(self._query)
137+
# allow parser to be overriden
138+
parsed = self._parse(self._query)
138139
tokens = []
139140
# handle empty queries (#12)
140141
if not parsed:
@@ -1104,3 +1105,10 @@ def _get_switch_by_create_query(tokens: List[SQLToken], index: int) -> str:
11041105
switch = "CREATEFUNCTION"
11051106

11061107
return switch
1108+
1109+
@staticmethod
1110+
def _parse(sql: str) -> Tuple[sqlparse.sql.Statement]:
1111+
"""
1112+
Parse the SQL query using sqlparse library
1113+
"""
1114+
return sqlparse.parse(sql)

0 commit comments

Comments
 (0)