aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test
diff options
context:
space:
mode:
authorRyuta Kamizono <kamipo@gmail.com>2017-12-19 20:59:09 +0900
committerRyuta Kamizono <kamipo@gmail.com>2017-12-19 20:59:09 +0900
commit0863335453bcf3b27c95cb8291cb6411b3e6f4ab (patch)
tree63f7d4f1e384aab08995e82b34759338c7322f7f /activerecord/test
parent9e7260da1bdc0770cf4ac547120c85ab93ff3d48 (diff)
downloadrails-0863335453bcf3b27c95cb8291cb6411b3e6f4ab.tar.gz
rails-0863335453bcf3b27c95cb8291cb6411b3e6f4ab.tar.bz2
rails-0863335453bcf3b27c95cb8291cb6411b3e6f4ab.zip
Quote primary key in the subselect generated by mysql2 adapter
Otherwise it will occur syntax error if primary key is a reserved word.
Diffstat (limited to 'activerecord/test')
-rw-r--r--activerecord/test/cases/reserved_word_test.rb9
-rw-r--r--activerecord/test/fixtures/reserved_words/values.yml4
2 files changed, 10 insertions, 3 deletions
diff --git a/activerecord/test/cases/reserved_word_test.rb b/activerecord/test/cases/reserved_word_test.rb
index 0214dbec17..4f8ca392b9 100644
--- a/activerecord/test/cases/reserved_word_test.rb
+++ b/activerecord/test/cases/reserved_word_test.rb
@@ -39,7 +39,7 @@ class ReservedWordTest < ActiveRecord::TestCase
t.string :order
t.belongs_to :select
end
- @connection.create_table :values, force: true do |t|
+ @connection.create_table :values, primary_key: :as, force: true do |t|
t.belongs_to :group
end
end
@@ -88,6 +88,13 @@ class ReservedWordTest < ActiveRecord::TestCase
assert_equal x, Group.find(x.id)
end
+ def test_delete_all_with_subselect
+ create_test_fixtures :values
+ assert_equal 1, Values.order(:as).limit(1).offset(1).delete_all
+ assert_raise(ActiveRecord::RecordNotFound) { Values.find(2) }
+ assert Values.find(1)
+ end
+
def test_has_one_associations
create_test_fixtures :group, :values
v = Group.find(1).values
diff --git a/activerecord/test/fixtures/reserved_words/values.yml b/activerecord/test/fixtures/reserved_words/values.yml
index 7d109609ab..9ed9e5edc5 100644
--- a/activerecord/test/fixtures/reserved_words/values.yml
+++ b/activerecord/test/fixtures/reserved_words/values.yml
@@ -1,7 +1,7 @@
values1:
- id: 1
+ as: 1
group_id: 2
values2:
- id: 2
+ as: 2
group_id: 1