Mail-MtPolicyd
view release on metacpan or search on metacpan
lib/Mail/MtPolicyd/Plugin/Accounting.pm view on Meta::CPAN
my $metrics = {};
my $rcpt_cnt = defined $recipient_count ? $recipient_count : 1;
$metrics->{'size'} = defined $size ? $size : 0;
$metrics->{'count'} = 1;
$metrics->{'count_rcpt'} = $rcpt_cnt ? $rcpt_cnt : 1;
$metrics->{'size_rcpt'} = $rcpt_cnt ? $size * $rcpt_cnt : $size;
return( $metrics );
}
sub update_accounting {
my ( $self, $field, $key, $metrics ) = @_;
eval {
$self->update_accounting_row($field, $key, $metrics);
};
if( $@ =~ /^accounting row does not exist/ ) {
$self->insert_accounting_row($field, $key, $metrics);
} elsif( $@ ) {
die( $@ );
}
lib/Mail/MtPolicyd/Plugin/Accounting.pm view on Meta::CPAN
my $values_str = join(', ', map {
$dbh->quote($_)
} values %$values);
my $sql = "INSERT INTO $table_name ($col_str) VALUES ($values_str)";
$self->execute_sql($sql);
return;
}
sub update_accounting_row {
my ( $self, $field, $key, $metrics ) = @_;
my $dbh = $self->_db_handle;
my $table_name = $dbh->quote_identifier( $self->get_table_name($field) );
my $where = {
'key' => $key,
'time' => $self->get_timekey,
};
my $values_str = join(', ', map {
$dbh->quote_identifier($_).'='.
( run in 0.356 second using v1.01-cache-2.11-cpan-4d4bc49f3ae )