class ActiveRecord::ConnectionAdapters::Mysql2Adapter
Active Record MySQL2 Адаптер
Константы
- ADAPTER_NAME
- ER_ACCESS_DENIED_ERROR
- ER_BAD_DB_ERROR
- ER_CONN_HOST_ERROR
- ER_DBACCESS_DENIED_ERROR
- ER_UNKNOWN_HOST_ERROR
- TYPE_MAP
Открытые методы класса
# File activerecord/lib/active_record/connection_adapters/mysql2_adapter.rb, line 66
def initialize(...)
super
@config[:flags] ||= 0
if @config[:flags].kind_of? Array
@config[:flags].push "FOUND_ROWS"
else
@config[:flags] |= ::Mysql2::Client::FOUND_ROWS
end
@connection_parameters ||= @config
end Вызывает метод родительского класса
ActiveRecord::ConnectionAdapters::QueryCache::new # File activerecord/lib/active_record/connection_adapters/mysql2_adapter.rb, line 35
def new_client(config)
::Mysql2::Client.new(config)
rescue ::Mysql2::Error => error
case error.error_number
when ER_BAD_DB_ERROR
raise ActiveRecord::NoDatabaseError.db_error(config[:database])
when ER_DBACCESS_DENIED_ERROR, ER_ACCESS_DENIED_ERROR
raise ActiveRecord::DatabaseConnectionError.username_error(config[:username])
when ER_CONN_HOST_ERROR, ER_UNKNOWN_HOST_ERROR
raise ActiveRecord::DatabaseConnectionError.hostname_error(config[:host])
else
raise ActiveRecord::ConnectionNotEstablished, error.message
end
end Открытые методы экземпляра
# File activerecord/lib/active_record/connection_adapters/mysql2_adapter.rb, line 133 def active? !!@raw_connection&.ping end
# File activerecord/lib/active_record/connection_adapters/mysql2_adapter.rb, line 141 def disconnect! super @raw_connection&.close @raw_connection = nil end
Отключается от базы данных, если уже подключен. В противном случае этот метод ничего не делает.
Вызывает метод родительского класса
ActiveRecord::ConnectionAdapters::AbstractAdapter#disconnect! # File activerecord/lib/active_record/connection_adapters/mysql2_adapter.rb, line 114 def error_number(exception) exception.error_number if exception.respond_to?(:error_number) end
# File activerecord/lib/active_record/connection_adapters/mysql2_adapter.rb, line 123
def quote_string(string)
with_raw_connection(allow_retry: true, materialize_transactions: false) do |connection|
connection.escape(string)
end
end Приводит строки в кавычки для использования в SQL-вводе.
# File activerecord/lib/active_record/connection_adapters/mysql2_adapter.rb, line 96 def savepoint_errors_invalidate_transactions? true end
# File activerecord/lib/active_record/connection_adapters/mysql2_adapter.rb, line 84 def supports_comments? true end
# File activerecord/lib/active_record/connection_adapters/mysql2_adapter.rb, line 88 def supports_comments_in_create? true end
# File activerecord/lib/active_record/connection_adapters/mysql2_adapter.rb, line 80 def supports_json? !mariadb? && database_version >= "5.7.8" end
# File activerecord/lib/active_record/connection_adapters/mysql2_adapter.rb, line 100 def supports_lazy_transactions? true end
# File activerecord/lib/active_record/connection_adapters/mysql2_adapter.rb, line 92 def supports_savepoints? true end
© 2004–2021 David Heinemeier Hansson
Licensed under the MIT License.