Skip to content

Commit 6701d0a

Browse files
authored
fix: Use singlestoredb dialect for sqlglot (apache#36096)
1 parent 4515d18 commit 6701d0a

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

superset/sql/parse.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
Dialect,
3434
Dialects,
3535
)
36+
from sqlglot.dialects.singlestore import SingleStore
3637
from sqlglot.errors import ParseError
3738
from sqlglot.optimizer.pushdown_predicates import (
3839
pushdown_predicates,
@@ -101,7 +102,7 @@
101102
"redshift": Dialects.REDSHIFT,
102103
"risingwave": Dialects.RISINGWAVE,
103104
"shillelagh": Dialects.SQLITE,
104-
"singlestore": Dialects.MYSQL,
105+
"singlestoredb": SingleStore,
105106
"snowflake": Dialects.SNOWFLAKE,
106107
# "solr": ???
107108
"spark": Dialects.SPARK,

tests/unit_tests/sql/parse_tests.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2803,6 +2803,19 @@ def test_kqlstatement_is_select(kql: str, expected: bool) -> None:
28032803
assert KustoKQLStatement(kql, "kustokql").is_select() == expected
28042804

28052805

2806+
def test_singlestore_engine_mapping():
2807+
"""
2808+
Test the `singlestoredb` dialect is properly used.
2809+
"""
2810+
sql = "SELECT COUNT(*) AS `COUNT(*)`"
2811+
statement = SQLStatement(sql, engine="singlestoredb")
2812+
assert statement.is_select()
2813+
2814+
# Should parse without errors
2815+
formatted = statement.format()
2816+
assert "COUNT(*)" in formatted
2817+
2818+
28062819
def test_remove_quotes() -> None:
28072820
"""
28082821
Test the `remove_quotes` helper function.

0 commit comments

Comments
 (0)