diff options
Diffstat (limited to 'sql-bench/server-cfg.sh')
-rw-r--r-- | sql-bench/server-cfg.sh | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/sql-bench/server-cfg.sh b/sql-bench/server-cfg.sh index 1983b2ce01b..86b891d8856 100644 --- a/sql-bench/server-cfg.sh +++ b/sql-bench/server-cfg.sh @@ -799,18 +799,27 @@ sub reconnect_on_errors sub vacuum { - my ($self,$full_vacuum,$dbh_ref)=@_; - my ($loop_time,$end_time,$dbh); + my ($self,$full_vacuum,$dbh_ref,@tables)=@_; + my ($loop_time,$end_time,$dbh,$table); if (defined($full_vacuum)) { $$dbh_ref->disconnect; $$dbh_ref= $self->connect(); } $dbh=$$dbh_ref; $loop_time=new Benchmark; - $dbh->do("vacuum") || die "Got error: $DBI::errstr when executing 'vacuum'\n"; - $dbh->do("vacuum pg_attributes") || die "Got error: $DBI::errstr when executing 'vacuum'\n"; - $dbh->do("vacuum pg_index") || die "Got error: $DBI::errstr when executing 'vacuum'\n"; - $dbh->do("vacuum analyze") || die "Got error: $DBI::errstr when executing 'vacuum'\n"; + if ($#tables >= 0) + { + foreach $table (@tables) + { + $dbh->do("vacuum $table") || die "Got error: $DBI::errstr when executing 'vacuum'\n"; + } + } + else + { +# $dbh->do("vacuum pg_attributes") || die "Got error: $DBI::errstr when executing 'vacuum'\n"; +# $dbh->do("vacuum pg_index") || die "Got error: $DBI::errstr when executing 'vacuum'\n"; + $dbh->do("vacuum") || die "Got error: $DBI::errstr when executing 'vacuum'\n"; + } $end_time=new Benchmark; print "Time for book-keeping (1): " . Benchmark::timestr(Benchmark::timediff($end_time, $loop_time),"all") . "\n\n"; |