diff options
author | Erlend Egeberg Aasland <erlend.aasland@protonmail.com> | 2022-06-15 08:42:49 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-06-15 08:42:49 (GMT) |
commit | 4e9fa71d7e8e2f322f0b81b315ddc921f57384c0 (patch) | |
tree | 3fbc3aad44e36972ba2995b5b15421dd20d65da0 /Modules | |
parent | cdd39843073fc27b8e4a887d5d3b7992cb2ced60 (diff) | |
download | cpython-4e9fa71d7e8e2f322f0b81b315ddc921f57384c0.zip cpython-4e9fa71d7e8e2f322f0b81b315ddc921f57384c0.tar.gz cpython-4e9fa71d7e8e2f322f0b81b315ddc921f57384c0.tar.bz2 |
gh-93829: In sqlite3, replace Py_BuildValue with faster APIs (#93830)
- In Modules/_sqlite/connection.c, use PyLong_FromLong
- In Modules/_sqlite/microprotocols.c, use PyTuple_Pack
Diffstat (limited to 'Modules')
-rw-r--r-- | Modules/_sqlite/connection.c | 3 | ||||
-rw-r--r-- | Modules/_sqlite/microprotocols.c | 4 |
2 files changed, 3 insertions, 4 deletions
diff --git a/Modules/_sqlite/connection.c b/Modules/_sqlite/connection.c index 484af7a..f0e6a56 100644 --- a/Modules/_sqlite/connection.c +++ b/Modules/_sqlite/connection.c @@ -1582,9 +1582,8 @@ static PyObject* pysqlite_connection_get_total_changes(pysqlite_Connection* self { if (!pysqlite_check_connection(self)) { return NULL; - } else { - return Py_BuildValue("i", sqlite3_total_changes(self->db)); } + return PyLong_FromLong(sqlite3_total_changes(self->db)); } static PyObject* pysqlite_connection_get_in_transaction(pysqlite_Connection* self, void* unused) diff --git a/Modules/_sqlite/microprotocols.c b/Modules/_sqlite/microprotocols.c index a79f006..148220d 100644 --- a/Modules/_sqlite/microprotocols.c +++ b/Modules/_sqlite/microprotocols.c @@ -57,7 +57,7 @@ pysqlite_microprotocols_add(pysqlite_state *state, PyTypeObject *type, assert(type != NULL); assert(proto != NULL); - key = Py_BuildValue("(OO)", (PyObject*)type, proto); + key = PyTuple_Pack(2, (PyObject *)type, proto); if (!key) { return -1; } @@ -81,7 +81,7 @@ pysqlite_microprotocols_adapt(pysqlite_state *state, PyObject *obj, way to get a quotable object to be its instance */ /* look for an adapter in the registry */ - key = Py_BuildValue("(OO)", (PyObject*)Py_TYPE(obj), proto); + key = PyTuple_Pack(2, (PyObject *)Py_TYPE(obj), proto); if (!key) { return NULL; } |