diff --git a/redash/query_runner/athena.py b/redash/query_runner/athena.py index 58d0e70315..d79f731a1e 100644 --- a/redash/query_runner/athena.py +++ b/redash/query_runner/athena.py @@ -136,9 +136,11 @@ def __get_schema_from_glue(self): region_name=self.configuration['region'] ) schema = {} + paginator = client.get_paginator('get_tables') for database in client.get_databases()['DatabaseList']: - for table in client.get_tables(DatabaseName=database['Name'])['TableList']: + iterator = paginator.paginate(DatabaseName=database['Name']) + for table in iterator.search('TableList[]'): table_name = '%s.%s' % (database['Name'], table['Name']) if table_name not in schema: column = [columns['Name'] for columns in table['StorageDescriptor']['Columns']]