Sha256: 5a304ce2e7bbb680cc2af7b06415786ce6c0e0fe99e6eb304c3c38b068997f10
Contents?: true
Size: 1.81 KB
Versions: 13
Compression:
Stored size: 1.81 KB
Contents
# frozen-string-literal: true Sequel::JDBC.load_driver('Java::cubrid.jdbc.driver.CUBRIDDriver') Sequel.require 'adapters/shared/cubrid' Sequel.require 'adapters/jdbc/transactions' module Sequel module JDBC Sequel.synchronize do DATABASE_SETUP[:cubrid] = proc do |db| db.extend(Sequel::JDBC::Cubrid::DatabaseMethods) db.extend_datasets Sequel::Cubrid::DatasetMethods Java::cubrid.jdbc.driver.CUBRIDDriver end end module Cubrid module DatabaseMethods extend Sequel::Database::ResetIdentifierMangling include Sequel::Cubrid::DatabaseMethods include Sequel::JDBC::Transactions def supports_savepoints? false end private # Get the last inserted id using LAST_INSERT_ID(). def last_insert_id(conn, opts=OPTS) if stmt = opts[:stmt] rs = stmt.getGeneratedKeys begin if rs.next rs.getLong(1) end rescue NativeException nil ensure rs.close end end end # Use execute instead of executeUpdate. def execute_prepared_statement_insert(stmt) stmt.execute end # Return generated keys for insert statements, and use # execute intead of executeUpdate as CUBRID doesn't # return generated keys in executeUpdate. def execute_statement_insert(stmt, sql) stmt.execute(sql, JavaSQL::Statement.RETURN_GENERATED_KEYS) end # Return generated keys for insert statements. def prepare_jdbc_statement(conn, sql, opts) opts[:type] == :insert ? conn.prepareStatement(sql, JavaSQL::Statement.RETURN_GENERATED_KEYS) : super end end end end end
Version data entries
13 entries across 13 versions & 2 rubygems