method

translate_exception

Importance_0
v7.1.3.2 - Show latest stable - 0 notes - Class: TrilogyAdapter
translate_exception(exception, message:, sql:, binds:) private

No documentation

This method has no description. You can help the Ruby on Rails community by adding new notes.

Hide source
# File activerecord/lib/active_record/connection_adapters/trilogy_adapter.rb, line 222
        def translate_exception(exception, message,, sql,, binds))
          if exception.is_a?(::Trilogy::TimeoutError) && !exception.error_code
            return ActiveRecord::AdapterTimeout.new(message, sql: sql, binds: binds, connection_pool: @pool)
          end
          error_code = exception.error_code if exception.respond_to?(:error_code)

          case error_code
          when ER_SERVER_SHUTDOWN
            return ConnectionFailed.new(message, connection_pool: @pool)
          end

          case exception
          when Errno::EPIPE, SocketError, IOError
            return ConnectionFailed.new(message, connection_pool: @pool)
          when ::Trilogy::Error
            if /Connection reset by peer|TRILOGY_CLOSED_CONNECTION|TRILOGY_INVALID_SEQUENCE_ID|TRILOGY_UNEXPECTED_PACKET/.match?(exception.message)
              return ConnectionFailed.new(message, connection_pool: @pool)
            end
          end

          super
        end
Register or log in to add new notes.