aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
diff options
context:
space:
mode:
authorGabriel Courtemanche <gabriel.courtemanche@shopify.com>2017-08-22 13:32:38 -0400
committerGabriel Courtemanche <gabriel.courtemanche@shopify.com>2017-08-22 14:26:14 -0400
commitc5edd97721aeaa4ceaa11e66327842a0aba1fdf7 (patch)
treede0f8edbdeeee40ec7eb7ec745ce49b58b0de627 /activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
parent39e6eea9e54c93f836d79f0614f463bdcf95bab5 (diff)
downloadrails-c5edd97721aeaa4ceaa11e66327842a0aba1fdf7.tar.gz
rails-c5edd97721aeaa4ceaa11e66327842a0aba1fdf7.tar.bz2
rails-c5edd97721aeaa4ceaa11e66327842a0aba1fdf7.zip
Add TransactionTimeout for MySQL error code 1205
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb')
-rw-r--r--activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb3
1 files changed, 3 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb b/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
index 1b4688a904..8383fde4e9 100644
--- a/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
+++ b/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
@@ -630,6 +630,7 @@ module ActiveRecord
ER_LOCK_DEADLOCK = 1213
ER_CANNOT_ADD_FOREIGN = 1215
ER_CANNOT_CREATE_TABLE = 1005
+ ER_LOCK_WAIT_TIMEOUT = 1205
def translate_exception(exception, message)
case error_number(exception)
@@ -653,6 +654,8 @@ module ActiveRecord
NotNullViolation.new(message)
when ER_LOCK_DEADLOCK
Deadlocked.new(message)
+ when ER_LOCK_WAIT_TIMEOUT
+ TransactionTimeout.new(message)
else
super
end