aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record
Commit message (Collapse)AuthorAgeFilesLines
* Add database configuration to disable advisory locks.Guo Xiang Tan2018-08-223-3/+14
| | | | https://github.com/rails/rails/issues/31190
* Fix merging relation that order including `?`Ryuta Kamizono2018-08-211-2/+2
| | | | | | | | | | | | | | | The `Relation::Merger` has a problem that order values would be merged as nested array. That was caused an issue #33664 since if array value is passed to `order` and first element in the array includes `?`, the array is regarded as a prepared statement and bind variables. https://api.rubyonrails.org/classes/ActiveRecord/Sanitization/ClassMethods.html#method-i-sanitize_sql_for_order Just merging that as splat args like other values would fix the issue. Fixes #33664.
* SQLite3: Fix rename reference column not to lose foreign key constraintRyuta Kamizono2018-08-201-11/+15
| | | | Fixes #33520.
* Enable Style/ParenthesesAroundCondition copRyuta Kamizono2018-08-191-1/+1
| | | | To prevent style check in review like https://github.com/rails/rails/pull/33608#discussion_r211087605.
* Merge pull request #33585 from yahonda/diag33520Ryuta Kamizono2018-08-161-1/+9
|\ | | | | | | SQLite3 adapter `alter_table` method restores foreign keys
| * SQLite3 adapter `alter_table` method restores foreign keysYasuo Honda2018-08-111-1/+9
| | | | | | | | Related to #33520
* | Merge pull request #33499 from lsylvester/caller-ignore-pathsKasper Timm Hansen2018-08-152-9/+9
|\ \ | | | | | | use BacktraceCleaner for ActiveRecord verbose logging
| * | Use backtrace cleaner to clean up backtrace for verbose query logsLachlan Sylvester2018-08-142-9/+9
| | |
* | | Fix bulk change table ignores comment option on PostgreSQL.Yoshiyuki Kinjo2018-08-151-1/+5
| | |
* | | Follow up #33530bogdanvlviv2018-08-151-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | - Move changelog entry of #33530 up in order to preserve the chronology since we always add new entries on the top of a changelog file. - Clarify the changelog entry - Clarify the docs of remove_foreign_key - Ensure reversible of `remove_foreign_key` with `:primary_key` and `:to_table` options.
* | | Merge pull request #33530 from jychen7/33515-invert-remove-foreign-keyRichard Schneeman2018-08-142-4/+24
|\ \ \ | | | | | | | | 33515 invert remove foreign key support "to_table"
| * | | Allow `to_table` in `invert_remove_foreign_key`Rich2018-08-142-4/+24
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | remove_foreign_key supports - remove_foreign_key :accounts, :branches - remove_foreign_key :accounts, to_table: :branches but the second one is not reversible. This branch is to fix and allow second one to be reversible. [Nikolay Epifanov, Rich Chen]
* / / Use `Array#extract!` where possiblebogdanvlviv2018-08-142-8/+12
|/ /
* / Use strings instead of symbols on calls to decorate_matching_attribute_typesDillon Welch2018-08-102-2/+2
|/ | | | | | The first thing this method does is run on the argument. This change passes in a string so we don't allocate a bunch of unnecessary extra strings by calling to_s on a symbol over and over.
* Merge pull request #33454 from azbshiri/extend-affects-nested-attributesRichard Schneeman2018-08-041-1/+1
|\ | | | | Call build when extend with nested attributes defined
| * Call build when extend with nested attributes definedAlireza Bashiri2018-08-021-1/+1
| | | | | | | | | | | | | | | | What? From now on when `accepts_nested_attributes_for` defined and `extend` option added the overwritten `build` method being called. [Alireza Bashiri, Martins Polakovs]
* | Merge pull request #33511 from ↵Richard Schneeman2018-08-043-4/+4
|\ \ | | | | | | | | | | | | albertoalmagro/change-references-from-rake-to-rails-command Change references from Rake task to Rails command
| * | [ci skip] Change references from Rake task to Rails commandAlberto Almagro2018-08-013-4/+4
| | | | | | | | | | | | | | | This commit follows the path we started at commit #ea4f0e2 and continued at PR #33229.
* | | `retrieve_connection_pool` return a pool, not a connectionRyuta Kamizono2018-08-031-2/+2
| |/ |/|
* | don't establish connection test_database since it gets established in ↵Britni Alexander2018-08-011-1/+0
|/ | | | load_schema
* use load_schema instead of migrate for parallel testingBritni Alexander2018-07-312-6/+9
|
* Revert "Merge pull request #24131 from brchristian/limit_and_primary_key"Ryuta Kamizono2018-08-011-1/+1
| | | | | | | | | | This reverts commit d162188dd662a7d9f62ba8431474f50bc35e3e93, reversing changes made to 3576782888c307e3e192c44e332b957cd1174128. Reason: #24131 conflicts the #5153's default order contract, it means that existing apps would be broken by that change. We don't want to break existing apps without a deprecation cycle.
* Avoid extra scoping when using `Relation#update`Ryuta Kamizono2018-07-312-3/+5
| | | | | | | | | | | | | | Since 9ac7dd4, class level `update`, `destroy`, and `delete` were placed in the `Persistence` module as class methods. But `Relation#update` without passing ids which was introduced at #11898 is not a class method, and it was caused the extra scoping regression #33470. I moved the relation method back into the `Relation` to fix the regression. Fixes #33470.
* MySQL: Raise ActiveRecord::InvalidForeignKey for foreign-key constraint ↵George Claghorn2018-07-302-2/+4
| | | | violations on delete
* Extract `Relation#bind_attribute` for internal useRyuta Kamizono2018-07-302-8/+11
| | | | To make it easier to construct boundable predicate.
* Extract `Relation#update_counters` for internal useRyuta Kamizono2018-07-304-34/+27
| | | | | | The target object for counter cache is not always determined by the primary key value on the model. I'd like to extract `update_couters` onto the `Relation` for the internal use.
* Fix TypeError: no implicit conversion of Arel::Attributes::Attribute into StringBart de Water2018-07-281-1/+1
|
* Fix test failures due to Performance/RegexpMatch correctionBart de Water2018-07-281-1/+3
| | | | `5 =~ /\d/` returns nil, but Integer doesn't have a `match?` method.
* Enable Start/EndWith and RegexpMatch copsBart de Water2018-07-282-2/+2
| | | | | In cases where the MatchData object is not used, this provides a speed-up: https://github.com/JuanitoFatas/fast-ruby/#stringmatch-vs-stringmatch-vs-stringstart_withstringend_with-code-start-code-end
* Don't expose configuration for a test.Kasper Timm Hansen2018-07-281-21/+9
| | | | Clean up some concepts in the code while we're here.
* Avoid logging ActiveRecord::LogSubscriber as the query source when the ↵lsylvester2018-07-281-12/+9
| | | | source is ignored (#33455)
* PostgreSQL 10 new relkind for partitioned tables (#31336)Yannick Schutz2018-07-271-2/+2
| | | | | | | | | | | | | | | | | | | | | | | * PostgreSQL 10 new relkind for partitioned tables Starting with PostgreSQL 10, we can now have partitioned tables natively * Add comment * Remove extra space * Add test for partition table in postgreSQL10 * Select 'p' for "BASE TABLE" and add a test case to support PostgreSQL 10 partition tables * Address RuboCop offense * Addressed incorrect `postgresql_version` Fixes #33008. [Yannick Schutz & Yasuo Honda & Ryuta Kamizono]
* Merge pull request #32381 from q-centrix/update-codeclimate-configsRichard Schneeman2018-07-256-18/+6
|\ | | | | Turn on performance based cops
| * Turn on performance based copsDillon Welch2018-07-236-18/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use attr_reader/attr_writer instead of methods method is 12% slower Use flat_map over map.flatten(1) flatten is 66% slower Use hash[]= instead of hash.merge! with single arguments merge! is 166% slower See https://github.com/rails/rails/pull/32337 for more conversation
* | Normalize time value not to be affected by summer timeRyuta Kamizono2018-07-251-0/+1
| | | | | | | | Follow up of #33358 for SQLite3.
* | Merge pull request #33229 from ↵Matthew Draper2018-07-252-7/+7
|\ \ | | | | | | | | | | | | albertoalmagro/albertoalmagro/prefer-rails-command-over-bin-rails Prefer rails command over bin/rails
| * | Substitute references to task for commandAlberto Almagro2018-07-061-1/+1
| | | | | | | | | | | | This commit substitutes references to rails/rake task for rails command
| * | Recommend use of rails over bin/railsAlberto Almagro2018-07-062-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | As discussed in #33203 rails command already looks for, and runs, bin/rails if it is present. We were mixing recommendations within guides and USAGE guidelines, in some files we recommended using rails, in others bin/rails and in some cases we even had both options mixed together.
* | | Rails guides are now served over httpsPaul McMahon2018-07-241-1/+1
| |/ |/| | | | | | | http links will be redirected to the https version, but still better to just directly link to the https version.
* | Merge pull request #33415 from orhantoy/feature/docs-consistent-hash-syntaxGeorge Claghorn2018-07-221-8/+8
|\ \ | | | | | | [ci skip] Use consistent hash syntax in AR docs
| * | [ci skip] Use consistent hash syntax in AR docsOrhan Toy2018-07-221-8/+8
| | | | | | | | | | | | | | | The examples with `.where` uses hash w/ symbol keys so it would be more consistent to also do this with `.new`. Also from my experience the hash w/ symbol keys is more widely used with `where/new/create` etc. in ActiveRecord.
* | | [ci skip] Tidy up formatting of examplesOrhan Toy2018-07-221-12/+3
|/ / | | | | | | The consecutive verbatim blocks were being merged making the output look weird.
* | don't impose primary key order if limit() is definedBrian Christian2018-07-191-1/+1
| |
* | Avoid extra scoping in delegating to klass methods in the `scope` blockRyuta Kamizono2018-07-191-2/+2
| | | | | | | | | | | | | | | | | | | | Since #29301, delegating to klass methods in the `scope` block would cause extra scoping by the receiver itself. The extra scoping would always override intermediate scoping like `unscoped` and caused the regression #33387. To keep the original scoping behavior, should avoid the extra scoping in the `scope` block. Fixes #33387.
* | Fix `insert_fixtures_set` to be restored original connection flagsRyuta Kamizono2018-07-192-29/+36
| | | | | | | | | | | | #33363 has two regressions. First one is that `insert_fixtures_set` is failed if flags is an array. Second one is that connection flags are not restored if `set_server_option` is not supported.
* | Revert "Short circuit the scoping delegation for `relation.all`"Ryuta Kamizono2018-07-191-1/+0
| | | | | | | | | | | | | | This reverts commit eb807384c81a6e086b17a576755e992e6c4c685e. If the current scope is affected by the `unscoped` block, `all` won't be the same with `spawn`.
* | Merge pull request #33363 from ahorek/transaction_bugRafael França2018-07-181-5/+23
|\ \ | | | | | | use set_server_option if possible
| * | use set_server_option if possiblepavel2018-07-151-5/+23
| | |
* | | Implement change() to convert to "2001-01-01" firstSean Prashad2018-07-171-0/+1
|/ / | | | | | | (cherry picked from commit da34d4766c33a042aeb92778a492fa810ec23001)
* | Merge pull request #28327 from rngtng/add-seed-dependencyRafael França2018-07-111-1/+1
|\ \ | | | | | | Add missing env & config dependency to `rake db:seed`