diff options
author | Jeremy Kemper <jeremy@bitsweat.net> | 2013-04-28 21:12:14 -0700 |
---|---|---|
committer | Jeremy Kemper <jeremy@bitsweat.net> | 2013-04-28 21:12:14 -0700 |
commit | a91bde349f736477e3ed44845655e377edaf44bb (patch) | |
tree | c2265f68bdba40c7a2370fc07b55ff74b2bf9131 /activerecord/lib/active_record/errors.rb | |
parent | 85a56ff01de71d4978e809d86920513a95ddf3a0 (diff) | |
parent | 60bb1333c6f11dd89b8422908f974b5a6839f4e7 (diff) | |
download | rails-a91bde349f736477e3ed44845655e377edaf44bb.tar.gz rails-a91bde349f736477e3ed44845655e377edaf44bb.tar.bz2 rails-a91bde349f736477e3ed44845655e377edaf44bb.zip |
Merge pull request #10372 from jeremy/statement-invalid-wraps-underlying-exception
StatementInvalid takes WrappedDatabaseException's place
Diffstat (limited to 'activerecord/lib/active_record/errors.rb')
-rw-r--r-- | activerecord/lib/active_record/errors.rb | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/activerecord/lib/active_record/errors.rb b/activerecord/lib/active_record/errors.rb index c615d59725..cd31147414 100644 --- a/activerecord/lib/active_record/errors.rb +++ b/activerecord/lib/active_record/errors.rb @@ -57,24 +57,25 @@ module ActiveRecord class RecordNotDestroyed < ActiveRecordError end - # Raised when SQL statement cannot be executed by the database (for example, it's often the case for - # MySQL when Ruby driver used is too old). + # Superclass for all database execution errors. + # + # Wraps the underlying database error as +original_exception+. class StatementInvalid < ActiveRecordError + attr_reader :original_exception + + def initialize(message, original_exception = nil) + super(message) + @original_exception = original_exception + end end # Raised when SQL statement is invalid and the application gets a blank result. class ThrowResult < ActiveRecordError end - # Parent class for all specific exceptions which wrap database driver exceptions - # provides access to the original exception also. + # Defunct wrapper class kept for compatibility. + # +StatementInvalid+ wraps the original exception now. class WrappedDatabaseException < StatementInvalid - attr_reader :original_exception - - def initialize(message, original_exception) - super(message) - @original_exception = original_exception - end end # Raised when a record cannot be inserted because it would violate a uniqueness constraint. |