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

add_extensions, #all, #all_paginated, client, #count, #create_indexes, #delete, disconnect_clients, #drop_dataset, #find, #initialize, #ordered_system_id_queries, #recreate_dataset, #retrieve_dataset_indexes, #save, #transform_to_query, try_create_db, #update_settings

Constructor Details

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

Instance Method Details

#regex_case_insensitive_opObject



24
25
26
# File 'lib/dataflow/adapters/mysql_adapter.rb', line 24

def regex_case_insensitive_op
  'REGEXP'
end

#regex_case_senstive_opObject

Raises:

  • (NotImplementedError)


20
21
22
# File 'lib/dataflow/adapters/mysql_adapter.rb', line 20

def regex_case_senstive_op
  raise NotImplementedError, 'Mysql does not support a case sensitive regex matching operator'
end

#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 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