You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by el...@apache.org on 2023/12/02 01:21:00 UTC
(superset) 05/08: chore: Bump sqlparse to 0.4.4 (#24045)
This is an automated email from the ASF dual-hosted git repository.
elizabeth pushed a commit to branch 2.1
in repository https://gitbox.apache.org/repos/asf/superset.git
commit 056c5985d643a772b2b6cc510d6a34e2c20b1860
Author: EugeneTorap <ev...@gmail.com>
AuthorDate: Tue May 23 10:15:24 2023 +0300
chore: Bump sqlparse to 0.4.4 (#24045)
Co-authored-by: sebastianliebscher <li...@protonmail.ch>
---
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 29b2932f2a..ca143b20e6 100644
--- a/requirements/base.txt
+++ b/requirements/base.txt
@@ -272,7 +272,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 05c6ca4ab5..7124e70f75 100644
--- a/setup.py
+++ b/setup.py
@@ -119,7 +119,7 @@ setup(
"slack_sdk>=3.1.1, <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 81aebe0f41..821cd5f229 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):