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
-~----------~----~----~----~------~----~------~--~---