From 853143ad4a5c2dcd23d8549b4f206ba372617c93 Mon Sep 17 00:00:00 2001 From: "Michael S. Molina" Date: Wed, 26 Nov 2025 10:43:12 -0500 Subject: [PATCH] fix: Parsing error handling --- superset/sql/parse.py | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/superset/sql/parse.py b/superset/sql/parse.py index dc9ca632bba..792d0e9e6f6 100644 --- a/superset/sql/parse.py +++ b/superset/sql/parse.py @@ -266,14 +266,16 @@ class SQLStatement(BaseSQLStatement[exp.Expression]): try: return sqlglot.parse(script, dialect=dialect) except sqlglot.errors.ParseError as ex: - error = ex.errors[0] - raise SupersetParseError( - script, - engine, - highlight=error["highlight"], - line=error["line"], - column=error["col"], - ) from ex + kwargs = ( + { + "highlight": ex.errors[0]["highlight"], + "line": ex.errors[0]["line"], + "column": ex.errors[0]["col"], + } + if ex.errors + else {} + ) + raise SupersetParseError(script, engine, **kwargs) from ex except sqlglot.errors.SqlglotError as ex: raise SupersetParseError( script,