Checked in the failure case for the retying
[dbsrgits/DBM-Deep.git] / Changes
CommitLineData
ffed8b01 1Revision history for DBM::Deep.
2
7e2662ec 30.983 Mar 25 08:00:00 2006 Pacific
4 - Added patch inspired by Jeff Janes (Thanks!)
5 - Autovivification now works correctly
6 - The following now works correctly
7 my %hash = ( a => 1 );
8 $db->{hash} = \%hash;
9 $hash{b} = 2;
10 cmp_ok( $db->{hash}{b}, '==', 2 );
11 - NOTE: This patch works by tying the underlying datastructure that was
12 passed in. There are currently no checks to see if the datastructure was
13 previously tied.
14
290fbd2e 150.982 Mar 08 11:00:00 2006 Pacific
16 - Fixed smoketests that were failing on Win32
17 - Added restriction for Perl 5.6.0 or higher.
18 - Digest::MD5 and Sub::Uplevel (dep of Test::Exception) require 5.6+
19
b176a921 200.981 Mar 06 11:00:00 2006 Pacific
21 - (RT#17947) - Fixed test that was failing on older Perls
22
753e18da 230.98 Feb 28 11:00:00 2006 Pacific
a8bd842e 24 - Added in patch by David Cantrell to allow use of DATA filehandle
bcbe5355 25 - Fixed bug where attempting to export() a structure that used autobless would die
e3cb84dc 26 - Fixed arraytest slowness by localizing $SIG{__DIE__} to prevent Test::Builder's
27 $SIG{__DIE__} from being called. (q.v. http://perldoc.perl.org/functions/eval.html)
4d35d856 28 - More methods have been made private:
29 - root() is now _root()
30 - base_offset() is now _base_offset()
31 - fh() is now _fh()
32 - type() is now _type()
33 - precalc_sizes() is now _precalc_sizes()
e3cb84dc 34
6d049f2c 350.97 Feb 24 10:00:00 2006 Pacific
e096f245 36 - Reorganization of distribution to a more standard layout
ffed8b01 37 - Migration to Module::Build with EU::MM backwards compatibility
e096f245 38 - Migration of all tests to use Test::More and Test::Exception
39 - Added Devel::Cover report to DBM::Deep POD
40 - Test coverage improved to 89.6% (and climbing)
8b957036 41 - The following methods have been renamed to reflect their private nature:
42 - init() is now _init()
14a3acb6 43 - open() is now _open()
0207d648 44 - close() is now _close()
261d1296 45 - load_tag() is now _load_tag()
46 - index_lookup() is now _index_lookup()
47 - add_bucket() is now _add_bucket()
48 - get_bucket_value() is now _get_bucket_value()
49 - delete_bucket() is now _delete_bucket()
50 - bucket_exists() is now _bucket_exists()
51 - find_bucket_list() is now _find_bucket_list()
52 - traverse_index() is now _traverse_index()
53 - get_next_key() is now _get_next_key()
54 - copy_node() is now _copy_node()
55 - throw_error() is now _throw_error()
217fef02 56 - The various tied classes have been broken out. This means that testing
57 "ref( $obj ) eq 'DBM::Deep'" will now fail. The correct test is
58 "eval { $obj->isa( 'DBM::Deep' ) }".
59 - The various methods like push and delete now have the same return values as
60 the standard builtins.
9d085683 61 - TIEARRAY and TIEHASH now check their parameters more thoroughly
e096f245 62 - Negative indices for arrays works as expected, including throwing the appropriate
63 errors.
26138c00 64 - RT #16877 is fixed (DBM::Deep broken with Perl 5.9.3+).
65 - RT #14893 is fixed (tie() and new() use different parameter lists).
66 - A bug with optimize and threading is fixed.
67 - autobless has received some attention, resulting in a number of bugs fixed.
90f93b43 68 - Removed mode option as it just caused confusion.
3ea61317 69 - Removed volatile option as it is pretty useless (use locking instead)
70 - Locking now implicitly enables autoflush
ffed8b01 71
720.96 Oct 14 09:55:00 2005 Pacific
73 - Fixed build (OS X hidden files killed it)
74 - You can now pass in an optional filehandle to the constructor
75
760.95 Oct 12 13:58:00 2005 Pacific
77 - Added optional autobless flag to preserve and restore blessed hashes
78 - Fixed bug where 0 could not be fetched using get_next_key
79 - Fixed bug where tie() constructor didn't accept a hash ref for args
80 - optimize() now preserves user/group/permissions
81 - Errors are now FATAL (meaning it calls die()), unless you set debug flag
82
830.94 Apr 13 19:00:26 2004 Pacific
84 - Fixed bug reported by John Cardenas (corruption at key level when
85 replace of less data was done on bucket)
86
870.93 Feb 15 19:53:17 2004 Pacific
88 - Fixed optmize() on Win32 where orig file couldn't be overwritten unless
89 filehandle was closed first. This change introduces a potential race
90 condition when using locking and optmize() on Win32, but it can be
91 fixed in the future using a soft copy instead of Perl's rename().
92
930.92 Feb 12 19:10:22 2004 Pacific
94 - Fixed bug where passing a reference to a different DBM::Deep object
95 would still result in an internal reference.
96 - Added export() method for recursively extracting hashes/arrays into
97 standard in-memory Perl structures.
98 - Added import() method for recursively importing existing Perl hash/
99 array structures
100 - Fixed bug where optimize() wouldn't work if base level of DB was
101 an array instead of a hash.
102
1030.91 Feb 12 02:30:22 2004 Pacific
104 - Fixed bug with splice() when length of removed section was 0
105 - Updated POD re: circular refs and optimize()
106 - Had to jump version numbers to 0.91 because in previous releases
107 I used only a single digit after the decimal which was confusing
108 the CPAN indexer.
109
1100.10 Feb 11 08:58:35 2004 Pacific
111 - Fixed bug where default file mode was CLEARING files (Thanks Rich!)
112 - Added experimental support for circular references
113 - Fixed bugs in shift(), unshift() and splice() where nested objects
114 in array would be recursively re-stored as basic hashes/arrays
115 - Fixed typos in POD docs
116
1170.9 Feb 10 03:25:48 2004 Pacific
118 - Added Filters for storing/fetching keys/values
119 - Added hook for supplying own hashing algorithm
120 - FIxed some typos in POD docs, added new sections
121
1220.8 Feb 8 02:38:22 2004 Pacific
123 - Renamed to DBM::Deep for CPAN
124 - Added optimize() method for rekindling unused space
125 - Now returning hybrid tie()/OO object from new()
126 - Basic error handling introduced
127 - Added debug mode for printing errors to STDERR
128 - Added TYPE_HASH and TYPE_ARRAY constants for "type" param
129 - Added clone() method for safe copying of objects
130 - Wrote POD documentation
131 - Added set_pack() function for manipulating LONG_SIZE / LONG_PACK
132 - Added aliases for most tied functions for public use
133 - Now setting binmode() on FileHandle for Win32
134 - Added 45 unit tests
135
1360.7 Jan 4 11:31:50 2003 UTC
137 - Renamed to DeepDB
138 - Changed file signature to DPDB (not compatible with older versions)
139 - Converted array length to packed long instead of sprintf()ed string
140
1410.6 Dec 31 15:12:03 2002 UTC
142 - Some misc optimizations for speed
143
1440.5 Oct 18 08:55:29 2002 UTC
145 - support for force_return_next parameter in traverse_index() method for
146 ultra-fast combined key search/removal
147
1480.4 Oct 15 20:07:47 2002 UTC
149 - now making sure filehandle is open for all DB calls
150
1510.3 Oct 3 19:04:13 2002 UTC
152 - fixed bug that could cause corrupted data when using locking
153
1540.2 Aug 6 16:37:32 2002 UTC
155 - Removed base index caching, as it can cause problems when two processes
156 are populating the db at the same time (even with locking)
157
1580.1 Jun 3 08:06:26 2002 UTC
159 - initial release