[Python-checkins] bpo-40956: Fix sqlite3 AC code (GH-23837)
corona10
webhook-mailer at python.org
Fri Dec 18 10:41:41 EST 2020
https://github.com/python/cpython/commit/2179349d8cf45b1202775547df384b1fde31630a
commit: 2179349d8cf45b1202775547df384b1fde31630a
branch: master
author: Dong-hee Na <donghee.na at python.org>
committer: corona10 <donghee.na92 at gmail.com>
date: 2020-12-19T00:41:33+09:00
summary:
bpo-40956: Fix sqlite3 AC code (GH-23837)
files:
M Modules/_sqlite/clinic/connection.c.h
M Modules/_sqlite/connection.c
diff --git a/Modules/_sqlite/clinic/connection.c.h b/Modules/_sqlite/clinic/connection.c.h
index 6b0ff4de4299e..7e3c9a9e61b19 100644
--- a/Modules/_sqlite/clinic/connection.c.h
+++ b/Modules/_sqlite/clinic/connection.c.h
@@ -264,7 +264,7 @@ pysqlite_connection_set_progress_handler(pysqlite_Connection *self, PyObject *co
}
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 @@ pysqlite_connection_exit(pysqlite_Connection *self, PyObject *const *args, Py_ss
#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 1c8f37e16480d..75aec74e0aaa9 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;
More information about the Python-checkins
mailing list