[perl-cache commit] r563 - all tests passing

0 views
Skip to first unread message

codesite...@google.com

unread,
Mar 18, 2009, 12:11:38 AM3/18/09
to perl-cach...@googlegroups.com
Author: phar...@gmail.com
Date: Tue Mar 17 21:11:11 2009
New Revision: 563

Modified:
mma-driver/lib/CHI/Driver/MMA.pm

Log:
all tests passing

Modified: mma-driver/lib/CHI/Driver/MMA.pm
==============================================================================
--- mma-driver/lib/CHI/Driver/MMA.pm (original)
+++ mma-driver/lib/CHI/Driver/MMA.pm Tue Mar 17 21:11:11 2009
@@ -10,6 +10,8 @@

our $VERSION = '1.0';
our $SEPARATOR = "\032";
+our $MM;
+our $HASH;

extends 'CHI::Driver';

@@ -68,12 +70,6 @@
default => tmpdir(),
);

-has 'path_to_namespace' => (
- is => 'ro',
- lazy => 1,
- builder => '_build_path_to_namespace',
-);
-
has 'size' => ( is => 'ro', isa => 'Int', default => 0 );

=item dbh
@@ -89,10 +85,6 @@

=cut

-has 'mm' => ( is => 'rw', lazy_build => 1, );
-
-has 'hash' => ( is => 'rw', lazy_build => 1, );
-
=item dbh_ro

The optional DBI handle used for read-only operations. This is
@@ -124,20 +116,14 @@

=cut

+our $MM;
+our $HASH;
+
sub BUILD {
my ( $self, $args, ) = @_;

- my $mm = mm_create( $self->size(), $self->path_to_namespace() );
- my $hash = mm_make_hash($mm);
- $self->mm($mm);
- $self->hash($hash);
-}
-
-sub _build_path_to_namespace {
- my $self = shift;
-
- return catdir( $self->root_dir,
- $self->escape_for_filename( $self->namespace ) );
+ $MM ||= mm_create( $self->size(), $self->root_dir );
+ $HASH ||= mm_make_hash($MM);
}

=item fetch
@@ -147,8 +133,7 @@
sub fetch {
my ( $self, $key, ) = @_;

- return mm_hash_fetch( $self->hash(),
- join( $SEPARATOR, $self->namespace(), $key ) );
+ return mm_hash_fetch( $HASH, join( $SEPARATOR, $self->namespace(),
$key ) );
}

=item store
@@ -158,8 +143,8 @@
sub store {
my ( $self, $key, $data, ) = @_;

- return mm_hash_store( $self->hash(),
- join( $SEPARATOR, $self->namespace(), $key ), $data );
+ return mm_hash_store( $HASH, join( $SEPARATOR, $self->namespace(),
$key ),
+ $data );
}

=item remove
@@ -169,7 +154,7 @@
sub remove {
my ( $self, $key, ) = @_;

- return mm_hash_delete( $self->hash(),
+ return mm_hash_delete( $HASH,
join( $SEPARATOR, $self->namespace(), $key ) );
}

@@ -180,7 +165,7 @@
sub clear {
my ( $self, ) = @_;

- return mm_hash_clear( $self->hash() );
+ return mm_hash_clear($HASH);
}

=item get_keys
@@ -191,11 +176,10 @@
my ( $self, ) = @_;

my @keys;
- my $hash = $self->hash();
my $namespace = $self->namespace();

- for ( my $i = 0 ; $i < mm_hash_scalar($hash) ; $i++ ) {
- my $key = ( mm_hash_get_entry( $hash, $i ) )[0];
+ for ( my $i = 0 ; $i < mm_hash_scalar($HASH) ; $i++ ) {
+ my $key = ( mm_hash_get_entry( $HASH, $i ) )[0];
if ( !defined $key ) { last }
my ( $key_namespace, $real_key ) = split( $SEPARATOR, $key );
next if $key_namespace ne $namespace;

Reply all
Reply to author
Forward
0 new messages