class RSpec::Hive::Connector
Attributes
config[R]
result[R]
Public Class Methods
new(configuration)
click to toggle source
# File lib/rspec/hive/connector.rb, line 12 def initialize(configuration) @config = configuration # transport: :sasl, sasl_params: {username: 'hive', password: ''}, end
Public Instance Methods
start_connection(db_name = DbName.random_name)
click to toggle source
# File lib/rspec/hive/connector.rb, line 17 def start_connection(db_name = DbName.random_name) connection = open_connection connection.switch_database(db_name) @config.hive_options.each do |key, value| connection.execute("SET #{key}=#{value}") end connection rescue Thrift::ApplicationException => e config.logger.fatal('An exception was thrown during start connection') config.logger.fatal(e) stop_connection(connection) connection end
stop_connection(connection)
click to toggle source
# File lib/rspec/hive/connector.rb, line 32 def stop_connection(connection) connection.close_session if connection.session connection.close rescue IOError => e config.logger.fatal('An exception was thrown during close connection') config.logger.fatal(e) end
tlcli_connect() { |connection_delegator| ... }
click to toggle source
# File lib/rspec/hive/connector.rb, line 40 def tlcli_connect RBHive.tcli_connect(@config.host, @config.port, connection_options) do |connection| yield ConnectionDelegator.new(connection, @config) end end
Private Instance Methods
connection_options()
click to toggle source
# File lib/rspec/hive/connector.rb, line 71 def connection_options { hive_version: @config.hive_version, transport: :sasl, sasl_params: {}, logger: @config.logger, timeout: @config.connection_timeout } end
log_connection_params()
click to toggle source
# File lib/rspec/hive/connector.rb, line 50 def log_connection_params @config.logger.info('Opening connection.') @config.logger.info("Connection options: #{connection_options}") @config.logger.info("Config #{@config.inspect}") end
open_connection()
click to toggle source
# File lib/rspec/hive/connector.rb, line 56 def open_connection log_connection_params connection = RBHive::TCLIConnection.new( @config.host, @config.port, connection_options ) connection = ConnectionDelegator.new(connection, @config) connection.open connection.open_session connection end