Skip to content

Commit d9e6cab

Browse files
committed
fix sscursor
1 parent 1e94d52 commit d9e6cab

2 files changed

Lines changed: 5 additions & 4 deletions

File tree

tornado_mysql/connections.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1022,7 +1022,7 @@ def init_unbuffered_query(self):
10221022
self.connection = None
10231023
else:
10241024
self.field_count = first_packet.read_length_encoded_integer()
1025-
self._get_descriptions()
1025+
yield self._get_descriptions()
10261026

10271027
# Apparently, MySQLdb picks this number because it's the maximum
10281028
# value of a 64bit unsigned integer. Since we're emulating MySQLdb,

tornado_mysql/cursors.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -393,7 +393,7 @@ def fetchone(self):
393393
self._check_executed()
394394
row = yield self.read_next()
395395
if row is None:
396-
raise gen.Return()
396+
raise gen.Return(None)
397397
self.rownumber += 1
398398
raise gen.Return(row)
399399

@@ -427,6 +427,7 @@ def fetchmany(self, size=None):
427427
self.rownumber += 1
428428
raise gen.Return(rows)
429429

430+
@gen.coroutine
430431
def scroll(self, value, mode='relative'):
431432
self._check_executed()
432433

@@ -436,7 +437,7 @@ def scroll(self, value, mode='relative'):
436437
"Backwards scrolling not supported by this cursor")
437438

438439
for _ in range_type(value):
439-
self.read_next()
440+
yield self.read_next()
440441
self.rownumber += value
441442
elif mode == 'absolute':
442443
if value < self.rownumber:
@@ -445,7 +446,7 @@ def scroll(self, value, mode='relative'):
445446

446447
end = value - self.rownumber
447448
for _ in range_type(end):
448-
self.read_next()
449+
yield self.read_next()
449450
self.rownumber = value
450451
else:
451452
raise ProgrammingError("unknown scroll mode %s" % mode)

0 commit comments

Comments
 (0)