_sqlt_minimum_version
_sql_maker_opts
_conn_pid
- _conn_tid
_dbh_autocommit
_native_data_type
_get_dbh
_resolve_column_info
_prune_unused_joins
_strip_cond_qualifiers
- _extract_order_columns
_resolve_aliastypes_from_select_args
_execute
_do_query
_dbh_sth
_dbh_execute
- _prefetch_insert_auto_nextvals
/],
);
my @unimplemented = qw(
_arm_global_destructor
- _preserve_foreign_dbh
_verify_pid
- _verify_tid
get_use_dbms_capability
set_use_dbms_capability
_inner_join_to_node
_group_over_selection
+ _prefetch_autovalues
+ _extract_order_criteria
+ _max_column_bytesize
+ _is_lob_type
);
# the capability framework
around connect_info => sub {
my ($next, $self, $info, @extra) = @_;
- my $wantarray = wantarray;
-
my $merge = Hash::Merge->new('LEFT_PRECEDENT');
my %opts;
$merge->merge((delete $opts{pool_args} || {}), $self->pool_args)
);
- $self->pool($self->_build_pool)
- if $self->pool;
+ ## Since we possibly changed the pool_args, we need to clear the current
+ ## pool object so that next time it is used it will be rebuilt.
+ $self->clear_pool;
}
if (@opts{qw/balancer_type balancer_args/}) {
$self->_master_connect_info_opts(\%opts);
- my (@res, $res);
- if ($wantarray) {
+ my @res;
+ if (wantarray) {
@res = $self->$next($info, @extra);
} else {
- $res = $self->$next($info, @extra);
+ $res[0] = $self->$next($info, @extra);
}
# Make sure master is blessed into the correct class and apply role to it.
# link pool back to master
$self->pool->master($master);
- $wantarray ? @res : $res;
+ wantarray ? @res : $res[0];
};
=head1 METHODS
$self->read_handler($current);
};
- return $want_array ? @result : $result[0];
+ return wantarray ? @result : $result[0];
}
=head2 set_reliable_storage