Issue #17857: Prevent build failures with pre-3.5.0 versions of sqlite3,
such as was shipped with Centos 5 and Mac OS X 10.4.
This bug was already fixed in issue14572 for 2.7 only and then it was
backported back from 3.3 in issue17073.
diff --git a/Misc/NEWS b/Misc/NEWS
index cdcf9e5..ef4bc8a 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -17,6 +17,9 @@
Core and Builtins
-----------------
+- Issue #17857: Prevent build failures with pre-3.5.0 versions of sqlite3,
+ such as was shipped with Centos 5 and Mac OS X 10.4.
+
- Issue #17703: Fix a regression where an illegal use of Py_DECREF() after
interpreter finalization can cause a crash.
diff --git a/Modules/_sqlite/cursor.c b/Modules/_sqlite/cursor.c
index ae810de..f06f92c 100644
--- a/Modules/_sqlite/cursor.c
+++ b/Modules/_sqlite/cursor.c
@@ -732,7 +732,7 @@
Py_DECREF(self->lastrowid);
if (!multiple && statement_type == STATEMENT_INSERT) {
- sqlite3_int64 lastrowid;
+ sqlite_int64 lastrowid;
Py_BEGIN_ALLOW_THREADS
lastrowid = sqlite3_last_insert_rowid(self->connection->db);
Py_END_ALLOW_THREADS
diff --git a/Modules/_sqlite/util.c b/Modules/_sqlite/util.c
index 5f06b66..a24dd8c 100644
--- a/Modules/_sqlite/util.c
+++ b/Modules/_sqlite/util.c
@@ -111,7 +111,7 @@
#endif
PyObject *
-_pysqlite_long_from_int64(sqlite3_int64 value)
+_pysqlite_long_from_int64(sqlite_int64 value)
{
#ifdef HAVE_LONG_LONG
# if SIZEOF_LONG_LONG < 8
@@ -135,7 +135,7 @@
return PyInt_FromLong(value);
}
-sqlite3_int64
+sqlite_int64
_pysqlite_long_as_int64(PyObject * py_val)
{
int overflow;
@@ -158,8 +158,8 @@
#endif
return value;
}
- else if (sizeof(value) < sizeof(sqlite3_int64)) {
- sqlite3_int64 int64val;
+ else if (sizeof(value) < sizeof(sqlite_int64)) {
+ sqlite_int64 int64val;
if (_PyLong_AsByteArray((PyLongObject *)py_val,
(unsigned char *)&int64val, sizeof(int64val),
IS_LITTLE_ENDIAN, 1 /* signed */) >= 0) {
diff --git a/Modules/_sqlite/util.h b/Modules/_sqlite/util.h
index 12a5710..4c3b2c7 100644
--- a/Modules/_sqlite/util.h
+++ b/Modules/_sqlite/util.h
@@ -36,7 +36,7 @@
*/
int _pysqlite_seterror(sqlite3* db, sqlite3_stmt* st);
-PyObject * _pysqlite_long_from_int64(sqlite3_int64 value);
-sqlite3_int64 _pysqlite_long_as_int64(PyObject * value);
+PyObject * _pysqlite_long_from_int64(sqlite_int64 value);
+sqlite_int64 _pysqlite_long_as_int64(PyObject * value);
#endif