Index: /branches/release-39/lib/MT/ObjectDriver/Driver/DBI.pm
===================================================================
--- /branches/release-39/lib/MT/ObjectDriver/Driver/DBI.pm (revision 2473)
+++ /branches/release-39/lib/MT/ObjectDriver/Driver/DBI.pm (revision 2475)
@@ -201,4 +201,13 @@
     my $i = 0;
     return sub {
+        if (@_ && ($_[0] eq 'finish')) {
+            if ($sth) {
+                $sth->finish;
+                $driver->end_query($sth);
+            }
+            undef $sth;
+            return;
+        }
+
         unless ($sth->fetch && defined $count && (!defined $limit || ($i < $limit))) {
             $sth->finish;
Index: /branches/release-39/t/driver-tests.pl
===================================================================
--- /branches/release-39/t/driver-tests.pl (revision 2286)
+++ /branches/release-39/t/driver-tests.pl (revision 2475)
@@ -404,5 +404,6 @@
     }, {
         group => [ 'foo_id' ],
-        sort => 'foo_id desc',
+        sort => 'foo_id',
+        direction => 'descend',
     });
 my ($count, $bfid, $month);
@@ -418,5 +419,6 @@
 $cgb_iter = Bar->count_group_by(undef, {
         group => [ 'extract(month from created_on)' ],
-        sort => 'extract(month from created_on) desc',
+        sort => 'extract(month from created_on)',
+        direction => 'descend',
     });
 isa_ok($cgb_iter, 'CODE');
Index: /branches/release-39/t/41-atom.t
===================================================================
--- /branches/release-39/t/41-atom.t (revision 2457)
+++ /branches/release-39/t/41-atom.t (revision 2475)
@@ -416,6 +416,5 @@
     #print "$_\n" foreach @{$p->query_log};
     my ( $count, $eid ) = $iter->();
-    # finish iterator cleanly
-    while ( my @dump = $iter->() ) {}
+    $iter->('finish');
 
     my $entry = MT::Entry->load($eid);
@@ -575,6 +574,5 @@
         }
     }
-    # finish iterator cleanly
-    while ( my @dump = $iter->() ) {}
+    $iter->('finish');
     die unless $eid;
 
