Skip to content
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

bpo-41861: Convert sqlite3 to PEP 384 #22409

Closed
wants to merge 8 commits into from

Conversation

erlend-aasland
Copy link
Contributor

@erlend-aasland erlend-aasland commented Sep 25, 2020

TODO:

  • Fix Cursor type leaks references
  • Fix Connection type leaks references

@berkerpeksag or @vstinner, could you point me in the right direction regarding solving the ref. leaks? I've been testing using python.exe -m test -F -r -j1 -R 3:10 test_sqlite.

https://www.python.org/dev/peps/pep-0384/

First step of converting sqlite3 to multi-phase init. AFAICS, the next step would be dynamic state.

https://bugs.python.org/issue41861

@erlend-aasland erlend-aasland changed the title bpo-41861: Convert sqlite to PEP 384 bpo-41861: Convert sqlite3 to PEP 384 Sep 25, 2020
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.

Sorry, but this PR is too large to be easily reviewed.

It seems like the PR converts static types to heap types. Can you try to write a first PR which only modify a few files and convert few types (ex: 3), which would be easier to review?

Please don't propose multiple PRs in parallel, since conflicts in PyInit__sqlite3() are likely.

For example, starting by only converting cache types:

extern PyTypeObject pysqlite_NodeType;
extern PyTypeObject pysqlite_CacheType;

@erlend-aasland
Copy link
Contributor Author

Sorry, but this PR is too large to be easily reviewed.

It seems like the PR converts static types to heap types. Can you try to write a first PR which only modify a few files and convert few types (ex: 3), which would be easier to review?

Of course. I'll remove the two problematic commits and create a new PR. Thanks!

Please don't propose multiple PRs in parallel, since conflicts in PyInit__sqlite3() are likely.

Acknowledged.

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.

4 participants