Permalink
Browse files

Fix a problem of translate_exception method in Japanese.

  • Loading branch information...
1 parent 777d539 commit 2fe281323c8ccebc592d423b69b5b03ac9254b29 @kennyj kennyj committed May 19, 2012
Showing with 7 additions and 3 deletions.
  1. +7 −3 activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb
@@ -1336,11 +1336,15 @@ def postgresql_version
@connection.server_version
end
+ # See http://www.postgresql.org/docs/9.1/static/errcodes-appendix.html
+ FOREIGN_KEY_VIOLATION = "23503"
+ UNIQUE_VIOLATION = "23505"
+
def translate_exception(exception, message)
- case exception.message
- when /duplicate key value violates unique constraint/
+ case exception.result.error_field(PGresult::PG_DIAG_SQLSTATE)
+ when UNIQUE_VIOLATION
RecordNotUnique.new(message, exception)
- when /violates foreign key constraint/
+ when FOREIGN_KEY_VIOLATION
InvalidForeignKey.new(message, exception)
else
super

0 comments on commit 2fe2813

Please sign in to comment.