class ActiveRecord::ConnectionAdapters::RedshiftAdapter

Constants

ADAPTER_NAME
NATIVE_DATABASE_TYPES

Public Instance Methods

postgresql_version() click to toggle source
# File lib/active_record/connection_adapters/redshift_adapter.rb, line 115
def postgresql_version
  # Will pass all inernal version support checks
  Float::INFINITY
end
reset!() click to toggle source
# File lib/active_record/connection_adapters/redshift_adapter.rb, line 120
def reset!
  @lock.synchronize do
    clear_cache!
    reset_transaction
    unless @connection.transaction_status == ::PG::PQTRANS_IDLE
      @connection.query "ROLLBACK"
    end
    configure_connection
  end
end
supports_advisory_locks?() click to toggle source
# File lib/active_record/connection_adapters/redshift_adapter.rb, line 103
def supports_advisory_locks?
  false
end
supports_expression_index?() click to toggle source
# File lib/active_record/connection_adapters/redshift_adapter.rb, line 75
def supports_expression_index?
  false
end
supports_extensions?() click to toggle source
# File lib/active_record/connection_adapters/redshift_adapter.rb, line 95
def supports_extensions?
  false
end
supports_index_sort_order?() click to toggle source
# File lib/active_record/connection_adapters/redshift_adapter.rb, line 67
def supports_index_sort_order?
  false
end
supports_json?() click to toggle source
# File lib/active_record/connection_adapters/redshift_adapter.rb, line 83
def supports_json?
  false
end
supports_materialized_views?() click to toggle source
# File lib/active_record/connection_adapters/redshift_adapter.rb, line 111
def supports_materialized_views?
  false
end
supports_partial_index?() click to toggle source
# File lib/active_record/connection_adapters/redshift_adapter.rb, line 71
def supports_partial_index?
  false
end
supports_ranges?() click to toggle source
# File lib/active_record/connection_adapters/redshift_adapter.rb, line 107
def supports_ranges?
  false
end
supports_savepoints?() click to toggle source
# File lib/active_record/connection_adapters/redshift_adapter.rb, line 87
def supports_savepoints?
  false
end
supports_transaction_isolation?() click to toggle source
# File lib/active_record/connection_adapters/redshift_adapter.rb, line 79
def supports_transaction_isolation?
  false
end
use_insert_returning?() click to toggle source
# File lib/active_record/connection_adapters/redshift_adapter.rb, line 99
def use_insert_returning?
  false
end

Private Instance Methods

configure_connection() click to toggle source

rubocop:disable Style/CyclomaticComplexity

# File lib/active_record/connection_adapters/redshift_adapter.rb, line 176
def configure_connection
  if @config[:encoding]
    @connection.set_client_encoding(@config[:encoding])
  end
  self.schema_search_path = @config[:schema_search_path] || @config[:schema_order]

  # SET statements from :variables config hash
  # http://www.postgresql.org/docs/8.3/static/sql-set.html
  variables = @config[:variables] || {}
  variables.map do |k, v|
    if v == ':default' || v == :default
      # Sets the value to the global or compile default
      execute("SET SESSION #{k} TO DEFAULT", 'SCHEMA')
    elsif !v.nil?
      execute("SET SESSION #{k} TO #{quote(v)}", 'SCHEMA')
    end
  end
end