Return empty tuple instead when no rows in result

As defined in DB-API 2.0.

Fixes #284
This commit is contained in:
INADA Naoki
2015-02-01 05:25:52 +09:00
parent 63053bb677
commit eea1ebc22f

View File

@@ -235,7 +235,7 @@ class Cursor(object):
''' Fetch several rows ''' ''' Fetch several rows '''
self._check_executed() self._check_executed()
if self._rows is None: if self._rows is None:
return None return ()
end = self.rownumber + (size or self.arraysize) end = self.rownumber + (size or self.arraysize)
result = self._rows[self.rownumber:end] result = self._rows[self.rownumber:end]
self.rownumber = min(end, len(self._rows)) self.rownumber = min(end, len(self._rows))
@@ -245,7 +245,7 @@ class Cursor(object):
''' Fetch all the rows ''' ''' Fetch all the rows '''
self._check_executed() self._check_executed()
if self._rows is None: if self._rows is None:
return None return ()
if self.rownumber: if self.rownumber:
result = self._rows[self.rownumber:] result = self._rows[self.rownumber:]
else: else:
@@ -396,7 +396,6 @@ class SSCursor(Cursor):
Fetch all, as per MySQLdb. Pretty useless for large queries, as Fetch all, as per MySQLdb. Pretty useless for large queries, as
it is buffered. See fetchall_unbuffered(), if you want an unbuffered it is buffered. See fetchall_unbuffered(), if you want an unbuffered
generator version of this method. generator version of this method.
""" """
return list(self.fetchall_unbuffered()) return list(self.fetchall_unbuffered())
@@ -413,7 +412,6 @@ class SSCursor(Cursor):
def fetchmany(self, size=None): def fetchmany(self, size=None):
""" Fetch many """ """ Fetch many """
self._check_executed() self._check_executed()
if size is None: if size is None:
size = self.arraysize size = self.arraysize