[Rt-commit] [svn] r1381 - DBIx-SearchBuilder/trunk/SearchBuilder/Record

autrijus at pallas.eruditorum.org autrijus at pallas.eruditorum.org
Tue Aug 31 16:44:32 EDT 2004


Author: autrijus
Date: Tue Aug 31 16:44:31 2004
New Revision: 1381

Modified:
   DBIx-SearchBuilder/trunk/SearchBuilder/Record/Cachable.pm
Log:
Use memoization for ->id instead of explicitly assigning it.
This has the benefit of not breaking old objects in session storage.



Modified: DBIx-SearchBuilder/trunk/SearchBuilder/Record/Cachable.pm
==============================================================================
--- DBIx-SearchBuilder/trunk/SearchBuilder/Record/Cachable.pm	(original)
+++ DBIx-SearchBuilder/trunk/SearchBuilder/Record/Cachable.pm	Tue Aug 31 16:44:31 2004
@@ -71,7 +71,6 @@
     $self->{'_SB_Record_Primary_RecordCache_key'} = undef;
     my ( $rvalue, $msg ) = $self->SUPER::LoadFromHash(@_);
 
-    $self->{'_id'} = $self->SUPER::id;
     my $cache_key = $self->_primary_RecordCache_key();
 
     ## Check the return value, if its good, cache it!
@@ -93,7 +92,6 @@
     ## 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" );
     }
 
@@ -109,7 +107,6 @@
         $self->_KeyCache->set( $alt_key, $self->_primary_RecordCache_key);
 
     }
-    $self->{'_id'} = $self->SUPER::id();
     return ( $rvalue, $msg );
 
 }
@@ -168,7 +165,7 @@
 
 sub id {
     my $self = shift;
-    return ( $self->{'_id'} );
+    return ( $self->{'_id'} ||= $self->SUPER::id );
 }
 
 sub __Value {


More information about the Rt-commit mailing list