Changes for version 1.0019_003
- (This is the third developer release for 1.0020.) (This version is compatible with 1.0016)
- Fixed problem where "./Build test" wouldn't actually -do- anything.
- (No-one apparently tried to install this till Steven Lembark. Thanks!)
- Fixed speed regression with keys in the File backend.
- Introduced in 1.0019_002 to fix #50541
- Thanks, SPROUT!
- (RT #53575) Recursion failure in STORE (Thanks, SPROUT)
- Merged the rest of the fixes from 1.0015 and 1.0016
- Thanks to our new co-maintainer, SPROUT! :)
- Had to turn off singleton support in the File backend because the caching was causing havoc with transactions. Turning on fatal warnings does give apparently important information.
- Oh - forgot to mention that fatal warnings are now on in all files.
Changes for version 1.0019_002
- (This is the second developer release for 1.0020.) (This version is compatible with 1.0014)
- Fixed bug where attempting to store a value tied to something other than
- DBM::Deep would leave the file flocked.
- Added support for DBD::SQLite
- Build.PL has been extended to support sqlite vs. mysql
- Storage::DBI now detects between the two DBDs
- (RT #51888) Applied POD patch (Thanks, FWIE!)
- (RT #44981) Added VERSION to ::Array, ::Engine, and ::Hash
- Removed extraneous slashes from POD links (Thanks ilmari!)
- (RT #50541) Fixed bug in clear() for hashes in the File backend.
- This has caused a regression in speed for clear() when clearing large hashes using running with the File backend. ->clear() (on my machine) now takes ( N / 40 ) ** (1.66) seconds. So, clearing 4000 keys (as is the test in t/03_bighash.t) would take ~2070 seconds.
- (RT #40782) Fixed bug when handling a key of '0' (Thanks Sterling!)
- (RT #48031) Fixed bug with localized $, (Thanks, SPROUT!)
Changes for version 1.0019_001
- (This is the first developer release for 1.0020.) (This version is compatible with 1.0014)
- DBM::Deep has been refactored to allow for multiple engines. There are two
- engines built so far:
- File (the original engine)
- DBI (an engine based on DBI)
- The DBI engine has only been tested on MySQL and isn't transactional.
- InnoDB sucks horribly. When run in a sufficient isolation mode, it creates deadlocks.
- A custom Build.PL has been written to allow for running tests under CPAN.pm against the various engines.
- This also allows running the long tests under CPAN.pm
- This has meant a ton of refactoring. Hopefullly, this refactoring will allow finding some of the niggly bugs more easily. Those tests have not been enabled yet. That's the next developer release.
- Hopefully, this multi-engine support will allow deprecation of the file format in the future.
Modules
A pure perl multi-level hash/array DBM that supports transactions
Provides
in lib/DBM/Deep/Array.pm
in lib/DBM/Deep/Engine/DBI.pm
in lib/DBM/Deep/Hash.pm
in lib/DBM/Deep/Iterator/DBI.pm
in lib/DBM/Deep/Iterator/File.pm
in lib/DBM/Deep/Sector.pm
in lib/DBM/Deep/Sector/DBI.pm
in lib/DBM/Deep/Sector/DBI/Reference.pm
in lib/DBM/Deep/Sector/DBI/Scalar.pm
in lib/DBM/Deep/Sector/File.pm
in lib/DBM/Deep/Sector/File/BucketList.pm
in lib/DBM/Deep/Sector/File/Data.pm
in lib/DBM/Deep/Sector/File/Index.pm
in lib/DBM/Deep/Sector/File/Null.pm
in lib/DBM/Deep/Sector/File/Reference.pm
in lib/DBM/Deep/Sector/File/Scalar.pm
in lib/DBM/Deep/Storage.pm
in lib/DBM/Deep/Storage/DBI.pm