diff --git a/activerecord/CHANGELOG b/activerecord/CHANGELOG index 07e34ebbb10bbbc0a823046a862ce3840a0f7677..1c09b4e6dcaf6988b5472a97267197f3df0e3ba0 100644 --- a/activerecord/CHANGELOG +++ b/activerecord/CHANGELOG @@ -1,5 +1,7 @@ *SVN* +* Added better error message for "packets out of order" #1630 [courtenay] + * Fixed first run of "rake migrate" on PostgreSQL by not expecting a return value on the id #1640 diff --git a/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb b/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb index 017e1ba5a5c3563d1d488f0cd259be8ccbb28c20..71329705b7d17e2cf14907dc54f6cecac4dfcc53 100755 --- a/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb +++ b/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb @@ -129,6 +129,8 @@ def execute(sql, name = nil, retries = 2) @logger.info "Retrying invalid statement with reopened connection" log(sql, name) { @connection.query(sql) } end + elsif exception.message.split(":").first =~ /Packets out of order/ + raise ActiveRecord::StatementInvalid, "'Packets out of order' error was received from the database. Please update your mysql bindings (gem update mysql) and read http://dev.mysql.com/doc/mysql/en/password-hashing.html for more information." else raise end