aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | | | Allow proc defaults with the Attributes APISean Griffin2015-05-282-1/+26
| |_|/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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]
* | | | | | Merge pull request #20196 from huoxito/preload-association-and-mergesRafael Mendonça França2015-05-281-1/+23
|\ \ \ \ \ \ | | | | | | | | | | | | | | Properly append preload / includes args on Merger
| * | | | | | Properly append preload / includes args on MergerWashington Luiz2015-05-281-1/+23
| | |_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 ```
* | | | | | Merge pull request #20041 from akshay-vishnoi/sqlite_collationRafael Mendonça França2015-05-282-4/+66
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | SQLite3: Add collation support for string and text columns
| * | | | | | Add collation support for string and text columns in SQLite3Akshay Vishnoi2015-05-282-4/+66
| | | | | | |
* | | | | | | Allow Relation#compact using delegationJordan Raine2015-05-281-1/+1
|/ / / / / /
* | | | | | Merge pull request #20171 from georgeclaghorn/enums-in-fixturesRafael Mendonça França2015-05-271-0/+5
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | Allow the use of symbols or strings to specify enum values in test fixtures
| * | | | | | Resolve enums in test fixturesGeorge Claghorn2015-05-271-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | | | Merge pull request #19886 from henders/henders/reload_wipe_query_cacheRafael Mendonça França2015-05-271-1/+3
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Cause ActiveRecord::Base::reload to also ignore the QueryCache.
| * | | | | | | Cause ActiveRecord::Base::reload to also ignore the QueryCache.Shane Hender2015-04-281-1/+3
| | | | | | | |
* | | | | | | | Merge pull request #17654 from kamipo/strict_mode_explicitlyRafael Mendonça França2015-05-271-2/+4
|\ \ \ \ \ \ \ \ | |_|/ / / / / / |/| | | | | | | If specify `strict: :default` explicitly, do not set sql_mode.
| * | | | | | | If specify `strict: :default` explicitly, do not set sql_mode.Ryuta Kamizono2015-05-261-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Related with #17370.
* | | | | | | | Merge pull request #20269 from wojobucco/masterRafael Mendonça França2015-05-271-0/+1
|\ \ \ \ \ \ \ \ | |/ / / / / / / |/| | | | | | | | | | | | | | | Changed mysqldump to include sprocs and functions
| * | | | | | | Changed mysqldump to include sprocs and functionsJonathan Worek2015-05-221-0/+1
| | |/ / / / / | |/| | | | |
* | | | | | | add `extend` option on `has_and_belongs_to_many`.keepcosmos2015-05-261-1/+1
| | | | | | |
* | | | | | | deprecate `Relation#uniq` use `Relation#distinct` instead.Yves Senn2015-05-263-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | | | Remove `.superclass_delegating_accessor`. Refer #14271Akshay Vishnoi2015-05-241-1/+0
|/ / / / / /
* | | | | | "maybe" => "may be"Waynn Lue2015-05-211-1/+1
| | | | | |
* | | | | | Merge pull request #20219 from karanarora/Typo-fixSantiago Pastorino2015-05-201-1/+1
|\ \ \ \ \ \ | | | | | | | | | | | | | | typo fix [ci skip]
| * | | | | | typo fix [ci skip]karanarora2015-05-201-1/+1
| | | | | | |
* | | | | | | Merge pull request #20217 from amitsuroliya/fix_netaddr_linkArun Agrawal2015-05-201-1/+1
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Fix NetAddr link [ci skip]
| * | | | | | | Fix NetAddr link [ci skip]amitkumarsuroliya2015-05-201-1/+1
| | | | | | | |
* | | | | | | | Updated postgresql documentation link to use latest version [ci skip]Ronak Jangir2015-05-202-5/+5
|/ / / / / / /
* | | | | | | parent_reflection should store only a reflection objectAaron Patterson2015-05-192-7/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | we should ask the reflection for its name rather than storing the reflection name in two places (an array and a reflection object)
* | | | | | | Remove unused already requireRyuta Kamizono2015-05-193-8/+0
| | | | | | |
* | | | | | | Remove `require 'arel/visitors/bind_visitor'`Ryuta Kamizono2015-05-193-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This line introduced by the commit fd398475 for using `Arel::Visitors::BindVisitor`. Currently it is not used.
* | | | | | | Merge pull request #20212 from kamipo/avoid_heredocRafael Mendonça França2015-05-191-20/+5
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Avoid the heredoc in one line queries and simple queries
| * | | | | | | Avoid the heredoc in one line queries and simple queriesRyuta Kamizono2015-05-191-20/+5
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | Related with #20028.
* / / / / / / Eliminate the duplication code of `StatementPool`Ryuta Kamizono2015-05-194-92/+36
|/ / / / / /
* | | | | | Merge pull request #20175 from eugeneius/copy_schema_cache_after_forkRafael Mendonça França2015-05-181-1/+3
|\ \ \ \ \ \ | | | | | | | | | | | | | | Add schema cache to new connection pool after fork
| * | | | | | Add schema cache to new connection pool after forkEugene Kenny2015-05-171-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | | | Merge pull request #20187 from yui-knk/refactor/type_intRafael Mendonça França2015-05-181-3/+6
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Refactoring `ActiveRecord::Type::Integer` limit
| * | | | | | | Refactoring `ActiveRecord::Type::Integer` limityui-knk2015-05-181-3/+6
| | | | | | | |
* | | | | | | | Merge pull request #20192 from kamipo/divide_to_column_options_handling_methodsRafael Mendonça França2015-05-182-10/+34
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Divide methods for handling column options separately
| * | | | | | | | Divide methods for handling column options separatelyRyuta Kamizono2015-05-182-10/+34
| | |/ / / / / / | |/| | | | | |
* | | | | | | | Merge pull request #20190 from kamipo/fix_serial_with_quoted_sequence_nameRafael Mendonça França2015-05-181-1/+2
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Fix `serial?` with quoted sequence name
| * | | | | | | | Fix `serial?` with quoted sequence nameRyuta Kamizono2015-05-181-1/+2
| |/ / / / / / /
* | | | | | | | Merge pull request #20082 from sh6khan/nested-attributes-docsEileen M. Uchitelle2015-05-181-0/+5
|\ \ \ \ \ \ \ \ | |_|/ / / / / / |/| | | | | | | docs for updating nested attributes while creating parent record
| * | | | | | | docs for updating nested attributes while creating parent record [cish6khan2015-05-181-0/+5
| | |_|/ / / / | |/| | | | | | | | | | | | | | | | | | | skip]
* | | | | | | better `add_reference` documentation. [ci skip]Yves Senn2015-05-182-20/+18
| |/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch - reduces the duplication among the `reference`-family methods. - better explains all the optians available for `add_reference`. - redirects to user from `references` to `add_reference`. Originated by #20184.
* | | | | | Merge pull request #14938 from thedarkone/pool-lock-fixMatthew Draper2015-05-163-86/+407
|\ \ \ \ \ \ | | | | | | | | | | | | | | Reducing AR::ConPool's critical (synchronized) section
| * | | | | | AR::ConPool - remove synchronization around connection cache.thedarkone2015-05-142-80/+304
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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).
| * | | | | | AR::ConPool - establish connections outside of critical section.thedarkone2015-05-141-27/+101
| | | | | | |
| * | | | | | AR::ConPool - reduce post checkout critical section.thedarkone2015-05-142-13/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Move post checkout connection verification out of mutex.synchronize.
* | | | | | | Remove redundant require 'set' linesMehmet Emin İNAÇ2015-05-153-3/+0
| | | | | | |
* | | | | | | Merge pull request #20113 from claudiob/remove-rails31-refsYves Senn2015-05-142-18/+3
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | [ci skip] Remove comments about Rails 3.1
| * | | | | | [ci skip] Remove comments about Rails 3.1claudiob2015-05-112-18/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Stems from https://github.com/rails/rails/pull/20105#issuecomment-100900939 where @senny said: > From my point of view, all the docs (guides, API) are version bound. > They should describe that version and continue to be available when newer versions are released. > The cross referencing can be done by the interested user.
* | | | | | | Merge pull request #20121 from matthewrudy/remove-sanitize-hashSean Griffin2015-05-131-3/+1
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Remove call to sanitize_sql_hash_for_conditions
| * | | | | | | remove documentation for sanitize_sql_for_conditions with a HashMatthew Rudy Jacobs2015-05-121-2/+1
| | | | | | | |
| * | | | | | | Remove call to sanitize_sql_hash_for_conditionsMatthew Rudy Jacobs2015-05-121-1/+0
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | This method has already been removed.