Skip to content

Commit

Permalink
fixed test_foreign_key_violations_are_translated_to_specific_exceptio…
Browse files Browse the repository at this point in the history
…n to work with Oracle
  • Loading branch information
rsim committed Aug 6, 2009
1 parent 44a7ef8 commit 53be10c
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion activerecord/test/cases/adapter_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,13 @@ def test_uniqueness_violations_are_translated_to_specific_exception
def test_foreign_key_violations_are_translated_to_specific_exception
unless @connection.adapter_name == 'SQLite'
assert_raises(ActiveRecord::InvalidForeignKey) do
@connection.execute "INSERT INTO fk_test_has_fk (fk_id) VALUES (0)"
# Oracle adapter uses prefetched primary key values from sequence and passes them to connection adapter insert method
if @connection.prefetch_primary_key?
id_value = @connection.next_sequence_value(@connection.default_sequence_name("fk_test_has_fk", "id"))
@connection.execute "INSERT INTO fk_test_has_fk (id, fk_id) VALUES (#{id_value},0)"
else
@connection.execute "INSERT INTO fk_test_has_fk (fk_id) VALUES (0)"
end
end
end
end
Expand Down

0 comments on commit 53be10c

Please sign in to comment.