Repository navigation
sqlite3: remove features deprecated in 3.10 #92547
Description
Activity
- addedextension-modulesC modules in the Modules dirC modules in the Modules dir
on May 9, 2022 - added a commit that references this issue
on May 9, 2022 Could you check whether any major open-source repos use these (using @vstinner's scripts)? If so, it's going to be better to fix the third-party dependencies first.
Certainly!
Results of
./search_pypi_top.py PYPI-2022-01-26-TOP-5000 'OptimizedUnicode|enable_shared_cache' -o sqlite -qif I ignore all.pyifiles (type annotation):nltk-3.6.7.zip: nltk-3.6.7/nltk/sem/relextract.py: connection.text_factory = sqlite3.OptimizedUnicode pylint-2.12.2.tar.gz: pylint-2.12.2/pylint/checkers/stdlib.py: "sqlite3.OptimizedUnicode", pylint-2.12.2.tar.gz: pylint-2.12.2/pylint/checkers/stdlib.py: "_sqlite3.enable_shared_cache", peewee-3.14.8.tar.gz: peewee-3.14.8/playhouse/_pysqlite/connection.h: * - OptimizedUnicode: Like before, but for ASCII data, only PyStrings are created. peewee-3.14.8.tar.gz: peewee-3.14.8/playhouse/_pysqlite/module.h: extern PyObject* pysqlite_OptimizedUnicode; pysqlite3-0.4.6.tar.gz: pysqlite3-0.4.6/src/module.c: static PyObject* module_enable_shared_cache(PyObject* self, PyObject* args, PyObject* pysqlite3-0.4.6.tar.gz: pysqlite3-0.4.6/src/module.c: rc = sqlite3_enable_shared_cache(do_enable); pysqlite3-0.4.6.tar.gz: pysqlite3-0.4.6/src/module.c: PyDoc_STRVAR(module_enable_shared_cache_doc, pysqlite3-0.4.6.tar.gz: pysqlite3-0.4.6/src/module.c: "enable_shared_cache(do_enable)\n\ pysqlite3-0.4.6.tar.gz: pysqlite3-0.4.6/src/module.c: {"enable_shared_cache", (PyCFunction)(void(*)(void))module_enable_shared_cache, pysqlite3-0.4.6.tar.gz: pysqlite3-0.4.6/src/module.c: METH_VARARGS | METH_KEYWORDS, module_enable_shared_cache_doc}, pysqlite3-0.4.6.tar.gz: pysqlite3-0.4.6/src/module.c: OptimizedUnicode caused Unicode objects to be returned for pysqlite3-0.4.6.tar.gz: pysqlite3-0.4.6/src/module.c: Now OptimizedUnicode is an alias for str, so it has no pysqlite3-0.4.6.tar.gz: pysqlite3-0.4.6/src/module.c: PyDict_SetItemString(dict, "OptimizedUnicode", (PyObject*)&PyUnicode_Type);nltk seems to be impacted by the removal of
sqlite3.OptimizedUnicode:
https://github.com/nltk/nltk/blob/de46911d9ca248c2c6ce95518cd25e3c277208d7/nltk/sem/relextract.py#L322Reacted by Jelle Zijlstra and Erlend E. Aaslandpylint-2.12.2/pylint/checkers/stdlib.py is a list of the deprecated functions:
https://github.com/PyCQA/pylint/blob/afa6853b57c8c14970e460ca2651d4157751ad1d/pylint/checkers/stdlib.py#L164- added a commit that references this issue
on May 10, 2022 - added a commit that references this issue
on May 16, 2022 Resolved by #92548
- added a commit that references this issue
on Jun 26, 2022 @erlend-aasland There's some
enable_shared_cachethings inconfigureandconfigure.ac:$ rg enable_shared_cache configure* configure.ac 3870: PY_CHECK_SQLITE_FUNC([sqlite3_enable_shared_cache]) configure 13692: { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqlite3_enable_shared_cache in -lsqlite3" >&5 13693:$as_echo_n "checking for sqlite3_enable_shared_cache in -lsqlite3... " >&6; } 13694:if ${ac_cv_lib_sqlite3_sqlite3_enable_shared_cache+:} false; then : 13708:char sqlite3_enable_shared_cache (); 13712:return sqlite3_enable_shared_cache (); 13718: ac_cv_lib_sqlite3_sqlite3_enable_shared_cache=yes 13720: ac_cv_lib_sqlite3_sqlite3_enable_shared_cache=no 13726:{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sqlite3_sqlite3_enable_shared_cache" >&5 13727:$as_echo "$ac_cv_lib_sqlite3_sqlite3_enable_shared_cache" >&6; } 13728:if test "x$ac_cv_lib_sqlite3_sqlite3_enable_shared_cache" = xyes; then :
Should they be cleaned up as well?
Oh, good call @hugovk. Yes, definitely. Are you up for a PR? If not, I'll do it.
Please go ahead, thanks!
Reacted by Erlend E. Aasland- added a commit that references this issue
on Feb 13, 2023 - added a commit that references this issue
on Feb 13, 2023
The following sqlite3 features were deprecated in Python 3.10, and are scheduled for removal in Python 3.12:
3.12 development was just opened, so these features can now be removed.
Linked PRs