aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb
diff options
context:
space:
mode:
authorGannon McGibbon <gannon.mcgibbon@gmail.com>2018-11-15 19:55:47 -0500
committerGannon McGibbon <gannon.mcgibbon@gmail.com>2018-11-22 13:53:23 -0500
commit192b7bcfacd550312b37e74d858b63b77d2469d5 (patch)
tree553569b30ced5a658e5896c3edc730071f1c95fe /activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb
parent47ab6b36d794e68e76dcb45463c0d2a5bdba2104 (diff)
downloadrails-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.rb8
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