-# warn 'cond: ' . Dumper( $self->{cond} ); use Data::Dumper;
-# warn 'where: ' . Dumper( $self->{attrs}{where} ); use Data::Dumper;
- my @missing = grep { !exists $updates->{$_} && !exists $fixed_fields->{$_} } $self->result_source->primary_columns;
- if( defined $self->{cond} && $DBIx::Class::ResultSource::UNRESOLVABLE_CONDITION == $self->{cond} ){
- $self->{cond} = undef;
- $self->{attrs}{where} = undef;
- if( ! scalar @missing ){
- $object = $self->find( $updates, { key => 'primary' } );
+# warn 'fixed_fields: ' . Dumper( $fixed_fields ); use Data::Dumper;
+ if( $fixed_fields ){
+ carp if !( ref( $fixed_fields ) eq 'HASH' );
+ $updates = { %$updates, %$fixed_fields };
+ }
+ my %columns;
+ for my $name ( keys %$updates ){
+ if( $self->is_for_column( $name, $updates->{$name} ) ){
+ $columns{$name} = $updates->{$name};