aboutsummaryrefslogtreecommitdiffstats
path: root/lib/arel/visitors/mssql.rb
blob: ea7ab6394c3f20bb13dee0687ba27ead07656083 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
module Arel
  module Visitors
    class MSSQL < Arel::Visitors::ToSql
      private

      def build_subselect key, o
        stmt     = super
        core     = stmt.cores.first
        core.top = Nodes::Top.new(o.limit.expr) if o.limit
        stmt
      end

      def visit_Arel_Nodes_Limit o
        ""
      end

      def visit_Arel_Nodes_Top o
        "TOP #{visit o.expr}"
      end

    end
  end
end