Class: Dataflow::Adapters::MysqlAdapter

Inherits:
SqlAdapter
  • Object
show all
Defined in:
lib/dataflow/adapters/mysql_adapter.rb

Overview

Interface between a data node and mongodb. We use mongodb to perform all the store/retrieve operations.

Constant Summary

Constants inherited from SqlAdapter

SqlAdapter::SYSTEM_ID

Instance Attribute Summary

Attributes inherited from SqlAdapter

#client, #settings

Instance Method Summary collapse

Methods inherited from SqlAdapter

#all, client, #count, #create_indexes, #delete, disconnect_clients, #find, #initialize, #ordered_system_id_queries, #recreate_dataset, #save, try_create_db, #update_settings, #usage

Constructor Details

This class inherits a constructor from Dataflow::Adapters::SqlAdapter

Instance Method Details

#fetch_table_usage(dataset:) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/dataflow/adapters/mysql_adapter.rb', line 7

def fetch_table_usage(dataset:)
  size = client["SELECT data_length + index_length as size from information_schema.TABLES WHERE table_schema = '#{settings.db_name}' and table_name = '#{dataset}'"].first[:size]
  {
    memory: size,
    storage: size
  }
rescue Sequel::DatabaseError => e
  {
    memory: 0,
    storage: 0
  }
end