LIMIT doesn't work since we don't get correct number of results search-3.2.0
authorDobrica Pavlinusic <dpavlin@rot13.org>
Mon, 7 Feb 2011 12:39:18 +0000 (12:39 +0000)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Mon, 7 Feb 2011 12:39:18 +0000 (12:39 +0000)
lib/BackupPC/Search.pm

index 38837c0..ee982ff 100644 (file)
@@ -227,24 +227,25 @@ sub getFiles($) {
 
        my $order = getSort('search', 'sql', $param->{'sort'});
 
 
        my $order = getSort('search', 'sql', $param->{'sort'});
 
+       # XXX LIMIT $on_page doesn't work since we don't get correct number of results
        my $sql_order = qq{
                ORDER BY $order
        my $sql_order = qq{
                ORDER BY $order
-               LIMIT $on_page
                OFFSET ?
        };
 
        my $sql_results = qq{ select $sql_cols $sql_from $sql_where $sql_order };
        my $sth = $dbh->prepare($sql_results);
                OFFSET ?
        };
 
        my $sql_results = qq{ select $sql_cols $sql_from $sql_where $sql_order };
        my $sth = $dbh->prepare($sql_results);
-       $sth->execute( $offset );
+       my $rows = $sth->execute( $offset );
 
        my @ret;
 
        my @ret;
-      
+
        while (my $row = $sth->fetchrow_hashref()) {
                push @ret, $row;
        while (my $row = $sth->fetchrow_hashref()) {
                push @ret, $row;
+               last if $#ret + 1 >= $on_page;
        }
      
        $sth->finish();
        }
      
        $sth->finish();
-       return ($sth->rows, \@ret);
+       return ($rows, \@ret);
 }
 
 sub getFilesHyperEstraier($) {
 }
 
 sub getFilesHyperEstraier($) {