void Init_do_postgres() { data_objects_common_init(); mDO_Postgres = rb_define_module_under(mDO, "Postgres"); mDO_PostgresEncoding = rb_define_module_under(mDO_Postgres, "Encoding"); cDO_PostgresConnection = rb_define_class_under(mDO_Postgres, "Connection", cDO_Connection); rb_define_method(cDO_PostgresConnection, "initialize", do_postgres_cConnection_initialize, 1); rb_define_method(cDO_PostgresConnection, "dispose", do_postgres_cConnection_dispose, 0); rb_define_method(cDO_PostgresConnection, "character_set", data_objects_cConnection_character_set , 0); rb_define_method(cDO_PostgresConnection, "quote_string", do_postgres_cConnection_quote_string, 1); rb_define_method(cDO_PostgresConnection, "quote_byte_array", do_postgres_cConnection_quote_byte_array, 1); cDO_PostgresCommand = rb_define_class_under(mDO_Postgres, "Command", cDO_Command); rb_define_method(cDO_PostgresCommand, "set_types", data_objects_cCommand_set_types, -1); rb_define_method(cDO_PostgresCommand, "execute_non_query", do_postgres_cCommand_execute_non_query, -1); rb_define_method(cDO_PostgresCommand, "execute_reader", do_postgres_cCommand_execute_reader, -1); cDO_PostgresResult = rb_define_class_under(mDO_Postgres, "Result", cDO_Result); cDO_PostgresReader = rb_define_class_under(mDO_Postgres, "Reader", cDO_Reader); rb_define_method(cDO_PostgresReader, "close", do_postgres_cReader_close, 0); rb_define_method(cDO_PostgresReader, "next!", do_postgres_cReader_next, 0); rb_define_method(cDO_PostgresReader, "values", data_objects_cReader_values, 0); rb_define_method(cDO_PostgresReader, "fields", data_objects_cReader_fields, 0); rb_define_method(cDO_PostgresReader, "field_count", data_objects_cReader_field_count, 0); rb_global_variable(&cDO_PostgresResult); rb_global_variable(&cDO_PostgresReader); data_objects_define_errors(mDO_Postgres, do_postgres_errors); }
void Init_do_sqlite3() { data_objects_common_init(); mSqlite3 = rb_define_module_under(mDO, "Sqlite3"); cSqlite3Connection = rb_define_class_under(mSqlite3, "Connection", cDO_Connection); rb_define_method(cSqlite3Connection, "initialize", do_sqlite3_cConnection_initialize, 1); rb_define_method(cSqlite3Connection, "dispose", do_sqlite3_cConnection_dispose, 0); rb_define_method(cSqlite3Connection, "quote_boolean", do_sqlite3_cConnection_quote_boolean, 1); rb_define_method(cSqlite3Connection, "quote_string", do_sqlite3_cConnection_quote_string, 1); rb_define_method(cSqlite3Connection, "quote_byte_array", do_sqlite3_cConnection_quote_byte_array, 1); rb_define_method(cSqlite3Connection, "character_set", data_objects_cConnection_character_set, 0); cSqlite3Command = rb_define_class_under(mSqlite3, "Command", cDO_Command); rb_define_method(cSqlite3Command, "set_types", data_objects_cCommand_set_types, -1); rb_define_method(cSqlite3Command, "execute_non_query", do_sqlite3_cCommand_execute_non_query, -1); rb_define_method(cSqlite3Command, "execute_reader", do_sqlite3_cCommand_execute_reader, -1); cSqlite3Result = rb_define_class_under(mSqlite3, "Result", cDO_Result); cSqlite3Reader = rb_define_class_under(mSqlite3, "Reader", cDO_Reader); rb_define_method(cSqlite3Reader, "close", do_sqlite3_cReader_close, 0); rb_define_method(cSqlite3Reader, "next!", do_sqlite3_cReader_next, 0); rb_define_method(cSqlite3Reader, "values", do_sqlite3_cReader_values, 0); // TODO: DRY? rb_define_method(cSqlite3Reader, "fields", data_objects_cReader_fields, 0); rb_define_method(cSqlite3Reader, "field_count", data_objects_cReader_field_count, 0); rb_global_variable(&cSqlite3Result); rb_global_variable(&cSqlite3Reader); OPEN_FLAG_READONLY = rb_str_new2("read_only"); rb_global_variable(&OPEN_FLAG_READONLY); OPEN_FLAG_READWRITE = rb_str_new2("read_write"); rb_global_variable(&OPEN_FLAG_READWRITE); OPEN_FLAG_CREATE = rb_str_new2("create"); rb_global_variable(&OPEN_FLAG_CREATE); OPEN_FLAG_NO_MUTEX = rb_str_new2("no_mutex"); rb_global_variable(&OPEN_FLAG_NO_MUTEX); OPEN_FLAG_FULL_MUTEX = rb_str_new2("full_mutex"); rb_global_variable(&OPEN_FLAG_FULL_MUTEX); Init_do_sqlite3_extension(); data_objects_define_errors(mSqlite3, do_sqlite3_errors); }
void Init_do_mysql() { data_objects_common_init(); // Top Level Module that all the classes live under mMysql = rb_define_module_under(mDO, "Mysql"); mEncoding = rb_define_module_under(mMysql, "Encoding"); cMysqlConnection = rb_define_class_under(mMysql, "Connection", cDO_Connection); rb_define_method(cMysqlConnection, "initialize", do_mysql_cConnection_initialize, 1); rb_define_method(cMysqlConnection, "using_socket?", data_objects_cConnection_is_using_socket, 0); rb_define_method(cMysqlConnection, "ssl_cipher", data_objects_cConnection_ssl_cipher, 0); rb_define_method(cMysqlConnection, "character_set", data_objects_cConnection_character_set , 0); rb_define_method(cMysqlConnection, "dispose", do_mysql_cConnection_dispose, 0); rb_define_method(cMysqlConnection, "quote_string", do_mysql_cConnection_quote_string, 1); rb_define_method(cMysqlConnection, "quote_date", data_objects_cConnection_quote_date, 1); rb_define_method(cMysqlConnection, "quote_time", data_objects_cConnection_quote_time, 1); rb_define_method(cMysqlConnection, "quote_datetime", data_objects_cConnection_quote_date_time, 1); cMysqlCommand = rb_define_class_under(mMysql, "Command", cDO_Command); rb_define_method(cMysqlCommand, "set_types", data_objects_cCommand_set_types, -1); rb_define_method(cMysqlCommand, "execute_non_query", do_mysql_cCommand_execute_non_query, -1); rb_define_method(cMysqlCommand, "execute_reader", do_mysql_cCommand_execute_reader, -1); // Non-Query result cMysqlResult = rb_define_class_under(mMysql, "Result", cDO_Result); // Query result cMysqlReader = rb_define_class_under(mMysql, "Reader", cDO_Reader); rb_define_method(cMysqlReader, "close", do_mysql_cReader_close, 0); rb_define_method(cMysqlReader, "next!", do_mysql_cReader_next, 0); rb_define_method(cMysqlReader, "values", data_objects_cReader_values, 0); rb_define_method(cMysqlReader, "fields", data_objects_cReader_fields, 0); rb_define_method(cMysqlReader, "field_count", data_objects_cReader_field_count, 0); rb_global_variable(&cMysqlResult); rb_global_variable(&cMysqlReader); data_objects_define_errors(mMysql, do_mysql_errors); }