- 15 12月, 2015 8 次提交
-
-
由 Matthew Draper 提交于
Apart from specific versioning support, our tests should focus on the behaviour of whatever version they're accompanying, regardless of when they were written. Application code should *not* do this.
-
由 Matthew Draper 提交于
If we use a real version, at best that'll be an onerous update required for each release; at worst, it will encourage users to write new migrations against an older version than they're using. The other option would be to leave these bare, without any version specifier. But as that's just a variant spelling of "4.2", it would seem to raise the same concerns as above.
-
由 Matthew Draper 提交于
-
由 Matthew Draper 提交于
-
由 Sean Griffin 提交于
This reverts commit 6d5b1fdf. `eager_load` and `references` can include hashes, which won't match up with `references` A test case has been added to demonstrate the problem
-
由 Sean Griffin 提交于
This was changed in 421c81bd, as `exists?` blows up if you are eager loading a polymorphic association, as it'll try to construct a join to that table. The previous change decided to execute a `count` instead, which wouldn't join. Of course, the only time we actually need to perform a join on the eager loaded values (which would perform a left outer join) is if they're being referenced in the where clause. This doesn't affect inner joins.
-
由 Sean Griffin 提交于
There was a test remaining for PG only that was checking for an exact limit clause
-
由 Vokhmin Alexey V 提交于
-
- 14 12月, 2015 2 次提交
-
-
由 Sean Griffin 提交于
We currently generate an unbounded number of prepared statements when `limit` or `offset` are called with a dynamic argument. This changes `LIMIT` and `OFFSET` to use bind params, eliminating the problem. `Type::Value#hash` needed to be implemented, as it turns out we busted the query cache if the type object used wasn't exactly the same object. This drops support for passing an `Arel::Nodes::SqlLiteral` to `limit`. Doing this relied on AR internals, and was never officially supported usage. Fixes #22250.
-
由 Sean Griffin 提交于
Some backends allow `LIMIT 1,2` as a shorthand for `LIMIT 1 OFFSET 2`. Supporting this in Active Record massively complicates using bind parameters for limit and offset, and it's trivially easy to build an invalid SQL query by also calling `offset` on the same `Relation`. This is a niche syntax that is only supported by a few adapters, and can be trivially worked around by calling offset explicitly.
-
- 13 12月, 2015 1 次提交
-
-
由 Fumiaki MATSUSHIMA 提交于
-
- 12 12月, 2015 1 次提交
-
-
由 Arthur Neves 提交于
This reverts commit c2e70ca9, reversing changes made to b0e5fc27. this broke the build
-
- 07 12月, 2015 4 次提交
-
-
由 Yves Siegrist 提交于
In the doc the `dependent` option was set with: `dependent: destroy`. This is not working because destroy would call the method of the activerecord::base object. The right way is: `dependent: :destroy`
-
由 Arthur Neves 提交于
The problem was that when saving an object, we would call touch_later on the parent which wont be saved immediteally, and it wont call any callbacks. That was working one level up because we were calling touch, during the touch_later commit phase. However that still didnt solve the problem when you have a 3+ levels of parents to be touched, as calling touch would affect the parent, but it would be too late to run callbacks on its grand-parent. The solution for this, is instead, call touch_later upwards when the first touch_later is called. So we make sure all the timestamps are updated without relying on callbacks. This also removed the hard dependency BelongsTo builder had with the TouchLater module. So we can still have the old behaviour if TouchLater module is not included. [fixes 5f5e6d92] [related #19324]
-
由 Genadi Samokovarov 提交于
Those are actually shortcuts for `after_commit`. Before: after_commit :add_to_index_later, on: :create after_commit :update_in_index_later, on: :update after_commit :remove_from_index_later, on: :destroy After: after_create_commit :add_to_index_later after_update_commit :update_in_index_later after_destroy_commit :remove_from_index_later
-
由 Elektron1c97 提交于
According to pr #22443 in the guides there's always a dollar sign before every command, so why is in the main README a `$` and in every submodule a `%`? Just eye candy..
-
- 06 12月, 2015 1 次提交
-
-
由 Jon Moss 提交于
The `rake db:test:*` tasks were deprecated in #13528, but were undeprecated and added back in via #17739.
-
- 05 12月, 2015 2 次提交
-
-
由 James Wen 提交于
-
由 yuuji.yaginuma 提交于
This removes the following warning which has been out in the case of a PostgreSQL 9.3 below. ``` activerecord/test/cases/adapters/postgresql/geometric_test.rb:265: warning: instance variable @connection not initialized ```
-
- 03 12月, 2015 2 次提交
-
-
由 claudiob 提交于
[ci skip] Q: What happens if you initialize an AR model by passing Parameters that have not been whitelisted with `permit`? A: An `ActiveModel::ForbiddenAttributesError` is raised. I think this behavior is correct, and it's better than what used to happen, with unpermitted parameter being simply ignored.
-
由 Yves Senn 提交于
This will also get the defaults from attribute definitions like: attribute :type, :string, default: "SomethingElse"
-
- 02 12月, 2015 4 次提交
-
-
由 Yves Senn 提交于
`has_attribute?` method to check wether a given attribute has been defined.
-
由 Yves Senn 提交于
This solves the following error: ActiveRecord::StatementInvalid: Could not find table 'guitars' It seems that the table structure of the `Guitar` model has not been necessary until now. Due to the wrong table name the model was not correctly linked to the table.
-
由 Kuldeep Aggarwal 提交于
fixes #17121
-
由 Sean Griffin 提交于
It appears that I missed this one when I delegated all the non-mutation array methods that were not on Enumerable
-
- 01 12月, 2015 4 次提交
-
-
由 Dmytrii Nagirniak 提交于
The previous message was misleading (especially for Ops guys) when diagnosing problems related to the database connection. The message was suggesting that the connection cannot be obtained which normally assumes the need to look at the database. But this isn't the case as the connection could not be retrieved from the application's internal connection pool. The new message should make it more explicit and remove the confusion.
-
由 Yasuo Honda 提交于
-
由 Yasuo Honda 提交于
-
由 Yasuo Honda 提交于
-
- 30 11月, 2015 2 次提交
-
-
由 Ryuta Kamizono 提交于
-
由 Ryuta Kamizono 提交于
`pool` in args is unused anymore. And `config` is used in all adapters.
-
- 29 11月, 2015 1 次提交
-
-
由 Ryuta Kamizono 提交于
Not needed for `Mysql2Adapter` and `AbstractMysqlAdapter`.
-
- 27 11月, 2015 1 次提交
-
-
由 Sean Griffin 提交于
-
- 26 11月, 2015 2 次提交
-
-
由 Ryuta Kamizono 提交于
-
由 Jared Beck 提交于
[ci skip]
-
- 24 11月, 2015 5 次提交
-
-
由 Sean Griffin 提交于
-
由 Ryuta Kamizono 提交于
Not needed for `Mysql2Adapter` and `AbstractMysqlAdapter`.
-
由 Ryuta Kamizono 提交于
-
由 Ryuta Kamizono 提交于
-
由 Sean Griffin 提交于
As was pointed out by #17128, our blacklist of mutation methods was non-exhaustive (and would need to be kept up to date with each new version of Ruby). Now that `Relation` includes `Enumerable`, the number of methods that we actually need to delegate are pretty small. As such, we can change to explicitly delegating the few non-mutation related methods that `Array` has which aren't on `Enumerable`
-