aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Use table name qualified column name for update countersRyuta Kamizono2018-09-162-9/+15
| | | | | | | | | MySQL supports JOINs to UPDATE, so if column name isn't qualified by table name, it would cause an ambiguous error: ``` Mysql2::Error: Column 'integer' in field list is ambiguous: UPDATE `pets` INNER JOIN `toys` ON `toys`.`pet_id` = `pets`.`pet_id` SET `integer` = COALESCE(`integer`, 0) + 1 WHERE `toys`.`name` = ? ```
* Extract `{update,delete}_all_test.rb` from `persistence_test.rb` and ↵Ryuta Kamizono2018-09-164-335/+347
| | | | | | | | `relations_test.rb` `persistence_test.rb` and `relations_test.rb` have too many lines, so I'd like to extract relation around tests to dedicated files before newly test added.
* Unlock pg versonyuuji.yaginuma2018-09-152-5/+5
| | | | | Get a warning about `async_exec`, but it seems that build has passed through the fix of https://bitbucket.org/ged/ruby-pg/commits/be48d118eeedbf6b6a1f0aa14749ab97fc22065c.
* Bump marcel for significant gem size reductionGeorge Claghorn2018-09-141-1/+1
|
* Merge pull request #33878 from kamipo/fallback_to_unprepared_statementRyuta Kamizono2018-09-155-7/+19
|\ | | | | Fallback to unprepared statement only when bind params limit is exceeded
| * Fallback to unprepared statement only when bind params limit is exceededRyuta Kamizono2018-09-145-7/+19
| | | | | | | | | | | | | | | | | | | | | | This is a follow up and/or an alternative of #33844. Unlike #33844, this would attempt to construct unprepared statement only when bind params limit (mysql2 65535, pg 65535, sqlite3 249999) is exceeded. I only defined 65535 as the limit, not defined 249999 for sqlite3, since it is an edge case, I'm not excited to add less worth extra code.
* | Add test for `config.active_storage.routes_prefix`yuuji.yaginuma2018-09-151-0/+18
| | | | | | | | Follow up #33883.
* | Merge pull request #33883 from ↵George Claghorn2018-09-145-12/+27
|\ \ | | | | | | | | | | | | cbisnett/active_storage_route_prefix_configuration Configure Active Storage route prefix
| * | Configure Active Storage route prefixChris Bisnett2018-09-145-12/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Applications can configure the route prefix prepended to the Active Storage routes. By default this maintains the previous prefix `/rails/active_storage` but supports custom prefixes. Before this change the route for serving blobs is fixed to `/rails/active_storage/blobs/:signed_id/*filename`. After this change it's possible to configure the route to something like `/files/blobs/:signed_id/*filename`.
* | | Update associations.rb API documentation [ci skip] (#33857)Lucas Brandt2018-09-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Update association_basics.md [ci skip] Addresses issue #33599 * Update associations.rb API documentation [ci skip] Additional detail for documentation of `belongs_to` `association=(associate)` * Update association_basics.md [ci skip] Reverts misplaced documentation comment
* | | Merge pull request #33884 from printercu/patch-3Ryuta Kamizono2018-09-151-10/+10
|\ \ \ | |/ / |/| | [ci skip] Fix documentation for Response#content_type
| * | [ci skip] Fix documentation for Response#content_typeprintercu2018-09-141-10/+10
|/ /
* | Add `:redis_cache_store` to `config.cache_store` options [ci skip]yuuji.yaginuma2018-09-141-1/+1
| |
* | Merge pull request #33879 from yahonda/another_33876Ryuta Kamizono2018-09-143-3/+3
|\ \ | | | | | | Remove mysql2 gem version requirement "< 0.6.0"
| * | Remove mysql2 gem version requirement "< 0.6.0"Yasuo Honda2018-09-143-3/+3
| | | | | | | | | | | | Suggested at https://github.com/rails/rails/pull/33876#issuecomment-421176221
* | | SQLite3: Support multiple args function for expression indexesRyuta Kamizono2018-09-144-23/+28
|/ / | | | | | | | | Follow up #33874. Related #23393.
* | Make sure the flash method is defined even if helpers are not presentRafael Mendonça França2018-09-132-6/+11
| |
* | Enable `sudo` only in the required buildyuuji.yaginuma2018-09-141-4/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, PostgreSQL + Ruby 2.5.1 build has failed. https://travis-ci.org/rails/rails/jobs/427502723#L2940-L2942 https://travis-ci.org/rails/rails/jobs/427496382#L2921-L2923 https://travis-ci.org/rails/rails/jobs/427470858#L2921-L2923 This is because PostgreSQL server abnormally terminates when ramfs becomes full. Ref: https://travis-ci.org/rails/rails/jobs/427960998#L7614 This occurs since d54d0c95750e2693da495b75ac5fa0280253972d. In d54d0c95750e2693da495b75ac5fa0280253972d, `sudo` is used in preprocessing for setting MySQL. In Travis, even if specified `sudo: false`, when using `sudo` in build, sudo-enabled infrastructure is used. https://docs.travis-ci.com/user/reference/overview/#virtualisation-environment-vs-operating-system As container-based infrastructure was changed to sudo-enabled infrastructure, the disk settings etc were also changed, it seems that this phenomenon occurred. This can also be handled by extending ramfs(https://github.com/travis-ci/travis-ci/issues/9036#issuecomment-357189213). However, using sudo-enabled in all builds affects the execution time of build, so I think that it is good to use sudo-enabled only in the necessary builds.
* | Merge pull request #33874 from gkemmey/sqlite-expression-indexesRafael França2018-09-135-6/+70
|\ \ | |/ |/| SQLite3 adapter supports expression indexes
| * SQLite3 adapter supports expression indexesgkemmey2018-09-135-6/+70
| |
* | Merge pull request #33875 from yahonda/drop_mysql_51_supportRyuta Kamizono2018-09-142-2/+2
|\ \ | | | | | | | | | | | | Bump MySQL version requirement to 5.5.8 in the template files [ci skip]
| * | Bump MySQL version requirement to 5.5.8 in the template filesYasuo Honda2018-09-132-2/+2
| | | | | | | | | | | | Follow-up #33853
* | | Merge pull request #33800 from aeroastro/feature/doc-change-for-blankXavier Noria2018-09-131-1/+1
|\ \ \ | | | | | | | | Improve API document on Object#blank?
| * | | Revert falsey with example reorderedTakumasa Ochi2018-09-141-2/+2
| | | |
| * | | Improve API document on Object#blank?Takumasa Ochi2018-09-061-2/+2
| | | | | | | | | | | | | | | | | | | | * Introduce `falsey` to represent both `nil` and `false`. * Keep consistent order between abstract description and examples.
* | | | Merge pull request #33569 from eric-hemasystems/conditional-flash-helperRafael França2018-09-132-3/+13
|\ \ \ \ | |_|_|/ |/| | | Conditionally use `helper_method` in Flash concern
| * | | Conditionally use `helper_method` in Flash concernEric Anderson2018-08-092-3/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I was attempting to use the `flash` functionality in a `Metal` controller. When including the `flash` concern I received the following error: NoMethodError: undefined method `helper_method'.... Either: - `AbstractController::Helpers` should be a dependency of `ActionController::Flash` - `ActionController::Flash` should not require the existence of `AbstractController::Helpers`. Since my use case (set a flash and redirect) has no need for the helper method and that is a common use case, making the dependency conditional seemed the better option. NOTE: This is similar to issue #21067 only the error is within Rails itself while that issue had the error within Devise.
* | | | Merge pull request #33871 from gregmolnar/database_configurationsEileen M. Uchitelle2018-09-131-0/+1
|\ \ \ \ | |_|_|/ |/| | | add `any?` to DatabaseConfigurations
| * | | add `any?` to DatabaseConfigurationsGreg Molnar2018-09-131-0/+1
| | | |
* | | | Merge pull request #33378 from numbata/subclass-redefine-autosave-callbacksRafael Mendonça França2018-09-134-1/+32
|\ \ \ \ | | | | | | | | | | | | | | | Allow subclasses to redefine autosave callbacks for associated records
| * | | | Allow subclasses to redefine autosave callbacks for associated recordsAndrey Subbota2018-07-274-1/+32
| | | | |
* | | | | Merge pull request #33853 from yahonda/use_utf8mb4_only_if_availableJeremy Daer2018-09-133-4/+19
|\ \ \ \ \ | | | | | | | | | | | | Validate if `utf8mb4` character set and longer index key prefix is supported
| * | | | | Drop MySQL 5.1 supportYasuo Honda2018-09-132-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * MySQL 5.1 does not support `utf8mb4` character set * MySQL 5.1 had been already EOLed on Dec 2013 https://www.mysql.com/support/eol-notice.html > Per Oracle's Lifetime Support policy, as of December 31, 2013, MySQL 5.1 > is covered under Oracle Sustaining Support. * MySQL 5.5.8 is the first General Availability of MySQL 5.5 https://dev.mysql.com/doc/relnotes/mysql/5.5/en/news-5-5-8.html
| * | | | | Raise an exception if :charset is not specified and large prefixes / utf8mb4 ↵Yasuo Honda2018-09-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | are not supported
| * | | | | Validate if `utf8mb4` character set and longer index key prefix is supportedYasuo Honda2018-09-132-2/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Once #33608 merged If users create a new database using MySQL 5.1.x, it will fail to create databases since MySQL 5.1 does not know `utf8mb4` character set. This pull request removes `encoding: utf8mb4` from `mysql.yml.tt` to let create_database method handles default character set by MySQL server version. `supports_longer_index_key_prefix?` method will need to validate if MySQL 5.5 and 5.6 server configured correctly to support longer index key prefix, but not yet.
* | | | | | Merge pull request #33872 from sharang-d/fix-typoRafael França2018-09-131-1/+1
|\ \ \ \ \ \ | |_|_|/ / / |/| | | | | Update arguments.rb [ci skip]
| * | | | | Update arguments.rb [ci skip]Sharang Dashputre2018-09-131-1/+1
|/ / / / / | | | | | | | | | | | | | | | Fix typo `Instrinsic` -> `Intrinsic`
* | | | | Merge pull request #33869 from bogdanvlviv/add-changelog-entries-for-33849Ryuta Kamizono2018-09-132-0/+8
|\ \ \ \ \ | | | | | | | | | | | | Add changelog entries for #33849 [ci skip]
| * | | | | Add changelog entries for #33849 [ci skip]bogdanvlviv2018-09-132-0/+8
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since these changes related to the public API, I think we should add changelog entries. Related to #33838, #33849
* | | | | Merge pull request #33844 from kamipo/too_many_eager_load_idsRyuta Kamizono2018-09-136-5/+29
|\ \ \ \ \ | |/ / / / |/| | | | Eager loading/preloading should be worked regardless of large number of records
| * | | | Eager loading/preloading should be worked regardless of large number of recordsRyuta Kamizono2018-09-126-5/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since 213796f, bind params are used for IN clause if enabled prepared statements. Unfortunately, most adapter modules have a limitation for # of bind params (mysql2 65535, pg 65535, sqlite3 250000). So if eager loading large number of records at once, that query couldn't be sent to the database. Since eager loading/preloading queries are auto-generated by Active Record itself, so it should be worked regardless of large number of records like as before. Fixes #33702.
* | | | | Merge pull request #33860 from jhawthorn/faster_find_templatesRafael França2018-09-121-13/+53
|\ \ \ \ \ | | | | | | | | | | | | Use faster globs for template resolving
| * | | | | Fix for variants: :any special caseJohn Hawthorn2018-09-121-1/+3
| | | | | |
| * | | | | Use wildcard glob for optimized template resolvingJohn Hawthorn2018-09-121-13/+51
| | | | | |
* | | | | | Add a test that exercice better the behavior we expect in the query cacheRafael Mendonça França2018-09-121-2/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In production the query cache was already being loaded before the first request even without #33856, so added a test to make sure of it. This new test is passing even if #33856 is reverted.
* | | | | | Merge pull request #33849 from ↵Rafael França2018-09-122-1/+8
|\ \ \ \ \ \ | |/ / / / / |/| | | | | | | | | | | | | | | | | ricardotk002/include-helpers-action-dispatch-integration-test Include test helpers in ActionDispatch::IntegrationTest
| * | | | | Include test helpers when ActionDispatch::IntegrationTest is loadedRicardo Díaz2018-09-122-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As @dhh brings up, the point of `ActionDispatch::IntegrationTest` is to allow users to test the integration of all the pieces called by a controller. Asserting about the emails and jobs queued is part of that task. This commit includes the `ActionMailer::TestHelper` and `ActiveJob::TestHelper` modules when the ActionMailer and ActiveJob railties are initialized respectively.
* | | | | | Merge pull request #33854 from rigani/integer-multipleRafael França2018-09-121-1/+1
|\ \ \ \ \ \ | | | | | | | | | | | | | | Faster multiple_of? method
| * | | | | | Faster multiple_of? methodrigani2018-09-121-1/+1
| | | | | | |
* | | | | | | Merge pull request #33832 from bogdanvlviv/follow-up-33756Rafael França2018-09-125-31/+55
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Follow up #33756