[Jifty-commit] r6207 - in jifty/trunk: lib/Jifty/Web

Jifty commits jifty-commit at lists.jifty.org
Thu Jan 8 13:04:24 EST 2009


Author: sartak
Date: Thu Jan  8 13:04:23 2009
New Revision: 6207

Modified:
   jifty/trunk/   (props changed)
   jifty/trunk/lib/Jifty/Web/Session.pm

Log:
 r78396 at onn:  sartak | 2009-01-08 13:02:59 -0500
 Simplify the load_by_kv codepath


Modified: jifty/trunk/lib/Jifty/Web/Session.pm
==============================================================================
--- jifty/trunk/lib/Jifty/Web/Session.pm	(original)
+++ jifty/trunk/lib/Jifty/Web/Session.pm	Thu Jan  8 13:04:23 2009
@@ -89,24 +89,22 @@
     my $self = shift;
     my $k    = shift;
     my $v    = shift;
-    my $session_id;
-
-    # tried doing this with load_by_cols but it never returned any rows
-    my $sessions = Jifty::Model::SessionCollection->new;
-    $sessions->limit( column => 'key_type', value => 'key' );
-    $sessions->limit( column => 'data_key', value => $k );
 
     # XXX TODO: we store this data in a storable. so we now want to match on the storable version
     # It would be so nice if Jifty::DBI could do this for us.
     $Storable::Deparse = 1;
-    my $value = Storable::nfreeze(\$v);
+    my $encoded = Storable::nfreeze(\$v);
+
+    my $session = Jifty::Model::Session->new;
+    $session->load_by_cols(
+        key_type => 'key',
+        data_key => $k,
+        value    => $encoded,
+    );
+    my $session_id = $session->session_id;
 
-    $sessions->limit( column => 'value' => value => $value );
+    # XXX: if $session_id is undef, then bad things happen. This *can* happen.
 
-    while ( my $row = $sessions->next ) {
-        $session_id = $row->session_id;
-        last;
-    }
     $self->load($session_id);
     $self->set( $k => $v ) if !$session_id;
 }


More information about the Jifty-commit mailing list