1$MODULE = "MLDBM::Sync"; $VERSION = '.30'; $DATE = '2002/07/03';
2
3+ Added MLDBM to the list of PREREQ_PM modules for better CPAN installation
4
5$MODULE = "MLDBM::Sync"; $VERSION = .27; $DATE = '2002/06/23';
6
7+ Added note to error for Lock upgrade during ReadLock
8  for case of doing unintentional write with construct like:
9
10    tied(%dbm)->ReadLock;
11    my $v = $dbm{'key'}{'key2'}; # will error with write !!
12                 ^^^^^^^^^
13  Thanks to Steve Keith for noting this bizarre perl behavior.
14
15+ bench/bench_sync.pl now creates a test dbm in the local directory
16  being run instead of /tmp ... benchmark results were being skewed
17  since /tmp could be a fast RAM cache file system like tmpfs on Linux
18
19+ Added MANIFEST.SKIP for building
20
21+ t/taint.t perl taint check test added.
22
23+ escape inbound file parameter for safe taint checking
24
25$MODULE = "MLDBM::Sync"; $VERSION = .25; $DATE = '2001/11/11';
26
27+ Honors the $MLDBM::RemoveTaint setting when MLDBM::Sync object is created,
28  storing for later creation of the MLDBM tied object
29
30$MODULE = "MLDBM::Sync"; $VERSION = .23; $DATE = '2001/11/08';
31
32+ Updated AUTHORS section with perl license reference.
33
34+ ./bench/bench_sync.pl has -n argument to specify # of reads/writes
35  where default is 100
36
37+ ./bench/bench_sync.pl has --bundle argument to allows for reads/writes
38  in locked sections of that #, which improves performance.
39
40+ $dbm->Size() for Tie::TextDir now adds size of directory as
41  reported by OS.  This still does not seem to take into account
42  the extra file inode overhead on a file system like ext2 linux
43  but its better now at least.
44
45$MODULE = "MLDBM::Sync"; $VERSION = .21; $DATE = '2001/10/31';
46
47+ Added support in CLEAR() & SyncSize() for a tie directory
48  based data structure like Tie::TextDir
49
50$MODULE = "MLDBM::Sync"; $VERSION = .19; $DATE = '2001/10/15';
51
52- Fixed keys(%hash), where one of the keys was boolean FALSE
53  like '', or 0.  Bug found by Elliot Glaysher.
54
55$MODULE = "MLDBM::Sync"; $VERSION = .17; $DATE = '2001/10/11';
56
57- Make EXISTS safe after explicity tied hash ReadLock()
58
59- For loops in MLDBM::Sync::SDBM_File that are friendlier
60  to perl5.004_04
61
62- Better Lock() return value, whether or not a lock has
63  previously been acquired
64
65$MODULE = "MLDBM::Sync"; $VERSION = .15; $DATE = '2001/09/21';
66
67- API fixes for easier integration with Apache::ASP
68
69- Made $sync_dbm->UnLock() repeatable, with the next
70  $sync_dbm->Lock() still working.
71
72$MODULE = "MLDBM::Sync"; $VERSION = .11; $DATE = '2001/09/12';
73
74++ Taking module out of BETA.  Been using it in production
75   for 3 months, and in development for 6.
76
77- Bug fix for undefined warning in MLDBM::Sync::SDBM_File
78
79- MLDBM::Sync::SDBM_File STORE() now deletes prior key parts
80  before storing the value, which will result in more correct
81  behavior, there was a possible bug here.  Added a test
82  in t/sdbm_rec_big.t testing for this possible error.
83
84+ Deletion of lock file when calling CLEAR(), or %dbm = ()
85  Do this after unlock, which _might_ have a race condition
86  but haven't seen in in heavy load testing... MLDBM::Sync
87  recreates the lock file every time if necessary, so this
88  may not be an issue anyway.  Might be good to unlink before
89  unlocking, but this might only work on *nix platformns,
90  now Win32.
91
92$MODULE = "MLDBM::Sync"; $VERSION = .09; $DATE = '2001/07/31';
93
94- Bug fix for undefined warning in MLDBM::Sync::SDBM_File
95
96$MODULE = "MLDBM::Sync"; $VERSION = .07; $DATE = '2001/03/18';
97
98+ $dbm->SyncCacheSize() API activates 2nd layer RAM cache
99  via Tie::Cache with MaxBytes set.
100
101+ CACHE documentation, cache.t test, sample benchmarks
102  with ./bench/bench_sync.pl -c
103
104$MODULE = "MLDBM::Sync"; $VERSION = .05; $DATE = '2001/03/13';
105
106+ Simpler use of locking.
107
108- Read locking works on Solaris, had to open lock file in
109  read/write mode.  Linux/NT didn't care.
110
111$MODULE = "MLDBM::Sync"; $VERSION = .03; $DATE = 'TBA';
112
113+ $dbm_obj->SyncKeysChecksum(1) API documented.
114  New internal format that does not store the original key
115  with keys() & each() throwing errors now if used on this
116  kind of database.
117
118+ ReadLock() API added, that does a LOCK_SH internally.
119  Also uses ReadLock() for FETCH and *KEY operations.
120  ** WARNING: one may not ReadLock() and then write to the
121  dbm, or that will die in an error.  Must UnLock() first.
122  Writes may only occur in a Lock() section, which does a
123  LOCK_EX internally.
124
125+ Better backward compatibility with old SDBM_Files
126  for MLDBM::Sync::SDBM_File, also new format not compatible
127  with .01 format.
128
129+ Better test for MLDBM::Sync::SDBM_File, using keys with
130  odd characters.
131
132$MODULE = "MLDBM::Sync"; $VERSION = .01; $DATE = '2001/02/07';
133
134+ Initial release with flock concurrent access control to
135  MLDBM databases.
136
137+ Also MLDBM::Sync::SDBM_File wrapper for getting around the
138  1024 byte / record limitation for sDBM_File.  Writes data
139  in segments of 128 bytes.  This was created because SDBM_File
140  access is an order of magnitude faster than DB_File on Linux
141  with tie/untie per write in the MLDBM::Sync model, which is
142  for i/o flushing do dbms don't get corrupt.
143
144  But, then one has to worry about exceeding the 1024 byte limit,
145  which can happen for serializing larger objects.  Well worry
146  no more!
147
148
149