You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by dp...@apache.org on 2020/04/23 08:36:22 UTC
[incubator-superset] branch master updated: [sql_lab] Improve
performance, only use slow func when needed (#9612)
This is an automated email from the ASF dual-hosted git repository.
dpgaspar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-superset.git
The following commit(s) were added to refs/heads/master by this push:
new 76764ac [sql_lab] Improve performance, only use slow func when needed (#9612)
76764ac is described below
commit 76764acfc16ef16583dcad30472d93346deaa796
Author: Daniel Vaz Gaspar <da...@gmail.com>
AuthorDate: Thu Apr 23 09:35:57 2020 +0100
[sql_lab] Improve performance, only use slow func when needed (#9612)
---
superset/sql_parse.py | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/superset/sql_parse.py b/superset/sql_parse.py
index 35c6e9f..b39fc44 100644
--- a/superset/sql_parse.py
+++ b/superset/sql_parse.py
@@ -60,12 +60,14 @@ class ParsedQuery:
logger.debug("Parsing with sqlparse statement: %s", self.sql)
self._parsed = sqlparse.parse(self.stripped())
for statement in self._parsed:
- self.__extract_from_token(statement)
self._limit = _extract_limit_from_query(statement)
- self._table_names = self._table_names - self._alias_names
@property
def tables(self) -> Set[str]:
+ if not self._table_names:
+ for statement in self._parsed:
+ self.__extract_from_token(statement)
+ self._table_names = self._table_names - self._alias_names
return self._table_names
@property