Ejemplo n.º 1
0
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);
}
Ejemplo n.º 2
0
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);
}
Ejemplo n.º 3
0
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);
}