VALUE Init_oci8(void) { #if 0 oci8_cOCIHandle = rb_define_class("OCIHandle", rb_cObject); cOCI8 = rb_define_class("OCI8", oci8_cOCIHandle); #endif cOCI8 = oci8_define_class("OCI8", &oci8_svcctx_class); cSession = oci8_define_class_under(cOCI8, "Session", &oci8_svcctx_associate_class); cServer = oci8_define_class_under(cOCI8, "Server", &oci8_svcctx_associate_class); id_at_session_handle = rb_intern("@session_handle"); id_at_server_handle = rb_intern("@server_handle"); oracle_client_vernum = INT2FIX(oracle_client_version); if (have_OCIClientVersion) { sword major, minor, update, patch, port_update; OCIClientVersion(&major, &minor, &update, &patch, &port_update); oracle_client_vernum = INT2FIX(ORAVERNUM(major, minor, update, patch, port_update)); } sym_SYSDBA = ID2SYM(rb_intern("SYSDBA")); sym_SYSOPER = ID2SYM(rb_intern("SYSOPER")); id_at_prefetch_rows = rb_intern("@prefetch_rows"); id_set_prefetch_rows = rb_intern("prefetch_rows="); rb_define_const(cOCI8, "VERSION", rb_obj_freeze(rb_usascii_str_new_cstr(OCI8LIB_VERSION))); rb_define_singleton_method_nodoc(cOCI8, "oracle_client_vernum", oci8_s_oracle_client_vernum, 0); rb_define_singleton_method_nodoc(cOCI8, "__set_property", oci8_s_set_property, 2); if (have_OCIMessageOpen && have_OCIMessageGet) { rb_define_singleton_method(cOCI8, "error_message", oci8_s_error_message, 1); } rb_define_private_method(cOCI8, "parse_connect_string", oci8_parse_connect_string, 1); rb_define_private_method(cOCI8, "logon", oci8_logon, 3); rb_define_private_method(cOCI8, "allocate_handles", oci8_allocate_handles, 0); rb_define_private_method(cOCI8, "session_handle", oci8_get_session_handle, 0); rb_define_private_method(cOCI8, "server_handle", oci8_get_server_handle, 0); rb_define_private_method(cOCI8, "server_attach", oci8_server_attach, 2); rb_define_private_method(cOCI8, "session_begin", oci8_session_begin, 2); rb_define_method(cOCI8, "logoff", oci8_svcctx_logoff, 0); rb_define_method(cOCI8, "parse", oci8_svcctx_parse, 1); rb_define_method(cOCI8, "commit", oci8_commit, 0); rb_define_method(cOCI8, "rollback", oci8_rollback, 0); rb_define_method(cOCI8, "non_blocking?", oci8_non_blocking_p, 0); rb_define_method(cOCI8, "non_blocking=", oci8_set_non_blocking, 1); rb_define_method(cOCI8, "autocommit?", oci8_autocommit_p, 0); rb_define_method(cOCI8, "autocommit=", oci8_set_autocommit, 1); rb_define_method(cOCI8, "long_read_len", oci8_long_read_len, 0); rb_define_method(cOCI8, "long_read_len=", oci8_set_long_read_len, 1); rb_define_method(cOCI8, "break", oci8_break, 0); rb_define_method(cOCI8, "prefetch_rows=", oci8_set_prefetch_rows, 1); rb_define_private_method(cOCI8, "oracle_server_vernum", oci8_oracle_server_vernum, 0); rb_define_method(cOCI8, "ping", oci8_ping, 0); rb_define_method(cOCI8, "client_identifier=", oci8_set_client_identifier, 1); rb_define_method(cOCI8, "module=", oci8_set_module, 1); rb_define_method(cOCI8, "action=", oci8_set_action, 1); rb_define_method(cOCI8, "client_info=", oci8_set_client_info, 1); return cOCI8; }
VALUE Init_oci8(void) { #if 0 /* * OCIHandle is the abstract base class for all OCI handles and * descriptors which are opaque data types of Oracle Call Interface. */ oci8_cOCIHandle = rb_define_class("OCIHandle", rb_cObject); cOCI8 = rb_define_class("OCI8", oci8_cOCIHandle); #endif cOCI8 = oci8_define_class("OCI8", &oci8_svcctx_class); oracle_client_vernum = INT2FIX(oracle_client_version); if (have_OCIClientVersion) { sword major, minor, update, patch, port_update; OCIClientVersion(&major, &minor, &update, &patch, &port_update); oracle_client_vernum = INT2FIX(ORAVERNUM(major, minor, update, patch, port_update)); } sym_SYSDBA = ID2SYM(rb_intern("SYSDBA")); sym_SYSOPER = ID2SYM(rb_intern("SYSOPER")); id_at_prefetch_rows = rb_intern("@prefetch_rows"); id_at_username = rb_intern("@username"); id_set_prefetch_rows = rb_intern("prefetch_rows="); rb_define_singleton_method_nodoc(cOCI8, "oracle_client_vernum", oci8_s_oracle_client_vernum, 0); if (have_OCIMessageOpen && have_OCIMessageGet) { rb_define_singleton_method(cOCI8, "error_message", oci8_s_error_message, 1); } rb_define_private_method(cOCI8, "parse_connect_string", oci8_parse_connect_string, 1); rb_define_method(cOCI8, "initialize", oci8_svcctx_initialize, -1); rb_define_method(cOCI8, "logoff", oci8_svcctx_logoff, 0); rb_define_method(cOCI8, "parse", oci8_svcctx_parse, 1); rb_define_method(cOCI8, "commit", oci8_commit, 0); rb_define_method(cOCI8, "rollback", oci8_rollback, 0); rb_define_method(cOCI8, "non_blocking?", oci8_non_blocking_p, 0); rb_define_method(cOCI8, "non_blocking=", oci8_set_non_blocking, 1); rb_define_method(cOCI8, "autocommit?", oci8_autocommit_p, 0); rb_define_method(cOCI8, "autocommit=", oci8_set_autocommit, 1); rb_define_method(cOCI8, "long_read_len", oci8_long_read_len, 0); rb_define_method(cOCI8, "long_read_len=", oci8_set_long_read_len, 1); rb_define_method(cOCI8, "break", oci8_break, 0); rb_define_method(cOCI8, "prefetch_rows=", oci8_set_prefetch_rows, 1); rb_define_private_method(cOCI8, "oracle_server_vernum", oci8_oracle_server_vernum, 0); rb_define_method(cOCI8, "ping", oci8_ping, 0); rb_define_method(cOCI8, "client_identifier=", oci8_set_client_identifier, 1); rb_define_method(cOCI8, "module=", oci8_set_module, 1); rb_define_method(cOCI8, "action=", oci8_set_action, 1); rb_define_method(cOCI8, "client_info=", oci8_set_client_info, 1); return cOCI8; }