Acrux-DBI
view release on metacpan or search on metacpan
lib/Acrux/DBI.pm view on Meta::CPAN
my $class = shift;
my $url = shift || DEFAULT_DBI_URL;
croak 'Invalid DBI URL' unless $url;
my $opts = scalar(@_) ? scalar(@_) > 1 ? {@_} : {%{$_[0]}} : {};
my $uri = Mojo::URL->new($url);
# Default attributes
my %_opts = (%{(DEFAULT_DBI_OPTS)}, %$opts);
my $autoclean = delete $_opts{autoclean};
my $self = bless {
url => $url,
uri => $uri,
dsn => '',
cachekey=> '',
driver => '',
dbh => undef,
error => "", # Ok
autoclean => $autoclean ? 1 : 0,
opts => {%_opts},
cache => Mojo::Cache->new,
lib/Acrux/DBI/Res.pm view on Meta::CPAN
use Carp qw/croak/;
use Mojo::Collection;
use Mojo::JSON qw(from_json);
use Mojo::Util qw(tablify);
sub new {
my $class = shift;
my $args = scalar(@_) ? scalar(@_) > 1 ? {@_} : {%{$_[0]}} : {};
my $sth = $args->{sth};
croak 'Invalid STH' unless ref($sth);
my $self = bless {
sth => $sth,
dbi => undef,
driver => '',
affected_rows => $args->{affected_rows} || 0,
}, $class;
$self->dbi($args->{dbi});
return $self;
}
sub sth {
lib/Acrux/DBI/Tx.pm view on Meta::CPAN
See C<LICENSE> file and L<https://dev.perl.org/licenses/>
=cut
our $VERSION = '0.01';
sub new {
my $class = shift;
my $args = scalar(@_) ? scalar(@_) > 1 ? {@_} : {%{$_[0]}} : {};
my $self = bless {
dbi => $args->{dbi},
rollback => $args->{rollback} // 1,
}, $class;
$self->{dbi}->begin;
return $self;
}
sub commit {
my $self = shift;
$self->{dbi}->commit if $self->{rollback};
$self->{rollback} = 0;
( run in 1.972 second using v1.01-cache-2.11-cpan-de7293f3b23 )