#!/usr/bin/ruby -Ke

require "mysql"

# MySQL Host and User info
DB_HOST = 'localhost'
DB_USER = 'apache'
DB_PASS = 'apache'

# MySQL Database Name
DB_NAME = 'toribankopen'

# Target List
target_list = [ [ "crest_tougo_code", "code", false ], [ "crest_yougen_imicode", "code", false ], [ "crest_cb_imicode_kw", "code", false ], [ "crest_cb_kw", "kw", true ] ]

def dump_db( target_table, output_filename, sort_key, flag = false )
  db = Array::new

  mysql = Mysql::new( DB_HOST, DB_USER, DB_PASS, DB_NAME )

  hist = Hash.new(false)
  
  ret = mysql.query( "SELECT * FROM #{target_table};" )
  ret.each_hash{ |values|
    if ! values[sort_key].empty? then
      if flag then
        if hist[values[sort_key]] then
          next
        end
	hist[values[sort_key]] = true
      end
      db << values
    end
  }

  mysql.close

  db.sort!{ |x, y| x[sort_key] <=> y[sort_key] }
  db.uniq!

  fp = File::open( output_filename, "w" )
  Marshal::dump( db, fp )
  fp.close
end

target_list.each{ |tbl_name, sort_key, remove_dup_key|
  fname = tbl_name.dup
  fname.sub!( /^crest_/, '' )
  $stderr.puts "Processing: #{tbl_name}"
  dump_db( tbl_name, fname + '.db', sort_key, remove_dup_key )
}

