1Revision history for Perl extension BerkeleyDB. 2 30.57 23 January 2018 4 5 * Updates for BDB 6.3 6 70.56 5 January 2016 8 9 * Updates for BDB 6.2 10 110.55 30 March 2014 12 13 * Error opening ErrFile with PerlIO_findFILE 14 [RT =#101883] 15 16 * Minor updates for BDB 6.1 17 180.54 9th November 2013 19 20 * memory leak in CDS locking routines 21 [RT #90134] 22 230.53 14th August 2013 24 25 * BerkeleyDB-0.52 fails to build on 5.18.1RC3 26 [RT #87771] 27 28 * typo fixes 29 [RT #86705] 30 310.52 7th May 2013 32 33 * Updates for BDB 6.0 - Added Blob support 34 - Added BerkeleyDB::DbStream class to interface to Blobs 35 - Added BlobThreshold & BlobDir option to BerkeleyDB::Env 36 constructor 37 - Added BlobThreshold & BlobDir option to Hash, Btree & Heap 38 constructors 39 - Added get_blob_threshold method to BerkeleyDB::Env 40 - Added get_blob_dir method to BerkeleyDB::Env 41 - Added get_blob_threshold method to the Hash, Btree & Heap 42 - Added get_blob_dir method to the Hash, Btree & Heap 43 44 * Added method $cursor->set_partial 45 * Added method $cursor->partial_clear 46 47 * $env->lock_detect dies due to incorrect version check 48 [RT #84179] 49 50 * (Memory leak in db_verify() method. (libdb < 4.2)) 51 [RT #84409] 52 53 * Fix a few croaks 54 550.51 19th March 2012 56 57 * Rework FETCHSIZE 58 [RT #75691] 59 600.50 10th December 2011 61 62 * Updates for BDB 5.3 63 640.49 6th August 2011 65 66 * Documentation updated courtesy of Mike Caron 67 68 * croak if attempt to freeze berkeleydb object 69 [RT #69985] 70 710.48 18th June 2011 72 73 * Fixed test harness issue with Heap.t 74 RT #68818 75 760.47 1st June 2011 77 78 * Add support for new Heap database format. 79 80 * Changes to build with BDB 5.2 81 820.46 18th October 2010 83 84 * Fixed bug with db_pget when the DB_GET_BOTH flag is used. 85 860.45 17th October 2010 87 88 * Fixed bug with c_pget when the DB_GET_BOTH flag is used. 89 900.44 2nd August 2010 91 92 * Added support for db_exists and lock_detect. 93 Thanks to Alex Lovatt for the patch. 94 950.43 1st August 2010 96 97 * Changes to build with BDB 5.1 98 - Dropped support for Server option when creating an environment. 99 100 * Documantation updates. 101 RT# 59202 102 103 * Fixed compilation error with MS Visual Studio 2005 104 RT# 59924 105 1060.42 13th March 2010 107 108 * Added $db->Env method to retrieve the environment object from a 109 database object. 110 111 * Get the tied interface to use truncate in the CLEAR method if 112 using a new enough version of Berkeley DB. 113 1140.41 8th January 2010 115 116 * Silence "UNIVERSAL->import is deprecated" in perl 5.11 117 RT# 53518 118 1190.40 7th January 2010 120 121 * Added support for set_tx_max, log_set_config, set_lk_max_lockers, 122 set_lk_max_locks, set_lk_max_objects via the Env constructor. 123 Parameter names are TxMax, LogConfig, MaxLockers, MaxLocks & 124 MaxObjects respectively. 125 RT# 50456 126 127 * seq->seq->close doesn't compile on win32. 128 RT# 49474 129 1300.39 6th June 2009 131 132 * Added support for BDB 4.8 133 - associate_foreign 134 - set_bt_compress (no callbacks as yet). 135 136 * Also added interface to 137 - ENV->stat_print 138 - ENV->txn_stat_print 139 140 * Oldest Perl supported is now 5.005 141 142 * Fixed issue db_stat when it returned a null pointer. 143 (#46312 rt.cpan.org) 144 145 * set_msgfile API 146 (#46313) 147 148 * Fixed issue with DNM Filters & UTF8 support. 149 Patch supplied by Torsten Foertsch. 150 1510.38 21st February 2009 152 153 * Fixed typo in BerkleyDB.pod that broke t/pod.t 154 1550.37 18th February 2009 156 157 * Included CDS section to the pod. 158 159 * Various documentation patches from RT#42243 160 1610.36 30th September 2008 162 163 * Added support for $ENV->log_get_config and $ENV->log_set_config. 164 Patch supplied by Yuval Kogman (#39651 rt.cpan.org) 165 1660.35 22nd September 2008 167 168 * Added a combination of independent patches from Claes Jakobsson 169 and Yuval Kogman (#38896 rt.cpan.org) to allow multi-key return 170 from a secondard database. 171 172 * Added support for sequences. Initial patch from Claes Jakobsson. 173 174 * Get associate to use a transaction if one is specified. 175 #5855 from rt.cpan.org 176 177 * Finish transition of test harness to use Test::More 178 1790.34 27th March 2008 180 181 * Updates to support building with Berkeley DB version 4.7 182 183 * Typo in #ifdef for ThreadCount support. Spotted by Mark Hindley 184 185 * Updated dbinfo 186 1870.33 17th January 2008 188 189 * Added failchk, set_isalive, lock_stat_print & mutex_stat_print. 190 Patch provided by Thomas Busch. 191 1920.32 10th July 2007 193 194 * Updates to support Berkeley DB 4.6 195 196 * Remove all global static data from BerkeleyDB.xs. 197 1980.31 15th Oct 2006 199 200 * Fixed DB_GET_BOTH. Tnanks to Thomas Drugeon for spotting the typo 201 in typemap and supplying a regression test for this fix. 202 2030.30 11th Sept 2006 204 205 * Fixed queue test harness for Berkeley DB 4.5 compliance 206 207 * Added $env->lsn_reset, $txn->set_timeout, $env->set_timeout & 208 $env->get_timeout, $txn->set_tx_max, $txn->get_tx_max 209 2100.29 2nd July 2006 211 212 * Fixes for cursor get from secondary where primary os recno. 213 214 * Added db_compact 215 2160.28 11th June 2006 217 218 * Fixes for secondary where primary is recno. 219 220 * GET_BOTH_RANGE wasn't working. It is now. 221 222 * Added FreeBSD hints to README - patch supplied by David Landgren 223 in #17675 from rt.cpan.org 224 2250.27 1st Novemver 2005 226 227 * Added support for Berkeley DB 4.4 228 229 * Fixed secondary key issue with recno databases 230 231 * Added libscan to Makefile.PL 232 233 * Fixed a problem in t/subdb.t that meant it hung on Win32. 234 235 * The logic for set_mutexlocks was inverted when using Berkeley DB 4.x 236 Bug spotted by Zefram <zefram@fysh.org> 237 238 * Transactional rename/remove added. 239 Patch supplied by Zefram <zefram@fysh.org> 240 241 2420.26 10th October 2004 243 244 * Changed to allow Building with Berkeley DB 4.3 245 246 * added cds_lock and associated methods as a convenience to allow 247 safe updaing of database records when using Berkeley DB CDS mode. 248 249 * added t/cds.t and t/pod.t 250 251 * Modified the test suite to use "-ErrFile => *STDOUT" where 252 possible. This will make it easier to diagnose build issues. 253 254 * -Errfile will now accept a filehandle as well as a filename 255 This means that -ErrFile => *STDOUT will get all extended error 256 messages displayed directly on screen. 257 258 * Added support for set_shm_key & get_shm_key. 259 260 * Patch from Mark Jason Dominus to add a better error message 261 when an odd number of parameters are passed to ParseParameters. 262 263 * fixed off-by-one error in my_strdup 264 265 * Fixed a problem with push, pop, shift & unshift with Queue & 266 Recno when used in CDS mode. These methods were not using 267 a write cursor behind the scenes. 268 Problem reported by Pavel Hlavnicka. 269 2700.25 1st November 2003 271 272 * Minor update to dbinfo 273 274 * Fixed a bug in the test harnesses that is only apparent in 275 perl 5.8.2. Original patch courtesy of Michael Schwern. 276 2770.24 27th September 2003 278 279 * Mentioned comp.databases.berkeley-db in README 280 281 * Builds with Berkeley DB 4.2 282 283 * The return type for db->db_fd was wrongly set at DualType - 284 should be int. 285 2860.23 15th June 2003 287 288 * Fixed problem where a secondary index would use the same 289 compare callback as the primary key, regardless of what was 290 defined for the secondary index. 291 Problem spotted by Dave Tallman. 292 293 * Also fixed a problem with the associate callback. If the value 294 for the secondary key was not a string, the secondary key was 295 being set incorrectly. This is now fixed. 296 297 * When built with Berkeley DB 3.2 or better, all callbacks now use 298 the BackRef pointer instead of the global CurrentDB. This was 299 done partially to fix the secondary index problem, above. 300 301 * The test harness was failing under cygwin. Now fixed. 302 303 * Previous release broke TRACE. Fixed. 304 3050.22 17th May 2003 306 307 * win32 problem with open macro fixed. 308 3090.21 12th May 2003 310 311 * adding support for env->set_flags 312 * adding recursion detection 313 * win32 problem with rename fixed. 314 * problem with sub-database name in Recno & Queue fixed. 315 * fixed the mldbm.t test harness to work with perl 5.8.0 316 * added a note about not using a network drive when running the 317 test harness. 318 * fixed c_pget 319 * added BerkeleyDB::Env::DB_ENV method 320 * added support for encryption 321 * the dbinfo script will now indicate if the database is encrypted 322 * The CLEAR method is now CDB safe. 323 3240.20 2nd September 2002 325 326 * More support for building with Berkeley DB 4.1.x 327 * db->get & db->pget used the wrong output macro for DBM filters 328 bug spotted by Aaron Ross. 329 * db_join didn't keep a reference to the cursors it was joining. 330 Spotted by Winton Davies. 331 3320.19 5th June 2002 333 * Removed the targets that used mkconsts from Makefile.PL. They relied 334 on a module that is not available in all versions of Perl. 335 * added support for env->set_verbose 336 * added support for db->truncate 337 * added support for db->rename via BerkeleyDB::db_rename 338 * added support for db->verify via BerkeleyDB::db_verify 339 * added support for db->associate, db->pget & cursor->c_pget 340 * Builds with Berkeley DB 4.1.x 341 342 3430.18 6th January 2002 344 * Dropped support for ErrFile as a file handle. It was proving too 345 difficult to get at the underlying FILE * in XS. 346 Reported by Jonas Smedegaard (Debian powerpc) & Kenneth Olwing (Win32) 347 * Fixed problem with abort macro in XSUB.h clashing with txn abort 348 method in Berkeley DB 4.x -- patch supplied by Kenneth Olwing. 349 * DB->set_alloc was getting called too late in BerkeleyDB.xs. 350 This was causing problems with ActivePerl -- problem reported 351 by Kenneth Olwing. 352 * When opening a queue, the Len proprty set the DB_PAD flag. 353 Should have been DB_FIXEDLEN. Fix provided by Kenneth Olwing. 354 * Test harness fixes from Kenneth Olwing. 355 3560.17 23 September 2001 357 * Fixed a bug in BerkeleyDB::Recno - reported by Niklas Paulsson. 358 * Added log_archive - patch supplied by Benjamin Holzman 359 * Added txn_discard 360 * Builds with Berkeley DB 4.0.x 361 3620.16 1 August 2001 363 * added support for Berkeley DB 3.3.x (but no support for any of the 364 new features just yet) 365 3660.15 26 April 2001 367 * Fixed a bug in the processing of the flags options in 368 db_key_range. 369 * added support for set_lg_max & set_lg_bsize 370 * allow DB_TMP_DIR and DB_TEMP_DIR 371 * the -Filename parameter to BerkeleyDB::Queue didn't work. 372 * added symbol DB_CONSUME_WAIT 373 3740.14 21st January 2001 375 * Silenced the warnings when build with a 64-bit Perl. 376 * Can now build with DB 3.2.3h (part of MySQL). The test harness 377 takes an age to do the queue test, but it does eventually pass. 378 * Mentioned the problems that occur when perl is built with sfio. 379 3800.13 15th January 2001 381 * Added support to allow this module to build with Berkeley DB 3.2 382 * Updated dbinfo to support Berkeley DB 3.1 & 3.2 file format 383 changes. 384 * Documented the Solaris 2.7 core dump problem in README. 385 * Tidied up the test harness to fix a problem on Solaris where the 386 "fred" directory wasn't being deleted when it should have been. 387 * two calls to "open" clashed with a win32 macro. 388 * size argument for hash_cb is different for Berkeley DB 3.x 389 * Documented the issue of building on Linux. 390 * Added -Server, -CacheSize & -LockDetect options 391 [original patch supplied by Graham Barr] 392 * Added support for set_mutexlocks, c_count, set_q_extentsize, 393 key_range, c_dup 394 * Dropped the "attempted to close a Cursor with an open transaction" 395 error in c_close. The correct behaviour is that the cursor 396 should be closed before committing/aborting the transaction. 397 3980.12 2nd August 2000 399 * Serious bug with get fixed. Spotted by Sleepycat. 400 * Added hints file for Solaris & Irix (courtesy of Albert Chin-A-Young) 401 4020.11 4th June 2000 403 * When built with Berkeley Db 3.x there can be a clash with the close 404 macro. 405 * Typo in the definition of DB_WRITECURSOR 406 * The flags parameter wasn't getting sent to db_cursor 407 * Plugged small memory leak in db_cursor (DESTROY wasn't freeing 408 memory) 409 * Can be built with Berkeley DB 3.1 410 4110.10 8th December 1999 412 * The DESTROY method was missing for BerkeleyDB::Env. This resulted in 413 a memory leak. Fixed. 414 * If opening an environment or database failed, there was a small 415 memory leak. This has been fixed. 416 * A thread-enabled Perl it could core when a database was closed. 417 Problem traced to the strdup function. 418 4190.09 29th November 1999 420 * the queue.t & subdb.t test harnesses were outputting a few 421 spurious warnings. This has been fixed. 422 4230.08 28nd November 1999 424 * More documentation updates 425 * Changed reference to files in /tmp in examples.t 426 * Fixed a typo in softCrash that caused problems when building 427 with a thread-enabled Perl. 428 * BerkeleyDB::Error wasn't initialised properly. 429 * ANSI-ified all the static C functions in BerkeleyDB.xs 430 * Added support for the following DB 3.x features: 431 + The Queue database type 432 + db_remove 433 + subdatabases 434 + db_stat for Hash & Queue 435 4360.07 21st September 1999 437 * Numerous small bug fixes. 438 * Added support for sorting duplicate values DB_DUPSORT. 439 * Added support for DB_GET_BOTH & DB_NEXT_DUP. 440 * Added get_dup (from DB_File). 441 * beefed up the documentation. 442 * Forgot to add the DB_INIT_CDB in BerkeleyDB.pm in previous release. 443 * Merged the DBM Filter code from DB_File into BerkeleyDB. 444 * Fixed a nasty bug where a closed transaction was still used with 445 with dp_put, db_get etc. 446 * Added logic to gracefully close everything whenever a fatal error 447 happens. Previously the plug was just pulled. 448 * It is now a fatal error to explicitly close an environment if there 449 is still an open database; a database when there are open cursors or 450 an open transaction; and a cursor if there is an open transaction. 451 Using object destruction doesn't have this issue, as object 452 references will ensure everything gets closed in the correct order. 453 * The BOOT code now checks that the version of db.h & libdb are the 454 same - this seems to be a common problem on Linux. 455 * MLDBM support added. 456 * Support for the new join cursor added. 457 * Builds with Berkeley DB 3.x 458 * Updated dbinfo for Berkeley DB 3.x file formats. 459 * Deprecated the TxnMgr class. As with Berkeley DB version 3, 460 txn_begin etc are now accessed via the environment object. 461 4620.06 19 December 1998 463 * Minor modifications to get the module to build with DB 2.6.x 464 * Added support for DB 2.6.x's Concurrent Access Method, DB_INIT_CDB. 465 4660.05 9 November 1998 467 * Added a note to README about how to build Berkeley DB 2.x 468 when using HP-UX. 469 * Minor modifications to get the module to build with DB 2.5.x 470 4710.04 19 May 1998 472 * Define DEFSV & SAVE_DEFSV if not already defined. This allows 473 the module to be built with Perl 5.004_04. 474 4750.03 5 May 1998 476 * fixed db_get with DB_SET_RECNO 477 * fixed c_get with DB_SET_RECNO and DB_GET_RECNO 478 * implemented BerkeleyDB::Unknown 479 * implemented BerkeleyDB::Recno, including push, pop etc 480 modified the txn support. 481 4820.02 30 October 1997 483 * renamed module to BerkeleyDB 484 * fixed a few bugs & added more tests 485 4860.01 23 October 1997 487 * first alpha release as BerkDB. 488 489