method
translate_exception
v7.1.3.2 -
Show latest stable
-
0 notes -
Class: AbstractMysqlAdapter
- 1.0.0
- 1.1.6
- 1.2.6
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.8
- 3.0.0
- 3.0.9
- 3.1.0
- 3.2.1 (0)
- 3.2.8 (0)
- 3.2.13 (0)
- 4.0.2 (0)
- 4.1.8 (0)
- 4.2.1 (0)
- 4.2.7 (0)
- 4.2.9 (0)
- 5.0.0.1
- 5.1.7
- 5.2.3
- 6.0.0 (0)
- 6.1.3.1 (0)
- 6.1.7.7 (0)
- 7.0.0 (0)
- 7.1.3.2 (0)
- 7.1.3.4 (0)
- What's this?
translate_exception(exception, message:, sql:, binds:)
private
Hide source
# File activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb, line 779 def translate_exception(exception, message,, sql,, binds)) case error_number(exception) when nil if exception.message.match?(/MySQL client is not connected/) ConnectionNotEstablished.new(exception, connection_pool: @pool) else super end when ER_CONNECTION_KILLED, CR_SERVER_GONE_ERROR, CR_SERVER_LOST, ER_CLIENT_INTERACTION_TIMEOUT ConnectionFailed.new(message, sql: sql, binds: binds, connection_pool: @pool) when ER_DB_CREATE_EXISTS DatabaseAlreadyExists.new(message, sql: sql, binds: binds, connection_pool: @pool) when ER_DUP_ENTRY RecordNotUnique.new(message, sql: sql, binds: binds, connection_pool: @pool) when ER_NO_REFERENCED_ROW, ER_ROW_IS_REFERENCED, ER_ROW_IS_REFERENCED_2, ER_NO_REFERENCED_ROW_2 InvalidForeignKey.new(message, sql: sql, binds: binds, connection_pool: @pool) when ER_CANNOT_ADD_FOREIGN, ER_FK_INCOMPATIBLE_COLUMNS mismatched_foreign_key(message, sql: sql, binds: binds, connection_pool: @pool) when ER_CANNOT_CREATE_TABLE if message.include?("errno: 150") mismatched_foreign_key(message, sql: sql, binds: binds, connection_pool: @pool) else super end when ER_DATA_TOO_LONG ValueTooLong.new(message, sql: sql, binds: binds, connection_pool: @pool) when ER_OUT_OF_RANGE RangeError.new(message, sql: sql, binds: binds, connection_pool: @pool) when ER_NOT_NULL_VIOLATION, ER_DO_NOT_HAVE_DEFAULT NotNullViolation.new(message, sql: sql, binds: binds, connection_pool: @pool) when ER_LOCK_DEADLOCK Deadlocked.new(message, sql: sql, binds: binds, connection_pool: @pool) when ER_LOCK_WAIT_TIMEOUT LockWaitTimeout.new(message, sql: sql, binds: binds, connection_pool: @pool) when ER_QUERY_TIMEOUT, ER_FILSORT_ABORT StatementTimeout.new(message, sql: sql, binds: binds, connection_pool: @pool) when ER_QUERY_INTERRUPTED QueryCanceled.new(message, sql: sql, binds: binds, connection_pool: @pool) else super end end