aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | | | | | | | Merge pull request #26072 from kamipo/extract_case_sensitive_handlerRafael Mendonça França2016-08-176-51/+51
|\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extract `PredicateBuilder::CaseSensitiveHandler`
| * | | | | | | | | | | Extract `PredicateBuilder::CaseSensitiveHandler`Ryuta Kamizono2016-08-166-51/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently uniqueness validator is coupled with building Arel ASTs. This commit extracts `PredicateBuilder::CaseSensitiveHandler` for decouple the building Arel ASTs.
* | | | | | | | | | | | Merge pull request #26121 from MaxLap/fix_count_with_left_joinsRafael Mendonça França2016-08-164-16/+28
|\ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix count which would sometimes force a DISTINCT
| * | | | | | | | | | | | Fix count which would sometimes force a DISTINCTMaxime Lapointe2016-08-164-16/+28
| | |_|/ / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current behaviour of checking if there is a LEFT OUTER JOIN arel node to detect if we are doing eager_loading is wrong. This problem wasn't frequent before as only some pretty specific cases would add a LEFT OUTER JOIN arel node. However, the recent new feature left_outer_joins also add this node and made this problem happen frequently. Since in the perform_calculation function, we don't have access to eager_loading information, I had to extract the logic for the distinct out to the calculate method. As I was in the file for left_outer_join tests, I fixed a few that had bugs and I replaced some that were really weak with something that will catch more issues. In relation tests, the first test I changed would have failed if it had validated the hash returned by count instead of just checking how many pairs were in it. This is because this merge of join currently transforms the join node into an outer join node, which then made count do a distinct. So before this change, the return was {1=>1, 4=>1, 5=>1}.
* | | | | | | | | | | | Merge pull request #25671 from ↵Rafael França2016-08-165-5/+16
|\ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | kamipo/dont_handle_as_associated_predicate_if_table_has_column Do not handle as an associated predicate if a table has the column
| * | | | | | | | | | | | Do not handle as an associated predicate if a table has the columnRyuta Kamizono2016-08-165-5/+16
| | |/ / / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If handled as an associated predicate even though a table has the column, will generate invalid SQL by valid column name treated as a table name.
* | | | | | | | | | | | Merge pull request #26000 from kamipo/remove_sanitizeRafael França2016-08-162-13/+1
|\ \ \ \ \ \ \ \ \ \ \ \ | |_|_|_|_|_|/ / / / / / |/| | | | | | | | | | | Remove internal `sanitize` method
| * | | | | | | | | | | Remove internal `sanitize` methodRyuta Kamizono2016-07-312-13/+1
| | |_|_|_|_|_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently internal `sanitize`/`quote_value` method is only used for `quoted_id`. Simply it is enough to use `connection.quote` public API instead.
* | | | | | | | | | | Yield the job instance so you have access to things like `job.arguments` on ↵David Heinemeier Hansson2016-08-164-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the custom logic after retries fail
* | | | | | | | | | | Merge pull request #25863 from mechanicles/remove-duplicate-testRafael França2016-08-161-5/+0
|\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Remove duplicate test.
| * | | | | | | | | | | Remove duplicate test.Santosh Wadghule2016-07-171-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We already test similar stuff in `test_really_long_keys` so removing this extra and duplicated test.
* | | | | | | | | | | | Merge pull request #26183 from Shopify/fix-no-touching-touch-laterRafael França2016-08-163-1/+14
|\ \ \ \ \ \ \ \ \ \ \ \ | |_|_|_|/ / / / / / / / |/| | | | | | | | | | | Makes touch_later respects no_touching policy
| * | | | | | | | | | | Makes touch_later respects no_touching policyJean Boussier2016-08-163-1/+14
| | | | | | | | | | | |
* | | | | | | | | | | | Merge pull request #26061 from ↵Rafael França2016-08-161-1/+1
|\ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | malclocke/specify_ar_message_interpolation_names_in_i18n_guide List names of error interpolation variables.
| * | | | | | | | | | | | List names of error interpolation variables.Malcolm Locke2016-08-051-1/+1
| | | | | | | | | | | | |
* | | | | | | | | | | | | Merge pull request #26175 from stomar/upgrade-guide-fixRafael França2016-08-161-0/+2
|\ \ \ \ \ \ \ \ \ \ \ \ \ | |_|_|_|_|/ / / / / / / / |/| | | | | | | | | | | | Clarify migration to ApplicationRecord in upgrade guides [ci skip]
| * | | | | | | | | | | | Clarify migration to ApplicationRecord in upgrade guides [ci skip]Marcus Stollsteimer2016-08-151-0/+2
| | | | | | | | | | | | |
* | | | | | | | | | | | | Merge pull request #26181 from oss92/add-column-array-docsRafael França2016-08-161-0/+4
|\ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add array column documentation
| * | | | | | | | | | | | | Add array column documentationoss922016-08-161-0/+4
| | | | | | | | | | | | | |
* | | | | | | | | | | | | | Merge pull request #26094 from igorkasyanchuk/masterRafael França2016-08-163-7/+7
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / / / / |/| | | | | | | | | | | | | Show unpermitted parameters as symbols in logs (so they could be copy…
| * | | | | | | | | | | | | Show unpermitted parameters as symbols in logs (so they could be copy-pasted ↵Igor Kasyanchuk2016-08-103-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to the code)
* | | | | | | | | | | | | | Merge pull request #26117 from kamipo/make_association_quary_to_preparable_step1Rafael Mendonça França2016-08-161-11/+11
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make association queries to preparable: Step 1
| * | | | | | | | | | | | | | Make association queries to preparable: Step 1Ryuta Kamizono2016-08-111-11/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently association queries cannot be preparable. ```ruby Post.where(author_id: 1).to_a # => SELECT "posts".* FROM "posts" WHERE "posts"."author_id" = ? [["author_id", 1]] Post.where(author: 1).to_a # => SELECT "posts".* FROM "posts" WHERE "posts"."author_id" = 1 ``` To make association queries to preparable, it should be handled in `create_binds_for_hash`. This change is a first step for it.
* | | | | | | | | | | | | | | Merge pull request #26074 from kamipo/where_by_attribute_with_array_or_rangeRafael França2016-08-163-7/+23
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `where` by `array|range` attribute with array or range value
| * | | | | | | | | | | | | | | `where` by `array|range` attribute with array or range valueRyuta Kamizono2016-08-113-7/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently predicate builder cannot build a predicate for `array|range` attribute. This commit fixes the issue. Related #25671.
* | | | | | | | | | | | | | | | Merge pull request #26097 from Dagnan/fix_recordnotfound_args_rebasedRafael França2016-08-164-4/+33
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When calling association.find RecordNotFound is now raised with the s…
| * | | | | | | | | | | | | | | | When calling association.find RecordNotFound is now raised with the same ↵Michel Pigassou2016-08-134-4/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | argument as when we do it in Record.find (primary_key, id and model).
* | | | | | | | | | | | | | | | | Merge pull request #26151 from kamipo/avoid_to_allow_unused_splat_argsRafael França2016-08-163-6/+4
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Avoid to allow unused splat args for `t.timestamps` in `create_table`
| * | | | | | | | | | | | | | | | | Avoid to allow unused splat args for `t.timestamps` in `create_table`Ryuta Kamizono2016-08-143-6/+4
| |/ / / / / / / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unfortunately `t.timestamps` in `create_table` allows unused splat args. But the same one in `change_table` does not allow them. This commit fixes the inconsistent behavior.
* | | | | | | | | | | | | | | | | Merge pull request #26155 from kamipo/refactor_quoted_columns_for_indexRafael Mendonça França2016-08-162-29/+25
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactor `quoted_columns_for_index` by extracted `add_options_for_index_columns`
| * | | | | | | | | | | | | | | | | Refactor `quoted_columns_for_index` by extracted `add_options_for_index_columns`Ryuta Kamizono2016-08-142-29/+25
| |/ / / / / / / / / / / / / / / /
* | | | | | | | | | | | | | | | | Merge pull request #26156 from sfaxon/route_visualizer_fixRafael França2016-08-161-1/+3
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fix Rails.application.routes.router.visualizer for router debugging
| * | | | | | | | | | | | | | | | | fix Rails.application.routes.router.visualizer for router debuggingSeth Faxon2016-08-131-1/+3
| |/ / / / / / / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fixes error due to Routes#partitioned_routes being removed
* | | | | | | | | | | | | | | | | Merge pull request #26162 from kamipo/take_respects_dirty_targetRafael França2016-08-163-19/+19
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `CollectionProxy#take` should respect dirty target
| * | | | | | | | | | | | | | | | | `CollectionProxy#take` should respect dirty targetRyuta Kamizono2016-08-143-19/+19
| |/ / / / / / / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `#first`, `#second`, ..., `#last` methods respects dirty target. But `#take` doesn't respect it. This commit fixes the inconsistent behavior.
* | | | | | | | | | | | | | | | | Merge pull request #26019 from agrobbin/schema-load-unique-column-indicesRafael França2016-08-163-3/+19
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Support multiple indexes on the same column when loading the schema
| * | | | | | | | | | | | | | | | | support multiple indexes on the same column when loading the schemaAlex Robbin2016-08-023-3/+19
| | | | | | | | | | | | | | | | | |
* | | | | | | | | | | | | | | | | | Merge pull request #26157 from ↵Rafael França2016-08-162-0/+2
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | y-yagi/remove_test_mailers_when_skipping_action-mailer remove "test/mailers" directory when skipping action-mailer
| * | | | | | | | | | | | | | | | | | remove "test/mailers" directory when skipping action-maileryuuji.yaginuma2016-08-142-0/+2
| | |/ / / / / / / / / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Related to #26146
* | | | | | | | | | | | | | | | | | Merge pull request #26130 from yui-knk/drop_tableRafael França2016-08-161-1/+3
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Drop a temporary table before end of a test case
| * | | | | | | | | | | | | | | | | | Drop a temporary table before end of a test caseyui-knk2016-08-141-1/+3
| | | | | | | | | | | | | | | | | | |
* | | | | | | | | | | | | | | | | | | Add three new rubocop rulesRafael Mendonça França2016-08-16362-1797/+1809
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Style/SpaceBeforeBlockBraces Style/SpaceInsideBlockBraces Style/SpaceInsideHashLiteralBraces Fix all violations in the repository.
* | | | | | | | | | | | | | | | | | | Merge pull request #26177 from achinn/ac-live-deadlockMatthew Draper2016-08-163-1/+30
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix ActionController::Live deadlock
| * | | | | | | | | | | | | | | | | | | Fix deadlock that can occur when child live thread tries to load a constant ↵Alex Chinn2016-08-153-1/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | after writing to the stream.
* | | | | | | | | | | | | | | | | | | | Merge pull request #26178 from claudiob/load-table-metadataRafael França2016-08-151-1/+1
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / / / / / / / / / / |/| | | | | | | | | | | | | | | | | | | Eager autoload ActiveRecord::TableMetadata
| * | | | | | | | | | | | | | | | | | | Eager autoload ActiveRecord::TableMetadataclaudiob2016-08-151-1/+1
|/ / / / / / / / / / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes a bug that can occur when ActiveJob tries to access ActiveRecord. Specifically, I had an Active Job process fail on Sidekiq with this error: ``` ActiveJob::DeserializationError: Error while trying to deserialize arguments: uninitialized constant ActiveRecord::Core::ClassMethods::TableMetadata Did you mean? ActiveRecord::TableMetadata ``` raised by these lines of code: ``` [GEM_ROOT]/gems/activerecord-5.0.0.1/lib/active_record/core.rb:300 :in `table_metadata` 298 299 def table_metadata # :nodoc: 300 TableMetadata.new(self, arel_table) 301 end 302 end [GEM_ROOT]/gems/activerecord-5.0.0.1/lib/active_record/core.rb:273 :in `predicate_builder` [GEM_ROOT]/gems/activerecord-5.0.0.1/lib/active_record/core.rb:290 :in `relation` ``` The problem seems to be that, inside ActiveRecord::Core, the `TableMetadata` class has not been loaded and, therefore, Rails tries to access the constant `ActiveRecord::Core::ClassMethods::TableMetadata` which does not exist. Eager loading `ActiveRecord::TableMetadata` should fix the issue. @rafaelfranca -- see our Campfire discussion
* | | | | | | | | | | | | | | | | | | Merge pull request #26176 from stomar/clarify-update-taskVipul A M2016-08-161-1/+1
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clarify use of update task on 4.2 and earlier [ci skip]
| * | | | | | | | | | | | | | | | | | | Clarify use of update task on 4.2 and earlier [ci skip]Marcus Stollsteimer2016-08-151-1/+1
| | |_|_|_|_|_|/ / / / / / / / / / / / | |/| | | | | | | | | | | | | | | | |
* | | | | | | | | | | | | | | | | | | Merge pull request #26167 from kamipo/remove_find_nth_with_limit_and_offsetKasper Timm Hansen2016-08-151-34/+13
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove `find_nth_with_limit_and_offset` private method
| * | | | | | | | | | | | | | | | | | | Remove `find_nth_with_limit_and_offset` private methodRyuta Kamizono2016-08-151-34/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `find_nth` is protected method, therefore `offset` has not been passed anywhere. `find_nth_with_limit_and_offset` is unnecessary anymore because `offset` has not been passed.