Patch provided by Mark E. Perkins in PR 36465.
$MODULE = "MLDBM::Sync"; $VERSION = '.30'; $DATE = '2002/07/03';
+ Added MLDBM to the list of PREREQ_PM modules for better CPAN installation
$MODULE = "MLDBM::Sync"; $VERSION = .27; $DATE = '2002/06/23';
+ Added note to error for Lock upgrade during ReadLock
for case of doing unintentional write with construct like:
tied(%dbm)->ReadLock;
my $v = $dbm{'key'}{'key2'}; # will error with write !!
^^^^^^^^^
Thanks to Steve Keith for noting this bizarre perl behavior.
+ bench/bench_sync.pl now creates a test dbm in the local directory
being run instead of /tmp ... benchmark results were being skewed
since /tmp could be a fast RAM cache file system like tmpfs on Linux
+ Added MANIFEST.SKIP for building
+ t/taint.t perl taint check test added.
+ escape inbound file parameter for safe taint checking
$MODULE = "MLDBM::Sync"; $VERSION = .25; $DATE = '2001/11/11';
+ Honors the $MLDBM::RemoveTaint setting when MLDBM::Sync object is created,
storing for later creation of the MLDBM tied object
$MODULE = "MLDBM::Sync"; $VERSION = .23; $DATE = '2001/11/08';
+ Updated AUTHORS section with perl license reference.
+ ./bench/bench_sync.pl has -n argument to specify # of reads/writes
where default is 100
+ ./bench/bench_sync.pl has --bundle argument to allows for reads/writes
in locked sections of that #, which improves performance.
+ $dbm->Size() for Tie::TextDir now adds size of directory as
reported by OS. This still does not seem to take into account
the extra file inode overhead on a file system like ext2 linux
but its better now at least.
$MODULE = "MLDBM::Sync"; $VERSION = .21; $DATE = '2001/10/31';
+ Added support in CLEAR() & SyncSize() for a tie directory
based data structure like Tie::TextDir
$MODULE = "MLDBM::Sync"; $VERSION = .19; $DATE = '2001/10/15';
- Fixed keys(%hash), where one of the keys was boolean FALSE
like '', or 0. Bug found by Elliot Glaysher.
$MODULE = "MLDBM::Sync"; $VERSION = .17; $DATE = '2001/10/11';
- Make EXISTS safe after explicity tied hash ReadLock()
- For loops in MLDBM::Sync::SDBM_File that are friendlier
to perl5.004_04
- Better Lock() return value, whether or not a lock has
previously been acquired
This module wraps around the MLDBM interface, by handling concurrent
access to MLDBM databases with file locking, and flushes I/O explicity
per lock/unlock. The new [Read]Lock()/UnLock() API can be used to
serialize requests logically and improve performance for bundled reads
and writes.