[Jifty-commit] r1450 - Jifty-DBI/trunk/lib/Jifty/DBI/Record

jifty-commit at lists.jifty.org jifty-commit at lists.jifty.org
Mon Jul 3 00:55:28 EDT 2006


Author: ruz
Date: Mon Jul  3 00:55:28 2006
New Revision: 1450

Modified:
   Jifty-DBI/trunk/lib/Jifty/DBI/Record/Cachable.pm

Log:
::Cachable::_gen_record_cache_key
* hash key couldn't be undefined, but '' and 0 are different keys
* values undef, 0 and '' are different, use '__undef' only when it's
  really undef
* apply the same logic when $value is hash reference
* use lower case for key part
* this should fix failing tests


Modified: Jifty-DBI/trunk/lib/Jifty/DBI/Record/Cachable.pm
==============================================================================
--- Jifty-DBI/trunk/lib/Jifty/DBI/Record/Cachable.pm	(original)
+++ Jifty-DBI/trunk/lib/Jifty/DBI/Record/Cachable.pm	Mon Jul  3 00:55:28 2006
@@ -229,13 +229,15 @@
   my @cols;
 
   while ( my ( $key, $value ) = each %attr ) {
-    $key   ||= '__undef';
-    $value ||= '__undef';
-    if ( ref($value) eq "HASH" ) {
-      push @cols, $key . ( $value->{operator} || '=' ) . $value->{value};
+    unless ( defined $value ) {
+      push @cols, lc($key) . '=__undef';
+    }
+    elsif ( ref($value) eq "HASH" ) {
+      push @cols, lc($key) . ( $value->{operator} || '=' )
+          . defined $value->{value}? $value->{value}: '__undef';
     }
     else {
-      push @cols, $key . "=" . $value;
+      push @cols, lc($key) . "=" . $value;
     }
   }
   return ( $self->table() . ':' . join( ',', @cols ) );


More information about the Jifty-commit mailing list