-# $Id: Explain.pm,v 1.2 2006-10-25 13:38:10 sondberg Exp $
# See the "Main" test package for documentation
Processing VariantSetInfo UnitSet);
foreach my $category (@explain) {
- $conn->option('databaseName', 'IR-Explain-1');
$conn->irspy_search_pqf('@attr exp-1 1=1 ' . $category,
- {'category' => $category}, {},
- ZOOM::Event::RECV_SEARCH, \&found,
+ {'category' => $category},
+ { databaseName => 'IR-Explain-1' },
+ ZOOM::Event::ZEND, \&found,
exception => \&error);
}
}
sub found {
my($conn, $task, $test_args, $event) = @_;
my $category = $test_args->{'category'};
- my $n = $task->{rs}->size();
- my $ok = 0;
+ my $n = $task->{rs}->size();
+ $task->{rs}->destroy();
+ my $ok = ($n > 0);
$conn->log("irspy_test", "Explain category ", $category, " gave ", $n,
" hit(s).");
- if ($n > 0) {
- $ok = 1;
- }
update($conn, $category, $ok);
my($conn, $task, $test_args, $exception) = @_;
my $category = $test_args->{'category'};
+ $task->{rs}->destroy();
$conn->log("irspy_test", "Explain category lookup failed: ", $exception);
update($conn, $category, 0);
+ zoom_error_timeout_update($conn, $exception);
+
+ return ZOOM::IRSpy::Status::TEST_GOOD
+ if ($exception->code() == 109 || # Database unavailable
+ $exception->code() == 235); # Database does not exist
return ZOOM::IRSpy::Status::TASK_DONE;
}