This is an automated email from the ASF dual-hosted git repository.
villebro pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/superset.git
The following commit(s) were added to refs/heads/master by this push:
new a7f9c66e57 chore: Bump sqlparse to 0.4.4 (#24045)
a7f9c66e57 is described below
commit a7f9c66e5718109a2be0aa54a81c59be4c85129e
Author: EugeneTorap <[email protected]>
AuthorDate: Tue May 23 10:15:24 2023 +0300
chore: Bump sqlparse to 0.4.4 (#24045)
Co-authored-by: sebastianliebscher <[email protected]>
---
requirements/base.txt | 2 +-
setup.py | 2 +-
superset/sql_parse.py | 16 ++++++++--------
3 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/requirements/base.txt b/requirements/base.txt
index 4538977c73..148be94e12 100644
--- a/requirements/base.txt
+++ b/requirements/base.txt
@@ -288,7 +288,7 @@ sqlalchemy-utils==0.38.3
# via
# apache-superset
# flask-appbuilder
-sqlparse==0.4.3
+sqlparse==0.4.4
# via apache-superset
sshtunnel==0.4.0
# via apache-superset
diff --git a/setup.py b/setup.py
index 09fde6b694..6bad485f2f 100644
--- a/setup.py
+++ b/setup.py
@@ -122,7 +122,7 @@ setup(
"slack_sdk>=3.19.0, <4",
"sqlalchemy>=1.4, <2",
"sqlalchemy-utils>=0.38.3, <0.39",
- "sqlparse>=0.4.3, <0.5",
+ "sqlparse>=0.4.4, <0.5",
"tabulate>=0.8.9, <0.9",
"typing-extensions>=4, <5",
"waitress; sys_platform == 'win32'",
diff --git a/superset/sql_parse.py b/superset/sql_parse.py
index 323fabb3d3..034daeb7af 100644
--- a/superset/sql_parse.py
+++ b/superset/sql_parse.py
@@ -23,6 +23,8 @@ from urllib import parse
import sqlparse
from sqlalchemy import and_
+from sqlparse import keywords
+from sqlparse.lexer import Lexer
from sqlparse.sql import (
Identifier,
IdentifierList,
@@ -59,15 +61,13 @@ CTE_PREFIX = "CTE__"
logger = logging.getLogger(__name__)
-
# TODO: Workaround for https://github.com/andialbrecht/sqlparse/issues/652.
-sqlparse.keywords.SQL_REGEX.insert(
- 0,
- (
- re.compile(r"'(''|\\\\|\\|[^'])*'", sqlparse.keywords.FLAGS).match,
- sqlparse.tokens.String.Single,
- ),
-)
+# configure the Lexer to extend sqlparse
+# reference: https://sqlparse.readthedocs.io/en/stable/extending/
+lex = Lexer.get_default_instance()
+sqlparser_sql_regex = keywords.SQL_REGEX
+sqlparser_sql_regex.insert(25, (r"'(''|\\\\|\\|[^'])*'",
sqlparse.tokens.String.Single))
+lex.set_SQL_REGEX(sqlparser_sql_regex)
class CtasMethod(str, Enum):