package SL::DBUtils;
+use SL::Util qw(trim);
+
require Exporter;
our @ISA = qw(Exporter);
sub conv_date {
my ($value) = @_;
- return (defined($value) && "$value" ne "") ? $value : undef;
+ return undef if !defined $value;
+ $value = trim($value);
+ return $value eq "" ? undef : $value;
}
sub conv_dateq {
my %hash;
if ('' eq ref $value_col) {
while (my $ref = $sth->fetchrow_hashref()) {
- $hash{$ref->{$key_col}} = $ref->{$value_col};
+ $hash{$ref->{$key_col} // ''} = $ref->{$value_col};
}
} else {
while (my $ref = $sth->fetchrow_hashref()) {
- $hash{$ref->{$key_col}} = { map { $_ => $ref->{$_} } @{ $value_col } };
+ $hash{$ref->{$key_col} // ''} = { map { $_ => $ref->{$_} } @{ $value_col } };
}
}
=head1 NAME
-SL::DBUTils.pm: All about Databaseconections in Lx
+SL::DBUTils.pm: All about database connections in kivitendo
=head1 SYNOPSIS
DBUtils relies heavily on two parameters which have to be passed to almost every function: $form and $dbh.
- $form is used for error handling only. It can be omitted in theory, but should not.
- - $dbh is a handle to the databe, as returned by the DBI::connect routine. If you don't have an active connectiong, you can query $form->get_standard_dbh() to get a generic no_auto connection. Don't forget to commit in this case!
+ - $dbh is a handle to the database, as returned by the DBI::connect routine. If you don't have an active connection, you can query $form->get_standard_dbh() to get a generic no_auto connection. Don't forget to commit in this case!
Every function here should accomplish the follwing things: