Changeset 4359

Show
Ignore:
Timestamp:
09/14/09 11:59:17 (6 months ago)
Author:
asawada
Message:

Should check all column_defs at once, for better performance. bugzid:102317.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • branches/greyhound/lib/MT/Object.pm

    r4305 r4359  
    300300        sub { 
    301301            my ($obj) = @_; 
    302             my $data = $obj->get_values; 
     302            my $data = $obj->{column_values}; 
     303            my %is_blob = map { $_ => 1 } $obj->columns_of_type('blob'); 
    303304            foreach ( keys %$data ) { 
    304305                my $v = $data->{$_}; 
    305                 if ( !( Encode::is_utf8($v)) && $obj->column_def($_)->{type} ne 'blob' ) { 
     306                if ( !( Encode::is_utf8($data->{$_})) && !$is_blob{$_} ) { 
    306307                    $data->{$_} = Encode::decode($enc, $v); 
    307308                } 
    308309            } 
    309             $obj->set_values($data, { no_changed_flag => 1 }); 
    310310            $obj->{__core_final_post_load_mark} = 1; 
    311311        },