[pypy-svn] pypy default: DML queries don't have a description.
alex_gaynor
commits-noreply at bitbucket.org
Wed Mar 16 18:35:24 CET 2011
Author: Alex Gaynor <alex.gaynor at gmail.com>
Branch:
Changeset: r42723:3a9ce32bfe66
Date: 2011-03-16 13:34 -0400
http://bitbucket.org/pypy/pypy/changeset/3a9ce32bfe66/
Log: DML queries don't have a description.
diff --git a/lib_pypy/_sqlite3.py b/lib_pypy/_sqlite3.py
--- a/lib_pypy/_sqlite3.py
+++ b/lib_pypy/_sqlite3.py
@@ -31,9 +31,9 @@
from threading import _get_ident as thread_get_ident
names = "sqlite3.dll libsqlite3.so.0 libsqlite3.so libsqlite3.dylib".split()
-for name in names:
+for name in names:
try:
- sqlite = cdll.LoadLibrary(name)
+ sqlite = cdll.LoadLibrary(name)
break
except OSError:
continue
@@ -1032,6 +1032,8 @@
self.statement = None
def _get_description(self):
+ if self.kind == "DML":
+ return None
desc = []
for i in xrange(sqlite.sqlite3_column_count(self.statement)):
name = sqlite.sqlite3_column_name(self.statement, i).split("[")[0].strip()
@@ -1140,7 +1142,7 @@
def _convert_result(con, val):
if val is None:
- sqlite.sqlite3_result_null(con)
+ sqlite.sqlite3_result_null(con)
elif isinstance(val, (bool, int, long)):
sqlite.sqlite3_result_int64(con, int(val))
elif isinstance(val, str):
diff --git a/lib-python/modified-2.7.0/sqlite3/test/regression.py b/lib-python/modified-2.7.0/sqlite3/test/regression.py
--- a/lib-python/modified-2.7.0/sqlite3/test/regression.py
+++ b/lib-python/modified-2.7.0/sqlite3/test/regression.py
@@ -264,6 +264,16 @@
"""
self.assertRaises(sqlite.Warning, self.con, 1)
+ def CheckUpdateDescriptionNone(self):
+ """
+ Call Cursor.update with an UPDATE query and check that it sets the
+ cursor's description to be None.
+ """
+ cur = self.con.cursor()
+ cur.execute("CREATE TABLE foo (id INTEGER)")
+ cur.execute("UPDATE foo SET id = 3 WHERE id = 1")
+ self.assertEqual(cur.description, None)
+
def suite():
regression_suite = unittest.makeSuite(RegressionTests, "Check")
return unittest.TestSuite((regression_suite,))
More information about the Pypy-commit
mailing list