Skip to content

Commit eea1ebc

Browse files
committed
Return empty tuple instead when no rows in result
As defined in DB-API 2.0. Fixes #284
1 parent 63053bb commit eea1ebc

1 file changed

Lines changed: 2 additions & 4 deletions

File tree

pymysql/cursors.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@ def fetchmany(self, size=None):
235235
''' Fetch several rows '''
236236
self._check_executed()
237237
if self._rows is None:
238-
return None
238+
return ()
239239
end = self.rownumber + (size or self.arraysize)
240240
result = self._rows[self.rownumber:end]
241241
self.rownumber = min(end, len(self._rows))
@@ -245,7 +245,7 @@ def fetchall(self):
245245
''' Fetch all the rows '''
246246
self._check_executed()
247247
if self._rows is None:
248-
return None
248+
return ()
249249
if self.rownumber:
250250
result = self._rows[self.rownumber:]
251251
else:
@@ -396,7 +396,6 @@ def fetchall(self):
396396
Fetch all, as per MySQLdb. Pretty useless for large queries, as
397397
it is buffered. See fetchall_unbuffered(), if you want an unbuffered
398398
generator version of this method.
399-
400399
"""
401400
return list(self.fetchall_unbuffered())
402401

@@ -413,7 +412,6 @@ def __iter__(self):
413412

414413
def fetchmany(self, size=None):
415414
""" Fetch many """
416-
417415
self._check_executed()
418416
if size is None:
419417
size = self.arraysize

0 commit comments

Comments
 (0)