diff options
author | Dong-hee Na <donghee.na@python.org> | 2020-12-18 15:41:33 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-18 15:41:33 (GMT) |
commit | 2179349d8cf45b1202775547df384b1fde31630a (patch) | |
tree | 1ab43f471f40d7f9556d23a59462b414accf28cd | |
parent | 1ba82bbc50a52f40ad05f3c4aaf2e159e0ce126d (diff) | |
download | cpython-2179349d8cf45b1202775547df384b1fde31630a.zip cpython-2179349d8cf45b1202775547df384b1fde31630a.tar.gz cpython-2179349d8cf45b1202775547df384b1fde31630a.tar.bz2 |
bpo-40956: Fix sqlite3 AC code (GH-23837)
-rw-r--r-- | Modules/_sqlite/clinic/connection.c.h | 30 | ||||
-rw-r--r-- | Modules/_sqlite/connection.c | 11 |
2 files changed, 32 insertions, 9 deletions
diff --git a/Modules/_sqlite/clinic/connection.c.h b/Modules/_sqlite/clinic/connection.c.h index 6b0ff4d..7e3c9a9 100644 --- a/Modules/_sqlite/clinic/connection.c.h +++ b/Modules/_sqlite/clinic/connection.c.h @@ -264,7 +264,7 @@ exit: } PyDoc_STRVAR(pysqlite_connection_set_trace_callback__doc__, -"set_trace_callback($self, trace_callback, /)\n" +"set_trace_callback($self, /, trace_callback)\n" "--\n" "\n" "Sets a trace callback called for each SQL statement (passed as unicode).\n" @@ -272,7 +272,31 @@ PyDoc_STRVAR(pysqlite_connection_set_trace_callback__doc__, "Non-standard."); #define PYSQLITE_CONNECTION_SET_TRACE_CALLBACK_METHODDEF \ - {"set_trace_callback", (PyCFunction)pysqlite_connection_set_trace_callback, METH_O, pysqlite_connection_set_trace_callback__doc__}, + {"set_trace_callback", (PyCFunction)(void(*)(void))pysqlite_connection_set_trace_callback, METH_FASTCALL|METH_KEYWORDS, pysqlite_connection_set_trace_callback__doc__}, + +static PyObject * +pysqlite_connection_set_trace_callback_impl(pysqlite_Connection *self, + PyObject *trace_callback); + +static PyObject * +pysqlite_connection_set_trace_callback(pysqlite_Connection *self, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames) +{ + PyObject *return_value = NULL; + static const char * const _keywords[] = {"trace_callback", NULL}; + static _PyArg_Parser _parser = {NULL, _keywords, "set_trace_callback", 0}; + PyObject *argsbuf[1]; + PyObject *trace_callback; + + args = _PyArg_UnpackKeywords(args, nargs, NULL, kwnames, &_parser, 1, 1, 0, argsbuf); + if (!args) { + goto exit; + } + trace_callback = args[0]; + return_value = pysqlite_connection_set_trace_callback_impl(self, trace_callback); + +exit: + return return_value; +} #if !defined(SQLITE_OMIT_LOAD_EXTENSION) @@ -487,4 +511,4 @@ exit: #ifndef PYSQLITE_CONNECTION_LOAD_EXTENSION_METHODDEF #define PYSQLITE_CONNECTION_LOAD_EXTENSION_METHODDEF #endif /* !defined(PYSQLITE_CONNECTION_LOAD_EXTENSION_METHODDEF) */ -/*[clinic end generated code: output=e14085c0abc0a407 input=a9049054013a1b77]*/ +/*[clinic end generated code: output=eb14a52e4c682f3b input=a9049054013a1b77]*/ diff --git a/Modules/_sqlite/connection.c b/Modules/_sqlite/connection.c index 1c8f37e..75aec74 100644 --- a/Modules/_sqlite/connection.c +++ b/Modules/_sqlite/connection.c @@ -1083,7 +1083,6 @@ pysqlite_connection_set_progress_handler_impl(pysqlite_Connection *self, _sqlite3.Connection.set_trace_callback as pysqlite_connection_set_trace_callback trace_callback: object - / Sets a trace callback called for each SQL statement (passed as unicode). @@ -1091,9 +1090,9 @@ Non-standard. [clinic start generated code]*/ static PyObject * -pysqlite_connection_set_trace_callback(pysqlite_Connection *self, - PyObject *trace_callback) -/*[clinic end generated code: output=efd1bf439e81696c input=05a4a14360e0e034]*/ +pysqlite_connection_set_trace_callback_impl(pysqlite_Connection *self, + PyObject *trace_callback) +/*[clinic end generated code: output=fb0e307b9924d454 input=56d60fd38d763679]*/ { if (!pysqlite_check_thread(self) || !pysqlite_check_connection(self)) { return NULL; @@ -1130,7 +1129,7 @@ pysqlite_connection_set_trace_callback(pysqlite_Connection *self, /*[clinic input] _sqlite3.Connection.enable_load_extension as pysqlite_connection_enable_load_extension - enable as onoff: int + enable as onoff: bool(accept={int}) / Enable dynamic loading of SQLite extension modules. Non-standard. @@ -1139,7 +1138,7 @@ Enable dynamic loading of SQLite extension modules. Non-standard. static PyObject * pysqlite_connection_enable_load_extension_impl(pysqlite_Connection *self, int onoff) -/*[clinic end generated code: output=9cac37190d388baf input=7df2986f1602d6bd]*/ +/*[clinic end generated code: output=9cac37190d388baf input=5c0da5b121121cbc]*/ { int rc; |