[pypy-svn] pypy default: sqlite: Fix the "check_closed()" tests
amauryfa
commits-noreply at bitbucket.org
Wed Feb 9 19:13:27 CET 2011
Author: Amaury Forgeot d'Arc <amauryfa at gmail.com>
Branch:
Changeset: r41748:9df946a3f31c
Date: 2011-02-09 16:54 +0100
http://bitbucket.org/pypy/pypy/changeset/9df946a3f31c/
Log: sqlite: Fix the "check_closed()" tests
diff --git a/lib_pypy/_sqlite3.py b/lib_pypy/_sqlite3.py
--- a/lib_pypy/_sqlite3.py
+++ b/lib_pypy/_sqlite3.py
@@ -497,6 +497,8 @@
raise self._get_exception(ret)
def set_authorizer(self, callback):
+ self._check_thread()
+ self._check_closed()
raise NotImplementedError
def create_function(self, name, num_args, callback):
@@ -679,6 +681,7 @@
return self.statement
def fetchone(self):
+ self._check_closed()
if self.statement is None:
return None
try:
@@ -687,6 +690,7 @@
return None
def fetchmany(self, size=None):
+ self._check_closed()
if self.statement is None:
return []
if size is None:
@@ -699,6 +703,7 @@
return lst
def fetchall(self):
+ self._check_closed()
if self.statement is None:
return []
return list(self.statement)
@@ -712,8 +717,13 @@
return sqlite.sqlite3_last_insert_rowid(self.connection.db)
def close(self):
+ if not self.connection:
+ return
self._check_closed()
- # XXX this should do reset and set statement to None it seems
+ if self.statement:
+ self.statement.reset()
+ self.statement = None
+ self.connection = None
def setinputsizes(self, *args):
pass
diff --git a/lib-python/modified-2.7.0/sqlite3/test/dbapi.py b/lib-python/modified-2.7.0/sqlite3/test/dbapi.py
--- a/lib-python/modified-2.7.0/sqlite3/test/dbapi.py
+++ b/lib-python/modified-2.7.0/sqlite3/test/dbapi.py
@@ -829,7 +829,7 @@
con = sqlite.connect(":memory:")
con.close()
try:
- con()
+ con("select 1")
self.fail("Should have raised a ProgrammingError")
except sqlite.ProgrammingError:
pass
More information about the Pypy-commit
mailing list