- 01 6月, 2015 1 次提交
-
-
由 manish-shrivastava 提交于
-
- 31 5月, 2015 3 次提交
-
-
由 Yoong Kang Lim 提交于
-
由 Sean Griffin 提交于
Our general contract in Active Record is that strings are assumed to be SQL literals, and symbols are assumed to reference a column. If a from clause is given, we shouldn't include the table name, but we should still quote the value as if it were a column. Upon fixing this, the tests were still failing on SQLite. This was because the column name being returned by the query was `"\"join\""` instead of `"join"`. This is actually a bug in SQLite that was fixed a long time ago, but I was using the version of SQLite included by OS X which has this bug. Since I'm guessing this will be a common case for contributors, I also added an explicit check with a more helpful error message. Fixes #20360
-
由 Sean Griffin 提交于
-
- 29 5月, 2015 5 次提交
-
-
由 Kevin Deisz 提交于
This allows easier integration with ActiveRecord, such that AR#pluck will now use Enumerable#pluck if the relation is loaded, without needing to hit the database.
-
由 Ernie Miller 提交于
For certain column types, using `serialize` is unnecessary, or the user may get unexpected contents back from the DB adapter (which is handling some basic deserialization for them). Call this out in the documentation. For background, see: https://gist.github.com/ernie/33f75f2294885b9806f9 https://twitter.com/erniemiller/status/604262907442905090
-
由 Roque Pinel 提交于
-
由 Sean Griffin 提交于
This is a usability change to fix a quirk from our definition of partial writes. By default, we only persist changed attributes. When creating a new record, this is assumed that the default values came from the database. However, if the user provided a default, it will not be persisted, since we didn't see it as "changed". Since this is a very specific case, I wanted to isolate it with the other quirks that come from user provided default values. The number of edge cases which are presenting themselves are starting to make me wonder if we should just remove the ability to assign a default, in favor of overriding `initialize`. For the time being, this is required for the attributes API to not have confusing behavior. We had to delete one test, since this actually changes the meaning of `.changed?` on Active Record models. It now specifically means `changed_from_database?`. While I think this will make the attributes API more ergonomic to use, it is a subtle change in definition (though not a backwards incompatible one). We should probably figure out the right place to document this. (Feel free to open a PR doing that if you're reading this). /cc @rafaelfranca @kirs @senny This is an alternate implementation of #19921. Close #19921. [Sean Griffin & Kir Shatrov]
-
由 Sean Griffin 提交于
This is a variant implementation of the changes proposed in #19914. Unlike that PR, the change in behavior is isolated in its own class. This is to prevent wonky behavior if a Proc is assigned outside of the default, and it is a natural place to place the behavior required by #19921 as well. Close #19914. [Sean Griffin & Kir Shatrov]
-
- 28 5月, 2015 4 次提交
-
-
由 Washington Luiz 提交于
Couldn't find other way to get the association name from a given class other than looping through `reflect_on_all_associations` reflections .. Noticed this one while looking at this example: ```ruby class Product < ActiveRecord::Base has_many :variants has_many :translations end class Translation < ActiveRecord::Base belongs_to :product end class Variant < ActiveRecord::Base belongs_to :product end class BugTest < Minitest::Test def test_merge_stuff product = Product.create! name: 'huhu' variant = Variant.create! product_id: product.id Translation.create! locale: 'en', product_id: product.id product_relation = Product.all .preload(:translations) .joins(:translations) .merge(Translation.where(locale: 'en')) .where(name: 'huhu') assert_equal variant, Variant.joins(:product).merge(product_relation).first end end ```
-
由 Jordan Raine 提交于
-
由 Akshay Vishnoi 提交于
-
由 George Claghorn 提交于
Currently, values for columns backing Active Record enums must be specified as integers in test fixtures: awdr: title: "Agile Web Development with Rails" status: 2 rfr: title: "Ruby for Rails" status: <%= Book.statuses[:proposed] %> This is potentially confusing, since enum values are typically specified as symbols or strings in application code. To resolve the confusion, this change permits the use of symbols or strings to specify enum values: awdr: status: :published It is compatible with fixtures that specify enum values as integers.
-
- 27 5月, 2015 1 次提交
-
-
由 Ryuta Kamizono 提交于
Related with #17370.
-
- 26 5月, 2015 2 次提交
-
-
由 keepcosmos 提交于
-
由 Yves Senn 提交于
See #9683 for the reasons we switched to `distinct`. Here is the discussion that triggered the actual deprecation #20198. `uniq`, `uniq!` and `uniq_value` are still around. They will be removed in the next minor release after Rails 5.
-
- 24 5月, 2015 1 次提交
-
-
由 Akshay Vishnoi 提交于
-
- 23 5月, 2015 1 次提交
-
-
由 Jonathan Worek 提交于
-
- 22 5月, 2015 1 次提交
-
-
由 Waynn Lue 提交于
-
- 20 5月, 2015 8 次提交
-
-
由 karanarora 提交于
-
由 amitkumarsuroliya 提交于
-
由 Ronak Jangir 提交于
-
由 Aaron Patterson 提交于
we should ask the reflection for its name rather than storing the reflection name in two places (an array and a reflection object)
-
由 Ryuta Kamizono 提交于
-
由 Ryuta Kamizono 提交于
This line introduced by the commit fd398475 for using `Arel::Visitors::BindVisitor`. Currently it is not used.
-
由 Ryuta Kamizono 提交于
Related with #20028.
-
由 Ryuta Kamizono 提交于
-
- 19 5月, 2015 2 次提交
-
-
由 Ryuta Kamizono 提交于
-
由 Ryuta Kamizono 提交于
-
- 18 5月, 2015 3 次提交
- 17 5月, 2015 1 次提交
-
-
由 Eugene Kenny 提交于
Active Record detects when the process has forked and automatically creates a new connection pool to avoid sharing file descriptors. If the existing connection pool had a schema cache associated with it, the new pool should copy it to avoid unnecessarily querying the database for its schema. The code to detect that the process has forked is in ConnectionHandler, but the existing test for it was in the ConnectionManagement test file. I moved it to the right place while I was writing the new test for this change.
-
- 15 5月, 2015 1 次提交
-
-
由 Mehmet Emin İNAÇ 提交于
-
- 14 5月, 2015 3 次提交
-
-
由 thedarkone 提交于
Renamed `@reserved_connections` -> `@thread_cached_conns`. New name clearly conveys the purpose of the cache, which is to speed-up `#connection` method. The new `@thread_cached_conns` now also uses `Thread` objects as keys (instead of previously `Thread.current.object_id`). Since there is no longer any synchronization around `@thread_cached_conns`, `disconnect!` and `clear_reloadable_connections!` methods now pre-emptively obtain ownership (via `checkout`) of all existing connections, before modifying internal data structures. A private method `release` has been renamed `thread_conn_uncache` to clear-up its purpose. Fixed some brittle `thread.status == "sleep"` tests (threads can go into sleep even without locks).
-
由 thedarkone 提交于
-
由 thedarkone 提交于
Move post checkout connection verification out of mutex.synchronize.
-
- 13 5月, 2015 3 次提交
-
-
由 Yves Senn 提交于
This can resolve confusing situation when a top level constant exists but a namespaced version is identified. Related to #19531.
-
由 Tony Miller 提交于
-
由 Alex Coomans 提交于
Add full set of MySQL CLI options to support SSL authentication when using db:structure dump and load
-