module PgPower::ConnectionAdapters::PostgreSQLAdapter::TranslateException
Extend ActiveRecord::ConnectionAdapter::PostgreSQLAdapter logic to wrap more pg-specific errors into specific exception classes
Constants
- INSUFFICIENT_PRIVILEGE
See www.postgresql.org/docs/9.1/static/errcodes-appendix.html
Public Instance Methods
translate_exception(exception, message)
click to toggle source
Intercept insufficient privilege PGError and raise active_record wrapped database exception
Calls superclass method
# File lib/pg_power/connection_adapters/postgresql_adapter/translate_exception.rb, line 8 def translate_exception(exception, message) exception_result = exception.result case exception_result.try(:error_field, PGresult::PG_DIAG_SQLSTATE) when INSUFFICIENT_PRIVILEGE exc_message = exception_result.try(:error_field, PGresult::PG_DIAG_MESSAGE_PRIMARY) exc_message ||= message ::ActiveRecord::InsufficientPrivilege.new(exc_message, exception) else super end end