diff options
author | Yasuo Honda <yasuo.honda@gmail.com> | 2013-01-09 03:30:37 +0900 |
---|---|---|
committer | Yasuo Honda <yasuo.honda@gmail.com> | 2013-01-09 06:18:14 +0900 |
commit | 3d1a879f4cf9931a81477b63f9f999d52bac771c (patch) | |
tree | 80f9b95134535058a417cfda5edd0558568a3f68 /activerecord/lib | |
parent | 48810a52dfba26cef127168af447a9620d4555c3 (diff) | |
download | rails-3d1a879f4cf9931a81477b63f9f999d52bac771c.tar.gz rails-3d1a879f4cf9931a81477b63f9f999d52bac771c.tar.bz2 rails-3d1a879f4cf9931a81477b63f9f999d52bac771c.zip |
Ignore binds payload with nil column in AR log subscriber
Some tests were raising the following error:
Could not log "sql.active_record" event. NoMethodError: undefined method
`type' for nil:NilClass`
Due to the way binds were being logged, the column info was considered
always present, but that is not true for some of the tests listed in the
issue.
Closes #8806.
Conflicts:
activerecord/lib/active_record/log_subscriber.rb
activerecord/test/cases/log_subscriber_test.rb
Conflict resolution:
- Revert ruby 1.9 style hash to support ruby 1.8
- Do not include 8f59ffce into 3-2-stable
Diffstat (limited to 'activerecord/lib')
-rw-r--r-- | activerecord/lib/active_record/log_subscriber.rb | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/log_subscriber.rb b/activerecord/lib/active_record/log_subscriber.rb index a25f2c7bca..2b6488f183 100644 --- a/activerecord/lib/active_record/log_subscriber.rb +++ b/activerecord/lib/active_record/log_subscriber.rb @@ -32,7 +32,11 @@ module ActiveRecord unless (payload[:binds] || []).empty? binds = " " + payload[:binds].map { |col,v| - [col.name, v] + if col + [col.name, v] + else + [nil, v] + end }.inspect end |