[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