From: rkinyon@cpan.org Date: Wed, 14 May 2008 14:13:43 +0000 (+0000) Subject: Committed fix for RT#35140 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=b8370759dfbe2635551f407992974ac58512ebb3;p=dbsrgits%2FDBM-Deep.git Committed fix for RT#35140 git-svn-id: http://svn.ali.as/cpan/trunk/DBM-Deep@3349 88f4d9cd-8a04-0410-9d60-8f63309c3137 --- diff --git a/Changes b/Changes index b2f01a5..805455e 100644 --- a/Changes +++ b/Changes @@ -1,5 +1,9 @@ Revision history for DBM::Deep. +1.0010 May 14 12:00:00 2008 EST + - (This version is compatible with 1.0009) + - Fix for RT#35140 (invalid POD links) + 1.0009 Mar 19 12:00:00 2008 EDT - (This version is compatible with 1.0008) - Internal refactorings to prepare for some optimizations. diff --git a/lib/DBM/Deep.pm b/lib/DBM/Deep.pm index 58e77ee..09c6f85 100644 --- a/lib/DBM/Deep.pm +++ b/lib/DBM/Deep.pm @@ -5,7 +5,7 @@ use 5.006_000; use strict; use warnings; -our $VERSION = q(1.0009); +our $VERSION = q(1.0010); use Fcntl qw( :flock ); use Scalar::Util (); diff --git a/lib/DBM/Deep.pod b/lib/DBM/Deep.pod index 0711b5e..cd9f6f7 100644 --- a/lib/DBM/Deep.pod +++ b/lib/DBM/Deep.pod @@ -99,7 +99,7 @@ the wrong type is passed in. Alternately, you can create a DBM::Deep handle by using Perl's built-in tie() function. The object returned from tie() can be used to call methods, such as lock() and unlock(). (That object can be retrieved from the tied -variable at any time using tied() - please see L for more info. +variable at any time using tied() - please see L for more info. my %hash; my $db = tie %hash, "DBM::Deep", "foo.db"; @@ -576,7 +576,7 @@ You can pass C an optional argument, which specifies which mode to use (exclusive or shared). Use one of these two constants: CLOCK_EX> or CLOCK_SH>. These are passed directly to C, and are the same as the constants defined in Perl's -L module. +L module. $db->lock( $db->LOCK_SH ); # something here @@ -718,7 +718,7 @@ remove a filter, set the function reference to C: =head2 Examples -Please read L for examples of filters. +Please read L for examples of filters. =head1 ERROR HANDLING @@ -889,7 +889,7 @@ welcome. Right now, importing is done using C to make a complete copy in memory, then tying that copy. It would be much better to use -L to walk the data structure instead, particularly in the case +L to walk the data structure instead, particularly in the case of large datastructures. =head2 Different contention resolution mechanisms @@ -952,7 +952,7 @@ all to support a feature that has never been requested. =item * CODE -L provides a mechanism for serializing coderefs, +L provides a mechanism for serializing coderefs, including saving off all closure state. This would allow for DBM::Deep to store the code for a subroutine. Then, whenever the subroutine is read, the code could be C'ed into being. However, just as for SCALAR and REF, @@ -1037,8 +1037,8 @@ reference to be imported in order to explicitly leave it untied. =head1 CODE COVERAGE -L is used to test the code coverage of the tests. Below is the -L report on this distribution's test suite. +L is used to test the code coverage of the tests. Below is the +L report on this distribution's test suite. ------------------------------------------ ------ ------ ------ ------ ------ File stmt bran cond sub total diff --git a/lib/DBM/Deep/Array.pm b/lib/DBM/Deep/Array.pm index 3b0c8bd..0ee4abc 100644 --- a/lib/DBM/Deep/Array.pm +++ b/lib/DBM/Deep/Array.pm @@ -5,7 +5,7 @@ use 5.006_000; use strict; use warnings; -our $VERSION = q(1.0009); +our $VERSION = q(1.0010); # This is to allow DBM::Deep::Array to handle negative indices on # its own. Otherwise, Perl would intercept the call to negative diff --git a/lib/DBM/Deep/Cookbook.pod b/lib/DBM/Deep/Cookbook.pod index 7c62c16..4ca50b9 100644 --- a/lib/DBM/Deep/Cookbook.pod +++ b/lib/DBM/Deep/Cookbook.pod @@ -4,7 +4,7 @@ DBM::Deep::Cookbook =head1 DESCRIPTION -This is the Cookbook for L. It contains useful tips and tricks, +This is the Cookbook for L. It contains useful tips and tricks, plus some examples of how to do common tasks. =head1 RECIPES @@ -24,7 +24,7 @@ In 5.6, you will have to do the following: $db->set_filter( 'retrieve_value' => sub { pack "C*", unpack "U0C*", $_[0] } ); In a future version, you will be able to specify C 1> and -L will do these things for you. +L will do these things for you. =head2 Real-time Encryption Example diff --git a/lib/DBM/Deep/Engine.pm b/lib/DBM/Deep/Engine.pm index d2d0f4b..8364128 100644 --- a/lib/DBM/Deep/Engine.pm +++ b/lib/DBM/Deep/Engine.pm @@ -5,7 +5,7 @@ use 5.006_000; use strict; use warnings; -our $VERSION = q(1.0009); +our $VERSION = q(1.0010); use Scalar::Util (); diff --git a/lib/DBM/Deep/File.pm b/lib/DBM/Deep/File.pm index 042cbaa..dc0b002 100644 --- a/lib/DBM/Deep/File.pm +++ b/lib/DBM/Deep/File.pm @@ -5,7 +5,7 @@ use 5.006_000; use strict; use warnings; -our $VERSION = q(1.0009); +our $VERSION = q(1.0010); use Fcntl qw( :DEFAULT :flock :seek ); use FileHandle::Fmode (); diff --git a/lib/DBM/Deep/Hash.pm b/lib/DBM/Deep/Hash.pm index d4ae61d..fee93c0 100644 --- a/lib/DBM/Deep/Hash.pm +++ b/lib/DBM/Deep/Hash.pm @@ -5,7 +5,7 @@ use 5.006_000; use strict; use warnings; -our $VERSION = q(1.0009); +our $VERSION = q(1.0010); use base 'DBM::Deep'; diff --git a/lib/DBM/Deep/Internals.pod b/lib/DBM/Deep/Internals.pod index cc851ed..132bc9e 100644 --- a/lib/DBM/Deep/Internals.pod +++ b/lib/DBM/Deep/Internals.pod @@ -8,33 +8,33 @@ B: This document is out-of-date. It describes an intermediate file format used during the development from 0.983 to 1.0000. It will be rewritten soon. -This is a document describing the internal workings of L. It is +This is a document describing the internal workings of L. It is not necessary to read this document if you only intend to be a user. This document is intended for people who either want a deeper understanding of -specifics of how L works or who wish to help program -L. +specifics of how L works or who wish to help program +L. =head1 CLASS LAYOUT -L is broken up into five classes in three inheritance hierarchies. +L is broken up into five classes in three inheritance hierarchies. =over 4 =item * -L is the parent of L and L. +L is the parent of L and L. These classes form the immediate interface to the outside world. They are the classes that provide the TIE mechanisms as well as the OO methods. =item * -L is the layer that deals with the mechanics of reading +L is the layer that deals with the mechanics of reading and writing to the file. This is where the logic of the file layout is handled. =item * -L is the layer that deals with the physical file. As a +L is the layer that deals with the physical file. As a singleton that every other object has a reference to, it also provides a place to handle datastructure-wide items, such as transactions. @@ -135,10 +135,10 @@ than the key. =head1 PERFORMANCE -L is written completely in Perl. It also is a multi-process DBM +L is written completely in Perl. It also is a multi-process DBM that uses the datafile as a method of synchronizing between multiple processes. This is unlike most RDBMSes like MySQL and Oracle. Furthermore, -unlike all RDBMSes, L stores both the data and the structure of +unlike all RDBMSes, L stores both the data and the structure of that data as it would appear in a Perl program. =head2 CPU @@ -260,9 +260,9 @@ Run time was 12 min 3 sec. =head2 MEMORY USAGE -One of the great things about L is that it uses very little memory. +One of the great things about L is that it uses very little memory. Even with huge databases (1,000,000+ keys) you will not see much increased -memory on your process. L relies solely on the filesystem for storing +memory on your process. L relies solely on the filesystem for storing and fetching data. Here is output from I before even opening a database handle: