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.
- DBM::Deep in lib/DBM/Deep.pm
- DBM::Deep::Array in lib/DBM/Deep/Array.pm
- DBM::Deep::Engine::DBI in lib/DBM/Deep/Engine/DBI.pm
- DBM::Deep::Hash in lib/DBM/Deep/Hash.pm
- DBM::Deep::Iterator::DBI in lib/DBM/Deep/Iterator/DBI.pm
- DBM::Deep::Iterator::File in lib/DBM/Deep/Iterator/File.pm
- DBM::Deep::Sector in lib/DBM/Deep/Sector.pm
- DBM::Deep::Sector::DBI in lib/DBM/Deep/Sector/DBI.pm
- DBM::Deep::Sector::DBI::Reference in lib/DBM/Deep/Sector/DBI/Reference.pm
- DBM::Deep::Sector::DBI::Scalar in lib/DBM/Deep/Sector/DBI/Scalar.pm
- DBM::Deep::Sector::File in lib/DBM/Deep/Sector/File.pm
- DBM::Deep::Sector::File::BucketList in lib/DBM/Deep/Sector/File/BucketList.pm
- DBM::Deep::Sector::File::Data in lib/DBM/Deep/Sector/File/Data.pm
- DBM::Deep::Sector::File::Index in lib/DBM/Deep/Sector/File/Index.pm
- DBM::Deep::Sector::File::Null in lib/DBM/Deep/Sector/File/Null.pm
- DBM::Deep::Sector::File::Reference in lib/DBM/Deep/Sector/File/Reference.pm
- DBM::Deep::Sector::File::Scalar in lib/DBM/Deep/Sector/File/Scalar.pm
- DBM::Deep::Storage in lib/DBM/Deep/Storage.pm
- DBM::Deep::Storage::DBI in lib/DBM/Deep/Storage/DBI.pm