]> source.dussan.org Git - sonarqube.git/blob
4d058bbe1d9fd8db2dd5d061550ab104af554408
[sonarqube.git] /
1 require 'arel/visitors/compat'
2
3 module Arel
4   module Visitors
5     class Derby < Arel::Visitors::ToSql
6       def visit_Arel_Nodes_SelectStatement o
7         [
8          o.cores.map { |x| visit_Arel_Nodes_SelectCore x }.join,
9          ("ORDER BY #{o.orders.map { |x| visit x }.join(', ')}" unless o.orders.empty?),
10          ("FETCH FIRST #{limit_for(o.limit)} ROWS ONLY" if o.limit),
11          (visit(o.offset) if o.offset),
12          (visit(o.lock) if o.lock),
13         ].compact.join ' '
14       end
15
16       def visit_Arel_Nodes_Offset o
17         "OFFSET #{visit o.value} ROWS"
18       end
19     end
20   end
21 end