Replace _pysqlite_long_from_int64() with PyLong_FromLongLong() (GH-16882)

This commit is contained in:
Sergey Fedoseev 2019-10-23 13:09:01 +05:00 committed by Serhiy Storchaka
parent ea6041cd7f
commit b6f5b9dd21
4 changed files with 3 additions and 20 deletions

View File

@ -550,7 +550,7 @@ PyObject* _pysqlite_build_py_params(sqlite3_context *context, int argc, sqlite3_
cur_value = argv[i]; cur_value = argv[i];
switch (sqlite3_value_type(argv[i])) { switch (sqlite3_value_type(argv[i])) {
case SQLITE_INTEGER: case SQLITE_INTEGER:
cur_py_value = _pysqlite_long_from_int64(sqlite3_value_int64(cur_value)); cur_py_value = PyLong_FromLongLong(sqlite3_value_int64(cur_value));
break; break;
case SQLITE_FLOAT: case SQLITE_FLOAT:
cur_py_value = PyFloat_FromDouble(sqlite3_value_double(cur_value)); cur_py_value = PyFloat_FromDouble(sqlite3_value_double(cur_value));

View File

@ -277,7 +277,7 @@ _pysqlite_fetch_one_row(pysqlite_Cursor* self)
Py_INCREF(Py_None); Py_INCREF(Py_None);
converted = Py_None; converted = Py_None;
} else if (coltype == SQLITE_INTEGER) { } else if (coltype == SQLITE_INTEGER) {
converted = _pysqlite_long_from_int64(sqlite3_column_int64(self->statement->st, i)); converted = PyLong_FromLongLong(sqlite3_column_int64(self->statement->st, i));
} else if (coltype == SQLITE_FLOAT) { } else if (coltype == SQLITE_FLOAT) {
converted = PyFloat_FromDouble(sqlite3_column_double(self->statement->st, i)); converted = PyFloat_FromDouble(sqlite3_column_double(self->statement->st, i));
} else if (coltype == SQLITE_TEXT) { } else if (coltype == SQLITE_TEXT) {
@ -558,7 +558,7 @@ _pysqlite_query_execute(pysqlite_Cursor* self, int multiple, PyObject* args)
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
self->lastrowid = _pysqlite_long_from_int64(lastrowid); self->lastrowid = PyLong_FromLongLong(lastrowid);
} }
if (rc == SQLITE_ROW) { if (rc == SQLITE_ROW) {

View File

@ -103,22 +103,6 @@ int _pysqlite_seterror(sqlite3* db, sqlite3_stmt* st)
# define IS_LITTLE_ENDIAN 1 # define IS_LITTLE_ENDIAN 1
#endif #endif
PyObject *
_pysqlite_long_from_int64(sqlite_int64 value)
{
# if SIZEOF_LONG_LONG < 8
if (value > PY_LLONG_MAX || value < PY_LLONG_MIN) {
return _PyLong_FromByteArray(&value, sizeof(value),
IS_LITTLE_ENDIAN, 1 /* signed */);
}
# endif
# if SIZEOF_LONG < SIZEOF_LONG_LONG
if (value > LONG_MAX || value < LONG_MIN)
return PyLong_FromLongLong(value);
# endif
return PyLong_FromLong(Py_SAFE_DOWNCAST(value, sqlite_int64, long));
}
sqlite_int64 sqlite_int64
_pysqlite_long_as_int64(PyObject * py_val) _pysqlite_long_as_int64(PyObject * py_val)
{ {

View File

@ -37,7 +37,6 @@ 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(sqlite_int64 value);
sqlite_int64 _pysqlite_long_as_int64(PyObject * value); sqlite_int64 _pysqlite_long_as_int64(PyObject * value);
#if SQLITE_VERSION_NUMBER >= 3007014 #if SQLITE_VERSION_NUMBER >= 3007014