Fix result-set leak.
[irspy-moved-to-github.git] / lib / ZOOM / IRSpy / Test / Search / Dan1.pm
index 837a5e3..51b6607 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: Dan1.pm,v 1.5 2006-10-27 09:56:07 sondberg Exp $
+# $Id: Dan1.pm,v 1.7 2007-03-15 11:40:52 mike Exp $
 
 # See the "Main" test package for documentation
 
@@ -21,7 +21,7 @@ sub start {
     foreach my $attr (@attrs) {
        $conn->irspy_search_pqf("\@attr dan1 1=$attr mineral",
                                 {'attr' => $attr}, {},
-                               ZOOM::Event::RECV_SEARCH, \&found,
+                               ZOOM::Event::ZEND, \&found,
                                exception => \&error);
     }
 }
@@ -30,8 +30,9 @@ sub start {
 sub found {
     my($conn, $task, $test_args, $event) = @_;
     my $attr = $test_args->{'attr'};
-    my $n = $task->{rs}->size();
 
+    my $n = $task->{rs}->size();
+    $task->{rs}->destroy();
     $conn->log("irspy_test", "search on access-point $attr found $n record",
               $n==1 ? "" : "s");
     update($conn, $attr, 1);
@@ -44,10 +45,12 @@ sub error {
     my($conn, $task, $test_args, $exception) = @_;
     my $attr = $test_args->{'attr'};
 
+    $task->{rs}->destroy();
     $conn->log("irspy_test", "search on access-point $attr had error: ",
               $exception);
     update($conn, $attr, 0);
 
+    ### How about TEST_BAD if $exception->code() == 121?
     return ZOOM::IRSpy::Status::TASK_DONE;
 }