17db96d56Sopenharmony_ci/*[clinic input]
27db96d56Sopenharmony_cipreserve
37db96d56Sopenharmony_ci[clinic start generated code]*/
47db96d56Sopenharmony_ci
57db96d56Sopenharmony_cistatic PyObject *
67db96d56Sopenharmony_cipysqlite_row_new_impl(PyTypeObject *type, pysqlite_Cursor *cursor,
77db96d56Sopenharmony_ci                      PyObject *data);
87db96d56Sopenharmony_ci
97db96d56Sopenharmony_cistatic PyObject *
107db96d56Sopenharmony_cipysqlite_row_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
117db96d56Sopenharmony_ci{
127db96d56Sopenharmony_ci    PyObject *return_value = NULL;
137db96d56Sopenharmony_ci    pysqlite_Cursor *cursor;
147db96d56Sopenharmony_ci    PyObject *data;
157db96d56Sopenharmony_ci
167db96d56Sopenharmony_ci    if ((type == clinic_state()->RowType ||
177db96d56Sopenharmony_ci         type->tp_init == clinic_state()->RowType->tp_init) &&
187db96d56Sopenharmony_ci        !_PyArg_NoKeywords("Row", kwargs)) {
197db96d56Sopenharmony_ci        goto exit;
207db96d56Sopenharmony_ci    }
217db96d56Sopenharmony_ci    if (!_PyArg_CheckPositional("Row", PyTuple_GET_SIZE(args), 2, 2)) {
227db96d56Sopenharmony_ci        goto exit;
237db96d56Sopenharmony_ci    }
247db96d56Sopenharmony_ci    if (!PyObject_TypeCheck(PyTuple_GET_ITEM(args, 0), clinic_state()->CursorType)) {
257db96d56Sopenharmony_ci        _PyArg_BadArgument("Row", "argument 1", (clinic_state()->CursorType)->tp_name, PyTuple_GET_ITEM(args, 0));
267db96d56Sopenharmony_ci        goto exit;
277db96d56Sopenharmony_ci    }
287db96d56Sopenharmony_ci    cursor = (pysqlite_Cursor *)PyTuple_GET_ITEM(args, 0);
297db96d56Sopenharmony_ci    if (!PyTuple_Check(PyTuple_GET_ITEM(args, 1))) {
307db96d56Sopenharmony_ci        _PyArg_BadArgument("Row", "argument 2", "tuple", PyTuple_GET_ITEM(args, 1));
317db96d56Sopenharmony_ci        goto exit;
327db96d56Sopenharmony_ci    }
337db96d56Sopenharmony_ci    data = PyTuple_GET_ITEM(args, 1);
347db96d56Sopenharmony_ci    return_value = pysqlite_row_new_impl(type, cursor, data);
357db96d56Sopenharmony_ci
367db96d56Sopenharmony_ciexit:
377db96d56Sopenharmony_ci    return return_value;
387db96d56Sopenharmony_ci}
397db96d56Sopenharmony_ci
407db96d56Sopenharmony_ciPyDoc_STRVAR(pysqlite_row_keys__doc__,
417db96d56Sopenharmony_ci"keys($self, /)\n"
427db96d56Sopenharmony_ci"--\n"
437db96d56Sopenharmony_ci"\n"
447db96d56Sopenharmony_ci"Returns the keys of the row.");
457db96d56Sopenharmony_ci
467db96d56Sopenharmony_ci#define PYSQLITE_ROW_KEYS_METHODDEF    \
477db96d56Sopenharmony_ci    {"keys", (PyCFunction)pysqlite_row_keys, METH_NOARGS, pysqlite_row_keys__doc__},
487db96d56Sopenharmony_ci
497db96d56Sopenharmony_cistatic PyObject *
507db96d56Sopenharmony_cipysqlite_row_keys_impl(pysqlite_Row *self);
517db96d56Sopenharmony_ci
527db96d56Sopenharmony_cistatic PyObject *
537db96d56Sopenharmony_cipysqlite_row_keys(pysqlite_Row *self, PyObject *Py_UNUSED(ignored))
547db96d56Sopenharmony_ci{
557db96d56Sopenharmony_ci    return pysqlite_row_keys_impl(self);
567db96d56Sopenharmony_ci}
577db96d56Sopenharmony_ci/*[clinic end generated code: output=9d54919dbb4ba5f1 input=a9049054013a1b77]*/
58