Index: Modules/_sqlite/connection.c =================================================================== --- Modules/_sqlite/connection.c (revision 85983) +++ Modules/_sqlite/connection.c (working copy) @@ -421,7 +421,7 @@ void _pysqlite_set_result(sqlite3_context* context, PyObject* py_val) { - long longval; + long long longval; const char* buffer; Py_ssize_t buflen; @@ -430,7 +430,7 @@ } else if (py_val == Py_None) { sqlite3_result_null(context); } else if (PyLong_Check(py_val)) { - longval = PyLong_AsLong(py_val); + longval = PyLong_AsLongLong(py_val); sqlite3_result_int64(context, (PY_LONG_LONG)longval); } else if (PyFloat_Check(py_val)) { sqlite3_result_double(context, PyFloat_AsDouble(py_val)); @@ -467,7 +467,7 @@ switch (sqlite3_value_type(argv[i])) { case SQLITE_INTEGER: val_int = sqlite3_value_int64(cur_value); - cur_py_value = PyLong_FromLong((long)val_int); + cur_py_value = PyLong_FromLongLong(val_int); break; case SQLITE_FLOAT: cur_py_value = PyFloat_FromDouble(sqlite3_value_double(cur_value));