X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FLXDebug.pm;h=a1e19767c7599a37b82f03d5817d3fefac9d95c9;hb=f05bd96b031d7d4ffaf4804704684ae929a0890a;hp=0503dcb6c8a6f33640dc3c55b125597e58e83cff;hpb=5c3509945ff7aeef205219a2b6f4f3a6c5ea38b8;p=kivitendo-erp.git diff --git a/SL/LXDebug.pm b/SL/LXDebug.pm index 0503dcb6c..a1e19767c 100644 --- a/SL/LXDebug.pm +++ b/SL/LXDebug.pm @@ -19,8 +19,9 @@ use constant FILE_TARGET => 0; use constant STDERR_TARGET => 1; use Data::Dumper; +use List::MoreUtils qw(all); use POSIX qw(strftime getpid); -use Scalar::Util qw(blessed refaddr weaken); +use Scalar::Util qw(blessed refaddr weaken looks_like_number); use Time::HiRes qw(gettimeofday tv_interval); use SL::Request (); use SL::YAML; @@ -231,8 +232,14 @@ sub dump_sql_result { map { $column_lengths{$_} = length $row->{$_} if (length $row->{$_} > $column_lengths{$_}) } keys %{ $row }; } + my %alignment; + foreach my $column (keys %column_lengths) { + my $all_look_like_number = all { (($_->{$column} // '') eq '') || looks_like_number($_->{$column}) } @{ $results }; + $alignment{$column} = $all_look_like_number ? '' : '-'; + } + my @sorted_names = sort keys %column_lengths; - my $format = join '|', map { '%' . $column_lengths{$_} . 's' } @sorted_names; + my $format = join '|', map { '%' . $alignment{$_} . $column_lengths{$_} . 's' } @sorted_names; $prefix .= ' ' if $prefix;