diff options
author | Erlend Egeberg Aasland <erlend.aasland@innova.no> | 2021-01-06 00:36:04 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-06 00:36:04 (GMT) |
commit | ddb5e11683c8db9d2095f2f9406701443c4dc9b3 (patch) | |
tree | 1f6aade790390220158f852c9e78d9e58faa27d8 /Lib/sqlite3 | |
parent | f9949f82e17c88609adb53eff3a7d5cd63a645bd (diff) | |
download | cpython-ddb5e11683c8db9d2095f2f9406701443c4dc9b3.zip cpython-ddb5e11683c8db9d2095f2f9406701443c4dc9b3.tar.gz cpython-ddb5e11683c8db9d2095f2f9406701443c4dc9b3.tar.bz2 |
bpo-24464: Deprecate sqlite3.enable_shared_cache (GH-24008)
Diffstat (limited to 'Lib/sqlite3')
-rw-r--r-- | Lib/sqlite3/dbapi2.py | 14 | ||||
-rw-r--r-- | Lib/sqlite3/test/dbapi.py | 7 |
2 files changed, 21 insertions, 0 deletions
diff --git a/Lib/sqlite3/dbapi2.py b/Lib/sqlite3/dbapi2.py index 991682c..6475f98 100644 --- a/Lib/sqlite3/dbapi2.py +++ b/Lib/sqlite3/dbapi2.py @@ -84,6 +84,20 @@ def register_adapters_and_converters(): register_adapters_and_converters() +# bpo-24464: enable_shared_cache was deprecated in Python 3.10. It's +# scheduled for removal in Python 3.12. +def enable_shared_cache(enable): + from _sqlite3 import enable_shared_cache as _old_enable_shared_cache + import warnings + msg = ( + "enable_shared_cache is deprecated and will be removed in Python 3.12. " + "Shared cache is strongly discouraged by the SQLite 3 documentation. " + "If shared cache must be used, open the database in URI mode using" + "the cache=shared query parameter." + ) + warnings.warn(msg, DeprecationWarning, stacklevel=2) + return _old_enable_shared_cache + # Clean up namespace del(register_adapters_and_converters) diff --git a/Lib/sqlite3/test/dbapi.py b/Lib/sqlite3/test/dbapi.py index 2b85ef9..3131c1e 100644 --- a/Lib/sqlite3/test/dbapi.py +++ b/Lib/sqlite3/test/dbapi.py @@ -83,6 +83,13 @@ class ModuleTests(unittest.TestCase): sqlite.DatabaseError), "NotSupportedError is not a subclass of DatabaseError") + def CheckSharedCacheDeprecated(self): + for enable in (True, False): + with self.assertWarns(DeprecationWarning) as cm: + sqlite.enable_shared_cache(enable) + self.assertIn("dbapi.py", cm.filename) + + class ConnectionTests(unittest.TestCase): def setUp(self): |