class Patriot::Util::DBClient::MySQL2Client
NOT thread safe
Public Class Methods
new(dbconf)
click to toggle source
@param dbconf [Hash] dbclient configuration
# File lib/patriot/util/db_client/mysql2_client.rb, line 16 def initialize(dbconf) conf = dbconf conf[:port] = dbconf[:port].to_i @connection = Mysql2::Client.new(conf) end
Public Instance Methods
build_insert_query(tbl, value, option = {})
click to toggle source
@see Patriot::Util::DBClient::Base#build_insert_query
# File lib/patriot/util/db_client/mysql2_client.rb, line 28 def build_insert_query(tbl, value, option = {}) option = {:ignore => false}.merge(option) cols, vals = [], [] value.each do |c,v| cols << c vals << quote(v) end if option[:ignore] return "INSERT IGNORE INTO #{tbl} (#{cols.join(',')}) VALUES (#{vals.join(',')})" else return "INSERT INTO #{tbl} (#{cols.join(',')}) VALUES (#{vals.join(',')})" end end
close()
click to toggle source
@see Patriot::Util::DBClient::Base#close
# File lib/patriot/util/db_client/mysql2_client.rb, line 55 def close() @connection.close unless @connection.nil? end
do_insert(query)
click to toggle source
@see Patriot::Util::DBClient::Base#do_insert
# File lib/patriot/util/db_client/mysql2_client.rb, line 43 def do_insert(query) @connection.query(query) return @connection.last_id end
do_select(query)
click to toggle source
@see Patriot::Util::DBClient::Base#do_select
# File lib/patriot/util/db_client/mysql2_client.rb, line 23 def do_select(query) return @connection.query(query).map{|r| HashRecord.new(r)} end
do_update(query)
click to toggle source
@see Patriot::Util::DBClient::Base#do_update
# File lib/patriot/util/db_client/mysql2_client.rb, line 49 def do_update(query) @connection.query(query) return @connection.affected_rows end
quote(v)
click to toggle source
@see Patriot::Util::DBClient::Base#quote
# File lib/patriot/util/db_client/mysql2_client.rb, line 60 def quote(v) return 'NULL' if v.nil? return "'#{v.to_s}'" if v.is_a?(DateTime) || v.is_a?(Time) val = (v.is_a?(String) ? "'#{Mysql2::Client.escape(v)}'" : v) return val end