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) super(Impala, self).__init__(configuration)
def _get_tables(self, schema_dict): 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)): schema_dict[table_name] = {'name': table_name, 'columns': columns}
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))
if schema_name != 'default': return schema_dict.values()
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()
def run_query(self, query): def run_query(self, query):