MOAR order
[dbsrgits/Data-Query.git] / lib / Data / Query / Renderer / SQL / Slice / Top.pm
1 package Data::Query::Renderer::SQL::Slice::Top;
2
3 use Data::Query::Constants qw(
4   DQ_SELECT DQ_ALIAS DQ_IDENTIFIER DQ_ORDER DQ_SLICE
5 );
6 use Moo::Role;
7
8 with 'Data::Query::Renderer::SQL::Slice::FetchFirst';
9
10 sub _render_slice_limit {
11   my ($self, $dq) = @_;
12   my $basic = $self->_render($dq->{from});
13   return [
14     $basic->[0],
15     $self->_format_keyword('TOP'),
16     sprintf("%i", $dq->{limit}{value}),
17     @{$basic}[1..$#$basic]
18   ];
19 }
20
21 sub _slice_type { 'Top' }
22
23 1;