Mail-DMARC
view release on metacpan or search on metacpan
lib/Mail/DMARC/Report/Store/SQL.pm view on Meta::CPAN
if ($dsn =~ /sqlite/i) {
my ($db) = ( split /=/, $dsn )[-1];
if ( !$db || $db eq ':memory:' || !-e $db ) {
my $schema = 'mail_dmarc_schema.sqlite';
$needs_tables = $self->get_db_schema($schema)
or croak
"can't locate DB $db AND can't find $schema! Create $db manually.\n";
}
$self->{grammar} = Mail::DMARC::Report::Store::SQL::Grammars::SQLite->new();
} elsif ($dsn =~ /mysql/i) {
$opts{'mysql_enable_utf8mb4'} = 1;
$self->{grammar} = Mail::DMARC::Report::Store::SQL::Grammars::MySQL->new();
} elsif ($dsn =~ /pg/i) {
$self->{grammar} = Mail::DMARC::Report::Store::SQL::Grammars::PostgreSQL->new();
} else {
croak "can't determine database type, so unable to load grammar.\n";
}
$self->{dbix} = DBIx::Simple->connect( $dsn, $user, $pass, \%opts )
or return $self->error( DBIx::Simple->error );
( run in 0.260 second using v1.01-cache-2.11-cpan-00829025b61 )