Module: ActiveRecord::ConnectionHandling

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

Overview

:nodoc:

Instance Method Summary collapse

Instance Method Details

#memsql_connection(config) ⇒ Object

Establishes a connection to the database that’s used by all Active Record objects.



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/active_record/connection_adapters/memsql_adapter.rb', line 12

def memsql_connection(config)
  config = config.symbolize_keys

  config[:username] = "root" if config[:username].nil?
  config[:flags] ||= 0
  config[:variables] = {sql_mode: ''} if config[:variables].nil?

  if config[:flags].kind_of? Array
    config[:flags].push "FOUND_ROWS".freeze
  else
    config[:flags] |= Mysql2::Client::FOUND_ROWS
  end

  client = Mysql2::Client.new(config)
  ConnectionAdapters::Mysql2Adapter.new(client, logger, nil, config)
rescue Mysql2::Error => error
  if error.message.include?("Unknown database")
    raise ActiveRecord::NoDatabaseError
  else
    raise
  end
end