diff options
author | Ryuta Kamizono <kamipo@gmail.com> | 2016-07-03 23:29:41 +0900 |
---|---|---|
committer | Ryuta Kamizono <kamipo@gmail.com> | 2016-08-06 14:13:44 +0900 |
commit | 2ed25b31d423384219c7fa6d55e82d5327c14157 (patch) | |
tree | a5987da91d1eb7af9c0be5d4f7c1aae4357e77cf /activerecord/test | |
parent | d59dc69f847bff13bb85a571c8cf1512cd067d92 (diff) | |
download | rails-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.rb | 7 |
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 |