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

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

commit f0b7202d2d68a9c8af195948d6a162af30f5c62f
Author: Maxime Beauchemin <[email protected]>
AuthorDate: Mon Jun 3 15:12:00 2024 -0700

    trying to progress
---
 superset/connectors/sqla/models.py |  2 +-
 superset/models/helpers.py         | 13 +++----------
 2 files changed, 4 insertions(+), 11 deletions(-)

diff --git a/superset/connectors/sqla/models.py 
b/superset/connectors/sqla/models.py
index 587a184e17..4f693a87f6 100644
--- a/superset/connectors/sqla/models.py
+++ b/superset/connectors/sqla/models.py
@@ -1450,7 +1450,7 @@ class SqlaTable(
         if not self.is_virtual:
             return self.get_sqla_table(), None
 
-        from_sql = self.get_rendered_sql(template_processor)
+        from_sql = self.get_rendered_sql(template_processor) + "\n"
         parsed_query = ParsedQuery(from_sql, engine=self.db_engine_spec.engine)
         if not (
             parsed_query.is_unknown()
diff --git a/superset/models/helpers.py b/superset/models/helpers.py
index 2d31bf56ef..85b75dafe1 100644
--- a/superset/models/helpers.py
+++ b/superset/models/helpers.py
@@ -1070,8 +1070,7 @@ class ExploreMixin:  # pylint: 
disable=too-many-public-methods
         """
         Render sql with template engine (Jinja).
         """
-
-        sql = self.sql
+        sql = self.sql.strip("\t\r\n; ")
         if template_processor:
             try:
                 sql = template_processor.process_template(sql)
@@ -1083,13 +1082,12 @@ class ExploreMixin:  # pylint: 
disable=too-many-public-methods
                     )
                 ) from ex
 
-        script = SQLScript(sql.strip("\t\r\n; "), 
engine=self.db_engine_spec.engine)
+        script = SQLScript(sql, engine=self.db_engine_spec.engine)
         if len(script.statements) > 1:
             raise QueryObjectValidationError(
                 _("Virtual dataset query cannot consist of multiple 
statements")
             )
 
-        sql = script.statements[0].format()
         if not sql:
             raise QueryObjectValidationError(_("Virtual dataset query cannot 
be empty"))
         return sql
@@ -1106,12 +1104,7 @@ class ExploreMixin:  # pylint: 
disable=too-many-public-methods
         CTE, the CTE is returned as the second value in the return tuple.
         """
 
-        from_sql = self.get_rendered_sql(template_processor)
-
-        # TEST this SOLUTION (?)
-        # Add a line break in case last line happens to be a comment
-        # from_sql = from_sql + '\n'
-
+        from_sql = self.get_rendered_sql(template_processor) + "\n"
         parsed_query = ParsedQuery(from_sql, engine=self.db_engine_spec.engine)
         if not (
             parsed_query.is_unknown()

Reply via email to