Sha256: 57f4f63ab537ba5d8cf036fb59c6c5b7c25e290deeb5579a581bf7abb43fcdad

Contents?: true

Size: 1.17 KB

Versions: 62

Compression:

Stored size: 1.17 KB

Contents

module Bmg
  module Sql
    module SetOperator
      include Expr

      def head_expr
        self[2]
      end

      def tail_exprs
        self[3..-1]
      end

      def set_quantifier
        self[1]
      end

      def with_exp?
        false
      end

      def set_operator?
        true
      end

      def is_table_dee?
        false
      end

      def distinct?
        set_quantifier.distinct?
      end

      def all?
        set_quantifier.all?
      end

      def should_be_reused?
        true
      end

      def order_by_clause
        nil
      end

      def to_attr_list
        self.last.to_attr_list
      end

      def to_sql(buffer, dialect, parenthesize = !buffer.empty?)
        if parenthesize
          sql_parenthesized(buffer){|b| to_sql(b, dialect, false) }
        else
          left.to_sql(buffer, dialect, true)
          buffer << SPACE << keyword
          unless distinct?
            buffer << SPACE
            set_quantifier.to_sql(buffer, dialect)
          end
          buffer << SPACE
          right.to_sql(buffer, dialect, true)
          buffer
        end
      end

    end # module SetOperator
  end # module Sql
end # module Bmg

Version data entries

62 entries across 62 versions & 1 rubygems

Version Path
bmg-0.23.3 lib/bmg/sql/nodes/set_operator.rb
bmg-0.23.2 lib/bmg/sql/nodes/set_operator.rb
bmg-0.23.1 lib/bmg/sql/nodes/set_operator.rb
bmg-0.23.0 lib/bmg/sql/nodes/set_operator.rb
bmg-0.21.5 lib/bmg/sql/nodes/set_operator.rb
bmg-0.21.4 lib/bmg/sql/nodes/set_operator.rb
bmg-0.20.5 lib/bmg/sql/nodes/set_operator.rb
bmg-0.19.3 lib/bmg/sql/nodes/set_operator.rb
bmg-0.21.3 lib/bmg/sql/nodes/set_operator.rb
bmg-0.21.2 lib/bmg/sql/nodes/set_operator.rb
bmg-0.21.0 lib/bmg/sql/nodes/set_operator.rb
bmg-0.20.4 lib/bmg/sql/nodes/set_operator.rb
bmg-0.20.2 lib/bmg/sql/nodes/set_operator.rb
bmg-0.20.1 lib/bmg/sql/nodes/set_operator.rb
bmg-0.20.0 lib/bmg/sql/nodes/set_operator.rb
bmg-0.19.2 lib/bmg/sql/nodes/set_operator.rb
bmg-0.19.1 lib/bmg/sql/nodes/set_operator.rb
bmg-0.19.0 lib/bmg/sql/nodes/set_operator.rb
bmg-0.18.15 lib/bmg/sql/nodes/set_operator.rb
bmg-0.18.14 lib/bmg/sql/nodes/set_operator.rb