| ... | ... | @@ -1205,7 +1205,6 @@ sub _create_bind_values { | 
| 1205 | 1205 |      for my $column (@$columns) { | 
| 1206 | 1206 |  | 
| 1207 | 1207 | # Value | 
| 1208 | - my $value; | |
| 1209 | 1208 |          if(ref $params->{$column} eq 'ARRAY') { | 
| 1210 | 1209 |              my $i = $count->{$column} || 0; | 
| 1211 | 1210 |              $i += $not_exists->{$column} || 0; | 
| ... | ... | @@ -1215,29 +1214,31 @@ sub _create_bind_values { | 
| 1215 | 1214 |                      $not_exists->{$column}++; | 
| 1216 | 1215 | } | 
| 1217 | 1216 |                  else  { | 
| 1218 | -                    $value = $params->{$column}->[$k]; | |
| 1217 | +                    push @$bind, $params->{$column}->[$k]; | |
| 1219 | 1218 | $found = 1; | 
| 1220 | 1219 | last | 
| 1221 | 1220 | } | 
| 1222 | 1221 | } | 
| 1223 | 1222 | next unless $found; | 
| 1224 | 1223 | } | 
| 1225 | -        else { $value = $params->{$column} } | |
| 1224 | +        else { push @$bind, $params->{$column} } | |
| 1226 | 1225 |  | 
| 1227 | 1226 | # Filter | 
| 1228 | -        my $f = $filter->{$column} || $self->{default_out_filter} || ''; | |
| 1229 | - $value = $f->($value) if $f; | |
| 1227 | +        if (my $f = $filter->{$column} || $self->{default_out_filter} || '') { | |
| 1228 | + $bind->[-1] = $f->($bind->[-1]); | |
| 1229 | + } | |
| 1230 | 1230 |  | 
| 1231 | 1231 | # Type rule | 
| 1232 | -        my $tf1 = $self->{"_into1"}->{dot}->{$column} | |
| 1233 | -          || $type_filters->{1}->{$column}; | |
| 1234 | - $value = $tf1->($value) if $tf1; | |
| 1235 | -        my $tf2 = $self->{"_into2"}->{dot}->{$column} | |
| 1236 | -          || $type_filters->{2}->{$column}; | |
| 1237 | - $value = $tf2->($value) if $tf2; | |
| 1232 | +        if ($self->{_type_rule_is_called}) { | |
| 1233 | +            my $tf1 = $self->{"_into1"}->{dot}->{$column} | |
| 1234 | +              || $type_filters->{1}->{$column}; | |
| 1235 | + $bind->[-1] = $tf1->($bind->[-1]) if $tf1; | |
| 1236 | +            my $tf2 = $self->{"_into2"}->{dot}->{$column} | |
| 1237 | +              || $type_filters->{2}->{$column}; | |
| 1238 | + $bind->[-1] = $tf2->($bind->[-1]) if $tf2; | |
| 1239 | + } | |
| 1238 | 1240 |  | 
| 1239 | 1241 | # Bind values | 
| 1240 | - push @$bind, $value; | |
| 1241 | 1242 |          push @$types, $bind_type->{$column}; | 
| 1242 | 1243 |  | 
| 1243 | 1244 | # Count up |