X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=dbsrgits%2FDBIx-Class.git;a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FStorage%2FDBI%2FReplicated.pm;h=447747514dd38272da3c17fa1c9e635944407822;hp=17936a7e0024ba8d6b51d7b5770fc4606ae53a6b;hb=64ae166780d0cb2b9577e506da9b9b240c146d20;hpb=f3e9f0106fd3a446938e1a981704278922fcab2d diff --git a/lib/DBIx/Class/Storage/DBI/Replicated.pm b/lib/DBIx/Class/Storage/DBI/Replicated.pm index 17936a7..4477475 100644 --- a/lib/DBIx/Class/Storage/DBI/Replicated.pm +++ b/lib/DBIx/Class/Storage/DBI/Replicated.pm @@ -376,23 +376,19 @@ my @unimplemented = qw( set_use_dbms_capability get_dbms_capability set_dbms_capability - - sql_limit_dialect - _dbh_details - _use_insert_returning - _supports_insert_returning - - _use_placeholders - _supports_placeholders - _determine_supports_placeholders - - _use_typeless_placeholders - _supports_typeless_placeholders - _determine_supports_typeless_placeholders + sql_limit_dialect _inner_join_to_node + _group_over_selection +); + +# the capability framework +# not sure if CMOP->initialize does evil things to DBIC::S::DBI, fix if a problem +push @unimplemented, ( grep + { $_ =~ /^ _ (?: use | supports | determine_supports ) _ /x } + ( Class::MOP::Class->initialize('DBIx::Class::Storage::DBI')->get_all_method_names ) ); for my $method (@unimplemented) { @@ -434,8 +430,9 @@ around connect_info => sub { $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/}) {