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