+# 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' } );
+ }
+ }
+ else{
+ $object = $self->find( $updates, { key => 'primary' } );
+ }
+ $object ||= $self->new( {} );