[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