Skip to content

Commit b1ae087

Browse files
committed
Fixed PyObject_Vectorcall() call and SQL placeholder.
1 parent c414251 commit b1ae087

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

Lib/sqlite3/dump.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ def _iterdump(connection, *, filter=None):
3434

3535
if filter:
3636
# Return database objects which match the filter pattern.
37-
filter_name_clause = 'AND "name" LIKE %s'
37+
filter_name_clause = 'AND "name" LIKE ?'
3838
params = [filter]
3939
else:
4040
filter_name_clause = ""
@@ -97,7 +97,7 @@ def _iterdump(connection, *, filter=None):
9797
"type" IN ('index', 'trigger', 'view')
9898
{filter_name_clause}
9999
"""
100-
schema_res = cu.execute(q)
100+
schema_res = cu.execute(q, params)
101101
for name, type, sql in schema_res.fetchall():
102102
yield('{0};'.format(sql))
103103

Modules/_sqlite/connection.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2003,8 +2003,10 @@ pysqlite_connection_iterdump_impl(pysqlite_Connection *self,
20032003
}
20042004
return NULL;
20052005
}
2006-
PyObject *args[1] = {(PyObject *)self};
2007-
PyObject *retval = PyObject_Vectorcall(iterdump, args, 1, filter);
2006+
PyObject *args[2] = {(PyObject *)self, filter};
2007+
PyObject *kwnames = PyTuple_New(1);
2008+
PyTuple_SET_ITEM(kwnames, 0, PyUnicode_FromString("filter"));
2009+
PyObject *retval = PyObject_Vectorcall(iterdump, args, 1, kwnames);
20082010
Py_DECREF(iterdump);
20092011
return retval;
20102012
}

0 commit comments

Comments
 (0)