Data-RecordStore
view release on metacpan or search on metacpan
6.06 - fix typo in perl version in the META files.
6.05 - clean up, removing old files that were confusing tests.
6.04 - allow call to lock for already locked things
remove typo from perl version
6.03 - remove 'bin/record_store_convert~' from the build.
5.04 - cleanup and increase code coverage.
5.03 - changed the open_store interface to either take a single
directory or take options, which now include :
MODE - SINGLE || MULTI - determines if flocking should be done
on the index file
RECOD_STORE_PATH - the directory to store this record store.
5.02 - change how/when the lockfile is made so that ro stores can be opened.
5.01 - oops, actually record the update time that has a place waiting
for it in the index. Added a last_upated($id) method to the
store and testing to boot.
5.00 - major number increases indicate either a change in the API
or a change that requires an upgrade of an older version
database.
enforcing the calling convention Data::RecordStore->open_store
meaning that Data::RecordStore::open_store wont work
Adding locking for the index file.
Removed deprecated methods.
Adding locks methods in general
Adding last modified timestamp to index.
Now have a standard way to do database upgrades, for this
and for Data::ObjectStore. Hopefully this surprises people
the least.
3 directories : source, destination, working
Added Data::RecordStore->detect_version function.
4.06 - updating tests for windows. Windows tests seem to be
failing because chmod is having no effect.
4.05 - allow silos to be opened read only
4.04 - update the convert program to call a module rather than have the logic
just in the program.
4.03 - fix too agressive db format upgrading.
4.02 - Setup upgrade test in temporary directory rather than test directory. (duh)
4.01 - Update the test to use error codes rather than error
message text. Different langauge and locales make
comparing error text fail, but the codes will work.
4 -
This is a major version update that will require that
bin/record_store_convert is run for existing record stores.
Sorry about that.
TUNING
The minimum silo size for records ( but _not_ the record index ) is
4096 - 5 which is also the block size minus the stored id at the
beginning of the record and the \0 at the end of it.
This is to align the record stores with
disc blocks so that the reading and writing is faster.
removed the utf 8 int stored for each record. The utf-8 encoding
should be handled by things that call the record store.
TRANSACTIONS
open_transaction is now 'start_transaction', though open_transaction
still has an alias to start_transaction.
Transactions are now attached to the store instance and remember
that multiple store instances can use the store at once.
when in transaction, values that were updated since the beginning
of the transaction are used, rather than the values stored in
the store.
aliased 'create_transaction' to 'begin_transaction' and deprecated
create_transaction
added 'commit_transaction' and 'rollback_transaction' methods to
the store itself
BUGFIXES
fixed bug where deleted space was not being reclaimed.
fixed bug in Data::RecordStore::has_id where it
could return false for large ids when items were
recycled.
3.21 - removed bad exe files from Makefile.PL, checked Makefile.PL in
3.20 - updated minimum perl version to 5.20
3.19 - added options to allow for filemode and group to be set for files created
3.18 - removed flocking, didn't work with windows
added options to open_store. Just using 'group' for now.
( run in 2.404 seconds using v1.01-cache-2.11-cpan-cdf2f3d4e48 )