From: rkinyon Date: Sun, 14 Jan 2007 06:00:32 +0000 (+0000) Subject: Updated MANIFEST, Changes, and other similar distro maintenance X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=7645a22aa450a402528c2196c605e96f05feb31f;p=dbsrgits%2FDBM-Deep.git Updated MANIFEST, Changes, and other similar distro maintenance --- diff --git a/API_Change.txt b/API_Change.txt deleted file mode 100644 index 02722fd..0000000 --- a/API_Change.txt +++ /dev/null @@ -1,56 +0,0 @@ -# These are the calls into ::Engine -::Deep: - _init: - setup_fh($self) - optimize: - setup_fh($self) - STORE: - old: - apply_digest($key) - find_blist( $self->_base_offset, $md5, { create => 1 } ) - add_bucket( $tag, $md5, $key, $value, undef, $orig_key ) - new: - write_value( $key, $value ); - FETCH: - old: - apply_digest($key) - find_blist( $self->_base_offset, $md5 ) - get_bucket_value( $tag, $md5, $orig_key ) - new: - read_value( $key ) - DELETE: - old: - apply_digest($key) - find_blist( $self->_base_offset, $md5 ) - get_bucket_value( $tag, $md5, $orig_key ) - delete_bucket( $tag, $md5, $orig_key ) - new: - delete_key( $key ) - EXiSTS: - old: - apply_digest($key) - find_blist( $self->_base_offset, $md5 ) - bucket_exists( $tag, $md5 ) - new: - exists_key( $key ) - CLEAR: - old: - apply_digest($key) - find_blist( $self->_base_offset, $md5 ) - delete_bucket( $tag, $md5, $key ) - new: - delete_key( $key ) -::Array: -::Hash: - FIRSTKEY: - old: - get_next_key($self) - new: - get_next_key() - NEXTKEY: - old: - apply_digest($prev_key) - get_next_key($self, $prev_md5) - new: - get_next_key($prev_key) -::File: diff --git a/Changes b/Changes index 62a45d2..c681f55 100644 --- a/Changes +++ b/Changes @@ -1,8 +1,25 @@ Revision history for DBM::Deep. -0.99_03 ??? ?? ??:??:?? 2006 Pacific +0.99_03 Jan ?? 00:00:00 2007 EDT + - THIS VERSION IS INCOMPATIBLE WITH FILES FROM ALL OTHER PRIOR VERSIONS. + - The fileformat changed completely. I will be writing a converter, but + it's not there right now. Do NOT expect that this module will + correctly detect older versions and handle them sanely. Sanity will be + there for 1.00, but we're not there yet, are we? - Converted to use FileHandle::Fmode to handle filehandle status checks - Fixed bug with deleting already-deleted items on Win32 (reported by Nigel Sandever) + - The guts of how transactions work has been rewritten to better handle + some edgecases. This required a complete rewrite of the engine. + - Freespace management is now in place. It's not perfect, but it's there. + - The rewrite of the engine required a rewrite of how first_key/next_key + was implemented. This should result in significant speed improvements. + - Self-reference has been removed. This means you cannot do: + $db->{foo} = { x => 'y' }; + $db->{bar} = $db->{foo}; + I hope to be able to return this functionality by 1.00, but I cannot + promise anything. To do this properly, it requires refcounting in order + to correctly handle deletions and transactions. Once you move away from + a simple tree, everything becomes really hard. 0.99_02 Apr 28 05:00:00 2006 Pacific - Added missing file to the MANIFEST diff --git a/MANIFEST b/MANIFEST index 3899d58..f109b57 100644 --- a/MANIFEST +++ b/MANIFEST @@ -1,17 +1,16 @@ Build.PL Changes -README -Makefile.PL -MANIFEST -META.yml lib/DBM/Deep.pm +lib/DBM/Deep/Array.pm +lib/DBM/Deep/Cookbook.pod lib/DBM/Deep/Engine.pm lib/DBM/Deep/File.pm -lib/DBM/Deep/Array.pm lib/DBM/Deep/Hash.pm -lib/DBM/Deep/Cookbook.pod lib/DBM/Deep/Internals.pod -t/common.pm +Makefile.PL +MANIFEST +META.yml +README t/01_basic.t t/02_hash.t t/03_bighash.t @@ -22,7 +21,6 @@ t/07_locking.t t/08_deephash.t t/09_deeparray.t t/10_largekeys.t -t/11_optimize.t t/12_clone.t t/13_setpack.t t/14_filter.t @@ -39,15 +37,17 @@ t/24_autobless.t t/25_tie_return_value.t t/26_scalar_ref.t t/27_filehandle.t -t/28_audit_trail.t -t/29_freespace_manager.t +t/28_index_sector.t +t/29_largedata.t t/30_already_tied.t t/31_references.t t/32_dash_ell.t t/33_transactions.t t/34_transaction_arrays.t t/35_transaction_multiple.t -t/36_transaction_deep.t t/37_delete_edge_cases.t -t/38_transaction_add_item.t t/39_singletons.t +t/40_freespace.t +t/41_transaction_multilevel.t +t/42_transaction_indexsector.t +t/common.pm diff --git a/lib/DBM/Deep/Engine.pm b/lib/DBM/Deep/Engine.pm index 3722aed..722e2e7 100644 --- a/lib/DBM/Deep/Engine.pm +++ b/lib/DBM/Deep/Engine.pm @@ -29,8 +29,6 @@ sub SIG_KEYS () { 'K' } sub SIG_SIZE () { 1 } sub STALE_SIZE () { 1 } -################################################################################ - # Please refer to the pack() documentation for further information my %StP = ( 1 => 'C', # Unsigned char value (no order specified, presumably ASCII) @@ -39,6 +37,8 @@ my %StP = ( 8 => 'Q', # Usigned quad (no order specified, presumably machine-dependent) ); +################################################################################ + sub new { my $class = shift; my ($args) = @_;