| line | true | false | branch | 
 
| 60 | 0 | 0 | if (defined $op->session and not $op->session->_active_transaction) { } | 
 
|  | 0 | 0 | elsif (defined $op->session) { } | 
 
| 95 | 0 | 0 | if ($op->session and $op->session->_address and $op->session->_active_transaction and $topology->_supports_mongos_pinning_transactions) { } | 
 
|  | 0 | 0 | elsif ($rw eq 'w') { } | 
 
| 148 | 0 | 0 | unless ($link->supports_retryWrites and $self->retry_writes || defined $force && $force eq 'force' and (defined $op->session and not $op->session->_in_transaction_state('starting', 'in_progress'))) | 
 
| 154 | 0 | 0 | unless (eval {
	do {
	($result) = $self->_try_op_for_link($link, $op);
1
}
}) | 
 
| 155 | 0 | 0 | length $@ ? : | 
 
| 170 | 0 | 0 | unless (eval {
	do {
	($result) = $self->_try_op_for_link($link, $op);
1
}
}) | 
 
| 171 | 0 | 0 | length $@ ? : | 
 
| 173 | 0 | 0 | if ($err->$MongoDB::_Dispatcher::_call_if_can('_is_storage_engine_not_retryable')) | 
 
| 180 | 0 | 0 | unless ($err->$MongoDB::_Dispatcher::_call_if_can('_is_retryable')) | 
 
| 190 | 0 | 0 | unless ($retry_link->supports_retryWrites) | 
 
| 195 | 0 | 0 | unless (eval {
	do {
	($result) = $self->_try_op_for_link($retry_link, $op);
1
}
}) | 
 
| 196 | 0 | 0 | length $@ ? : | 
 
| 209 | 0 | 0 | if defined $err_info->{'codeName'} | 
 
| 246 | 0 | 0 | if (defined $op->session and $op->session->_active_transaction) | 
 
| 257 | 0 | 0 | if (not $link->supports_retryReads && $self->retry_reads or defined $op->session and $op->session->_in_transaction_state('starting', 'in_progress')) | 
 
| 261 | 0 | 0 | unless (eval {
	do {
	($result) = $self->_try_op_for_link($link, $op);
1
}
}) | 
 
| 262 | 0 | 0 | length $@ ? : | 
 
| 268 | 0 | 0 | if $op->session | 
 
| 272 | 0 | 0 | unless (eval {
	do {
	($result) = $self->_try_op_for_link($link, $op);
1
}
}) | 
 
| 273 | 0 | 0 | length $@ ? : | 
 
| 276 | 0 | 0 | unless ($err->$MongoDB::_Dispatcher::_call_if_can('_is_retryable')) | 
 
| 283 | 0 | 0 | unless ($retry_link->supports_retryReads) | 
 
| 288 | 0 | 0 | unless (eval {
	do {
	($result) = $self->_try_op_for_link($retry_link, $op);
1
}
}) | 
 
| 289 | 0 | 0 | length $@ ? : | 
 
| 305 | 0 | 0 | if (defined $op->session and $op->session->_active_transaction) |