Sha256: 80be8c8a3182360517b13d6abbed1c99ca0c06585afd514fb57a644866e48b12
Contents?: true
Size: 1.14 KB
Versions: 1
Compression:
Stored size: 1.14 KB
Contents
module TestSqlHelper def setup_connection @con = Rubeus::Jdbc::DriverManager.connect("jdbc:derby:test_db;create = true", "", "") end def teardown_connection @con.close end def close_if_no_statement(statement = nil) must_be_closed = statement.nil? statement ||= @con.create_statement begin yield(statement) ensure statement.close if must_be_closed end end def drop_table_if_exist(table_name, statement = nil) close_if_no_statement(statement) do |stmt| begin stmt.execute_update("DROP TABLE #{table_name}") rescue # the table doesn't exist but do nothing end end end def create_table_after_drop(create_ddl, statement = nil) create_ddls = create_ddl.split(/\;/mi).map{|ddl| ddl.strip }.select{|ddl| !(ddl.nil? || ddl.empty?) } table_names = create_ddls.map{|ddl| ddl.scan(/^\s*CREATE TABLE\s+?(.+?)[\s\($]/mi)} close_if_no_statement(statement) do |stmt| table_names.reverse.each do |table_name| drop_table_if_exist(table_name, stmt) end create_ddls.each do |ddl| stmt.execute_update(ddl) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rubeus-0.0.8-java | test/rubeus/extensions/java/sql/test_sql_helper.rb |