This is an automated email from the ASF dual-hosted git repository.

michaelsmolina pushed a commit to branch 3.1
in repository https://gitbox.apache.org/repos/asf/superset.git

commit de61591a6a224233f170fdfedcc104918ca7edd2
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 07704171de..7b89ab8f0e 100644
--- a/superset/sql_parse.py
+++ b/superset/sql_parse.py
@@ -286,7 +286,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()
@@ -494,7 +494,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)

Reply via email to