Module: ActiveRecord::ConnectionHandling

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

Overview

:nodoc:

Instance Method Summary collapse

Instance Method Details

#hbase_connection(config) ⇒ Object

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



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/active_record/connection_adapters/hbase_adapter.rb', line 16

def hbase_connection(config)
  config = config.symbolize_keys

  config[:username] = 'root' if config[:username].nil?
  
  ### FOR DEBUGGING ONLY ###
  #if Mysql2::Client.const_defined? :FOUND_ROWS
  #  config[:flags] = Mysql2::Client::FOUND_ROWS
  #end
  #config[:host] = config[:m2host]
  #config[:port] = config[:m2port]
  #client = Mysql2::Client.new(config)
  ### FOR DEBUGGING ONLY ###
  
  client = HbaseRestIface::Client.new(config)
  options = [config[:host], config[:username], config[:password], config[:database], config[:port], config[:socket], 0]
  ConnectionAdapters::HbaseAdapter.new(client, logger, options, config)
rescue Hbase::Error => error
  if error.message.include?("Unknown database")
    raise ActiveRecord::NoDatabaseError.new(error.message)
  else
    raise error
  end
end