diff --git a/superset/db_engine_specs.py b/superset/db_engine_specs.py index 19f55ea4d5e..5722507abfb 100644 --- a/superset/db_engine_specs.py +++ b/superset/db_engine_specs.py @@ -686,6 +686,16 @@ class PrestoEngineSpec(BaseEngineSpec): date_add('day', 1, CAST({col} AS TIMESTAMP))))", } + @classmethod + def get_view_names(cls, inspector, schema): + """Returns an empty list + + get_table_names() function returns all table names and view names, + and get_view_names() is not implemented in sqlalchemy_presto.py + https://github.com/dropbox/PyHive/blob/e25fc8440a0686bbb7a5db5de7cb1a77bdb4167a/pyhive/sqlalchemy_presto.py + """ + return [] + @classmethod def adjust_database_uri(cls, uri, selected_schema=None): database = uri.database diff --git a/tests/db_engine_specs_test.py b/tests/db_engine_specs_test.py index b72052f6209..bdee22aa36d 100644 --- a/tests/db_engine_specs_test.py +++ b/tests/db_engine_specs_test.py @@ -1,5 +1,7 @@ import inspect +import mock + from superset import db_engine_specs from superset.db_engine_specs import ( BaseEngineSpec, HiveEngineSpec, MssqlEngineSpec, @@ -284,3 +286,9 @@ class DbEngineSpecsTestCase(SupersetTestCase): defined_time_grains = {grain.duration for grain in cls.get_time_grains()} intersection = time_grains.intersection(defined_time_grains) self.assertSetEqual(defined_time_grains, intersection, cls_name) + + def test_presto_get_view_names_return_empty_list(self): + self.assertEquals([], PrestoEngineSpec.get_view_names(mock.ANY, mock.ANY)) + + def test_hive_get_view_names_return_empty_list(self): + self.assertEquals([], HiveEngineSpec.get_view_names(mock.ANY, mock.ANY))