fix mysql database size

This commit is contained in:
garnier-quentin 2020-01-20 13:06:23 +01:00
parent 96a5d54cf1
commit 89d331798d
1 changed files with 18 additions and 24 deletions

View File

@ -188,7 +188,7 @@ sub manage_selection {
foreach my $row (@$result) {
next if (defined($self->{option_results}->{filter_database}) && $self->{option_results}->{filter_database} ne '' &&
$row->[0] !~ /$self->{option_results}->{filter_database}/);
if (!defined($self->{database}->{$$row[0]})) {
if (!defined($self->{database}->{$row->[0]})) {
$self->{database}->{$row->[0]} = {
display => $row->[0],
global_db => { free => 0, used => 0 },
@ -196,29 +196,23 @@ sub manage_selection {
};
}
if (($row->[2] =~ /innodb/i && ($innodb_per_table == 1 || $innodb_ibdata_done == 0))) {
$self->{database}->{$row->[0]}->{table}->{$row->[1]} = {
display => $row->[1]
};
# For a table located in the shared tablespace, this is the free space of the shared tablespace.
if ($row->[2] !~ /innodb/i || $innodb_per_table == 1) {
$self->{global}->{free} += $row->[3];
$self->{database}->{$row->[0]}->{global_db}->{free} += $row->[3];
$self->{database}->{$row->[0]}->{table}->{$row->[1]}->{free} = $row->[3];
$self->{database}->{$row->[0]}->{table}->{$row->[1]}->{frag} = $row->[5];
} elsif ($innodb_ibdata_done == 0) {
$self->{global}->{free} += $row->[3];
$self->{global}->{used} += $row->[4];
$innodb_ibdata_done = 1;
}
if ($row->[2] !~ /innodb/i) {
$self->{global}->{free} += $row->[3];
$self->{global}->{used} += $row->[4];
}
if ($row->[2] !~ /innodb/i ||
($row->[2] =~ /innodb/i && $innodb_per_table == 1)
) {
$self->{database}->{$row->[0]}->{global_db}->{free} += $row->[3];
$self->{database}->{$row->[0]}->{global_db}->{used} += $row->[4];
$self->{database}->{$row->[0]}->{table}->{$$row[1]} = {
display => $row->[1],
free => $row->[3],
used => $row->[4],
frag => $row->[5]
};
}
$self->{database}->{$row->[0]}->{table}->{$row->[1]}->{used} = $row->[4];
}
if (scalar(keys %{$self->{database}}) <= 0) {