]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
bpo-42972: Track sqlite3 statement objects (GH-26475)
authorErlend Egeberg Aasland <erlend.aasland@innova.no>
Tue, 1 Jun 2021 10:47:37 +0000 (12:47 +0200)
committerGitHub <noreply@github.com>
Tue, 1 Jun 2021 10:47:37 +0000 (12:47 +0200)
commitfffa0f92adaaed0bcb3907d982506f78925e9052
tree585aa05ef6e6f3d72ed652e2beb3ecb79c448b4e
parenta6a20658814e8668966fc86de0e80a4772864781
bpo-42972: Track sqlite3 statement objects (GH-26475)

Allocate and track statement objects in pysqlite_statement_create.

By allocating and tracking creation of statement object in
pysqlite_statement_create(), the caller does not need to worry about GC
syncronization, and eliminates the possibility of getting a badly
created object. All related fault handling is moved to
pysqlite_statement_create().

Co-authored-by: Victor Stinner <vstinner@python.org>
Modules/_sqlite/connection.c
Modules/_sqlite/cursor.c
Modules/_sqlite/statement.c
Modules/_sqlite/statement.h