@params{'page', 'pages'} = ($page, $pages);
$rs = $rs->search(undef, {offset => ($page - 1) * PAGE_SIZE, ($page == $pages ? () : (rows => PAGE_SIZE))});
}
- $rs = $rs->search(undef, {prefetch => $thing{prefetch}}) if exists $thing{prefetch};
+ $rs = $rs->search(undef, {
+ exists $thing{prefetch} ? (prefetch => $thing{prefetch}) : (),
+ exists $thing{columns} ? (columns => $thing{columns}) : (),
+ });
my @thing = map +{rs => $_, $_->get_columns}, $rs->all;
@thing = map { $thing{mangle}->(); $_ } @thing if exists $thing{mangle};
@thing = grep { $thing{choose}->() } @thing if exists $thing{choose};
sub group (&);
sub mangle (&);
sub prefetch;
+sub columns;
sub thing (&){
my %thing;
local *{"group"} = sub { $thing{group} = shift };
local *{"makers"} = sub { $thing{makers} = shift };
local *{"prefetch"} = sub { $thing{prefetch} = \@_ };
+ local *{"columns"} = sub { $thing{columns} = \@_ };
use strict 'refs';
shift->();