| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
| |
order," -- will be replaced with a check to ensure that the keys used for comparison are integers, and only fail if they are not.
This reverts commit 6256734e2d0bdd89f4b5d11da259d40afa0c95c7.
Conflicts:
activerecord/CHANGELOG.md
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
marshalling between processes does not work with an in-memory db.
This breaks the `test_sqlite3_mem` run (see stacktrace below).
After that failure most tests start to fail randomly.
```
/Users/senny/Projects/rails/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb:512:in `table_structure': Could not find table 'posts' (ActiveRecord::StatementInvalid)
from /Users/senny/Projects/rails/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb:399:in `columns'
from /Users/senny/Projects/rails/activerecord/lib/active_record/connection_adapters/schema_cache.rb:93:in `block in prepare_default_proc'
from /Users/senny/Projects/rails/activerecord/lib/active_record/connection_adapters/schema_cache.rb:44:in `yield'
from /Users/senny/Projects/rails/activerecord/lib/active_record/connection_adapters/schema_cache.rb:44:in `columns'
from /Users/senny/Projects/rails/activerecord/lib/active_record/model_schema.rb:208:in `columns'
from /Users/senny/Projects/rails/activerecord/lib/active_record/model_schema.rb:249:in `column_defaults'
from /Users/senny/Projects/rails/activerecord/lib/active_record/locking/optimistic.rb:171:in `column_defaults'
from /Users/senny/Projects/rails/activerecord/lib/active_record/core.rb:167:in `initialize'
from /Users/senny/Projects/rails/activerecord/lib/active_record/inheritance.rb:27:in `new'
from /Users/senny/Projects/rails/activerecord/lib/active_record/inheritance.rb:27:in `new'
from /Users/senny/Projects/rails/activerecord/test/cases/base_test.rb:1368:in `block in test_marshal_between_processes'
from /Users/senny/Projects/rails/activerecord/test/cases/base_test.rb:1366:in `fork'
from /Users/senny/Projects/rails/activerecord/test/cases/base_test.rb:1366:in `test_marshal_between_processes'
from /Users/senny/Projects/rails/.bundle/gems/minitest-5.0.8/lib/minitest/test.rb:110:in `block (3 levels) in run'
from /Users/senny/Projects/rails/.bundle/gems/minitest-5.0.8/lib/minitest/test.rb:208:in `capture_exceptions'
from /Users/senny/Projects/rails/.bundle/gems/minitest-5.0.8/lib/minitest/test.rb:107:in `block (2 levels) in run'
from /Users/senny/Projects/rails/.bundle/gems/minitest-5.0.8/lib/minitest/test.rb:260:in `time_it'
from /Users/senny/Projects/rails/.bundle/gems/minitest-5.0.8/lib/minitest/test.rb:106:in `block in run'
from /Users/senny/Projects/rails/.bundle/gems/minitest-5.0.8/lib/minitest.rb:296:in `on_signal'
from /Users/senny/Projects/rails/.bundle/gems/minitest-5.0.8/lib/minitest/test.rb:280:in `with_info_handler'
from /Users/senny/Projects/rails/.bundle/gems/minitest-5.0.8/lib/minitest/test.rb:105:in `run'
from /Users/senny/Projects/rails/.bundle/gems/minitest-5.0.8/lib/minitest.rb:268:in `block (2 levels) in run'
from /Users/senny/Projects/rails/.bundle/gems/minitest-5.0.8/lib/minitest.rb:267:in `each'
from /Users/senny/Projects/rails/.bundle/gems/minitest-5.0.8/lib/minitest.rb:267:in `block in run'
from /Users/senny/Projects/rails/.bundle/gems/minitest-5.0.8/lib/minitest.rb:296:in `on_signal'
from /Users/senny/Projects/rails/.bundle/gems/minitest-5.0.8/lib/minitest.rb:285:in `with_info_handler'
from /Users/senny/Projects/rails/.bundle/gems/minitest-5.0.8/lib/minitest.rb:266:in `run'
from /Users/senny/Projects/rails/activesupport/lib/active_support/test_case.rb:31:in `block in __run'
from /Users/senny/Projects/rails/activesupport/lib/active_support/test_case.rb:31:in `map'
from /Users/senny/Projects/rails/activesupport/lib/active_support/test_case.rb:31:in `__run'
from /Users/senny/Projects/rails/.bundle/gems/minitest-5.0.8/lib/minitest.rb:115:in `run'
from /Users/senny/Projects/rails/.bundle/gems/minitest-5.0.8/lib/minitest.rb:46:in `block in autorun'
```
/cc @tenderlove
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
or even be numbers, so sorting by id doesn't make sense. Please use `sort_by`
and specify the attribute you wish to sort with. For example, change:
Post.all.to_a.sort
to:
Post.all.to_a.sort_by(&:id)
|
| |
|
|
|
|
|
|
|
|
|
| |
When the adapter is with prepared statement disabled and the binds array
is not empty the connection adapter will try to set the binds values and
will fail. Now we are checking if the adapter has the prepared statement
disabled.
Fixes #12023
|
| |
|
|
|
|
|
|
| |
This reverts commit 71ff7d9c6592b93e2c810a1f464943dd7bd02c7f.
Reason: I need to check with @jeremy if we can do this.
|
|
|
|
|
|
|
|
|
| |
This reverts commit baf5f47b8768c7ec0164ed5ab60e369cdd936d71.
Reason: This is breaking the sqlite3 tests with a missing transacion.
Could not investigate right now.
cc @tenderlove
|
|
|
|
|
|
|
| |
The visitor have to consume the bind parameters to make the statements
work when the prepared statement option is disabled.
Fixes #12023
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit fixes the build but we need to further investigate the root cause,
to see if it can be fixed.
The test fails under `MysqlAdapter` with:
```
ActiveRecord::UnknownAttributeError: unknown attribute: なまえ
```
The root cause is that the returned column names from the adapter
have the wrong encoding:
```ruby
columns = Weird.columns_hash.keys
columns # => ["id", "a$b", "\xE3\x81\xAA\xE3\x81\xBE\xE3\x81\x88", "from"]
columns.map(&:encoding) # => [#<Encoding:ASCII-8BIT>, #<Encoding:ASCII-8BIT>, #<Encoding:ASCII-8BIT>, #<Encoding:ASCII-8BIT>]
columns.map {|c| c.dup.force_encoding "utf-8"} # => ["id", "a$b", "なまえ", "from"]
```
From what I can tell the MySQL variables are fine:
```
ActiveRecord::Base.connection.execute("show variables")
...
character_set_client utf8
character_set_connection utf8
character_set_database utf8
character_set_filesystem binary
character_set_results utf8
character_set_server utf8
character_set_system utf8
character_sets_dir /usr/local/Cellar/mysql/5.5.29/share/mysql/charsets/
collation_connection utf8_general_ci
collation_database utf8_unicode_ci
collation_server utf8_general_ci
...
```
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
The method got extracted out from AR::Base in commit
d916c62cfc7c59ab6411407a05b946d3dd7535e9, but the tests never did.
|
|
|
|
|
|
|
| |
base_test.rb
The method itself got extracted out from ActiveRecored::Base in commit
ceb33f84933639d3b61aac62e5e71fd087ab65ed, but the test code never did.
|
|
|
|
|
| |
The methods got moved to core.rb in commit
b2c9ce341a1c907041f55461aefebb0321280cb5, but the tests never did.
|
|
|
|
|
|
|
|
| |
0123c39f41e2062311b2197e6e230ef8ad67e20e
Due to commit 0123c39f41e2062311b2197e6e230ef8ad67e20e, column
topic.unique_replies_count has been added, and these test started to
fail since the tests depends on the topic tables column info.
|
|
|
|
|
|
| |
`AR::Base#to_param` and `AR::Base#cache_key` is defined at
active_record/integration.rb, so tests for those methods should be at
integration_test.rb
|
|
|
|
|
|
|
|
|
|
|
|
| |
Existing code was delegating to the instance with delegate
macro calls, or invoking the instance method to reach
the object and call its instance methods.
But the point is to have a clean class-level interface where
the thread local instance is hidden in the implementation.
References #11c6973.
References #10198.
|
|
|
|
| |
PerThreadRegistry module.
|
|
|
|
|
| |
current_scope and ignore_default_scope locals are brought together under
a registry object.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Introduce test on Error#full_message for attribute with underscores; Fix
some typos
|
|
|
|
| |
Type a fixo.
|
|
|
|
|
| |
These tests should be in inheritance_test.rb since its testing a
feature which is implemented in inheritance.rb
|
|
|
|
|
|
|
| |
We moved more and more away from passing options to finder / calculation
methods. The `:distinct` option in `#count` was one of the remaining places.
Since we can now combine `Relation#distinct` with `Relation#count` the option
is no longer necessary and can be deprecated.
|
|
|
|
|
|
|
|
| |
The similarity of `Relation#uniq` to `Array#uniq` is confusing. Since our
Relation API is close to SQL terms I renamed `#uniq` to `#distinct`.
There is no deprecation. `#uniq` and `#uniq!` are aliases and will continue
to work. I also updated the documentation to promote the use of `#distinct`.
|
| |
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
cache_key consults updated_on timestamp if present
Conflicts:
activerecord/CHANGELOG.md
|
| |
| |
| |
| |
| | |
- Extract max timestamp retrieval for cache_key
- Update changelog for cache_key changes
|
|/
|
|
|
|
|
|
|
|
| |
Calling a literal ActiveRecord::Base.new raises NoMethodError,
since it ends up calling Class.abstract_class? which does not exist.
Similarly, instantiating an actual abstract class hits the database,
when conventionally it should immediately throw NotImplementedError.
ActiveRecord::Base can't be made abstract without breaking many,
many things, so check for it separately.
|
|
|
|
|
| |
object that has not yet been persisted. This behavior follows the
precedent set by update_columns.
|
|
|
|
| |
These are duplicated with the tests which are in relations_test.rb
|
| |
|