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)) |