DBIx-QueryByName
view release on metacpan or search on metacpan
lib/DBIx/QueryByName.pm view on Meta::CPAN
my $log = get_logger();
$log->logcroak("undefined session argument in commit") if (!defined $session);
return $self->_dbh_pool()->connect($session)->commit;
}
# Store information on how to open a database session
sub connect {
my ($self,$session,@params) = @_;
my $log = get_logger();
$log->logcroak("undefined session argument in connect") if (!defined $session);
$self->_dbh_pool()->add_credentials($session,@params);
return $self;
}
# Call dbi's quote()
sub quote {
my ($self,$session,$str) = @_;
my $log = get_logger();
$log->logcroak("undefined session argument in quote") if (!defined $session);
$log->logcroak("undefined string argument in quote") if (!defined $str);
lib/DBIx/QueryByName/DbhPool.pm view on Meta::CPAN
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;
}
sub knows_session {
my ($self, $session) = @_;
my $log = get_logger();
$log->logcroak("undefined session name") if (!defined $session);
return (exists $self->{config}->{$session}) ? 1 : 0;
}
lib/DBIx/QueryByName/DbhPool.pm view on Meta::CPAN
=item C<< my $pool = DBIx::QueryByName::DbhPool->new(); >>
Instanciate DBIx::QueryByName::DbhPool.
=item C<< $pool->parent($dbixquerybyname) >>
Called after new() to tell the dbh pool of which instance of
DBIx::QueryByName it is related to.
=item C<< $pool->add_credentials($session, @params); >>
Store credentials for opening the database connection named
C<$session>. C<@params> is a standard DBI connection string or list.
Return the pool.
=item C<< $pool->knows_session($session); >>
Return true if the pool knows connection credentials for a database
connection named C<$session>. False otherwise.
=item C<< my $dbh = $pool->connect($session); >>
Tries to open the database connection associated with the session name
C<$session>. Will retry every second indefinitely until success.
Return the database handle for the new connection.
=item C<< my $dbh = $pool->disconnect($session); >>
( run in 0.255 second using v1.01-cache-2.11-cpan-4d50c553e7e )