Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 2179349

Browse files
authored
bpo-40956: Fix sqlite3 AC code (GH-23837)
1 parent 1ba82bb commit 2179349

File tree

2 files changed

+32
-9
lines changed

2 files changed

+32
-9
lines changed

Modules/_sqlite/clinic/connection.c.h

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -264,15 +264,39 @@ pysqlite_connection_set_progress_handler(pysqlite_Connection *self, PyObject *co
264264
}
265265

266266
PyDoc_STRVAR(pysqlite_connection_set_trace_callback__doc__,
267-
"set_trace_callback($self, trace_callback, /)\n"
267+
"set_trace_callback($self, /, trace_callback)\n"
268268
"--\n"
269269
"\n"
270270
"Sets a trace callback called for each SQL statement (passed as unicode).\n"
271271
"\n"
272272
"Non-standard.");
273273

274274
#define PYSQLITE_CONNECTION_SET_TRACE_CALLBACK_METHODDEF \
275-
{"set_trace_callback", (PyCFunction)pysqlite_connection_set_trace_callback, METH_O, pysqlite_connection_set_trace_callback__doc__},
275+
{"set_trace_callback", (PyCFunction)(void(*)(void))pysqlite_connection_set_trace_callback, METH_FASTCALL|METH_KEYWORDS, pysqlite_connection_set_trace_callback__doc__},
276+
277+
static PyObject *
278+
pysqlite_connection_set_trace_callback_impl(pysqlite_Connection *self,
279+
PyObject *trace_callback);
280+
281+
static PyObject *
282+
pysqlite_connection_set_trace_callback(pysqlite_Connection *self, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames)
283+
{
284+
PyObject *return_value = NULL;
285+
static const char * const _keywords[] = {"trace_callback", NULL};
286+
static _PyArg_Parser _parser = {NULL, _keywords, "set_trace_callback", 0};
287+
PyObject *argsbuf[1];
288+
PyObject *trace_callback;
289+
290+
args = _PyArg_UnpackKeywords(args, nargs, NULL, kwnames, &_parser, 1, 1, 0, argsbuf);
291+
if (!args) {
292+
goto exit;
293+
}
294+
trace_callback = args[0];
295+
return_value = pysqlite_connection_set_trace_callback_impl(self, trace_callback);
296+
297+
exit:
298+
return return_value;
299+
}
276300

277301
#if !defined(SQLITE_OMIT_LOAD_EXTENSION)
278302

@@ -487,4 +511,4 @@ pysqlite_connection_exit(pysqlite_Connection *self, PyObject *const *args, Py_ss
487511
#ifndef PYSQLITE_CONNECTION_LOAD_EXTENSION_METHODDEF
488512
#define PYSQLITE_CONNECTION_LOAD_EXTENSION_METHODDEF
489513
#endif /* !defined(PYSQLITE_CONNECTION_LOAD_EXTENSION_METHODDEF) */
490-
/*[clinic end generated code: output=e14085c0abc0a407 input=a9049054013a1b77]*/
514+
/*[clinic end generated code: output=eb14a52e4c682f3b input=a9049054013a1b77]*/

Modules/_sqlite/connection.c

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1083,17 +1083,16 @@ pysqlite_connection_set_progress_handler_impl(pysqlite_Connection *self,
10831083
_sqlite3.Connection.set_trace_callback as pysqlite_connection_set_trace_callback
10841084
10851085
trace_callback: object
1086-
/
10871086
10881087
Sets a trace callback called for each SQL statement (passed as unicode).
10891088
10901089
Non-standard.
10911090
[clinic start generated code]*/
10921091

10931092
static PyObject *
1094-
pysqlite_connection_set_trace_callback(pysqlite_Connection *self,
1095-
PyObject *trace_callback)
1096-
/*[clinic end generated code: output=efd1bf439e81696c input=05a4a14360e0e034]*/
1093+
pysqlite_connection_set_trace_callback_impl(pysqlite_Connection *self,
1094+
PyObject *trace_callback)
1095+
/*[clinic end generated code: output=fb0e307b9924d454 input=56d60fd38d763679]*/
10971096
{
10981097
if (!pysqlite_check_thread(self) || !pysqlite_check_connection(self)) {
10991098
return NULL;
@@ -1130,7 +1129,7 @@ pysqlite_connection_set_trace_callback(pysqlite_Connection *self,
11301129
/*[clinic input]
11311130
_sqlite3.Connection.enable_load_extension as pysqlite_connection_enable_load_extension
11321131
1133-
enable as onoff: int
1132+
enable as onoff: bool(accept={int})
11341133
/
11351134
11361135
Enable dynamic loading of SQLite extension modules. Non-standard.
@@ -1139,7 +1138,7 @@ Enable dynamic loading of SQLite extension modules. Non-standard.
11391138
static PyObject *
11401139
pysqlite_connection_enable_load_extension_impl(pysqlite_Connection *self,
11411140
int onoff)
1142-
/*[clinic end generated code: output=9cac37190d388baf input=7df2986f1602d6bd]*/
1141+
/*[clinic end generated code: output=9cac37190d388baf input=5c0da5b121121cbc]*/
11431142
{
11441143
int rc;
11451144

0 commit comments

Comments
 (0)