class LogStash::DrupalDblogJavaMysqlConnection
A JDBC mysql connection class. The interface is compatible with the mysql2 API.
Public Class Methods
new(host, username, password, database, port = nil)
click to toggle source
# File lib/logstash/inputs/drupal_dblog/jdbcconnection.rb, line 12 def initialize(host, username, password, database, port = nil) port ||= 3306 address = "jdbc:mysql://#{host}:#{port}/#{database}" @connection = java.sql.DriverManager.getConnection(address, username, password) end
Public Instance Methods
close()
click to toggle source
# File lib/logstash/inputs/drupal_dblog/jdbcconnection.rb, line 62 def close @connection.close end
query(sql)
click to toggle source
# File lib/logstash/inputs/drupal_dblog/jdbcconnection.rb, line 19 def query(sql) if sql =~ /select/i return select(sql) else return update(sql) end end
select(sql)
click to toggle source
# File lib/logstash/inputs/drupal_dblog/jdbcconnection.rb, line 27 def select(sql) stmt = @connection.createStatement resultSet = stmt.executeQuery(sql) meta = resultSet.getMetaData column_count = meta.getColumnCount rows = [] while resultSet.next res = {} (1..column_count).each do |i| name = meta.getColumnName(i) case meta.getColumnType(i) when java.sql.Types::INTEGER res[name] = resultSet.getInt(name) else res[name] = resultSet.getString(name) end end rows << res end stmt.close return rows end
update(sql)
click to toggle source
# File lib/logstash/inputs/drupal_dblog/jdbcconnection.rb, line 56 def update(sql) stmt = @connection.createStatement stmt.execute_update(sql) stmt.close end