Branch Coverage

blib/lib/MongoDB/ClientSession.pm
Criterion Covered Total %
branch 0 92 0.0


line true false branch
198 0 0 defined $self->_server_session ? :
215 0 0 unless (defined $self->cluster_time)
219 0 0 if (defined $self->client->_cluster_time)
221 0 0 if ($self->cluster_time->{'clusterTime'} > $self->client->_cluster_time->{'clusterTime'}) { }
252 0 0 unless $cluster_time and exists $cluster_time->{'clusterTime'} and ref $cluster_time->{'clusterTime'} eq 'BSON::Timestamp'
255 0 0 if (not defined $self->cluster_time) { }
258 0 0 if ($cluster_time->{'clusterTime'} > $self->cluster_time->{'clusterTime'})
285 0 0 unless $self->options->{'causalConsistency'}
287 0 0 if (not defined $self->operation_time or $operation_time > $self->operation_time)
298 0 0 if scalar grep({$_ eq $self->_transaction_state;} @states)
336 0 0 if $self->_in_transaction_state('starting', 'in_progress')
339 0 0 unless $self->client->_topology->_supports_transactions
365 0 0 if $self->_active_transaction
404 0 0 if $self->_in_transaction_state('none')
408 0 0 if $self->_in_transaction_state('aborted')
418 0 0 defined $max_time_ms ? :
423 0 0 if (my $err = $@)
427 0 0 if ($err->can('result'))
428 0 0 if ($err->result->can('output'))
433 0 0 $err->result->output->{'writeConcernError'} ? :
436 0 0 $err->result->output->{'writeConcernError'} ? :
440 0 0 unless (defined $err_code_name and grep {$_ eq $err_code_name;} 'CannotSatisfyWriteConcern', 'UnsatisfiableWriteConcern', 'UnknownReplWriteConcern', 'NoSuchTransaction' or defined $err_code and grep {$_ == $err_code;} 100, 79, 251)
454 0 0 unless $err->has_error_label('UnknownTransactionCommitResult')
476 0 0 if $self->_in_transaction_state('none')
480 0 0 if $self->_in_transaction_state('committed')
484 0 0 if $self->_in_transaction_state('aborted')
504 0 0 if ($self->_has_transaction_operations)
524 0 0 if ($self->_in_transaction_state('starting', 'in_progress')) { }
0 0 elsif ($self->_in_transaction_state('committed')) { }
525 0 0 if $err->$MongoDB::ClientSession::_isa('MongoDB::Error') and $err->_is_transient_transaction_error
528 0 0 if $err->$MongoDB::ClientSession::_isa('MongoDB::Error') and $err->_is_unknown_commit_error
542 0 0 if ($labels{'TransientTransactionError'} or $self->_in_transaction_state('committed') and $labels{'UnknownTransactionCommitResult'})
566 0 0 if ($self->_in_transaction_state('in_progress'))
570 0 0 if (defined $self->_server_session)
641 0 0 if ($err->can('result') and $err->result->can('output'))
645 0 0 if (defined $output->{'writeConcernError'})
649 0 0 if $err_code == 50 or $err_codename eq 'MaxTimeMSExpired'
661 0 0 if (my $err = $@)
662 0 0 if ($self->_in_transaction_state('starting', 'in_progress'))
666 0 0 if ($err->$MongoDB::ClientSession::_isa('MongoDB::Error') and $err->has_error_label('TransientTransactionError') and $self->_within_time_limit($start_time))
675 0 0 if ($self->_in_transaction_state('none', 'committed', 'aborted'))
682 0 0 if (my $err = $@)
683 0 0 if ($err->$MongoDB::ClientSession::_isa('MongoDB::Error'))
684 0 0 if ($self->_within_time_limit($start_time))
689 0 0 if ($err->has_error_label('TransientTransactionError'))
694 0 0 if ($err->has_error_label('UnknownTransactionCommitResult') and not $self->_is_commit_timeout_error($err))