Sha256: cd28f07de7f27780965e48aa0492f38a72665407a38e9300d3f02b1b365ba6a2

Contents?: true

Size: 1.34 KB

Versions: 4

Compression:

Stored size: 1.34 KB

Contents

module Alf
  module Sql
    module WithExp
      include Expr
      extend Forwardable

      WITH = "WITH".freeze

      def with_exp?
        true
      end

      def with_spec
        self[1]
      end

      def select_exp
        last
      end
      def_delegators :select_exp, :select_list,
                                  :where_clause,
                                  :predicate,
                                  :from_clause,
                                  :table_spec,
                                  :order_by_clause,
                                  :limit_clause,
                                  :offset_clause,
                                  :desaliaser,
                                  :to_attr_list,
                                  :to_ordering,
                                  :all?,
                                  :distinct?,
                                  :set_operator?,
                                  :limit_or_offset?,
                                  :join?,
                                  :should_be_reused?,
                                  :is_table_dee?

    # to_xxx

      def to_sql(buffer = "")
        buffer << WITH << SPACE
        self[1].to_sql(buffer)
        buffer << SPACE
        self[2].to_sql(buffer, false)
        buffer
      end

    end # module WithExp
  end # module Sql
end # module Alf

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
alf-sql-0.16.3 lib/alf/sql/nodes/with_exp.rb
alf-sql-0.16.2 lib/alf/sql/nodes/with_exp.rb
alf-sql-0.16.1 lib/alf/sql/nodes/with_exp.rb
alf-sql-0.16.0 lib/alf/sql/nodes/with_exp.rb