diff --git a/superset/db_engine_specs/hive.py b/superset/db_engine_specs/hive.py index 924614cca..ec922d762 100644 --- a/superset/db_engine_specs/hive.py +++ b/superset/db_engine_specs/hive.py @@ -29,7 +29,7 @@ from sqlalchemy.engine.url import make_url from sqlalchemy.sql.expression import ColumnClause, Select from werkzeug.utils import secure_filename -from superset import app, conf +from superset import app, cache, conf from superset.db_engine_specs.base import BaseEngineSpec from superset.db_engine_specs.presto import PrestoEngineSpec from superset.utils import core as utils @@ -428,6 +428,7 @@ class HiveEngineSpec(PrestoEngineSpec): cursor.execute(query, **kwargs) @classmethod + @cache.memoize() def get_function_names(cls, database: "Database") -> List[str]: """ Get a list of function names that are able to be called on the database. diff --git a/superset/db_engine_specs/presto.py b/superset/db_engine_specs/presto.py index ee0117cac..0da8dd52e 100644 --- a/superset/db_engine_specs/presto.py +++ b/superset/db_engine_specs/presto.py @@ -32,7 +32,7 @@ from sqlalchemy.engine.reflection import Inspector from sqlalchemy.engine.result import RowProxy from sqlalchemy.sql.expression import ColumnClause, Select -from superset import app, is_feature_enabled, security_manager +from superset import app, cache, is_feature_enabled, security_manager from superset.db_engine_specs.base import BaseEngineSpec from superset.exceptions import SupersetTemplateException from superset.models.sql_types.presto_sql_types import type_map as presto_type_map @@ -947,6 +947,7 @@ class PrestoEngineSpec(BaseEngineSpec): return df.to_dict()[field_to_return][0] @classmethod + @cache.memoize() def get_function_names(cls, database: "Database") -> List[str]: """ Get a list of function names that are able to be called on the database.