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