[Rt-commit] [svn] r1373 - in DBIx-SearchBuilder/trunk: . SearchBuilder/Record

jesse at pallas.eruditorum.org jesse at pallas.eruditorum.org
Mon Aug 30 14:34:01 EDT 2004


Author: jesse
Date: Mon Aug 30 14:34:00 2004
New Revision: 1373

Modified:
   DBIx-SearchBuilder/trunk/   (props changed)
   DBIx-SearchBuilder/trunk/Changes
   DBIx-SearchBuilder/trunk/MANIFEST
   DBIx-SearchBuilder/trunk/META.yml
   DBIx-SearchBuilder/trunk/SearchBuilder.pm
   DBIx-SearchBuilder/trunk/SearchBuilder/Record/Cachable.pm
Log:
 ----------------------------------------------------------------------
 r8464 at tinbook:  jesse | 2004-08-30T18:33:26.752457Z
 Sanity fixes to the caching layer from autrijus
 
 ----------------------------------------------------------------------


Modified: DBIx-SearchBuilder/trunk/Changes
==============================================================================
--- DBIx-SearchBuilder/trunk/Changes	(original)
+++ DBIx-SearchBuilder/trunk/Changes	Mon Aug 30 14:34:00 2004
@@ -1,5 +1,8 @@
 Revision history for Perl extension DBIx::SearchBuilder.
 
+1.10_03 Mon Aug 30 14:31:10 EDT 2004
+        - Cache Sanity fixes from Autrijus Tang <autrijus at autrijus.org>
+
 1.10_02 Thu Aug 26 13:31:13 EDT 2004
 
 1.10_01 Thu Aug 26 00:08:31 EDT 2004

Modified: DBIx-SearchBuilder/trunk/MANIFEST
==============================================================================
--- DBIx-SearchBuilder/trunk/MANIFEST	(original)
+++ DBIx-SearchBuilder/trunk/MANIFEST	Mon Aug 30 14:34:00 2004
@@ -2,7 +2,6 @@
 Makefile.PL
 MANIFEST
 MANIFEST.SKIP
-Cache/Simple/TimedExpiry.pm
 SearchBuilder.pm
 SearchBuilder/Handle.pm
 SearchBuilder/Union.pm
@@ -10,7 +9,6 @@
 SearchBuilder/Handle/mysql.pm
 SearchBuilder/Handle/mysqlPP.pm
 SearchBuilder/Record/Cachable.pm
-SearchBuilder/Record/CacheCache.pm
 SearchBuilder/Handle/Oracle.pm
 SearchBuilder/Handle/Informix.pm
 SearchBuilder/Handle/SQLite.pm

Modified: DBIx-SearchBuilder/trunk/META.yml
==============================================================================
--- DBIx-SearchBuilder/trunk/META.yml	(original)
+++ DBIx-SearchBuilder/trunk/META.yml	Mon Aug 30 14:34:00 2004
@@ -1,5 +1,5 @@
 name: DBIx-SearchBuilder
-version: 1.10_01
+version: 1.10_03
 license: perl
 distribution_type: module
 build_requires:
@@ -12,4 +12,4 @@
 no_index:
   directory:
     - inc
-generated_by: Module::Install version 0.33
+generated_by: Module::Install version 0.35

Modified: DBIx-SearchBuilder/trunk/SearchBuilder.pm
==============================================================================
--- DBIx-SearchBuilder/trunk/SearchBuilder.pm	(original)
+++ DBIx-SearchBuilder/trunk/SearchBuilder.pm	Mon Aug 30 14:34:00 2004
@@ -5,7 +5,7 @@
 use strict;
 use vars qw($VERSION);
 
-$VERSION = "1.10_02";
+$VERSION = "1.10_03";
 
 =head1 NAME
 
@@ -301,7 +301,6 @@
 
     # XXX - Postgres gets unhappy with distinct and OrderBy aliases
     if ($self->{order_clause} =~ /(?<!main)\./) {
-	$self->DEBUG(1);
         $$statementref = "SELECT main.* FROM $$statementref";
     }
     else {

Modified: DBIx-SearchBuilder/trunk/SearchBuilder/Record/Cachable.pm
==============================================================================
--- DBIx-SearchBuilder/trunk/SearchBuilder/Record/Cachable.pm	(original)
+++ DBIx-SearchBuilder/trunk/SearchBuilder/Record/Cachable.pm	Mon Aug 30 14:34:00 2004
@@ -90,14 +90,16 @@
 sub LoadByCols {
     my ( $self, %attr ) = @_;
 
-    # Blow away the primary cache key since we're loading.
-    $self->{'_SB_Record_Primary_RecordCache_key'} = undef;
     ## Generate the cache key
     my $alt_key = $self->_gen_alternate_RecordCache_key(%attr);
     if ( $self->_fetch( $self->_lookup_primary_RecordCache_key($alt_key) ) ) {
+        $self->{'_id'} = $self->SUPER::id();
         return ( 1, "Fetched from cache" );
     }
 
+    # Blow away the primary cache key since we're loading.
+    $self->{'_SB_Record_Primary_RecordCache_key'} = undef;
+
     ## Fetch from the DB!
     my ( $rvalue, $msg ) = $self->SUPER::LoadByCols(%attr);
     ## Check the return value, if its good, cache it!
@@ -106,9 +108,8 @@
         $self->_store();
         $self->_KeyCache->set( $alt_key, $self->_primary_RecordCache_key);
 
-        $self->{'_id'} = $self->SUPER::id();
-
     }
+    $self->{'_id'} = $self->SUPER::id();
     return ( $rvalue, $msg );
 
 }
@@ -159,17 +160,10 @@
 
 sub _fetch () {
     my ( $self, $cache_key ) = @_;
-    my $data = $self->_RecordCache->fetch($cache_key);
-    $self->_deserialize($data);
-
-}
+    my $data = $self->_RecordCache->fetch($cache_key) or return;
+    @{$self}{keys %$data} = values %$data; # deserialize
+    return 1;
 
-sub _deserialize {
-    my $self = shift;
-    my $data = shift;
-    foreach my $key ( keys %$data ) {
-        $self->{$key} = $data->{$key};
-    }
 }
 
 sub id {


More information about the Rt-commit mailing list