public class JdbcAdapterInternalService implements BasicLibraryService {
public boolean basicLoad(final Ruby runtime) throws IOException {
RubyClass cJdbcConn = ((RubyModule)(runtime.getModule("ActiveRecord").getConstant("ConnectionAdapters"))).
defineClassUnder("JdbcConnection",runtime.getObject(),runtime.getObject().getAllocator());
CallbackFactory cf = runtime.callbackFactory(JdbcAdapterInternalService.class);
cJdbcConn.defineMethod("unmarshal_result",cf.getSingletonMethod("unmarshal_result", IRubyObject.class));
cJdbcConn.defineFastMethod("set_connection",cf.getFastSingletonMethod("set_connection", IRubyObject.class));
cJdbcConn.defineFastMethod("execute_update",cf.getFastSingletonMethod("execute_update", IRubyObject.class));
cJdbcConn.defineFastMethod("execute_query",cf.getFastOptSingletonMethod("execute_query"));
cJdbcConn.defineFastMethod("execute_insert",cf.getFastSingletonMethod("execute_insert", IRubyObject.class));
cJdbcConn.defineFastMethod("execute_id_insert",cf.getFastSingletonMethod("execute_id_insert", IRubyObject.class, IRubyObject.class));
cJdbcConn.defineFastMethod("primary_keys",cf.getFastSingletonMethod("primary_keys", IRubyObject.class));
cJdbcConn.defineFastMethod("set_native_database_types",cf.getFastSingletonMethod("set_native_database_types"));
cJdbcConn.defineFastMethod("native_database_types",cf.getFastSingletonMethod("native_database_types"));
cJdbcConn.defineFastMethod("begin",cf.getFastSingletonMethod("begin"));
cJdbcConn.defineFastMethod("commit",cf.getFastSingletonMethod("commit"));
cJdbcConn.defineFastMethod("rollback",cf.getFastSingletonMethod("rollback"));
cJdbcConn.defineFastMethod("database_name",cf.getFastSingletonMethod("database_name"));
cJdbcConn.defineFastMethod("columns",cf.getFastOptSingletonMethod("columns_internal"));
cJdbcConn.defineFastMethod("columns_internal",cf.getFastOptSingletonMethod("columns_internal"));
cJdbcConn.defineFastMethod("tables",cf.getFastOptSingletonMethod("tables"));
cJdbcConn.defineFastMethod("insert_bind",cf.getFastOptSingletonMethod("insert_bind"));
cJdbcConn.defineFastMethod("update_bind",cf.getFastOptSingletonMethod("update_bind"));
cJdbcConn.defineFastMethod("write_large_object",cf.getFastOptSingletonMethod("write_large_object"));
RubyModule jdbcSpec = runtime.getOrCreateModule("JdbcSpec");
JDBCMySQLSpec.load(runtime, jdbcSpec);
JDBCDerbySpec.load(runtime, jdbcSpec);