Class: Flydata::SourceMysql::SyncDatabaseSizeCheck

Inherits:
Object
  • Object
show all
Includes:
MysqlAccessible
Defined in:
lib/flydata/source_mysql/sync_database_size_check.rb

Constant Summary collapse

SIZE_CHECK_QUERY =
"SELECT\n  SUM(data_length) bytesize\nFROM\n  information_schema.tables\nWHERE\n  table_schema = '%s' AND table_name in (%s);\n"

Instance Method Summary collapse

Methods included from MysqlAccessible

#build_mysql_db_opts, #exec_mysql_query, #mysql_client

Constructor Details

#initialize(de_conf) ⇒ SyncDatabaseSizeCheck



17
18
19
20
21
22
# File 'lib/flydata/source_mysql/sync_database_size_check.rb', line 17

def initialize(de_conf)
  super
  @query = SIZE_CHECK_QUERY % [
    de_conf['database'],
    tables = de_conf['tables'].collect{|t| "'#{t}'"}.join(',')]
end

Instance Method Details

#get_db_bytesizeObject



24
25
26
# File 'lib/flydata/source_mysql/sync_database_size_check.rb', line 24

def get_db_bytesize
  exec_mysql_query(@query).first['bytesize'].to_i
end