The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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.

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