Commit f64a2bb8 authored by Serhiy Storchaka's avatar Serhiy Storchaka

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.
parent 04405716
...@@ -12,6 +12,9 @@ What's New in Python 3.3.2? ...@@ -12,6 +12,9 @@ What's New in Python 3.3.2?
Core and Builtins 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 #17413: sys.settrace callbacks were being passed a string instead of an - Issue #17413: sys.settrace callbacks were being passed a string instead of an
exception instance for the 'value' element of the arg tuple if the exception exception instance for the 'value' element of the arg tuple if the exception
originated from C code; now an exception instance is always provided. originated from C code; now an exception instance is always provided.
......
...@@ -701,7 +701,7 @@ PyObject* _pysqlite_query_execute(pysqlite_Cursor* self, int multiple, PyObject* ...@@ -701,7 +701,7 @@ PyObject* _pysqlite_query_execute(pysqlite_Cursor* self, int multiple, PyObject*
Py_DECREF(self->lastrowid); Py_DECREF(self->lastrowid);
if (!multiple && statement_type == STATEMENT_INSERT) { if (!multiple && statement_type == STATEMENT_INSERT) {
sqlite3_int64 lastrowid; sqlite_int64 lastrowid;
Py_BEGIN_ALLOW_THREADS Py_BEGIN_ALLOW_THREADS
lastrowid = sqlite3_last_insert_rowid(self->connection->db); lastrowid = sqlite3_last_insert_rowid(self->connection->db);
Py_END_ALLOW_THREADS Py_END_ALLOW_THREADS
......
...@@ -111,7 +111,7 @@ int _pysqlite_seterror(sqlite3* db, sqlite3_stmt* st) ...@@ -111,7 +111,7 @@ int _pysqlite_seterror(sqlite3* db, sqlite3_stmt* st)
#endif #endif
PyObject * PyObject *
_pysqlite_long_from_int64(sqlite3_int64 value) _pysqlite_long_from_int64(sqlite_int64 value)
{ {
#ifdef HAVE_LONG_LONG #ifdef HAVE_LONG_LONG
# if SIZEOF_LONG_LONG < 8 # if SIZEOF_LONG_LONG < 8
...@@ -135,7 +135,7 @@ _pysqlite_long_from_int64(sqlite3_int64 value) ...@@ -135,7 +135,7 @@ _pysqlite_long_from_int64(sqlite3_int64 value)
return PyLong_FromLong(value); return PyLong_FromLong(value);
} }
sqlite3_int64 sqlite_int64
_pysqlite_long_as_int64(PyObject * py_val) _pysqlite_long_as_int64(PyObject * py_val)
{ {
int overflow; int overflow;
...@@ -158,8 +158,8 @@ _pysqlite_long_as_int64(PyObject * py_val) ...@@ -158,8 +158,8 @@ _pysqlite_long_as_int64(PyObject * py_val)
#endif #endif
return value; return value;
} }
else if (sizeof(value) < sizeof(sqlite3_int64)) { else if (sizeof(value) < sizeof(sqlite_int64)) {
sqlite3_int64 int64val; sqlite_int64 int64val;
if (_PyLong_AsByteArray((PyLongObject *)py_val, if (_PyLong_AsByteArray((PyLongObject *)py_val,
(unsigned char *)&int64val, sizeof(int64val), (unsigned char *)&int64val, sizeof(int64val),
IS_LITTLE_ENDIAN, 1 /* signed */) >= 0) { IS_LITTLE_ENDIAN, 1 /* signed */) >= 0) {
......
...@@ -36,7 +36,7 @@ int pysqlite_step(sqlite3_stmt* statement, pysqlite_Connection* connection); ...@@ -36,7 +36,7 @@ int pysqlite_step(sqlite3_stmt* statement, pysqlite_Connection* connection);
*/ */
int _pysqlite_seterror(sqlite3* db, sqlite3_stmt* st); int _pysqlite_seterror(sqlite3* db, sqlite3_stmt* st);
PyObject * _pysqlite_long_from_int64(sqlite3_int64 value); PyObject * _pysqlite_long_from_int64(sqlite_int64 value);
sqlite3_int64 _pysqlite_long_as_int64(PyObject * value); sqlite_int64 _pysqlite_long_as_int64(PyObject * value);
#endif #endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment