Class: DataConduit::Adapters::TrinoRepository

Inherits:
Object
  • Object
show all
Includes:
DataWarehouseRepository
Defined in:
lib/data_conduit/adapters/trino_repository.rb

Constant Summary

Constants included from DataWarehouseRepository

DataWarehouseRepository::DEFAULT_TRANSFORM_OPTIONS

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from DataWarehouseRepository

included

Constructor Details

#initialize(table_name, conditions = nil, config = {}) ⇒ TrinoRepository

Returns a new instance of TrinoRepository.



15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/data_conduit/adapters/trino_repository.rb', line 15

def initialize(table_name, conditions = nil, config = {})
  @table_name = table_name
  @conditions = conditions
  @config = default_config.merge(config)
  @server = @config[:server]
  @user = @config[:user]
  @password = @config[:password]
  @catalog = @config[:catalog]
  @schema = @config[:schema]

  validate_config!
end

Instance Attribute Details

#catalogObject (readonly)

Returns the value of attribute catalog.



13
14
15
# File 'lib/data_conduit/adapters/trino_repository.rb', line 13

def catalog
  @catalog
end

#conditionsObject (readonly)

Returns the value of attribute conditions.



13
14
15
# File 'lib/data_conduit/adapters/trino_repository.rb', line 13

def conditions
  @conditions
end

#configObject (readonly)

Returns the value of attribute config.



13
14
15
# File 'lib/data_conduit/adapters/trino_repository.rb', line 13

def config
  @config
end

#passwordObject (readonly)

Returns the value of attribute password.



13
14
15
# File 'lib/data_conduit/adapters/trino_repository.rb', line 13

def password
  @password
end

#schemaObject (readonly)

Returns the value of attribute schema.



13
14
15
# File 'lib/data_conduit/adapters/trino_repository.rb', line 13

def schema
  @schema
end

#serverObject (readonly)

Returns the value of attribute server.



13
14
15
# File 'lib/data_conduit/adapters/trino_repository.rb', line 13

def server
  @server
end

#table_nameObject (readonly)

Returns the value of attribute table_name.



13
14
15
# File 'lib/data_conduit/adapters/trino_repository.rb', line 13

def table_name
  @table_name
end

#userObject (readonly)

Returns the value of attribute user.



13
14
15
# File 'lib/data_conduit/adapters/trino_repository.rb', line 13

def user
  @user
end

Instance Method Details

#execute(sql_query) ⇒ Object



33
34
35
36
# File 'lib/data_conduit/adapters/trino_repository.rb', line 33

def execute(sql_query)
  response_data = process_response(send_query(sql_query))
  transform_response(response_data[:result_data], response_data[:result_columns])
end

#query(sql_query = nil) ⇒ Object



28
29
30
31
# File 'lib/data_conduit/adapters/trino_repository.rb', line 28

def query(sql_query = nil)
  sql_query ||= build_query
  execute(sql_query)
end