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()
