mirror of
https://github.com/apache/superset.git
synced 2026-04-19 16:14:52 +00:00
Bug: fixing async syntax for python 3.7 (#5759)
* Bug: fixing async syntax for python 3.7 Rename async to async_ so superset installs for python 3.7. * Addressing PR comments. Use kwargs instead of explicitly specifying async_ so downstream engines (e.g. PyHive) that supports async can choose to use the async_ in pythonwq3.7 and async in <=python3.6 * addressing additional pr comments
This commit is contained in:
committed by
Beto Dealmeida
parent
48d220c03a
commit
ae3fb04036
@@ -370,7 +370,7 @@ class BaseEngineSpec(object):
|
||||
return {}
|
||||
|
||||
@classmethod
|
||||
def execute(cls, cursor, query, async=False):
|
||||
def execute(cls, cursor, query, **kwargs):
|
||||
if cls.arraysize:
|
||||
cursor.arraysize = cls.arraysize
|
||||
cursor.execute(query)
|
||||
@@ -1276,8 +1276,9 @@ class HiveEngineSpec(PrestoEngineSpec):
|
||||
return configuration
|
||||
|
||||
@staticmethod
|
||||
def execute(cursor, query, async=False):
|
||||
cursor.execute(query, async=async)
|
||||
def execute(cursor, query, async_=False):
|
||||
kwargs = {'async': async_}
|
||||
cursor.execute(query, **kwargs)
|
||||
|
||||
|
||||
class MssqlEngineSpec(BaseEngineSpec):
|
||||
|
||||
@@ -172,7 +172,7 @@ def execute_sql(
|
||||
cursor = conn.cursor()
|
||||
logging.info('Running query: \n{}'.format(executed_sql))
|
||||
logging.info(query.executed_sql)
|
||||
db_engine_spec.execute(cursor, query.executed_sql, async=True)
|
||||
db_engine_spec.execute(cursor, query.executed_sql, async_=True)
|
||||
logging.info('Handling cursor')
|
||||
db_engine_spec.handle_cursor(cursor, query, session)
|
||||
logging.info('Fetching data: {}'.format(query.to_dict()))
|
||||
|
||||
@@ -123,14 +123,14 @@ class CeleryTestCase(SupersetTestCase):
|
||||
)
|
||||
|
||||
def run_sql(self, db_id, sql, client_id, cta='false', tmp_table='tmp',
|
||||
async='false'):
|
||||
async_='false'):
|
||||
self.login()
|
||||
resp = self.client.post(
|
||||
'/superset/sql_json/',
|
||||
data=dict(
|
||||
database_id=db_id,
|
||||
sql=sql,
|
||||
async=async,
|
||||
runAsync=async_,
|
||||
select_as_cta=cta,
|
||||
tmp_table_name=tmp_table,
|
||||
client_id=client_id,
|
||||
@@ -183,7 +183,7 @@ class CeleryTestCase(SupersetTestCase):
|
||||
eng = main_db.get_sqla_engine()
|
||||
sql_where = "SELECT name FROM ab_role WHERE name='Admin'"
|
||||
result = self.run_sql(
|
||||
main_db.id, sql_where, '4', async='true', tmp_table='tmp_async_1',
|
||||
main_db.id, sql_where, '4', async_='true', tmp_table='tmp_async_1',
|
||||
cta='true')
|
||||
assert result['query']['state'] in (
|
||||
QueryStatus.PENDING, QueryStatus.RUNNING, QueryStatus.SUCCESS)
|
||||
@@ -211,7 +211,7 @@ class CeleryTestCase(SupersetTestCase):
|
||||
eng = main_db.get_sqla_engine()
|
||||
sql_where = "SELECT name FROM ab_role WHERE name='Alpha' LIMIT 1"
|
||||
result = self.run_sql(
|
||||
main_db.id, sql_where, '5', async='true', tmp_table='tmp_async_2',
|
||||
main_db.id, sql_where, '5', async_='true', tmp_table='tmp_async_2',
|
||||
cta='true')
|
||||
assert result['query']['state'] in (
|
||||
QueryStatus.PENDING, QueryStatus.RUNNING, QueryStatus.SUCCESS)
|
||||
|
||||
Reference in New Issue
Block a user