[pypy-commit] pypy default: Work with sqlite's that don't have extension support.
alex_gaynor
noreply at buildbot.pypy.org
Thu Dec 22 23:59:03 CET 2011
Author: Alex Gaynor <alex.gaynor at gmail.com>
Branch:
Changeset: r50825:2988075eae8d
Date: 2011-12-22 16:58 -0600
http://bitbucket.org/pypy/pypy/changeset/2988075eae8d/
Log: Work with sqlite's that don't have extension support.
diff --git a/lib_pypy/_sqlite3.py b/lib_pypy/_sqlite3.py
--- a/lib_pypy/_sqlite3.py
+++ b/lib_pypy/_sqlite3.py
@@ -231,8 +231,10 @@
sqlite.sqlite3_result_text.argtypes = [c_void_p, c_char_p, c_int, c_void_p]
sqlite.sqlite3_result_text.restype = None
-sqlite.sqlite3_enable_load_extension.argtypes = [c_void_p, c_int]
-sqlite.sqlite3_enable_load_extension.restype = c_int
+HAS_LOAD_EXTENSION = hasattr(sqlite, "sqlite3_enable_load_extension")
+if HAS_LOAD_EXTENSION:
+ sqlite.sqlite3_enable_load_extension.argtypes = [c_void_p, c_int]
+ sqlite.sqlite3_enable_load_extension.restype = c_int
##########################################
# END Wrapped SQLite C API and constants
@@ -708,13 +710,14 @@
from sqlite3.dump import _iterdump
return _iterdump(self)
- def enable_load_extension(self, enabled):
- self._check_thread()
- self._check_closed()
+ if HAS_LOAD_EXTENSION:
+ def enable_load_extension(self, enabled):
+ self._check_thread()
+ self._check_closed()
- rc = sqlite.sqlite3_enable_load_extension(self.db, int(enabled))
- if rc != SQLITE_OK:
- raise OperationalError("Error enabling load extension")
+ rc = sqlite.sqlite3_enable_load_extension(self.db, int(enabled))
+ if rc != SQLITE_OK:
+ raise OperationalError("Error enabling load extension")
DML, DQL, DDL = range(3)
More information about the pypy-commit
mailing list