summaryrefslogtreecommitdiffstats
path: root/contrib/tools/python3/Modules/_sqlite
diff options
context:
space:
mode:
authorshadchin <[email protected]>2025-06-13 00:05:26 +0300
committershadchin <[email protected]>2025-06-13 00:35:30 +0300
commit796b9088366b10b4cd42885101fc20c0b5709b07 (patch)
treef287eacb0b95ffd7cabf95b16cafb4788645dc38 /contrib/tools/python3/Modules/_sqlite
parentc72bca862651e507d2ff4980ef7f4ff7267a7227 (diff)
Update Python 3 to 3.12.10
commit_hash:dd2398e159fe1d72ea6b12da52fccc933a41a785
Diffstat (limited to 'contrib/tools/python3/Modules/_sqlite')
-rw-r--r--contrib/tools/python3/Modules/_sqlite/row.c25
-rw-r--r--contrib/tools/python3/Modules/_sqlite/ya.make4
2 files changed, 17 insertions, 12 deletions
diff --git a/contrib/tools/python3/Modules/_sqlite/row.c b/contrib/tools/python3/Modules/_sqlite/row.c
index 1a1943285ce..6179e279678 100644
--- a/contrib/tools/python3/Modules/_sqlite/row.c
+++ b/contrib/tools/python3/Modules/_sqlite/row.c
@@ -128,7 +128,6 @@ static PyObject *
pysqlite_row_subscript(pysqlite_Row *self, PyObject *idx)
{
Py_ssize_t _idx;
- Py_ssize_t nitems, i;
if (PyLong_Check(idx)) {
_idx = PyNumber_AsSsize_t(idx, PyExc_IndexError);
@@ -140,9 +139,13 @@ pysqlite_row_subscript(pysqlite_Row *self, PyObject *idx)
PyObject *item = PyTuple_GetItem(self->data, _idx);
return Py_XNewRef(item);
} else if (PyUnicode_Check(idx)) {
- nitems = PyTuple_Size(self->description);
+ if (Py_IsNone(self->description)) {
+ PyErr_Format(PyExc_IndexError, "No item with key %R", idx);
+ return NULL;
+ }
+ Py_ssize_t nitems = PyTuple_GET_SIZE(self->description);
- for (i = 0; i < nitems; i++) {
+ for (Py_ssize_t i = 0; i < nitems; i++) {
PyObject *obj;
obj = PyTuple_GET_ITEM(self->description, i);
obj = PyTuple_GET_ITEM(obj, 0);
@@ -185,17 +188,19 @@ static PyObject *
pysqlite_row_keys_impl(pysqlite_Row *self)
/*[clinic end generated code: output=efe3dfb3af6edc07 input=7549a122827c5563]*/
{
- PyObject* list;
- Py_ssize_t nitems, i;
-
- list = PyList_New(0);
+ PyObject *list = PyList_New(0);
if (!list) {
return NULL;
}
- nitems = PyTuple_Size(self->description);
+ if (Py_IsNone(self->description)) {
+ return list;
+ }
- for (i = 0; i < nitems; i++) {
- if (PyList_Append(list, PyTuple_GET_ITEM(PyTuple_GET_ITEM(self->description, i), 0)) != 0) {
+ Py_ssize_t nitems = PyTuple_GET_SIZE(self->description);
+ for (Py_ssize_t i = 0; i < nitems; i++) {
+ PyObject *descr = PyTuple_GET_ITEM(self->description, i);
+ PyObject *name = PyTuple_GET_ITEM(descr, 0);
+ if (PyList_Append(list, name) < 0) {
Py_DECREF(list);
return NULL;
}
diff --git a/contrib/tools/python3/Modules/_sqlite/ya.make b/contrib/tools/python3/Modules/_sqlite/ya.make
index 7abcc1886ad..c795ae765ed 100644
--- a/contrib/tools/python3/Modules/_sqlite/ya.make
+++ b/contrib/tools/python3/Modules/_sqlite/ya.make
@@ -2,9 +2,9 @@
PY3_LIBRARY()
-VERSION(3.12.9)
+VERSION(3.12.10)
-ORIGINAL_SOURCE(https://github.com/python/cpython/archive/v3.12.9.tar.gz)
+ORIGINAL_SOURCE(https://github.com/python/cpython/archive/v3.12.10.tar.gz)
LICENSE(Python-2.0)