-# $Id: Explain.pm,v 1.3 2006-10-26 12:55:35 mike Exp $
# See the "Main" test package for documentation
$conn->irspy_search_pqf('@attr exp-1 1=1 ' . $category,
{'category' => $category},
{ databaseName => 'IR-Explain-1' },
- ZOOM::Event::RECV_SEARCH, \&found,
+ 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_BAD
+ if ($exception->code() == 109 || # Database unavailable
+ $exception->code() == 235); # Database does not exist
return ZOOM::IRSpy::Status::TASK_DONE;
}