class HMySql

Public Class Methods

new(host, port, dbname, user, password, timezone, connectionName) click to toggle source
Calls superclass method HDB::new
# File lib/hdb/hmysql.rb, line 32
def initialize(host, port, dbname, user, password, timezone, connectionName)

  super(host, port, dbname, user, password, timezone, connectionName, "hmysql")
  @result = nil

end

Public Instance Methods

_execute(queryStr = self.queryStr) click to toggle source
# File lib/hdb/hmysql.rb, line 55
def _execute(queryStr = self.queryStr) 

  @result = @connection.query(queryStr)
  
  return self unless @result
  
  @resultTable = HFieldTable.new()
  self.fieldNameList().each { |fieldName| @resultTable.addFieldName(fieldName) }
  @resultTable.makeCaption()
  r = 0
  @result.each do |row|  
    row.each_with_index do |fieldValue, c|
      @resultTable.setDataByFieldIndex(r, c, fieldValue.to_s)
    end
    r += 1
  end

  return self

end
connect() click to toggle source
# File lib/hdb/hmysql.rb, line 39
def connect()

  @connection = Mysql.new(@host, @user, @password, @dbname, @port.to_i)
  #hl << "Server version: #{self.execute("SHOW server_version").dataByFieldIndex(0,0).to_s}"
  self.execute("SET time_zone = '#{@timezone}'") if @timezone
  return @connection

end
disconnect() click to toggle source
# File lib/hdb/hmysql.rb, line 48
def disconnect()

  @connection.close()
  @connection = nil

end
fieldNameList() click to toggle source
# File lib/hdb/hmysql.rb, line 76
def fieldNameList()

  fieldList = HList.new()
  
  @result.fetch_fields.each { |field| fieldList << field.name }
  
  return fieldList

end
insert(tableName, values) click to toggle source
# File lib/hdb/hmysql.rb, line 86
def insert(tableName, values)

  self.execute("INSERT INTO #{tableName} #{self.insertValues(values)}")
  return @connection.insert_id

end
rowsAffected() click to toggle source
# File lib/hdb/hmysql.rb, line 93
def rowsAffected
  return @connection.affected_rows()
end