Skip to content

Commit f2296d0

Browse files
committed
cursor._do_get_result() should be coroutine.
1 parent 785de03 commit f2296d0

2 files changed

Lines changed: 14 additions & 11 deletions

File tree

tornado_mysql/cursors.py

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -81,13 +81,14 @@ def _nextset(self, unbuffered=False):
8181
if not current_result.has_next:
8282
raise gen.Return()
8383
yield conn.next_result(unbuffered=unbuffered)
84-
self._do_get_result()
84+
yield self._do_get_result()
8585
raise gen.Return(True)
8686

8787
@gen.coroutine
8888
def nextset(self):
8989
"""Get the next query set"""
90-
raise gen.Return(yield self._nextset(False))
90+
res = yield self._nextset(False)
91+
raise gen.Return(res)
9192

9293
def _escape_args(self, args, conn):
9394
if isinstance(args, (tuple, list)):
@@ -280,8 +281,9 @@ def _query(self, q):
280281
conn = self._get_db()
281282
self._last_executed = q
282283
yield conn.query(q)
283-
self._do_get_result()
284+
yield self._do_get_result()
284285

286+
@gen.coroutine
285287
def _do_get_result(self):
286288
conn = self._get_db()
287289

@@ -294,10 +296,11 @@ def _do_get_result(self):
294296
self._rows = result.rows
295297

296298
if result.warning_count > 0:
297-
self._show_warnings(conn)
299+
yield self._show_warnings(conn)
298300

301+
@gen.coroutine
299302
def _show_warnings(self, conn):
300-
ws = conn.show_warnings()
303+
ws = yield conn.show_warnings()
301304
for w in ws:
302305
warnings.warn(w[-1], err.Warning, 4)
303306

@@ -320,8 +323,9 @@ class DictCursorMixin(object):
320323
# You can override this to use OrderedDict or other dict-like types.
321324
dict_type = dict
322325

326+
@gen.coroutine
323327
def _do_get_result(self):
324-
super(DictCursorMixin, self)._do_get_result()
328+
yield super(DictCursorMixin, self)._do_get_result()
325329
fields = []
326330
if self.description:
327331
for f in self._result.fields:
@@ -383,14 +387,15 @@ def _query(self, q):
383387
conn = self._get_db()
384388
self._last_executed = q
385389
yield conn.query(q, unbuffered=True)
386-
self._do_get_result()
390+
yield self._do_get_result()
387391
raise gen.Return(self.rowcount)
388392

389393
@gen.coroutine
390394
def nextset(self):
391-
raise gen.Return(yield self._nextset(True))
395+
res = yield self._nextset(True)
396+
raise gen.Return(res)
392397

393-
>>>>>>> pymysql/master:pymysql/cursors.py
398+
@gen.coroutine
394399
def read_next(self):
395400
""" Read next row """
396401
row = yield self._result._read_rowdata_packet_unbuffered()

tornado_mysql/tests/base.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,6 @@ def setUp(self):
5252
super(PyMySQLTestCase, self).setUp()
5353
self.connections = []
5454
self.io_loop.run_sync(self._connect_all)
55-
for params in self.databases:
56-
self.connections.append(pymysql.connect(**params))
5755
self.addCleanup(self._teardown_connections)
5856

5957
def _teardown_connections(self):

0 commit comments

Comments
 (0)