class Purview::RawConnections::JDBC::Base
Attributes
last_sql[R]
last_statement[R]
Private Instance Methods
delete_or_insert_or_update?(sql)
click to toggle source
# File lib/purview/raw_connections/jdbc/base.rb, line 9 def delete_or_insert_or_update?(sql) delete?(sql) || insert?(sql) || update?(sql) end
execute_sql(sql, opts={})
click to toggle source
# File lib/purview/raw_connections/jdbc/base.rb, line 13 def execute_sql(sql, opts={}) @last_sql = sql @last_statement = statement = raw_connection.createStatement if select?(sql) statement.executeQuery(sql) elsif delete_or_insert_or_update?(sql) statement.executeUpdate(sql) nil else statement.execute(sql) nil end end
extract_rows(result)
click to toggle source
# File lib/purview/raw_connections/jdbc/base.rb, line 27 def extract_rows(result) if result metadata = result.getMetaData column_count = metadata.getColumnCount [].tap do |rows| while result.next rows << {}.tap do |row| (1..column_count).each do |index| column_name = metadata.getColumnName(index) row[column_name] = result.getString(column_name) end end end end end end
extract_rows_affected(result)
click to toggle source
# File lib/purview/raw_connections/jdbc/base.rb, line 44 def extract_rows_affected(result) delete_or_insert_or_update?(last_sql) ? last_statement.getUpdateCount : 0 end
new_connection()
click to toggle source
# File lib/purview/raw_connections/jdbc/base.rb, line 48 def new_connection java.sql.DriverManager.getConnection( url, username, password ) end
url()
click to toggle source
# File lib/purview/raw_connections/jdbc/base.rb, line 56 def url raise %{All "#{Base}(s)" must override the "url" method} end