Merge pull request #1139 from getredash/random

Fix: Impala data source referencing wrong variable
This commit is contained in:
Arik Fraimovich
2016-06-17 17:53:30 +03:00
committed by GitHub

View File

@@ -78,24 +78,20 @@ class Impala(BaseSQLQueryRunner):
super(Impala, self).__init__(configuration)
def _get_tables(self, schema_dict):
try:
schemas_query = "show schemas;"
schemas_query = "show schemas;"
tables_query = "show tables in %s;"
columns_query = "show column stats %s;"
tables_query = "show tables in %s;"
for schema_name in map(lambda a: a['name'], self._run_query_internal(schemas_query)):
for table_name in map(lambda a: a['name'], self._run_query_internal(tables_query % schema_name)):
columns = map(lambda a: a['Column'], self._run_query_internal(columns_query % table_name))
columns_query = "show column stats %s;"
if schema_name != 'default':
table_name = '{}.{}'.format(schema_name, table_name)
for schema_name in map(lambda a: a['name'], self._run_query_internal(schemas_query)):
for table_name in map(lambda a: a['name'], self._run_query_internal(tables_query % schema_name)):
columns = map(lambda a: a['Column'], self._run_query_internal(columns_query % table_name))
schema_dict[table_name] = {'name': table_name, 'columns': columns}
if schema_name != 'default':
table_name = '{}.{}'.format(schema_name, table_name)
schema[table_name] = {'name': table_name, 'columns': columns}
except Exception, e:
raise sys.exc_info()[1], None, sys.exc_info()[2]
return schema.values()
return schema_dict.values()
def run_query(self, query):