diff options
author | Ryuta Kamizono <kamipo@gmail.com> | 2019-04-01 15:04:11 +0900 |
---|---|---|
committer | Ryuta Kamizono <kamipo@gmail.com> | 2019-04-01 15:04:11 +0900 |
commit | 6e43a207c6d3072d10b494d605b7bb6635043e30 (patch) | |
tree | b2c0ac655273cb2fedc556f62e8f902ed1e0d15c /activerecord/test/cases/relation | |
parent | 43866b2ca338375b964b0b905ee20f74f9b21b22 (diff) | |
download | rails-6e43a207c6d3072d10b494d605b7bb6635043e30.tar.gz rails-6e43a207c6d3072d10b494d605b7bb6635043e30.tar.bz2 rails-6e43a207c6d3072d10b494d605b7bb6635043e30.zip |
Revert unused code and re-using query annotation for `update_all` and `delete_all`
This partly reverts #35617.
#35617 includes unused code (for `InsertStatement`) and re-using query
annotation for `update_all` and `delete_all`, which has not been
discussed yet.
If a relation has any annotation, I think it is mostly for SELECT query,
so re-using annotation by default is not always desired behavior for me.
We should discuss about desired behavior before publishing the
implementation.
Diffstat (limited to 'activerecord/test/cases/relation')
-rw-r--r-- | activerecord/test/cases/relation/delete_all_test.rb | 19 | ||||
-rw-r--r-- | activerecord/test/cases/relation/update_all_test.rb | 27 |
2 files changed, 0 insertions, 46 deletions
diff --git a/activerecord/test/cases/relation/delete_all_test.rb b/activerecord/test/cases/relation/delete_all_test.rb index 9b76936b7e..d1c13fa1b5 100644 --- a/activerecord/test/cases/relation/delete_all_test.rb +++ b/activerecord/test/cases/relation/delete_all_test.rb @@ -99,23 +99,4 @@ class DeleteAllTest < ActiveRecord::TestCase assert_raise(ActiveRecord::RecordNotFound) { posts(:thinking) } assert posts(:welcome) end - - def test_delete_all_with_annotation_includes_a_query_comment - davids = Author.where(name: "David").annotate("deleting all") - - assert_sql(%r{/\* deleting all \*/}) do - assert_difference("Author.count", -1) { davids.delete_all } - end - end - - def test_delete_all_without_annotation_does_not_include_an_empty_comment - davids = Author.where(name: "David") - - log = capture_sql do - assert_difference("Author.count", -1) { davids.delete_all } - end - - assert_not_predicate log, :empty? - assert_predicate log.select { |query| query.match?(%r{/\*}) }, :empty? - end end diff --git a/activerecord/test/cases/relation/update_all_test.rb b/activerecord/test/cases/relation/update_all_test.rb index 526f926841..0500574f28 100644 --- a/activerecord/test/cases/relation/update_all_test.rb +++ b/activerecord/test/cases/relation/update_all_test.rb @@ -241,33 +241,6 @@ class UpdateAllTest < ActiveRecord::TestCase end end - def test_update_all_with_annotation_includes_a_query_comment - tag = Tag.first - - assert_sql(%r{/\* updating all \*/}) do - Post.tagged_with(tag.id).annotate("updating all").update_all(title: "rofl") - end - - posts = Post.tagged_with(tag.id).all.to_a - assert_operator posts.length, :>, 0 - posts.each { |post| assert_equal "rofl", post.title } - end - - def test_update_all_without_annotation_does_not_include_an_empty_comment - tag = Tag.first - - log = capture_sql do - Post.tagged_with(tag.id).update_all(title: "rofl") - end - - assert_not_predicate log, :empty? - assert_predicate log.select { |query| query.match?(%r{/\*}) }, :empty? - - posts = Post.tagged_with(tag.id).all.to_a - assert_operator posts.length, :>, 0 - posts.each { |post| assert_equal "rofl", post.title } - end - # Oracle UPDATE does not support ORDER BY unless current_adapter?(:OracleAdapter) def test_update_all_ignores_order_without_limit_from_association |