diff options
author | Gannon McGibbon <gannon.mcgibbon@gmail.com> | 2018-11-15 19:55:47 -0500 |
---|---|---|
committer | Gannon McGibbon <gannon.mcgibbon@gmail.com> | 2018-11-22 13:53:23 -0500 |
commit | 192b7bcfacd550312b37e74d858b63b77d2469d5 (patch) | |
tree | 553569b30ced5a658e5896c3edc730071f1c95fe /activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb | |
parent | 47ab6b36d794e68e76dcb45463c0d2a5bdba2104 (diff) | |
download | rails-192b7bcfacd550312b37e74d858b63b77d2469d5.tar.gz rails-192b7bcfacd550312b37e74d858b63b77d2469d5.tar.bz2 rails-192b7bcfacd550312b37e74d858b63b77d2469d5.zip |
Redact SQL in errors
Move `ActiveRecord::StatementInvalid` SQL to error property.
Also add bindings as an error property.
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb')
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb b/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb index 3312c3de01..b2daae9ace 100644 --- a/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb +++ b/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb @@ -529,18 +529,18 @@ module ActiveRecord @sqlite_version ||= SQLite3Adapter::Version.new(query_value("SELECT sqlite_version(*)")) end - def translate_exception(exception, message) + def translate_exception(exception, message:, sql:, binds:) case exception.message # SQLite 3.8.2 returns a newly formatted error message: # UNIQUE constraint failed: *table_name*.*column_name* # Older versions of SQLite return: # column *column_name* is not unique when /column(s)? .* (is|are) not unique/, /UNIQUE constraint failed: .*/ - RecordNotUnique.new(message) + RecordNotUnique.new(message, sql: sql, binds: binds) when /.* may not be NULL/, /NOT NULL constraint failed: .*/ - NotNullViolation.new(message) + NotNullViolation.new(message, sql: sql, binds: binds) when /FOREIGN KEY constraint failed/i - InvalidForeignKey.new(message) + InvalidForeignKey.new(message, sql: sql, binds: binds) else super end |