[pybsddb] Berkeleydb 18.1.1
Jesus Cea
jcea at jcea.es
Mon Nov 30 23:55:06 CET 2020
I just released a new "berkeleydb" release, version 18.1.1.
Remember that "bsddb3" package is legacy. Please, upgrade to "berkeleydb".
Homepage:
https://www.jcea.es/programacion/pybsddb.htm
PYPI: https://pypi.org/project/berkeleydb/18.1.1/
Changelog:
https://www.jcea.es/programacion/pybsddb.htm#berkeleydb-18.1.1
18.1.1 - 2020-12-01:
* If you try to install this library in an unsupported Python
environment, instruct the user about how to install legacy "bsddb3"
library.
* Expose DBSite object in the C API. Increase C API version.
* WARNING - BREAKING CHANGE: Ancient release 4.2.8 added weakref
support to
all bsddb.db objects, but from now on this feature requires at least
Python
3.9 because I have migrated from static types to heap types. Let me
know if
this is a problem for you. I could, for example, keep the old types in
Python < 3.9, if needed.
Details:
Py_tp_dictoffset / Py_tp_finalize are unsettable in stable API
https://bugs.python.org/issue38140
bpo-38140: Make dict and weakref offsets opaque for C heap types
(#16076)
https://github.com/python/cpython/commit/3368f3c6ae4140a0883e19350e672fd09c9db616
* "_iter_mixin" and "_DBWithCursor" classes have been rewritten to
avoid the
need of getting a weak reference to "DBCursor" objects, since now it is
problematic if Python < 3.9.
* Wai Keen Woon and Nik Adam sent some weeks ago a patch to solve a
problem
with "DB.verify()" always succeeding. Refactoring in that area in 18.1.0
made that patch unneeded, but I added the test case provided to the test
suite.
* "DBEnv.cdsgroup_begin()" implemented.
* "DBTxn.set_priority()" and "DBTxn.get_priority()" implemented. You
need to
link this library against Oracle Berkeley DB >= 5.3.
* "DBEnv.set_lk_max()" was deprecated and deleted long time ago. Time
to delete it from documentation too.
* WARNING - BREAKING CHANGE: "DB.compact()" used to return a number,
but now
it returns a dictionary. If you need access to the old return value, you
can do "DB.compact()['pages_truncated']".
* "DB.compact()" has been supported "txn" parameter for a long time,
but it
was not documented.
* The dictionary returned by "DB.compact()" has an "end" entry marking
the database key/page number where the compaction stopped. You could
use it
to do partial/incremental database compaction.
* Add an optional parameter to "DBEnv.log_flush()".
* You can override the directory where the tests are run with TMPDIR
environment variable. If that environment variable is not defined, test
will run in "/tmp/ram/" if exists and in "/tmp" if "/tmp/ram/" doesn't
exists or it is not a directory. The idea is that "/tmp/ram/" is a
ramdisk
and the test will run faster.
--
Jesús Cea Avión _/_/ _/_/_/ _/_/_/
jcea at jcea.es - https://www.jcea.es/ _/_/ _/_/ _/_/ _/_/ _/_/
Twitter: @jcea _/_/ _/_/ _/_/_/_/_/
jabber / xmpp:jcea at jabber.org _/_/ _/_/ _/_/ _/_/ _/_/
"Things are not so easy" _/_/ _/_/ _/_/ _/_/ _/_/ _/_/
"My name is Dump, Core Dump" _/_/_/ _/_/_/ _/_/ _/_/
"El amor es poner tu felicidad en la felicidad de otro" - Leibniz
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <https://mailman.jcea.es/pipermail/pybsddb/attachments/20201130/84cffe34/attachment.bin>
More information about the pybsddb
mailing list