8000 bpo-42972: Track sqlite3 statement objects by erlend-aasland · Pull Request #26475 · python/cpython · GitHub
[go: up one dir, main page]

Skip to content

bpo-42972: Track sqlite3 statement objects #26475

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Jun 1, 2021

Conversation

erlend-aasland
Copy link
Contributor
@erlend-aasland erlend-aasland commented May 31, 2021

@erlend-aasland
Copy link
Contributor Author

cc. @vstinner

@bedevere-bot
Copy link

A Python core developer has requested some changes be made to your pull request before we can consider merging it. If you could please address their requests along with any other requests in other reviews from core developers that would be appreciated.

Once you have made the requested changes, please leave a comment on this pull request containing the phrase I have made the requested changes; please review again. I will then notify any core developers who have left a review that you're ready for them to take another look at this pull request.

Erlend E. Aasland added 2 commits June 1, 2021 09:26
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().
Copy link
Member
@vstinner vstinner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, but I would like to see the minor issues being addressed first before merging your change.

Erlend Egeberg Aasland and others added 2 commits June 1, 2021 12:13
Co-authored-by: Victor Stinner <vstinner@python.org>
< 8000 svg aria-label="Show options" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-kebab-horizontal"> Copy link
Member
@vstinner vstinner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

@vstinner vstinner merged commit fffa0f9 into python:main Jun 1, 2021
@vstinner
Copy link
Member
vstinner commented Jun 1, 2021

Merged, thanks.

@erlend-aasland erlend-aasland deleted the sqlite-track-stmt branch June 1, 2021 10:51
@erlend-aasland
Copy link
Contributor Author

Merged, thanks.

Thanks for reviewing, Victor & Pablo!

pablogsal pushed a commit that referenced this pull request Jun 2, 2021
@Mariatta Mariatta added needs backport to 3.10 only security fixes and removed needs backport to 3.10 only security fixes labels Jun 2, 2021
@miss-islington
Copy link
Contributor

Thanks @erlend-aasland for the PR, and @vstinner for merging it 🌮🎉.. I'm working now to backport this PR to: 3.10.
🐍🍒⛏🤖

@miss-islington
Copy link
Contributor

Sorry, @erlend-aasland and @vstinner, I could not cleanly backport this to 3.10 due to a conflict.
Please backport using cherry_picker on command line.
cherry_picker fffa0f92adaaed0bcb3907d982506f78925e9052 3.10

@vstinner
Copy link
Member
vstinner commented Jun 2, 2021

@erlend-aasland: Automated backport to 3.10 failed, can you try to backport the change manually?

@pablogsal: I'm not sure if this change is really a bugfix or an enhancement. I'm ok to backport it even after beta2 release.

@erlend-aasland
Copy link
Contributor Author

@erlend-aasland: Automated backport to 3.10 failed, can you try to backport the change manually?

Will do!

erlend-aasland pushed a commit to erlend-aasland/cpython that referenced this pull request Jun 3, 2021
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>.
(cherry picked from commit fffa0f9)

Co-authored-by: Erlend Egeberg Aasland <erlend.aasland@innova.no>
@bedevere-bot bedevere-bot removed the needs backport to 3.10 only security fixes label Jun 3, 2021
@bedevere-bot
Copy link

GH-26515 is a backport of this pull request to the 3.10 branch.

vstinner pushed a commit that referenced this pull request Jun 3, 2021
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>.
(cherry picked from commit fffa0f9)

Co-authored-by: Erlend Egeberg Aasland <erlend.aasland@innova.no>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants
0