aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #26735 from kamipo/prevent_to_create_blank_commentRafael França2016-10-093-6/+8
|\ | | | | Prevent to create blank comment
| * Prevent to create blank commentRyuta Kamizono2016-10-083-6/+8
| | | | | | | | | | Currently blank comment does not dump to `db/schema.rb`. But created it even if specified blank.
* | Merge pull request #26732 from matthewd/fixnum-warningMatthew Draper2016-10-081-1/+1
|\ \ | | | | | | Fixnum and Bignum are deprecated in Ruby trunk
| * | Fixnum and Bignum are deprecated in Ruby trunkMatthew Draper2016-10-081-1/+1
| | | | | | | | | | | | https://bugs.ruby-lang.org/issues/12739
* | | Merge pull request #26730 from rails/explain-why-inverse_of-is-disabledXavier Noria2016-10-071-0/+4
|\ \ \ | |/ / |/| | explain why autosave= disables inverse_of [ci skip]
| * | explain why autosave= disables inverse_of [ci skip]Xavier Noria2016-10-071-0/+4
| | |
* | | Tweak a test so the queries matchMatthew Draper2016-10-081-1/+1
|/ /
* | Simplify serializable test to avoid mystery deadlockMatthew Draper2016-10-071-23/+21
| |
* | Merge pull request #24963 from fertapric/recover-db-runtime-on-production-logsEileen M. Uchitelle2016-10-061-2/+1
|\ \ | | | | | | Fix database runtimes on production log
| * | Fix DB runtimes on production logFernando Tapia Rico2016-05-111-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | Rails default production configuration establishes "info" as log level. Due to the changes included on commit 191facc857bb4fb52078fb544c6bc1613a81cc80, db runtimes were not being collected if the log level was different than "debug", and 0.0 ms was the runtime reported on production logs.
* | | Merge pull request #26631 from kamipo/remove_duplicate_conditionMatthew Draper2016-10-061-3/+1
|\ \ \ | | | | | | | | Remove duplicated `unless current_adapter?(:SQLite3Adapter)` condition
| * | | Remove duplicated `unless current_adapter?(:SQLite3Adapter)` conditionRyuta Kamizono2016-09-271-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | `test_native_decimal_insert_manual_vs_automatic` exists inside `unless current_adapter?(:SQLite3Adapter)`. This condition is duplicated.
* | | | Merge pull request #26633 from kamipo/text_too_big_should_be_textMatthew Draper2016-10-061-1/+1
|\ \ \ \ | | | | | | | | | | `:text_too_big` column should be `:text`, not `:integer`
| * | | | `:text_too_big` column should be `:text`, not `:integer`Ryuta Kamizono2016-09-271-1/+1
| |/ / /
* | | | Merge pull request #25304 from kbrock/calculate_attributesMatthew Draper2016-10-061-6/+2
|\ \ \ \ | | | | | | | | | | Use attribute_names over column_names
| * | | | Use attribute_names over column_namesKeenan Brock2016-10-041-6/+2
| | |_|/ | |/| |
* | | | Merge pull request #24571 from raimo/patch-1Sean Griffin2016-10-042-1/+15
|\ \ \ \ | | | | | | | | | | Print the proper ::Float::INFINITY value when used as a default value
| * | | | Print the proper ::Float::INFINITY value when used as a default valueRaimo Tuisku2016-05-232-1/+15
| | | | | | | | | | | | | | | | | | | | Addresses https://github.com/rails/rails/issues/22396
* | | | | Merge pull request #26684 from matthewd/executor-serialMatthew Draper2016-10-051-6/+4
|\ \ \ \ \ | |_|/ / / |/| | | | Avoid bumping the class serial when invoking executor
| * | | | Avoid bumping the class serial when invoking executorMatthew Draper2016-10-031-6/+4
| | | | |
* | | | | Made ActiveRecord consistently use ActiveRecord::Type (notIain Beeston2016-10-038-9/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ActiveModel::Type) Some code was previously referring to ActiveModel::Type::*. This could cause issues in the future if any of the ActiveRecord::Type classes were overridden in the future.
* | | | | Merge pull request #26425 from prathamesh-sonpatki/fix-nil-issueMatthew Draper2016-10-032-10/+19
|\ \ \ \ \ | |/ / / / |/| | | | Fix issue with `cache_key` when the named timestamp column has value nil
| * | | | Fix issue with `cache_key` when the named timestamp column has value nilPrathamesh Sonpatki2016-09-072-10/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - When the named timestamp column is nil, we should just return the cache_key with model name and id similar to the behavior of implicit timestamp columns. - Fixed one of the issue mentioned in https://github.com/rails/rails/issues/26417.
* | | | | Add missing require for zlibLars Kanis2016-10-011-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Zlib is used to generate the advisory lock since commit 2c2a8755460 . Using the Migrator fails since then, when it is called without the rails context: NameError: uninitialized constant ActiveRecord::Migrator::Zlib This patch fixes the above error.
* | | | | Make PG deadlock error more deterministicMatthew Draper2016-10-011-9/+12
| | | | | | | | | | | | | | | | | | | | | | | | | We've seen occasional Travis failures mentioning deadlocks. I think they're escaping from this test.
* | | | | Merge pull request #26584 from Shopify/cached-query-nameRafael França2016-09-304-11/+18
|\ \ \ \ \ | | | | | | | | | | | | Preserve cached queries name in AS notifications
| * | | | | Preserve cached queries name in AS notificationsJean Boussier2016-09-224-11/+18
| | | | | |
* | | | | | Don't skip in-memory insertion of associations when loaded in validateSean Griffin2016-09-294-16/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was caused by 6d0d83a33f59d9415685852cf77818c41e2e2700. While the bug it's trying to fix is handled if the association is loaded in an after_(create|save) callback, it doesn't handle any cases that load the association before the persistence takes place (validation, or before_* filters). Instead of caring about the timing of persistence, we can just ensure that we're not double adding the record instead. The test from that commit actually broke, but it was not because the bug has been re-introduced. It was because `Bulb` in our test suite is doing funky things that look like STI but isn't STI, so equality comparison didn't happen as the loaded model was of a different class. Fixes #26661.
* | | | | | Merge pull request #26653 from Neodelf/new_branch_nameJon Moss2016-09-281-1/+1
|\ \ \ \ \ \ | |_|_|_|/ / |/| | | | | [ci skip] Use right format text
| * | | | | [ci skip] Use right format textAndrey Molchanov2016-09-281-1/+1
| | | | | |
* | | | | | Merge pull request #26629 from kamipo/fix_doc_formatJon Moss2016-09-261-3/+3
|\ \ \ \ \ \ | | | | | | | | | | | | | | Fix doc format for `RecordFetchWarning` [ci skip]
| * | | | | | Fix doc format for `RecordFetchWarning` [ci skip]Ryuta Kamizono2016-09-271-3/+3
| | | | | | |
* | | | | | | Use xor to avoid allocations in `AR::Core#hash`Sean Griffin2016-09-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is not as good a solution as actually hashing both values, but Ruby doesn't expose that capability other than allocating the array. Unless we were to do something silly like have a thread local array that is re-used, I don't see any other way to do this without allocation. This solution may not be perfect, but it should reasonably avoid collisions to the extent that we need.
* | | | | | | [ci skip] Update PG adapter documentationAlex Kitchens2016-09-261-1/+1
|/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Per discussion in pull request #26622: "Let's change it to PG::Error. The more specific classes mentioned are subclasses, and the fact the raised exception is a PG::UndefinedColumn doesn't change the fact that it's also a PG::Error." - matthewd
* | | | | | Merge pull request #26622 from alexcameron89/pg_result_docJon Moss2016-09-251-4/+4
|\ \ \ \ \ \ | | | | | | | | | | | | | | [ci skip] Clarify Postgresql Documentation
| * | | | | | [ci skip] Clarify Postgresql DocumentationAlex Kitchens2016-09-251-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This clarifies the object that +ActiveRecord::Base.connection.execute+ will return when using Postgresql.
* | | | | | | Fix code formatting in `#save` RDoc [ci skip]Adam Crownoble2016-09-251-2/+2
|/ / / / / / | | | | | | | | | | | | Noticed that the `validate: false` option for `ActiveRecord::Persistence#save` and `#save!` were not formatted as code like the other examples in the documentation.
* | | | | | Serialize JSON attribute value nil as SQL NULL, not JSON 'null'Trung Duc Tran2016-09-234-1/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Test: JSON attribute value nil can be used in where(attr: nil) Add changelog entry
* | | | | | Return true if attribute is not changed for update_attributePrathamesh Sonpatki2016-09-233-4/+12
| |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - If the attribute is not changed, then update_attribute does not run SQL query, this effectively means that no change was made to the attribute. - This change was made in https://github.com/rails/rails/commit/0fcd4cf5 to avoid a SQL call. - But the change resulted into `nil` being returned when there was no change in the attribute value. - This commit corrects the behavior to return true if there is no change in attribute value. This is same as previous behavior of Rails 4.2 plus benefit of no additional SQL call. - Fixes #26593.
* | | | | Merge branch 'master' of github.com:rails/docrailsVijay Dev2016-09-201-2/+2
|\ \ \ \ \
| * | | | | [ci skip] Fix wrong rdoc-ref links, the format is {}[] not []{}Prathamesh Sonpatki2016-09-141-2/+2
| | | | | |
* | | | | | Always store errors details information with symbolsRafael Mendonça França2016-09-193-15/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the association is autosaved we were storing the details with string keys. This was creating inconsistency with other details that are added using the `Errors#add` method. It was also inconsistent with the `Errors#messages` storage. To fix this inconsistency we are always storing with symbols. This will cause a small breaking change because in those cases the details could be accessed as strings keys but now it can not. The reason that we chose to do this breaking change is because `#details` should be considered a low level object like `#messages` is. Fix #26499. [Rafael Mendonça França + Marcus Vieira]
* | | | | | Merge pull request #26447 from kamipo/reduce_array_allocationSantiago Pastorino2016-09-191-3/+1
|\ \ \ \ \ \ | | | | | | | | | | | | | | Reduce array allocation when `where` with passed hash
| * | | | | | Reduce array allocation when `where` with passed hashRyuta Kamizono2016-09-101-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In most case `where` is called with passed hash. In the case initializing `binds` is unnecessary.
* | | | | | | Merge pull request #26448 from kamipo/remove_collection_association_uniqKasper Timm Hansen2016-09-181-1/+0
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Remove unnecessry `alias uniq distinct` for collection association
| * | | | | | | Remove unnecessry `alias uniq distinct` for collection associationRyuta Kamizono2016-09-101-1/+0
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | `CollectionAssociation` is internal class and `uniq` is not called.
* | | | | | | Merge pull request #26446 from kamipo/rename_type_var_name_to_typeEileen M. Uchitelle2016-09-171-10/+8
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Rename variable name that returning `type_for` to `type` from `column`
| * | | | | | | Rename variable name that returning `type_for` to `type` from `column`Ryuta Kamizono2016-09-111-10/+8
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `column_for` was changed to `type_for` to return `type` object at 36bd52b4. But variable name is still `column`. It is very confusing. Rename variable name `column` to `type` for readability.
* | | | | | | Merge pull request #26497 from koppen/26496-touch_with_optimistic_lockingEileen M. Uchitelle2016-09-173-1/+9
|\ \ \ \ \ \ \ | |_|_|/ / / / |/| | | | | | Clear attribute changes after handling locking
| * | | | | | Clear attribute changes after handling lockingJakob Skjerning2016-09-143-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without this the changes to the lock version column will stick around even after `touch` returns. Before: model.touch model.changes # => {"lock_version"=>[0, "1"]} After: model.touch model.changes # {}