Method: ActiveRecord::ConnectionAdapters::AbstractAdapter#initialize

Defined in:
lib/active_record/connection_adapters/abstract_adapter.rb

#initialize(connection, logger = nil, config = {}) ⇒ AbstractAdapter

:nodoc:



99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
# File 'lib/active_record/connection_adapters/abstract_adapter.rb', line 99

def initialize(connection, logger = nil, config = {}) # :nodoc:
  super()

  @connection          = connection
  @owner               = nil
  @instrumenter        = ActiveSupport::Notifications.instrumenter
  @logger              = logger
  @config              = config
  @pool                = nil
  @idle_since          = Concurrent.monotonic_time
  @schema_cache        = SchemaCache.new self
  @quoted_column_names, @quoted_table_names = {}, {}
  @visitor = arel_visitor
  @lock = ActiveSupport::Concurrency::LoadInterlockAwareMonitor.new

  if self.class.type_cast_config_to_boolean(config.fetch(:prepared_statements) { true })
    @prepared_statements = true
    @visitor.extend(DetermineIfPreparableVisitor)
  else
    @prepared_statements = false
  end
end