FIRST ? SKIP ?
[dbsrgits/Data-Query.git] / lib / Data / Query / Renderer / SQL / Slice / FirstSkip.pm
CommitLineData
623b3897 1package Data::Query::Renderer::SQL::Slice::FirstSkip;
2
3use Moo::Role;
4use Data::Query::Constants qw(DQ_SLICE);
5
119e511b 6my %handle = (limit => 'FIRST', offset => 'SKIP');
7
8sub _slice_order { qw(limit offset) }
9
623b3897 10sub _render_slice {
11 my ($self, $dq) = @_;
12 my $basic = $self->_render($dq->{from});
13 return [
14 $basic->[0], # SELECT keyword
119e511b 15 (map +(
16 $dq->{$_}
17 ? ($self->_format_keyword($handle{$_}), $self->_render($dq->{$_}))
18 : ()
19 ), $self->_slice_order
623b3897 20 ),
21 @{$basic}[1..$#$basic]
22 ];
23};
24
251;