Updated MANIFEST, Changes, and other similar distro maintenance
rkinyon [Sun, 14 Jan 2007 06:00:32 +0000 (06:00 +0000)]
API_Change.txt [deleted file]
Changes
MANIFEST
lib/DBM/Deep/Engine.pm

diff --git a/API_Change.txt b/API_Change.txt
deleted file mode 100644 (file)
index 02722fd..0000000
+++ /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 (file)
--- 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
index 3899d58..f109b57 100644 (file)
--- 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
index 3722aed..722e2e7 100644 (file)
@@ -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) = @_;