diff options
author | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2013-09-29 06:36:43 -0700 |
---|---|---|
committer | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2013-09-29 06:36:43 -0700 |
commit | 414d1eaf6cd9333fe0c4123ba8d7157946505a3b (patch) | |
tree | e753634660ddb33e2927c7eda1c048ea4cf45ac6 | |
parent | 94f63f8337acc09406caee5d3add43fe2f529ff6 (diff) | |
parent | 747ccb0f7c9bdecb96369b2867aca8e746064b57 (diff) | |
download | rails-414d1eaf6cd9333fe0c4123ba8d7157946505a3b.tar.gz rails-414d1eaf6cd9333fe0c4123ba8d7157946505a3b.tar.bz2 rails-414d1eaf6cd9333fe0c4123ba8d7157946505a3b.zip |
Merge pull request #12383 from marclennox/master
Fixed issue #12327
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb | 4 | ||||
-rw-r--r-- | activerecord/test/cases/base_test.rb | 9 |
2 files changed, 11 insertions, 2 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb b/activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb index 86b96a77fb..85f645123e 100644 --- a/activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb +++ b/activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb @@ -157,8 +157,8 @@ module ActiveRecord def exec_delete(sql, name = 'SQL', binds = []) log(sql, name, binds) do - result = binds.empty? ? exec_no_cache(sql, binds) : - exec_cache(sql, binds) + result = without_prepared_statement?(binds) ? exec_no_cache(sql, binds) : + exec_cache(sql, binds) affected = result.cmd_tuples result.clear affected diff --git a/activerecord/test/cases/base_test.rb b/activerecord/test/cases/base_test.rb index 5812e20a1b..a2f350817c 100644 --- a/activerecord/test/cases/base_test.rb +++ b/activerecord/test/cases/base_test.rb @@ -566,6 +566,15 @@ class BasicsTest < ActiveRecord::TestCase assert_equal topic, Topic.find(topic.id) end + def test_destroy_without_prepared_statement + topic = Topic.create(title: 'foo') + Topic.connection.unprepared_statement do + Topic.find(topic.id).destroy + end + + assert_equal nil, Topic.find_by_id(topic.id) + end + def test_blank_ids one = Subscriber.new(:id => '') two = Subscriber.new(:id => '') |