Active Record MySQL2 Adapter
- A
- D
- E
- N
- Q
- S
Constants
| ADAPTER_NAME | = | "Mysql2" |
| ER_ACCESS_DENIED_ERROR | = | 1045 |
| ER_BAD_DB_ERROR | = | 1049 |
| ER_CONN_HOST_ERROR | = | 2003 |
| ER_UNKNOWN_HOST_ERROR | = | 2005 |
| TYPE_MAP | = | Type::TypeMap.new.tap { |m| initialize_type_map(m) } |
Class Public methods
new(...) Link
Source: show
# File activerecord/lib/active_record/connection_adapters/mysql2_adapter.rb, line 64 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
new_client(config) Link
Source: show
# File activerecord/lib/active_record/connection_adapters/mysql2_adapter.rb, line 34 def new_client(config) ::Mysql2::Client.new(config) rescue ::Mysql2::Error => error if error.error_number == ConnectionAdapters::Mysql2Adapter::ER_BAD_DB_ERROR raise ActiveRecord::NoDatabaseError.db_error(config[:database]) elsif error.error_number == ConnectionAdapters::Mysql2Adapter::ER_ACCESS_DENIED_ERROR raise ActiveRecord::DatabaseConnectionError.username_error(config[:username]) elsif [ConnectionAdapters::Mysql2Adapter::ER_CONN_HOST_ERROR, ConnectionAdapters::Mysql2Adapter::ER_UNKNOWN_HOST_ERROR].include?(error.error_number) raise ActiveRecord::DatabaseConnectionError.hostname_error(config[:host]) else raise ActiveRecord::ConnectionNotEstablished, error.message end end
Instance Public methods
active?() Link
Source: show
# File activerecord/lib/active_record/connection_adapters/mysql2_adapter.rb, line 131 def active? !!@raw_connection&.ping end
disconnect!() Link
Disconnects from the database if already connected. Otherwise, this method does nothing.
Source: show
# File activerecord/lib/active_record/connection_adapters/mysql2_adapter.rb, line 139 def disconnect! super @raw_connection&.close @raw_connection = nil end
error_number(exception) Link
Source: show
# File activerecord/lib/active_record/connection_adapters/mysql2_adapter.rb, line 112 def error_number(exception) exception.error_number if exception.respond_to?(:error_number) end
quote_string(string) Link
Quotes strings for use in SQL input.
Source: show
# File activerecord/lib/active_record/connection_adapters/mysql2_adapter.rb, line 121 def quote_string(string) with_raw_connection(allow_retry: true, materialize_transactions: false) do |connection| connection.escape(string) end end
savepoint_errors_invalidate_transactions?() Link
Source: show
# File activerecord/lib/active_record/connection_adapters/mysql2_adapter.rb, line 94 def savepoint_errors_invalidate_transactions? true end
supports_comments?() Link
Source: show
# File activerecord/lib/active_record/connection_adapters/mysql2_adapter.rb, line 82 def supports_comments? true end
supports_comments_in_create?() Link
Source: show
# File activerecord/lib/active_record/connection_adapters/mysql2_adapter.rb, line 86 def supports_comments_in_create? true end
supports_json?() Link
Source: show
# File activerecord/lib/active_record/connection_adapters/mysql2_adapter.rb, line 78 def supports_json? !mariadb? && database_version >= "5.7.8" end