New submission from Erlend Egeberg Aasland <erlend.aasl...@innova.no>:
Porting sqlite3 to multi-phase initialisation is non-trivial and must be broken into smaller bpo's, often with multiple PR's per bpo. As far as I can see, this is the task list: 1) Heap types (PEP 384): bpo-41861 2) Argument Clinic: bpo-40956 3) Establish global module state 4) Pass `self` iso. callback object to trace, auth, and progress handlers (required for item 7) 5) Use sqlite3_create_collation_v2 iso. sqlite3_create_collation (see next list item) 6) For sqlite3_create_* functions, establish a context struct that contains the target user callback and the state. Modify callers to allocate memory, and the destructor to deallocate 7) Module state (PEP 573) 8) Multi-phase initialisation (PEP 489) The list may be incomplete. Separate bpo's for 1) and 2) are opened. Pr. 2020-10-17, 1) is almost done, and 2), part 1 of 5 is awaiting review. It may be convenient to open up sub-bpo's for some of the other tasks as well. For instance, using sqlite3_create_collation_v2() iso. sqlite3_create_collation(). (FYI, this imposes no new SQLite version requirements.) I'd wait until AC is implemented with moving forward with the rest of the PR's, in order to avoid merge mess. The exception might be item 4, preparing the trace/progress/auth callbacks, which is easy to isolate from the rest. I've prepared branches for most of these things locally, some split in multiple PR's to ease reviewing. I've tagged Victor Stinner and Dong-hee Na (hope that's ok), since they've been helpful with reviewing and providing helpful hints thus far. Any input from Berker Peksag would be highly appreciated; after all, he is the maintainer of this module :) Ref. bpo-1635741 (the grand multi-phase issue) ---------- components: Library (Lib) messages: 378825 nosy: berker.peksag, corona10, erlendaasland, vstinner priority: normal severity: normal status: open title: Convert sqlite3 to multi-phase initialisation (PEP 489) type: enhancement versions: Python 3.10 _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue42064> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com