module ActiveRecord::ConnectionHandling

Public Instance Methods

hanaclient_connection(config) click to toggle source

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

# File lib/active_record/connection_adapters/hanaclient_adapter.rb, line 47
def hanaclient_connection(config)
  HA.dbcapi_path = config[:dbcapi_path]

  db = HA.instance.api.hanaclient_new_connection()

  connection_string = "SERVERNODE=#{config[:server]}"
  connection_string += ":#{config[:port]}" if config[:port]
  connection_string += ";UID=#{config[:username]};PWD=#{config[:password]};"
  connection_string += "DATABASENAME=#{config[:database]};" if config[:database]
  # overrides the database option in connection properties if the database option is explicity given
  connection_string += (config[:database] ? config[:connection_properties].gsub(/databasename=[^;]*;/i, "") : config[:connection_properties]) if config[:connection_properties]

  ConnectionAdapters::HanaclientAdapter.new(db, logger, connection_string, config)
end