Skip to content

Commit 41581e9

Browse files
omit strip_comments from ParsedQuery
1 parent b991917 commit 41581e9

6 files changed

Lines changed: 6 additions & 23 deletions

File tree

superset/config.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1564,7 +1564,7 @@ def EMAIL_HEADER_MUTATOR( # pylint: disable=invalid-name,unused-argument
15641564
# def DATASET_HEALTH_CHECK(datasource: SqlaTable) -> Optional[str]:
15651565
# if (
15661566
# datasource.sql and
1567-
# len(sql_parse.ParsedQuery(datasource.sql, strip_comments=True).tables) == 1
1567+
# len(sql_parse.ParsedQuery(datasource.sql).tables) == 1
15681568
# ):
15691569
# return (
15701570
# "This virtual dataset queries only one table and therefore could be "
@@ -1702,7 +1702,7 @@ class ExtraDynamicQueryFilters(TypedDict, total=False):
17021702
try:
17031703
# pylint: disable=import-error,wildcard-import,unused-wildcard-import
17041704
import superset_config
1705-
from superset_config import * # type: ignore
1705+
from superset_config import *
17061706

17071707
print(f"Loaded your LOCAL configuration at [{superset_config.__file__}]")
17081708
except Exception:

superset/models/helpers.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -906,7 +906,6 @@ def get_query_str_extended(
906906
sqlaq = self.get_sqla_query(**query_obj)
907907
sql = self.database.compile_sqla_query(sqlaq.sqla_query)
908908
sql = self._apply_cte(sql, sqlaq.cte)
909-
sql = sqlparse.format(sql, reindent=True)
910909
if mutate:
911910
sql = self.mutate_query_from_config(sql)
912911
return QueryStringExtended(
@@ -1071,6 +1070,7 @@ def get_rendered_sql(
10711070
msg=ex.message,
10721071
)
10731072
) from ex
1073+
logger.info(f"{__name__} - get_rendered_sql: Stripping comments from SQL")
10741074
sql = sqlparse.format(sql.strip("\t\r\n; "), strip_comments=True)
10751075
if not sql:
10761076
raise QueryObjectValidationError(_("Virtual dataset query cannot be empty"))

superset/sql_lab.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -412,7 +412,6 @@ def execute_sql_statements(
412412
# Breaking down into multiple statements
413413
parsed_query = ParsedQuery(
414414
rendered_query,
415-
strip_comments=True,
416415
engine=db_engine_spec.engine,
417416
)
418417
if not db_engine_spec.run_multiple_statements_as_one:

superset/sql_parse.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -256,12 +256,8 @@ class ParsedQuery:
256256
def __init__(
257257
self,
258258
sql_statement: str,
259-
strip_comments: bool = False,
260259
engine: Optional[str] = None,
261260
):
262-
if strip_comments:
263-
sql_statement = sqlparse.format(sql_statement, strip_comments=True)
264-
265261
self.sql: str = sql_statement
266262
self._dialect = SQLGLOT_DIALECTS.get(engine) if engine else None
267263
self._tables: set[Table] = set()
@@ -604,6 +600,7 @@ def set_or_update_query_limit(self, new_limit: int, force: bool = False) -> str:
604600

605601

606602
def sanitize_clause(clause: str) -> str:
603+
logger.info(f"{__name__}: sanitize")
607604
# clause = sqlparse.format(clause, strip_comments=True)
608605
statements = sqlparse.parse(clause)
609606
if len(statements) != 1:

superset/sqllab/query_render.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,6 @@ def render(self, execution_context: SqlJsonExecutionContext) -> str:
6060

6161
parsed_query = ParsedQuery(
6262
query_model.sql,
63-
strip_comments=True,
6463
engine=query_model.database.db_engine_spec.engine,
6564
)
6665
rendered_query = sql_template_processor.process_template(

tests/unit_tests/sql_parse_tests.py

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -863,9 +863,7 @@ def test_is_valid_ctas() -> None:
863863
864864
A valid CTAS has a ``SELECT`` as its last statement.
865865
"""
866-
assert (
867-
ParsedQuery("SELECT * FROM table", strip_comments=True).is_valid_ctas() is True
868-
)
866+
assert ParsedQuery("SELECT * FROM table").is_valid_ctas() is True
869867

870868
assert (
871869
ParsedQuery(
@@ -874,7 +872,6 @@ def test_is_valid_ctas() -> None:
874872
SELECT * FROM table
875873
-- comment 2
876874
""",
877-
strip_comments=True,
878875
).is_valid_ctas()
879876
is True
880877
)
@@ -887,7 +884,6 @@ def test_is_valid_ctas() -> None:
887884
SELECT @value as foo;
888885
-- comment 2
889886
""",
890-
strip_comments=True,
891887
).is_valid_ctas()
892888
is True
893889
)
@@ -899,7 +895,6 @@ def test_is_valid_ctas() -> None:
899895
EXPLAIN SELECT * FROM table
900896
-- comment 2
901897
""",
902-
strip_comments=True,
903898
).is_valid_ctas()
904899
is False
905900
)
@@ -910,7 +905,6 @@ def test_is_valid_ctas() -> None:
910905
SELECT * FROM table;
911906
INSERT INTO TABLE (foo) VALUES (42);
912907
""",
913-
strip_comments=True,
914908
).is_valid_ctas()
915909
is False
916910
)
@@ -922,9 +916,7 @@ def test_is_valid_cvas() -> None:
922916
923917
A valid CVAS has a single ``SELECT`` statement.
924918
"""
925-
assert (
926-
ParsedQuery("SELECT * FROM table", strip_comments=True).is_valid_cvas() is True
927-
)
919+
assert ParsedQuery("SELECT * FROM table").is_valid_cvas() is True
928920

929921
assert (
930922
ParsedQuery(
@@ -933,7 +925,6 @@ def test_is_valid_cvas() -> None:
933925
SELECT * FROM table
934926
-- comment 2
935927
""",
936-
strip_comments=True,
937928
).is_valid_cvas()
938929
is True
939930
)
@@ -946,7 +937,6 @@ def test_is_valid_cvas() -> None:
946937
SELECT @value as foo;
947938
-- comment 2
948939
""",
949-
strip_comments=True,
950940
).is_valid_cvas()
951941
is False
952942
)
@@ -958,7 +948,6 @@ def test_is_valid_cvas() -> None:
958948
EXPLAIN SELECT * FROM table
959949
-- comment 2
960950
""",
961-
strip_comments=True,
962951
).is_valid_cvas()
963952
is False
964953
)
@@ -969,7 +958,6 @@ def test_is_valid_cvas() -> None:
969958
SELECT * FROM table;
970959
INSERT INTO TABLE (foo) VALUES (42);
971960
""",
972-
strip_comments=True,
973961
).is_valid_cvas()
974962
is False
975963
)

0 commit comments

Comments
 (0)