1Revision history for Perl extension BerkeleyDB. 2 30.39 6th June 2009 4 5 * Added support for BDB 4.8 6 - associate_foreign 7 - set_bt_compress (no callbacks as yet). 8 9 * Also added interface to 10 - ENV->stat_print 11 - ENV->txn_stat_print 12 13 * Oldest Perl supported is now 5.005 14 15 * Fixed issue db_stat when it returned a null pointer. 16 (#46312 rt.cpan.org) 17 18 * Fixed issue with DNM Filters & UTF8 support. 19 Patch supplied by Torsten Foertsch. 20 210.38 21st February 2009 22 23 * Fixed typo in BerkleyDB.pod that broke t/pod.t 24 250.37 18th February 2009 26 27 * Included CDS section to the pod. 28 29 * Various documentation patches from RT#42243 30 310.36 30th September 2008 32 33 * Added support for $ENV->log_get_config and $ENV->log_set_config. 34 Patch supplied by Yuval Kogman (#39651 rt.cpan.org) 35 360.35 22nd September 2008 37 38 * Added a combination of independent patches from Claes Jakobsson 39 and Yuval Kogman (#38896 rt.cpan.org) to allow multi-key return 40 from a secondard database. 41 42 * Added support for sequences. Initial patch from Claes Jakobsson. 43 44 * Get associate to use a transaction if one is specified. 45 #5855 from rt.cpan.org 46 47 * Finish transition of test harness to use Test::More 48 490.34 27th March 2008 50 51 * Updates to support building with Berkeley DB version 4.7 52 53 * Typo in #ifdef for ThreadCount support. Spotted by Mark Hindley 54 55 * Updated dbinfo 56 570.33 17th January 2008 58 59 * Added failchk, set_isalive, lock_stat_print & mutex_stat_print. 60 Patch provided by Thomas Busch. 61 620.32 10th July 2007 63 64 * Updates to support Berkeley DB 4.6 65 66 * Remove all global static data from BerkeleyDB.xs. 67 680.31 15th Oct 2006 69 70 * Fixed DB_GET_BOTH. Tnanks to Thomas Drugeon for spotting the typo 71 in typemap and supplying a regression test for this fix. 72 730.30 11th Sept 2006 74 75 * Fixed queue test harness for Berkeley DB 4.5 compliance 76 77 * Added $env->lsn_reset, $txn->set_timeout, $env->set_timeout & 78 $env->get_timeout, $txn->set_tx_max, $txn->get_tx_max 79 800.29 2nd July 2006 81 82 * Fixes for cursor get from secondary where primary os recno. 83 84 * Added db_compact 85 860.28 11th June 2006 87 88 * Fixes for secondary where primary is recno. 89 90 * GET_BOTH_RANGE wasn't working. It is now. 91 92 * Added FreeBSD hints to README - patch supplied by David Landgren 93 in #17675 from rt.cpan.org 94 950.27 1st Novemver 2005 96 97 * Added support for Berkeley DB 4.4 98 99 * Fixed secondary key issue with recno databases 100 101 * Added libscan to Makefile.PL 102 103 * Fixed a problem in t/subdb.t that meant it hung on Win32. 104 105 * The logic for set_mutexlocks was inverted when using Berkeley DB 4.x 106 Bug spotted by Zefram <zefram@fysh.org> 107 108 * Transactional rename/remove added. 109 Patch supplied by Zefram <zefram@fysh.org> 110 111 1120.26 10th October 2004 113 114 * Changed to allow Building with Berkeley DB 4.3 115 116 * added cds_lock and associated methods as a convenience to allow 117 safe updaing of database records when using Berkeley DB CDS mode. 118 119 * added t/cds.t and t/pod.t 120 121 * Modified the test suite to use "-ErrFile => *STDOUT" where 122 possible. This will make it easier to diagnose build issues. 123 124 * -Errfile will now accept a filehandle as well as a filename 125 This means that -ErrFile => *STDOUT will get all extended error 126 messages displayed directly on screen. 127 128 * Added support for set_shm_key & get_shm_key. 129 130 * Patch from Mark Jason Dominus to add a better error message 131 when an odd number of parameters are passed to ParseParameters. 132 133 * fixed off-by-one error in my_strdup 134 135 * Fixed a problem with push, pop, shift & unshift with Queue & 136 Recno when used in CDS mode. These methods were not using 137 a write cursor behind the scenes. 138 Problem reported by Pavel Hlavnicka. 139 1400.25 1st November 2003 141 142 * Minor update to dbinfo 143 144 * Fixed a bug in the test harnesses that is only apparent in 145 perl 5.8.2. Original patch courtesy of Michael Schwern. 146 1470.24 27th September 2003 148 149 * Mentioned comp.databases.berkeley-db in README 150 151 * Builds with Berkeley DB 4.2 152 153 * The return type for db->db_fd was wrongly set at DualType - 154 should be int. 155 1560.23 15th June 2003 157 158 * Fixed problem where a secondary index would use the same 159 compare callback as the primary key, regardless of what was 160 defined for the secondary index. 161 Problem spotted by Dave Tallman. 162 163 * Also fixed a problem with the associate callback. If the value 164 for the secondary key was not a string, the secondary key was 165 being set incorrectly. This is now fixed. 166 167 * When built with Berkeley DB 3.2 or better, all callbacks now use 168 the BackRef pointer instead of the global CurrentDB. This was 169 done partially to fix the secondary index problem, above. 170 171 * The test harness was failing under cygwin. Now fixed. 172 173 * Previous release broke TRACE. Fixed. 174 1750.22 17th May 2003 176 177 * win32 problem with open macro fixed. 178 1790.21 12th May 2003 180 181 * adding support for env->set_flags 182 * adding recursion detection 183 * win32 problem with rename fixed. 184 * problem with sub-database name in Recno & Queue fixed. 185 * fixed the mldbm.t test harness to work with perl 5.8.0 186 * added a note about not using a network drive when running the 187 test harness. 188 * fixed c_pget 189 * added BerkeleyDB::Env::DB_ENV method 190 * added support for encryption 191 * the dbinfo script will now indicate if the database is encrypted 192 * The CLEAR method is now CDB safe. 193 1940.20 2nd September 2002 195 196 * More support for building with Berkeley DB 4.1.x 197 * db->get & db->pget used the wrong output macro for DBM filters 198 bug spotted by Aaron Ross. 199 * db_join didn't keep a reference to the cursors it was joining. 200 Spotted by Winton Davies. 201 2020.19 5th June 2002 203 * Removed the targets that used mkconsts from Makefile.PL. They relied 204 on a module that is not available in all versions of Perl. 205 * added support for env->set_verbose 206 * added support for db->truncate 207 * added support for db->rename via BerkeleyDB::db_rename 208 * added support for db->verify via BerkeleyDB::db_verify 209 * added support for db->associate, db->pget & cursor->c_pget 210 * Builds with Berkeley DB 4.1.x 211 212 2130.18 6th January 2002 214 * Dropped support for ErrFile as a file handle. It was proving too 215 difficult to get at the underlying FILE * in XS. 216 Reported by Jonas Smedegaard (Debian powerpc) & Kenneth Olwing (Win32) 217 * Fixed problem with abort macro in XSUB.h clashing with txn abort 218 method in Berkeley DB 4.x -- patch supplied by Kenneth Olwing. 219 * DB->set_alloc was getting called too late in BerkeleyDB.xs. 220 This was causing problems with ActivePerl -- problem reported 221 by Kenneth Olwing. 222 * When opening a queue, the Len proprty set the DB_PAD flag. 223 Should have been DB_FIXEDLEN. Fix provided by Kenneth Olwing. 224 * Test harness fixes from Kenneth Olwing. 225 2260.17 23 September 2001 227 * Fixed a bug in BerkeleyDB::Recno - reported by Niklas Paulsson. 228 * Added log_archive - patch supplied by Benjamin Holzman 229 * Added txn_discard 230 * Builds with Berkeley DB 4.0.x 231 2320.16 1 August 2001 233 * added support for Berkeley DB 3.3.x (but no support for any of the 234 new features just yet) 235 2360.15 26 April 2001 237 * Fixed a bug in the processing of the flags options in 238 db_key_range. 239 * added support for set_lg_max & set_lg_bsize 240 * allow DB_TMP_DIR and DB_TEMP_DIR 241 * the -Filename parameter to BerkeleyDB::Queue didn't work. 242 * added symbol DB_CONSUME_WAIT 243 2440.14 21st January 2001 245 * Silenced the warnings when build with a 64-bit Perl. 246 * Can now build with DB 3.2.3h (part of MySQL). The test harness 247 takes an age to do the queue test, but it does eventually pass. 248 * Mentioned the problems that occur when perl is built with sfio. 249 2500.13 15th January 2001 251 * Added support to allow this module to build with Berkeley DB 3.2 252 * Updated dbinfo to support Berkeley DB 3.1 & 3.2 file format 253 changes. 254 * Documented the Solaris 2.7 core dump problem in README. 255 * Tidied up the test harness to fix a problem on Solaris where the 256 "fred" directory wasn't being deleted when it should have been. 257 * two calls to "open" clashed with a win32 macro. 258 * size argument for hash_cb is different for Berkeley DB 3.x 259 * Documented the issue of building on Linux. 260 * Added -Server, -CacheSize & -LockDetect options 261 [original patch supplied by Graham Barr] 262 * Added support for set_mutexlocks, c_count, set_q_extentsize, 263 key_range, c_dup 264 * Dropped the "attempted to close a Cursor with an open transaction" 265 error in c_close. The correct behaviour is that the cursor 266 should be closed before committing/aborting the transaction. 267 2680.12 2nd August 2000 269 * Serious bug with get fixed. Spotted by Sleepycat. 270 * Added hints file for Solaris & Irix (courtesy of Albert Chin-A-Young) 271 2720.11 4th June 2000 273 * When built with Berkeley Db 3.x there can be a clash with the close 274 macro. 275 * Typo in the definition of DB_WRITECURSOR 276 * The flags parameter wasn't getting sent to db_cursor 277 * Plugged small memory leak in db_cursor (DESTROY wasn't freeing 278 memory) 279 * Can be built with Berkeley DB 3.1 280 2810.10 8th December 1999 282 * The DESTROY method was missing for BerkeleyDB::Env. This resulted in 283 a memory leak. Fixed. 284 * If opening an environment or database failed, there was a small 285 memory leak. This has been fixed. 286 * A thread-enabled Perl it could core when a database was closed. 287 Problem traced to the strdup function. 288 2890.09 29th November 1999 290 * the queue.t & subdb.t test harnesses were outputting a few 291 spurious warnings. This has been fixed. 292 2930.08 28nd November 1999 294 * More documentation updates 295 * Changed reference to files in /tmp in examples.t 296 * Fixed a typo in softCrash that caused problems when building 297 with a thread-enabled Perl. 298 * BerkeleyDB::Error wasn't initialised properly. 299 * ANSI-ified all the static C functions in BerkeleyDB.xs 300 * Added support for the following DB 3.x features: 301 + The Queue database type 302 + db_remove 303 + subdatabases 304 + db_stat for Hash & Queue 305 3060.07 21st September 1999 307 * Numerous small bug fixes. 308 * Added support for sorting duplicate values DB_DUPSORT. 309 * Added support for DB_GET_BOTH & DB_NEXT_DUP. 310 * Added get_dup (from DB_File). 311 * beefed up the documentation. 312 * Forgot to add the DB_INIT_CDB in BerkeleyDB.pm in previous release. 313 * Merged the DBM Filter code from DB_File into BerkeleyDB. 314 * Fixed a nasty bug where a closed transaction was still used with 315 with dp_put, db_get etc. 316 * Added logic to gracefully close everything whenever a fatal error 317 happens. Previously the plug was just pulled. 318 * It is now a fatal error to explicitly close an environment if there 319 is still an open database; a database when there are open cursors or 320 an open transaction; and a cursor if there is an open transaction. 321 Using object destruction doesn't have this issue, as object 322 references will ensure everything gets closed in the correct order. 323 * The BOOT code now checks that the version of db.h & libdb are the 324 same - this seems to be a common problem on Linux. 325 * MLDBM support added. 326 * Support for the new join cursor added. 327 * Builds with Berkeley DB 3.x 328 * Updated dbinfo for Berkeley DB 3.x file formats. 329 * Deprecated the TxnMgr class. As with Berkeley DB version 3, 330 txn_begin etc are now accessed via the environment object. 331 3320.06 19 December 1998 333 * Minor modifications to get the module to build with DB 2.6.x 334 * Added support for DB 2.6.x's Concurrent Access Method, DB_INIT_CDB. 335 3360.05 9 November 1998 337 * Added a note to README about how to build Berkeley DB 2.x 338 when using HP-UX. 339 * Minor modifications to get the module to build with DB 2.5.x 340 3410.04 19 May 1998 342 * Define DEFSV & SAVE_DEFSV if not already defined. This allows 343 the module to be built with Perl 5.004_04. 344 3450.03 5 May 1998 346 * fixed db_get with DB_SET_RECNO 347 * fixed c_get with DB_SET_RECNO and DB_GET_RECNO 348 * implemented BerkeleyDB::Unknown 349 * implemented BerkeleyDB::Recno, including push, pop etc 350 modified the txn support. 351 3520.02 30 October 1997 353 * renamed module to BerkeleyDB 354 * fixed a few bugs & added more tests 355 3560.01 23 October 1997 357 * first alpha release as BerkDB. 358 359