class ActiveRecord::ConnectionAdapters::Redshift::SchemaCreation

Constants

ENCODING_TYPES

Public Instance Methods

add_column_options!(sql, options) click to toggle source

Support

Calls superclass method
# File lib/active_record/connection_adapters/redshift/schema_statements.rb, line 27
def add_column_options!(sql, options)
  if options[:distkey]
    sql << ' DISTKEY'
  end

  if options[:sortkey]
    sql << ' SORTKEY'
  end

  if options[:encode]
    sql << " ENCODE #{options[:encode]}"
  end

  super
end
column_options(o) click to toggle source
Calls superclass method
# File lib/active_record/connection_adapters/redshift/schema_statements.rb, line 7
def column_options(o)
  column_options = super
  column_options[:distkey] = o.distkey
  column_options[:sortkey] = o.sortkey

  if o.encode
    encode = o.encode.to_s.upcase
    if ENCODING_TYPES.include?(encode)
      column_options[:encode] = encode
    else
      raise "Invalid encoding type: #{o.encode}"
    end
  else
    # column_options[:encode] = 'RAW'
  end

  column_options
end