aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test
diff options
context:
space:
mode:
authorRyuta Kamizono <kamipo@gmail.com>2016-07-03 23:29:41 +0900
committerRyuta Kamizono <kamipo@gmail.com>2016-08-06 14:13:44 +0900
commit2ed25b31d423384219c7fa6d55e82d5327c14157 (patch)
treea5987da91d1eb7af9c0be5d4f7c1aae4357e77cf /activerecord/test
parentd59dc69f847bff13bb85a571c8cf1512cd067d92 (diff)
downloadrails-2ed25b31d423384219c7fa6d55e82d5327c14157.tar.gz
rails-2ed25b31d423384219c7fa6d55e82d5327c14157.tar.bz2
rails-2ed25b31d423384219c7fa6d55e82d5327c14157.zip
`sql_for_insert` should be called inside `exec_insert`
`exec_insert` cannot return last inserted id if `use_insert_returning?` is true. `sql_for_insert` should be called inside `exec_insert`.
Diffstat (limited to 'activerecord/test')
-rw-r--r--activerecord/test/cases/database_statements_test.rb7
1 files changed, 7 insertions, 0 deletions
diff --git a/activerecord/test/cases/database_statements_test.rb b/activerecord/test/cases/database_statements_test.rb
index 3169408ac0..12e26b2a66 100644
--- a/activerecord/test/cases/database_statements_test.rb
+++ b/activerecord/test/cases/database_statements_test.rb
@@ -5,6 +5,13 @@ class DatabaseStatementsTest < ActiveRecord::TestCase
@connection = ActiveRecord::Base.connection
end
+ unless current_adapter?(:OracleAdapter)
+ def test_exec_insert
+ result = @connection.exec_insert("INSERT INTO accounts (firm_id,credit_limit) VALUES (42,5000)", nil, [])
+ assert_not_nil @connection.send(:last_inserted_id, result)
+ end
+ end
+
def test_insert_should_return_the_inserted_id
assert_not_nil return_the_inserted_id(method: :insert)
end