Sha256: 0f03dc51c1afb47f1076cfe402bd6896ebe3c449e5ec6ba882ee02bd8a944e7c

Contents?: true

Size: 1.05 KB

Versions: 3

Compression:

Stored size: 1.05 KB

Contents

module Sequel
  module Progress
    module DatabaseMethods

      # Progress uses the :progress database type.
      def database_type
        :progress
      end

      def dataset(opts = nil)
        ds = super
        ds.extend(DatasetMethods)
        ds
      end
    end
  
    module DatasetMethods
      SELECT_CLAUSE_ORDER = %w'limit distinct columns from join where group order having compounds'.freeze

      # Progress requires SQL standard datetimes
      def requires_sql_standard_datetimes?
        true
      end

      # Progress does not support INTERSECT or EXCEPT
      def supports_intersect_except?
        false
      end

      private

      def select_clause_order
        SELECT_CLAUSE_ORDER
      end

      # Progress uses TOP for limit, but it is only supported in Progress 10.
      # The Progress adapter targets Progress 9, so it silently ignores the option.
      def select_limit_sql(sql)
        raise(Error, "OFFSET not supported") if @opts[:offset]
        #sql << " TOP #{@opts[:limit]}" if @opts[:limit]
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
sequel-3.4.0 lib/sequel/adapters/shared/progress.rb
sequel-3.2.0 lib/sequel/adapters/shared/progress.rb
sequel-3.3.0 lib/sequel/adapters/shared/progress.rb