17db96d56Sopenharmony_ci/*[clinic input] 27db96d56Sopenharmony_cipreserve 37db96d56Sopenharmony_ci[clinic start generated code]*/ 47db96d56Sopenharmony_ci 57db96d56Sopenharmony_ciPyDoc_STRVAR(pysqlite_complete_statement__doc__, 67db96d56Sopenharmony_ci"complete_statement($module, /, statement)\n" 77db96d56Sopenharmony_ci"--\n" 87db96d56Sopenharmony_ci"\n" 97db96d56Sopenharmony_ci"Checks if a string contains a complete SQL statement."); 107db96d56Sopenharmony_ci 117db96d56Sopenharmony_ci#define PYSQLITE_COMPLETE_STATEMENT_METHODDEF \ 127db96d56Sopenharmony_ci {"complete_statement", _PyCFunction_CAST(pysqlite_complete_statement), METH_FASTCALL|METH_KEYWORDS, pysqlite_complete_statement__doc__}, 137db96d56Sopenharmony_ci 147db96d56Sopenharmony_cistatic PyObject * 157db96d56Sopenharmony_cipysqlite_complete_statement_impl(PyObject *module, const char *statement); 167db96d56Sopenharmony_ci 177db96d56Sopenharmony_cistatic PyObject * 187db96d56Sopenharmony_cipysqlite_complete_statement(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames) 197db96d56Sopenharmony_ci{ 207db96d56Sopenharmony_ci PyObject *return_value = NULL; 217db96d56Sopenharmony_ci static const char * const _keywords[] = {"statement", NULL}; 227db96d56Sopenharmony_ci static _PyArg_Parser _parser = {NULL, _keywords, "complete_statement", 0}; 237db96d56Sopenharmony_ci PyObject *argsbuf[1]; 247db96d56Sopenharmony_ci const char *statement; 257db96d56Sopenharmony_ci 267db96d56Sopenharmony_ci args = _PyArg_UnpackKeywords(args, nargs, NULL, kwnames, &_parser, 1, 1, 0, argsbuf); 277db96d56Sopenharmony_ci if (!args) { 287db96d56Sopenharmony_ci goto exit; 297db96d56Sopenharmony_ci } 307db96d56Sopenharmony_ci if (!PyUnicode_Check(args[0])) { 317db96d56Sopenharmony_ci _PyArg_BadArgument("complete_statement", "argument 'statement'", "str", args[0]); 327db96d56Sopenharmony_ci goto exit; 337db96d56Sopenharmony_ci } 347db96d56Sopenharmony_ci Py_ssize_t statement_length; 357db96d56Sopenharmony_ci statement = PyUnicode_AsUTF8AndSize(args[0], &statement_length); 367db96d56Sopenharmony_ci if (statement == NULL) { 377db96d56Sopenharmony_ci goto exit; 387db96d56Sopenharmony_ci } 397db96d56Sopenharmony_ci if (strlen(statement) != (size_t)statement_length) { 407db96d56Sopenharmony_ci PyErr_SetString(PyExc_ValueError, "embedded null character"); 417db96d56Sopenharmony_ci goto exit; 427db96d56Sopenharmony_ci } 437db96d56Sopenharmony_ci return_value = pysqlite_complete_statement_impl(module, statement); 447db96d56Sopenharmony_ci 457db96d56Sopenharmony_ciexit: 467db96d56Sopenharmony_ci return return_value; 477db96d56Sopenharmony_ci} 487db96d56Sopenharmony_ci 497db96d56Sopenharmony_ciPyDoc_STRVAR(pysqlite_enable_shared_cache__doc__, 507db96d56Sopenharmony_ci"enable_shared_cache($module, /, do_enable)\n" 517db96d56Sopenharmony_ci"--\n" 527db96d56Sopenharmony_ci"\n" 537db96d56Sopenharmony_ci"Enable or disable shared cache mode for the calling thread.\n" 547db96d56Sopenharmony_ci"\n" 557db96d56Sopenharmony_ci"This method is deprecated and will be removed in Python 3.12.\n" 567db96d56Sopenharmony_ci"Shared cache is strongly discouraged by the SQLite 3 documentation.\n" 577db96d56Sopenharmony_ci"If shared cache must be used, open the database in URI mode using\n" 587db96d56Sopenharmony_ci"the cache=shared query parameter."); 597db96d56Sopenharmony_ci 607db96d56Sopenharmony_ci#define PYSQLITE_ENABLE_SHARED_CACHE_METHODDEF \ 617db96d56Sopenharmony_ci {"enable_shared_cache", _PyCFunction_CAST(pysqlite_enable_shared_cache), METH_FASTCALL|METH_KEYWORDS, pysqlite_enable_shared_cache__doc__}, 627db96d56Sopenharmony_ci 637db96d56Sopenharmony_cistatic PyObject * 647db96d56Sopenharmony_cipysqlite_enable_shared_cache_impl(PyObject *module, int do_enable); 657db96d56Sopenharmony_ci 667db96d56Sopenharmony_cistatic PyObject * 677db96d56Sopenharmony_cipysqlite_enable_shared_cache(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames) 687db96d56Sopenharmony_ci{ 697db96d56Sopenharmony_ci PyObject *return_value = NULL; 707db96d56Sopenharmony_ci static const char * const _keywords[] = {"do_enable", NULL}; 717db96d56Sopenharmony_ci static _PyArg_Parser _parser = {NULL, _keywords, "enable_shared_cache", 0}; 727db96d56Sopenharmony_ci PyObject *argsbuf[1]; 737db96d56Sopenharmony_ci int do_enable; 747db96d56Sopenharmony_ci 757db96d56Sopenharmony_ci args = _PyArg_UnpackKeywords(args, nargs, NULL, kwnames, &_parser, 1, 1, 0, argsbuf); 767db96d56Sopenharmony_ci if (!args) { 777db96d56Sopenharmony_ci goto exit; 787db96d56Sopenharmony_ci } 797db96d56Sopenharmony_ci do_enable = _PyLong_AsInt(args[0]); 807db96d56Sopenharmony_ci if (do_enable == -1 && PyErr_Occurred()) { 817db96d56Sopenharmony_ci goto exit; 827db96d56Sopenharmony_ci } 837db96d56Sopenharmony_ci return_value = pysqlite_enable_shared_cache_impl(module, do_enable); 847db96d56Sopenharmony_ci 857db96d56Sopenharmony_ciexit: 867db96d56Sopenharmony_ci return return_value; 877db96d56Sopenharmony_ci} 887db96d56Sopenharmony_ci 897db96d56Sopenharmony_ciPyDoc_STRVAR(pysqlite_register_adapter__doc__, 907db96d56Sopenharmony_ci"register_adapter($module, type, adapter, /)\n" 917db96d56Sopenharmony_ci"--\n" 927db96d56Sopenharmony_ci"\n" 937db96d56Sopenharmony_ci"Register a function to adapt Python objects to SQLite values."); 947db96d56Sopenharmony_ci 957db96d56Sopenharmony_ci#define PYSQLITE_REGISTER_ADAPTER_METHODDEF \ 967db96d56Sopenharmony_ci {"register_adapter", _PyCFunction_CAST(pysqlite_register_adapter), METH_FASTCALL, pysqlite_register_adapter__doc__}, 977db96d56Sopenharmony_ci 987db96d56Sopenharmony_cistatic PyObject * 997db96d56Sopenharmony_cipysqlite_register_adapter_impl(PyObject *module, PyTypeObject *type, 1007db96d56Sopenharmony_ci PyObject *caster); 1017db96d56Sopenharmony_ci 1027db96d56Sopenharmony_cistatic PyObject * 1037db96d56Sopenharmony_cipysqlite_register_adapter(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 1047db96d56Sopenharmony_ci{ 1057db96d56Sopenharmony_ci PyObject *return_value = NULL; 1067db96d56Sopenharmony_ci PyTypeObject *type; 1077db96d56Sopenharmony_ci PyObject *caster; 1087db96d56Sopenharmony_ci 1097db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("register_adapter", nargs, 2, 2)) { 1107db96d56Sopenharmony_ci goto exit; 1117db96d56Sopenharmony_ci } 1127db96d56Sopenharmony_ci type = (PyTypeObject *)args[0]; 1137db96d56Sopenharmony_ci caster = args[1]; 1147db96d56Sopenharmony_ci return_value = pysqlite_register_adapter_impl(module, type, caster); 1157db96d56Sopenharmony_ci 1167db96d56Sopenharmony_ciexit: 1177db96d56Sopenharmony_ci return return_value; 1187db96d56Sopenharmony_ci} 1197db96d56Sopenharmony_ci 1207db96d56Sopenharmony_ciPyDoc_STRVAR(pysqlite_register_converter__doc__, 1217db96d56Sopenharmony_ci"register_converter($module, typename, converter, /)\n" 1227db96d56Sopenharmony_ci"--\n" 1237db96d56Sopenharmony_ci"\n" 1247db96d56Sopenharmony_ci"Register a function to convert SQLite values to Python objects."); 1257db96d56Sopenharmony_ci 1267db96d56Sopenharmony_ci#define PYSQLITE_REGISTER_CONVERTER_METHODDEF \ 1277db96d56Sopenharmony_ci {"register_converter", _PyCFunction_CAST(pysqlite_register_converter), METH_FASTCALL, pysqlite_register_converter__doc__}, 1287db96d56Sopenharmony_ci 1297db96d56Sopenharmony_cistatic PyObject * 1307db96d56Sopenharmony_cipysqlite_register_converter_impl(PyObject *module, PyObject *orig_name, 1317db96d56Sopenharmony_ci PyObject *callable); 1327db96d56Sopenharmony_ci 1337db96d56Sopenharmony_cistatic PyObject * 1347db96d56Sopenharmony_cipysqlite_register_converter(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 1357db96d56Sopenharmony_ci{ 1367db96d56Sopenharmony_ci PyObject *return_value = NULL; 1377db96d56Sopenharmony_ci PyObject *orig_name; 1387db96d56Sopenharmony_ci PyObject *callable; 1397db96d56Sopenharmony_ci 1407db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("register_converter", nargs, 2, 2)) { 1417db96d56Sopenharmony_ci goto exit; 1427db96d56Sopenharmony_ci } 1437db96d56Sopenharmony_ci if (!PyUnicode_Check(args[0])) { 1447db96d56Sopenharmony_ci _PyArg_BadArgument("register_converter", "argument 1", "str", args[0]); 1457db96d56Sopenharmony_ci goto exit; 1467db96d56Sopenharmony_ci } 1477db96d56Sopenharmony_ci if (PyUnicode_READY(args[0]) == -1) { 1487db96d56Sopenharmony_ci goto exit; 1497db96d56Sopenharmony_ci } 1507db96d56Sopenharmony_ci orig_name = args[0]; 1517db96d56Sopenharmony_ci callable = args[1]; 1527db96d56Sopenharmony_ci return_value = pysqlite_register_converter_impl(module, orig_name, callable); 1537db96d56Sopenharmony_ci 1547db96d56Sopenharmony_ciexit: 1557db96d56Sopenharmony_ci return return_value; 1567db96d56Sopenharmony_ci} 1577db96d56Sopenharmony_ci 1587db96d56Sopenharmony_ciPyDoc_STRVAR(pysqlite_enable_callback_trace__doc__, 1597db96d56Sopenharmony_ci"enable_callback_tracebacks($module, enable, /)\n" 1607db96d56Sopenharmony_ci"--\n" 1617db96d56Sopenharmony_ci"\n" 1627db96d56Sopenharmony_ci"Enable or disable callback functions throwing errors to stderr."); 1637db96d56Sopenharmony_ci 1647db96d56Sopenharmony_ci#define PYSQLITE_ENABLE_CALLBACK_TRACE_METHODDEF \ 1657db96d56Sopenharmony_ci {"enable_callback_tracebacks", (PyCFunction)pysqlite_enable_callback_trace, METH_O, pysqlite_enable_callback_trace__doc__}, 1667db96d56Sopenharmony_ci 1677db96d56Sopenharmony_cistatic PyObject * 1687db96d56Sopenharmony_cipysqlite_enable_callback_trace_impl(PyObject *module, int enable); 1697db96d56Sopenharmony_ci 1707db96d56Sopenharmony_cistatic PyObject * 1717db96d56Sopenharmony_cipysqlite_enable_callback_trace(PyObject *module, PyObject *arg) 1727db96d56Sopenharmony_ci{ 1737db96d56Sopenharmony_ci PyObject *return_value = NULL; 1747db96d56Sopenharmony_ci int enable; 1757db96d56Sopenharmony_ci 1767db96d56Sopenharmony_ci enable = _PyLong_AsInt(arg); 1777db96d56Sopenharmony_ci if (enable == -1 && PyErr_Occurred()) { 1787db96d56Sopenharmony_ci goto exit; 1797db96d56Sopenharmony_ci } 1807db96d56Sopenharmony_ci return_value = pysqlite_enable_callback_trace_impl(module, enable); 1817db96d56Sopenharmony_ci 1827db96d56Sopenharmony_ciexit: 1837db96d56Sopenharmony_ci return return_value; 1847db96d56Sopenharmony_ci} 1857db96d56Sopenharmony_ci 1867db96d56Sopenharmony_ciPyDoc_STRVAR(pysqlite_adapt__doc__, 1877db96d56Sopenharmony_ci"adapt($module, obj, proto=PrepareProtocolType, alt=<unrepresentable>, /)\n" 1887db96d56Sopenharmony_ci"--\n" 1897db96d56Sopenharmony_ci"\n" 1907db96d56Sopenharmony_ci"Adapt given object to given protocol."); 1917db96d56Sopenharmony_ci 1927db96d56Sopenharmony_ci#define PYSQLITE_ADAPT_METHODDEF \ 1937db96d56Sopenharmony_ci {"adapt", _PyCFunction_CAST(pysqlite_adapt), METH_FASTCALL, pysqlite_adapt__doc__}, 1947db96d56Sopenharmony_ci 1957db96d56Sopenharmony_cistatic PyObject * 1967db96d56Sopenharmony_cipysqlite_adapt_impl(PyObject *module, PyObject *obj, PyObject *proto, 1977db96d56Sopenharmony_ci PyObject *alt); 1987db96d56Sopenharmony_ci 1997db96d56Sopenharmony_cistatic PyObject * 2007db96d56Sopenharmony_cipysqlite_adapt(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 2017db96d56Sopenharmony_ci{ 2027db96d56Sopenharmony_ci PyObject *return_value = NULL; 2037db96d56Sopenharmony_ci PyObject *obj; 2047db96d56Sopenharmony_ci PyObject *proto = (PyObject *)clinic_state()->PrepareProtocolType; 2057db96d56Sopenharmony_ci PyObject *alt = NULL; 2067db96d56Sopenharmony_ci 2077db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("adapt", nargs, 1, 3)) { 2087db96d56Sopenharmony_ci goto exit; 2097db96d56Sopenharmony_ci } 2107db96d56Sopenharmony_ci obj = args[0]; 2117db96d56Sopenharmony_ci if (nargs < 2) { 2127db96d56Sopenharmony_ci goto skip_optional; 2137db96d56Sopenharmony_ci } 2147db96d56Sopenharmony_ci proto = args[1]; 2157db96d56Sopenharmony_ci if (nargs < 3) { 2167db96d56Sopenharmony_ci goto skip_optional; 2177db96d56Sopenharmony_ci } 2187db96d56Sopenharmony_ci alt = args[2]; 2197db96d56Sopenharmony_ciskip_optional: 2207db96d56Sopenharmony_ci return_value = pysqlite_adapt_impl(module, obj, proto, alt); 2217db96d56Sopenharmony_ci 2227db96d56Sopenharmony_ciexit: 2237db96d56Sopenharmony_ci return return_value; 2247db96d56Sopenharmony_ci} 2257db96d56Sopenharmony_ci/*[clinic end generated code: output=ecaf4e0a239c2685 input=a9049054013a1b77]*/ 226