1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197
|
* 20161120: Document how to install with alternative Berkeley DB paths
using PIP.
* 20160422: The "changelog" should merge with the sphynx documentation.
* 20160421: Merge "README.txt" with the sphynx documentation.
* 20131204: Rewrite "make3.py".
* 20080327: Add a parameter to DBEnv.log_flush().
* 20080402: If a prepared/recovered transaction is garbaged collected,
we leak transactions. Can we call "discard" in a safe way?.
* 20080403: If an exception is raised in a thread in the TestSuite, we
pass the test. Bad!.
* 20080403: Write a test for MVCC.
* 20080403: We should recreate the test data directory in every
execution, and delete it when finished.
* 20080403: "txn_stat" provides a list of active transactions. Export it
to Python.
* 20080426: Verify that "DB_ENV->set_event_notify" follows the API.
* 20080521: Write a test for "DB_ENV->set_rpc_server". This test would be
called if there is a concrete environment variable defined, for example.
* 20080522: Think about changing the library name to "berkeleydb". See
http://mailman.jcea.es/pipermail/pybsddb/2008-March/000019.html
* 20080522: Update the "README.txt" document.
* 20080531: "DB_ENV->rep_set_limit" and "DB_ENV->rep_get_limit", support
for long values.
* 20080629: The testsuite implements a "test_support" module, used when
the underlying python version doesn't have it. Because a bug in the
test code, this version is used always, even if this python version
has "test_support". This is actually useful, because current test
code uses features in "test_support" that are not available in
previous python versions.
* 20080720: The test for crash documented in http://bugs.python.org/issue3307
is disabled because it prints a error message to screen. Solve this and
reenable the test. This would require "set_errfile" implementation.
* 20080811: "DB.has_key()" must be retained in python3.0, since it allows
a transaction parameter.
* 20080812: "DBEnv.db_home", under python3.0, is automatically converted
to bytes. What charset is used?.
* 20080812: Since Python 3.0 dropped the "cmp" function in "sort()"
methods, we need to handcode some "Insertion sort" functions, in
the testsuite and in the production code. This is ugly and slow.
* 20080812: "test_all.do_proxy_db_py3k()" is a very ugly hack. For
example, if a test fails, it can leave the testsuite in an
inconsistent state, causing spurious failures.
* 20080812: We use "getattr()" to avoid "obj.next()" automatic
conversion via "2to3" tool. Improve this.
* 20080812: Python 3.0 idioms available in 2.6 and up should be
used also in this versions.
* 20080813: Create a "__contains__" routine in DB, etc, to use
when 2to3 tools translate "has_key" to "in".
* 20080813: We use "getattr()" to avoid "obj.has_key()" automatic
conversion via "2to3" tool. Improve this, specially in
"dbtables.py".
* 20080813: We can store "None" values in a database. How can we
differenciate between stored "None" and NotFound?. We can
use exceptions or the "default" parameter, but... this is ugly.
* 20080813: TO INVESTIGATE (posible bug in Berkeley DB): if you
duplicate a duplicated cursor, crash.
* 20080813: The put_bytes/get_bytes technique in "dbtables" is
nice, but the "getattr" method is not. The problem is that
DB objects can't grow new attributes. Solve this.
* 20080814: If pybsddb classes would be subclassed, we could
implement conversion methods for keys and values in
a very elegant way. This is specially relevant in Python 3.0.
When done, delete "StringValues" and "StringKeys" in
Python native "test_bsddb.py".
* 20080814: If we could subclass the bsddb objects, we could
drop "dbobj.py" (a bit outdated by now).
* 20080918: If "DB_close_internal()" fails in "DB_verify()", we
should close the DB handle.
* 20080929: Support "master leases". Beware bug
http://forums.oracle.com/forums/thread.jspa?forumID=272&threadID=708324
* 20081011: Evaluate support of "with" statement for things like
transactions.
* 20081013: Evaluate convenience of returning named tuples in some places.
* 20081013: Evaluate convenience of supporting "sys.getsizeof()".
* 20081013: Port "PyModule_AddStringMacro" and "PyModule_AddIntMacro"
when compiling for old versions of Python.
* 20090121: In the "associate()" callback, there are mallocs to
contain the "data" portion of DBT's. Test that they are correctly
freed by Berkeley DB.
* 20090121: If somethings goes wrong in the "associate()" callback,
we are going to leak memory and coredump. Solve it.
* 20090121: If the "associate()" callback returns an empty list, crash.
* 20090121: "DB->compact()" should return more data to the caller.
* 20090204: "txn->stat()" returns also a list of active transactions.
Evaluate if we must export that data to python.
* 20090204: A lot of binding functions allow optional parameters, but
not keyword ones. Normalize this.
* 20090204: "rep_set_limit()" and "rep_get_limit()" only manages "bytes",
not gigabytes.
* 20090423: Evaluate convenience of supporting DTrace.
* 20090427: Split base replication and replication manager
documentation in documents separated of DBENV docs.
* 20090427: "__contains__()" is not transactionally protected. This is
a problem. Maybe we should raise an exception to avoid the usage
of patterns like "if key in DB", not transactionally protected.
Think about this.
* 20090428: Support DB_MULTIPLE and DB_MULTIPLE_KEY.
* 20090630: "README.txt" needs some love.
* 20090723: Add encryption tests.
* 20091105: Check if the "from unittest.runner import _TextTestResult"
trick in Python 2.7 and 3.2 development versions are still necessary.
* 20091112: Update documentation links to Oracle site.
* 20091112: DBEnv->set_flags() must support True/False.
* 20091206: Review ALL documentation, text and comments in code.
* 20100111: If "DB_ENV->set/get_mp_mmapsize()" is 32 bits in
64 bits architecture, it is not going to be enough.
* 20100112: Currently we increment refcounts of the parent
objects. These can keep parent objects around, so better
allow GC of them to close the entire object tree.
* 20100112: LogCursors should be iterable.
* 20100112: "DBEnv->log_file()" use an iterative method to
calculate the space. Improve it.
* 20100217: When a "Lock" is garbage collected, we leak it
and we do not release it.
* 20100318: Iterate keys in dbshelve load all keys in memory first.
* 20100318: Implement "__iter__()" in DB, maybe thru a DBCursor.
* 20100319: Cursors in dbtables should be iterable.
* 20100406: Document in the manual the use of the C API.
* 20100406: The "_bsddb"/"_pybsddb" import renaming should go away.
* 20100429: "setuptools" should work correctly under Python 3 (PYPI).
* 20100908: Use PEP 384: "Defining a Stable ABI", when approved.
* 20100917: Review and update all documentation.
* 20100917: Some errors are exported as integer values, beside the
proper exception. For instance, DB_SECONDARY_BAD. Evaluate if it
is convenient or not.
* 20120116: After dropping Python 2.3 support, some integers
returned should be promoted to "unsigned integers". Same with
input values.
|