Class: Flydata::SourceMysql::Parser::DatabaseSizeCheck

Inherits:
Object
  • Object
show all
Includes:
MysqlAccessible
Defined in:
lib/flydata/source_mysql/parser/dump_parser.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

#mysql_cli, #mysql_conf

Constructor Details

#initialize(de_conf) ⇒ DatabaseSizeCheck

Returns a new instance of DatabaseSizeCheck.



640
641
642
643
644
645
# File 'lib/flydata/source_mysql/parser/dump_parser.rb', line 640

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

Instance Method Details

#get_db_bytesizeObject



647
648
649
650
651
652
653
# File 'lib/flydata/source_mysql/parser/dump_parser.rb', line 647

def get_db_bytesize
  client = mysql_cli(@de_conf)
  result = client.query(@query)
  return result.first['bytesize'].to_i
ensure
  client.close rescue nil
end