You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by jo...@apache.org on 2023/03/15 23:39:36 UTC

[superset] 01/01: fix(sql-lab): Tracking URL getter/setter

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

johnbodley pushed a commit to branch john-bodley--fix-sql-lab-tracking-url
in repository https://gitbox.apache.org/repos/asf/superset.git

commit 121a9ba4cb785bf9166daeeea0d9b8ad6d1d8845
Author: John Bodley <45...@users.noreply.github.com>
AuthorDate: Thu Mar 16 12:39:24 2023 +1300

    fix(sql-lab): Tracking URL getter/setter
---
 superset/models/sql_lab.py | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/superset/models/sql_lab.py b/superset/models/sql_lab.py
index f12c8d6c45..c8cc61609b 100644
--- a/superset/models/sql_lab.py
+++ b/superset/models/sql_lab.py
@@ -111,7 +111,7 @@ class Query(
     start_running_time = Column(Numeric(precision=20, scale=6))
     end_time = Column(Numeric(precision=20, scale=6))
     end_result_backend_time = Column(Numeric(precision=20, scale=6))
-    tracking_url_raw = Column(Text, name="tracking_url")
+    _tracking_url = Column("tracking_url", Text)
 
     changed_on = Column(
         DateTime, default=datetime.utcnow, onupdate=datetime.utcnow, nullable=True
@@ -314,12 +314,16 @@ class Query(
 
     @property
     def tracking_url(self) -> Optional[str]:
+        return self._tracking_url
+
+    @tracking_url.setter
+    def tracking_url(self, url: str) -> None:
         """
         Transfrom tracking url at run time because the exact URL may depends
         on query properties such as execution and finish time.
         """
         transform = current_app.config.get("TRACKING_URL_TRANSFORMER")
-        url = self.tracking_url_raw
+        
         if url and transform:
             sig = inspect.signature(transform)
             # for backward compatibility, users may define a transformer function
@@ -327,11 +331,8 @@ class Query(
             args = [url, self][: len(sig.parameters)]
             url = transform(*args)
             logger.debug("Transformed tracking url: %s", url)
-        return url
-
-    @tracking_url.setter
-    def tracking_url(self, value: str) -> None:
-        self.tracking_url_raw = value
+        
+        self._tracking_url = url
 
     def get_column(self, column_name: Optional[str]) -> Optional[Dict[str, Any]]:
         if not column_name: