mirror of
https://github.com/python/cpython.git
synced 2025-12-31 12:33:28 +00:00
bpo-45041: Restore sqlite3 executescript behaviour for SELECT queries (GH-28509)
* bpo-45041: Restore sqlite3 executescript behaviour for select queries * Add regression test
This commit is contained in:
parent
dd02a696e5
commit
3f2c433da5
2 changed files with 12 additions and 1 deletions
|
|
@ -475,6 +475,17 @@ def dup(v):
|
|||
con.execute("drop table t")
|
||||
con.commit()
|
||||
|
||||
def test_executescript_step_through_select(self):
|
||||
with managed_connect(":memory:", in_mem=True) as con:
|
||||
values = [(v,) for v in range(5)]
|
||||
with con:
|
||||
con.execute("create table t(t)")
|
||||
con.executemany("insert into t values(?)", values)
|
||||
steps = []
|
||||
con.create_function("step", 1, lambda x: steps.append((x,)))
|
||||
con.executescript("select step(t) from t")
|
||||
self.assertEqual(steps, values)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
|
|
|||
|
|
@ -760,7 +760,7 @@ pysqlite_cursor_executescript_impl(pysqlite_Cursor *self,
|
|||
&tail);
|
||||
if (rc == SQLITE_OK) {
|
||||
do {
|
||||
(void)sqlite3_step(stmt);
|
||||
rc = sqlite3_step(stmt);
|
||||
} while (rc == SQLITE_ROW);
|
||||
rc = sqlite3_finalize(stmt);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue