DBIx-QueryByName
view release on metacpan or search on metacpan
lib/DBIx/QueryByName/DbhPool.pm view on Meta::CPAN
package DBIx::QueryByName::DbhPool;
use utf8;
use strict;
use warnings;
use DBI;
use DBIx::QueryByName::Logger qw(get_logger debug);
use Scalar::Util qw(weaken);
sub new {
return bless( { connections => {}, config => {} }, $_[0] );
}
sub parent {
my ($self, $parent) = @_;
$self->{sthpool} = $parent->_sth_pool;
weaken $self->{sthpool};
}
sub add_credentials {
my ($self, $session, @params) = @_;
my $log = get_logger();
$log->logcroak("undefined session name") if (!defined $session);
$log->logcroak("no session parameters provided") if (scalar @params == 0);
$log->logcroak("credentials for session [$session] are already declared") if ($self->knows_session($session));
$self->{config}->{$session} = \@params;
return $self;
lib/DBIx/QueryByName/SthPool.pm view on Meta::CPAN
package DBIx::QueryByName::SthPool;
use utf8;
use strict;
use warnings;
use Data::Dumper;
use DBI;
use Carp qw(cluck);
use DBIx::QueryByName::Logger qw(get_logger debug);
use Scalar::Util qw(weaken);
sub _add_sth {
my ($self,$query,$sth) = @_;
get_logger->logcroak("undefined query or statement handler")
if (!defined $query || !defined $sth);
$self->{sths}->{$$}->{$query} = $sth;
}
sub _get_sth {
my ($self,$query) = @_;
lib/DBIx/QueryByName/SthPool.pm view on Meta::CPAN
return $self->{sths}->{$$}->{$query};
}
sub new {
return bless( { sths => {} }, $_[0] );
}
sub parent {
my ($self, $parent) = @_;
$self->{dbhpool} = $parent->_dbh_pool;
weaken $self->{dbhpool};
$self->{querypool} = $parent->_query_pool;
}
sub finish_all_sths {
my $self = shift;
debug "Closing all sths for pid $$";
foreach my $query ( keys %{$self->{sths}->{$$}} ) {
if (defined $self->{sths}->{$$}->{$query}) {
$self->{sths}->{$$}->{$query}->finish;
}
( run in 0.256 second using v1.01-cache-2.11-cpan-65fba6d93b7 )