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

Changes for version 1.0020

  • (This version is compatible with 1.0016)
    • Fixed t/43_transaction_maximum.t so that it doesn't error out on systems
    • which cannot fork > 255 children at one time.
  • Improved code coverage
    • Added t/96_virtual_functions.t which helps describe what actually needs to be overridden in a new plugin.

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.

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