This is an automated email from the ASF dual-hosted git repository. michaelsmolina pushed a commit to branch 3.0 in repository https://gitbox.apache.org/repos/asf/superset.git
commit efae3e7ce53d17146169f03a29738c6b5c4f4d57 Author: mapledan <[email protected]> AuthorDate: Thu Feb 1 10:07:43 2024 +0800 fix: handle CRLF endings causing sqlglot failure (#26911) (cherry picked from commit f2bf9f72e4f17604f5db80f25815525236a7269a) --- superset/sql_parse.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/superset/sql_parse.py b/superset/sql_parse.py index 080572eba1..771ca32928 100644 --- a/superset/sql_parse.py +++ b/superset/sql_parse.py @@ -283,7 +283,7 @@ class ParsedQuery: Note: this uses sqlglot, since it's better at catching more edge cases. """ try: - statements = parse(self.sql, dialect=self._dialect) + statements = parse(self.stripped(), dialect=self._dialect) except ParseError: logger.warning("Unable to parse SQL (%s): %s", self._dialect, self.sql) return set() @@ -493,7 +493,7 @@ class ParsedQuery: return self._parsed[0].get_type() == "UNKNOWN" def stripped(self) -> str: - return self.sql.strip(" \t\n;") + return self.sql.strip(" \t\r\n;") def strip_comments(self) -> str: return sqlparse.format(self.stripped(), strip_comments=True)
