Michael Schoen
2006-Jul-07 14:30 UTC
Rails AR/Oracle Unit Test: [4576] failed (getting worse)
"bitsweat" has kicked AR/Oracle while it was down... http://dev.rubyonrails.org/changeset/4576 ------------------------------------------------------------------------ r4576 | bitsweat | 2006-07-07 03:48:43 -0700 (Fri, 07 Jul 2006) | 1 line More succinct current_adapter? Enable locking duel for Oracle. ------------------------------------------------------------------------ U activerecord/test/locking_test.rb U activerecord/test/base_test.rb U activerecord/test/inheritance_test.rb U activerecord/test/migration_test.rb U activerecord/test/abstract_unit.rb Updated to revision 4576. 1) Failure: test_sane_find_with_lock(PessimisticLockingTest) [./test/locking_test.rb:90]: Exception raised: Class: <ActiveRecord::StatementInvalid> Message: <"OCIError: ORA-02014: cannot select FOR UPDATE from view with DISTINCT, GROUP BY, etc.: select * from (select raw_sql_.*, rownum raw_rnum_ from (SELECT * FROM people WHERE (people.id = 1) ) raw_sql_ where rownum <= 1) where raw_rnum_ > 0 FOR UPDATE"> ---Backtrace--- ./test/../lib/active_record/connection_adapters/abstract_adapter.rb:120:in `log'' ./test/../lib/active_record/connection_adapters/oracle_adapter.rb:250:in `execute'' ./test/../lib/active_record/connection_adapters/oracle_adapter.rb:450:in `select'' ./test/../lib/active_record/connection_adapters/oracle_adapter.rb:241:in `select_all'' ./test/../lib/active_record/base.rb:422:in `find_by_sql'' ./test/../lib/active_record/base.rb:956:in `find_every'' ./test/../lib/active_record/base.rb:950:in `find_initial'' ./test/../lib/active_record/base.rb:984:in `find_one'' ./test/../lib/active_record/base.rb:973:in `find_from_ids'' ./test/../lib/active_record/base.rb:414:in `find'' ./test/locking_test.rb:93:in `test_sane_find_with_lock'' ./test/../lib/active_record/base.rb:905:in `with_scope'' ./test/locking_test.rb:92:in `test_sane_find_with_lock'' ./test/../lib/active_record/connection_adapters/abstract/database_statements.rb:51:in `transaction'' ./test/../lib/active_record/transactions.rb:86:in `transaction'' ./test/locking_test.rb:91:in `test_sane_find_with_lock'' ./test/locking_test.rb:90:in `test_sane_find_with_lock'' --------------- 2) Failure: test_sane_lock_method(PessimisticLockingTest) [./test/locking_test.rb:101]: Exception raised: Class: <ActiveRecord::StatementInvalid> Message: <"OCIError: ORA-02014: cannot select FOR UPDATE from view with DISTINCT, GROUP BY, etc.: select * from (select raw_sql_.*, rownum raw_rnum_ from (SELECT * FROM people WHERE (people.id = 1) ) raw_sql_ where rownum <= 1) where raw_rnum_ > 0 FOR UPDATE"> ---Backtrace--- ./test/../lib/active_record/connection_adapters/abstract_adapter.rb:120:in `log'' ./test/../lib/active_record/connection_adapters/oracle_adapter.rb:250:in `execute'' ./test/../lib/active_record/connection_adapters/oracle_adapter.rb:450:in `select'' ./test/../lib/active_record/connection_adapters/oracle_adapter.rb:241:in `select_all'' ./test/../lib/active_record/base.rb:422:in `find_by_sql'' ./test/../lib/active_record/base.rb:956:in `find_every'' ./test/../lib/active_record/base.rb:950:in `find_initial'' ./test/../lib/active_record/base.rb:984:in `find_one'' ./test/../lib/active_record/base.rb:973:in `find_from_ids'' ./test/../lib/active_record/base.rb:414:in `find'' ./test/../lib/active_record/base.rb:1561:in `reload'' ./test/../lib/active_record/locking/pessimistic.rb:72:in `lock!'' ./test/locking_test.rb:105:in `test_sane_lock_method'' ./test/../lib/active_record/connection_adapters/abstract/database_statements.rb:51:in `transaction'' ./test/../lib/active_record/transactions.rb:86:in `transaction'' ./test/locking_test.rb:102:in `test_sane_lock_method'' ./test/locking_test.rb:101:in `test_sane_lock_method'' --------------- 3) Error: test_second_lock_waits(PessimisticLockingTest): ActiveRecord::StatementInvalid: OCIError: ORA-02014: cannot select FOR UPDATE from view with DISTINCT, GROUP BY, etc.: select * from (select raw_sql_.*, rownum raw_rnum_ from (SELECT * FROM people WHERE (people.id = 1) ) raw_sql_ where rownum <= 1) where raw_rnum_ > 0 FOR UPDATE ./test/../lib/active_record/connection_adapters/abstract_adapter.rb:120:in `log'' ./test/locking_test.rb:142:in `join'' ./test/locking_test.rb:142:in `duel'' ./test/locking_test.rb:118:in `test_second_lock_waits'' 907 tests, 3183 assertions, 2 failures, 1 errors rake aborted! Command failed with status (1): [/usr/pkg/ruby184/bin/ruby -Ilib:test:test/...] (See full trace by running task with --trace)