Michael Schoen
2007-Aug-14 08:58 UTC
Rails AR/Oracle Unit Test: [7315] failed (but getting better)
"nzkoz" has given AR/Oracle some love, but it''s still unhappy... http://dev.rubyonrails.org/changeset/7315 ------------------------------------------------------------------------ r7315 | nzkoz | 2007-08-14 01:53:02 -0700 (Tue, 14 Aug 2007) | 7 lines Change the implementation of ActiveRecord''s attribute reader and writer methods: * Generate Reader and Writer methods which cache attribute values in hashes. This is to avoid repeatedly parsing the same date or integer columns. * Move the attribute related methods out to attribute_methods.rb to de-clutter base.rb * Change exception raised when users use find with :select then try to access a skipped column. Plugins could override missing_attribute() to lazily load the columns. * Move method definition to the class, instead of the instance * Always generate the readers, writers and predicate methods. ------------------------------------------------------------------------ U activerecord/test/associations_test.rb U activerecord/test/base_test.rb U activerecord/test/finder_test.rb U activerecord/lib/active_record/attribute_methods.rb U activerecord/lib/active_record/transactions.rb U activerecord/lib/active_record/base.rb Updated to revision 7315. 1) Error: test_joins_dont_clobber_id(FinderTest): ActiveRecord::StatementInvalid: OCIError: ORA-00905: missing keyword: select * from (select raw_sql_.*, rownum raw_rnum_ from (SELECT companies.* FROM companies INNER JOIN companies AS clients ON clients.firm_id = companies.id WHERE (companies.id = 1) AND ( (companies.type = ''Firm'' ) ) ) raw_sql_ where rownum <= 1) where raw_rnum_ > 0 ./test/../lib/active_record/connection_adapters/abstract_adapter.rb:135:in `log'' ./test/../lib/active_record/connection_adapters/oracle_adapter.rb:214:in `execute_without_counting'' ./test/abstract_unit.rb:71:in `execute'' ./test/../lib/active_record/connection_adapters/oracle_adapter.rb:514:in `select'' ./test/../lib/active_record/connection_adapters/abstract/database_statements.rb:7:in `select_all'' ./test/../lib/active_record/base.rb:438:in `find_by_sql'' ./test/../lib/active_record/base.rb:999:in `find_every'' ./test/../lib/active_record/base.rb:993:in `find_initial'' ./test/../lib/active_record/base.rb:428:in `find'' ./test/finder_test.rb:512:in `test_joins_dont_clobber_id'' /usr/pkg/ruby184/lib/ruby/gems/1.8/gems/mocha-0.5.1/lib/mocha/test_case_adapter.rb:19:in `run'' 2) Failure: test_rename_column_with_sql_reserved_word(MigrationTest) [./test/migration_test.rb:403:in `test_rename_column_with_sql_reserved_word'' /usr/pkg/ruby184/lib/ruby/gems/1.8/gems/mocha-0.5.1/lib/mocha/test_case_adapter.rb:19:in `run'']: Exception raised: Class: <ActiveRecord::StatementInvalid> Message: <"OCIError: ORA-00904: : invalid identifier: ALTER TABLE people RENAME COLUMN first_name to group"> ---Backtrace--- ./test/../lib/active_record/connection_adapters/abstract_adapter.rb:135:in `log'' ./test/../lib/active_record/connection_adapters/oracle_adapter.rb:214:in `execute_without_counting'' ./test/abstract_unit.rb:71:in `execute'' ./test/../lib/active_record/connection_adapters/oracle_adapter.rb:400:in `rename_column'' ./test/migration_test.rb:403:in `test_rename_column_with_sql_reserved_word'' ./test/migration_test.rb:403:in `test_rename_column_with_sql_reserved_word'' /usr/pkg/ruby184/lib/ruby/gems/1.8/gems/mocha-0.5.1/lib/mocha/test_case_adapter.rb:19:in `run'' --------------- 3) Error: test_cache_does_not_wrap_string_results_in_arrays(QueryCacheTest): TypeError: allocator undefined for Float ./test/../lib/active_record/query_cache.rb:65:in `dup'' ./test/../lib/active_record/query_cache.rb:65:in `cache'' ./test/../lib/active_record/query_cache.rb:25:in `select_value'' ./test/query_cache_test.rb:63:in `test_cache_does_not_wrap_string_results_in_arrays'' ./test/../lib/active_record/query_cache.rb:105:in `cache'' ./test/query_cache_test.rb:62:in `test_cache_does_not_wrap_string_results_in_arrays'' /usr/pkg/ruby184/lib/ruby/gems/1.8/gems/mocha-0.5.1/lib/mocha/test_case_adapter.rb:19:in `run'' 1094 tests, 4046 assertions, 1 failures, 2 errors rake aborted! Command failed with status (1): [/usr/pkg/ruby184/bin/ruby -Ilib:test:test/...] (See full trace by running task with --trace) --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To post to this group, send email to rubyonrails-core@googlegroups.com To unsubscribe from this group, send email to rubyonrails-core-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-core?hl=en -~----------~----~----~----~------~----~------~--~---