This is an automated email from the ASF dual-hosted git repository.

beto pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-superset.git


The following commit(s) were added to refs/heads/master by this push:
     new ae3fb04  Bug: fixing async syntax for python 3.7 (#5759)
ae3fb04 is described below

commit ae3fb040366df999e747ce3e3ab928a566b2781b
Author: Christine Chambers <christine.d.h...@gmail.com>
AuthorDate: Tue Aug 28 17:40:45 2018 -0700

    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
---
 superset/db_engine_specs.py | 7 ++++---
 superset/sql_lab.py         | 2 +-
 tests/celery_tests.py       | 8 ++++----
 3 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/superset/db_engine_specs.py b/superset/db_engine_specs.py
index 13eb695..2ce7db0 100644
--- a/superset/db_engine_specs.py
+++ b/superset/db_engine_specs.py
@@ -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):
diff --git a/superset/sql_lab.py b/superset/sql_lab.py
index a659653..4612b4e 100644
--- a/superset/sql_lab.py
+++ b/superset/sql_lab.py
@@ -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()))
diff --git a/tests/celery_tests.py b/tests/celery_tests.py
index 71adb2d..243aace 100644
--- a/tests/celery_tests.py
+++ b/tests/celery_tests.py
@@ -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)

Reply via email to