aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | The problem isn't the detection but the deadlock itselfDavid Heinemeier Hansson2016-08-045-10/+10
|/ / / /
* | | | Merge pull request #25107 from Erol/introduce-new-ar-transaction-error-classesRafael Mendonça França2016-08-035-26/+57
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | Introduce new ActiveRecord transaction error classes Closes #26018
| * | | | Introduce new ActiveRecord transaction error classesErol Fornoles2016-05-245-26/+57
| | | | |
* | | | | Merge pull request #26026 from ↵Rafael França2016-08-031-1/+1
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | kamipo/tx_serialization_error_should_inherit_statement_invalid `TransactionSerializationError` should inherit `StatementInvalid` for backward compatibility
| * | | | | `TransactionSerializationError` should inherit `StatementInvalid` for ↵Ryuta Kamizono2016-08-021-1/+1
| | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | backward compatibility Originally `TransactionSerializationError` was `StatementInvalid` in Rails 5.0. It should keep backward compatibility.
* | | | | Avoid duplicated `set_inverse_instance` for target scopeRyuta Kamizono2016-08-033-23/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Because `scope` (`target_scope`) is a `AssociationRelation`. `AssociationRelation` handles `set_inverse_instance`. https://github.com/rails/rails/blob/v5.0.0/activerecord/lib/active_record/association_relation.rb#L31-L33 See also #26022.
* | | | | Merge pull request #26022 from kamipo/remove_unnecessary_set_inverse_instanceKasper Timm Hansen2016-08-021-6/+2
|\ \ \ \ \ | | | | | | | | | | | | Remove unnecessary `set_inverse_instance` in finder methods
| * | | | | Remove unnecessary `set_inverse_instance` in finder methodsRyuta Kamizono2016-08-021-6/+2
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Because `scope` (`target_scope`) is a `AssociationRelation`. `AssociationRelation` handles `set_inverse_instance`. https://github.com/rails/rails/blob/v5.0.0/activerecord/lib/active_record/association_relation.rb#L31-L33
* | | | | Remove extra connection pool creationArthur Neves2016-08-021-1/+0
| | | | |
* | | | | Merge branch 'master' of github.com:rails/docrailsVijay Dev2016-08-021-1/+1
|\ \ \ \ \ | |/ / / / |/| | | |
| * | | | Fix documentation of `index` option for the `add_reference` method [ci skip]Prathamesh Sonpatki2016-07-161-1/+1
| | | | | | | | | | | | | | | | | | | | - Followup of https://github.com/rails/rails/pull/23179.
* | | | | Remove unnecessary methods for `NullRelation`Ryuta Kamizono2016-07-291-29/+7
| |_|_|/ |/| | |
* | | | Merge pull request #25941 from kamipo/finder_methods_uses_load_targetRafael França2016-07-283-5/+7
|\ \ \ \ | | | | | | | | | | `FinderMethods` uses `records` (`load_target`) when `loaded?` is true
| * | | | `FinderMethods` uses `records` (`load_target`) when `loaded?` is trueRyuta Kamizono2016-07-283-5/+7
| | | | |
* | | | | Merge pull request #25940 from kamipo/fix_collection_proxy_loadRafael França2016-07-282-0/+14
|\ \ \ \ \ | | | | | | | | | | | | Fix to `CollectionProxy#load` does `load_target`
| * | | | | Fix to `CollectionProxy#load` does `load_target`Ryuta Kamizono2016-07-252-0/+14
| |/ / / /
* | | | | Merge pull request #25937 from kamipo/remove_prepare_binds_for_databaseRafael França2016-07-284-8/+4
|\ \ \ \ \ | | | | | | | | | | | | Remove `prepare_binds_for_database` internal method
| * | | | | Remove `prepare_binds_for_database` internal methodRyuta Kamizono2016-07-284-8/+4
| | | | | | | | | | | | | | | | | | | | | | | | To avoid relying on the connection adapter for type casting binds.
* | | | | | Merge pull request #25340 from kamipo/prevent_table_comment_queryRafael França2016-07-283-7/+17
|\ \ \ \ \ \ | | | | | | | | | | | | | | Prevent `table_comment` query if a table doesn't have a comment
| * | | | | | Prevent `table_comment` query if a table doesn't have a commentRyuta Kamizono2016-06-103-7/+17
| | | | | | |
* | | | | | | Merge pull request #25974 from ↵Rafael França2016-07-281-2/+4
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | kamipo/avoid_calling_current_database_in_table_comment Avoid calling `current_database` in `table_comment`
| * | | | | | | Avoid calling `current_database` in `table_comment`Ryuta Kamizono2016-07-281-2/+4
| | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `current_database` executes a query and `table_comment` is called to all tables even if a table does not have a comment. Using `current_database` increases extra queries.
* / | | | | | `@quoted_{column,table}_names` should cache a frozen stringRyuta Kamizono2016-07-283-5/+5
|/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Caching a mutable string causes the following issue. ``` Loading development environment (Rails 5.1.0.alpha) irb(main):001:0> ActiveRecord::Base.connection.quote_table_name('foo') << '!!' => "`foo`!!" irb(main):002:0> ActiveRecord::Base.connection.quote_table_name('foo') << '!!' => "`foo`!!!!" irb(main):003:0> ActiveRecord::Base.connection.quote_table_name('foo') << '!!' => "`foo`!!!!!!" ```
* | | | | | Merge pull request #25767 from ↵Rafael França2016-07-274-3/+20
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | kamipo/association_name_is_the_same_as_join_table_name Correctly return `associated_table` when `associated_with?` is true
| * | | | | | Correctly return `associated_table` when `associated_with?` is trueRyuta Kamizono2016-07-104-3/+20
| | |_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `AssociationQueryHandler` requires `association` initialized `TableMetadata` even if `table_name == arel_table.name`. Fixes #25689.
* | | | | | Add the TABLE_SCHEMA condition to the SELECT statement in table_comment (#25945)Takeshi AKIMA2016-07-272-1/+6
| | | | | | | | | | | | | | | | | | [Rafael Mendonça França + Takeshi AKIMA]
* | | | | | Merge pull request #25702 from k0kubun/joins-circular-referenceSean Griffin2016-07-272-1/+10
|\ \ \ \ \ \ | | | | | | | | | | | | | | Remove circular join references in join_dependency
| * | | | | | Remove circular join references in join_dependencyTakashi Kokubun2016-07-282-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes #25653.
* | | | | | | Merge pull request #25938 from ↵Rafael França2016-07-272-10/+10
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | | | | | | | | | | | | | | | kamipo/decouple_statement_cache_from_connection_adapter Decouple statement cache from connection adapter
| * | | | | | Decouple statement cache from connection adapterRyuta Kamizono2016-07-242-10/+10
| | |_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | `StatementCache` is hard-coded in `cacheable_query` and be passed `visitor` and `collector` from connection adapter. Simply it is enough to pass a collected value.
* | | | | | Merge pull request #25958 from kamipo/should_be_target_loadedYves Senn2016-07-271-0/+38
|\ \ \ \ \ \ | | | | | | | | | | | | | | Add an assertion to the tests that should be loaded the target.
| * | | | | | Add an assertion to the tests that should be loaded the target.Ryuta Kamizono2016-07-271-0/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | These test cases tests exactly mutating loaded target.
* | | | | | | Merge pull request #25408 from kamipo/should_not_reuse_quoted_trueYves Senn2016-07-273-5/+21
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Quoting booleans should return a frozen string
| * | | | | | | Quoting booleans should return a frozen stringRyuta Kamizono2016-07-273-5/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If reuse `QUOTED_TRUE` and `QUOTED_FALSE` without frozen, causing the following issue. ``` Loading development environment (Rails 5.1.0.alpha) irb(main):001:0> ActiveRecord::Base.connection.quote(true) << ' foo' => "1 foo" irb(main):002:0> ActiveRecord::Base.connection.quote(true) << ' foo' => "1 foo foo" irb(main):003:0> type = ActiveRecord::ConnectionAdapters::AbstractMysqlAdapter::MysqlString.new => #<ActiveRecord::ConnectionAdapters::AbstractMysqlAdapter::MysqlString:0x007fd40c15e018 @precision=nil, @scale=nil, @limit=nil> irb(main):004:0> type.serialize(true) << ' bar' => "1 foo foo bar" irb(main):005:0> type.cast(true) << ' bar' => "1 foo foo bar bar" ```
* | | | | | | | Merge pull request #25523 from kamipo/extract_quoted_binds_type_casted_bindsSean Griffin2016-07-264-6/+10
|\ \ \ \ \ \ \ \ | |_|/ / / / / / |/| | | | | | | Extract `type_casted_binds` method
| * | | | | | | Extract `type_casted_binds` methodRyuta Kamizono2016-07-264-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Because `type_cast` against `binds` always requires `attr.value_for_database` and this pattern appears frequently.
* | | | | | | | Merge pull request #25929 from kamipo/load_target_is_public_methodSantiago Pastorino2016-07-263-7/+5
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | `load_target` is a public method
| * | | | | | | | `load_target` is a public methodRyuta Kamizono2016-07-233-7/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `send` is unnecessary.
* | | | | | | | | Make `force_signal37_to_load_all_clients_of_firm` to privateRyuta Kamizono2016-07-261-4/+6
| |_|/ / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | This is not a test case.
* | | | | | | | Whoops, forgot the changelog entry for the previous commitSean Griffin2016-07-251-0/+5
| | | | | | | |
* | | | | | | | Correct the behavior of virtual attributes on models loaded from the dbSean Griffin2016-07-256-12/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we had primarily tested the behavior of these attributes by calling `.new`, allowing this to slip through the cracks. There were a few ways in which they were behaving incorrectly. The biggest issue was that attempting to read the attribute would through a `MissingAttribute` error. We've corrected this by returning the default value when the attribute isn't backed by a database column. This is super special cased, but I don't see a way to avoid this conditional. I had considered handling this higher up in `define_default_attribute`, but we don't have the relevant information there as users can provide new defaults for database columns as well. Once I corrected this, I had noticed that the attributes were always being marked as changed. This is because the behavior of `define_default_attribute` was treating them as assigned from `Attribute::Null`. Finally, with our new implementation, `LazyAttributeHash` could no longer be marshalled, as it holds onto a proc. This has been corrected as well. I've not handled YAML in that class, as we do additional work higher up to avoid YAML dumping it at all. Fixes #25787 Close #25841
* | | | | | | | adds missing requiresXavier Noria2016-07-2411-1/+14
| |_|/ / / / / |/| | | | | |
* | | | | | | removes spurious lineXavier Noria2016-07-241-1/+0
| | | | | | |
* | | | | | | give some love to this test fileXavier Noria2016-07-231-151/+155
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It all started noticing some foo.method({ ... }) method calls in passing. This is a whole pass modernizing this file. While some string literals are edited where I touched code, this pass does not uniformizes quotes. A ton are left untouched on purposes. We have no defined style.
* | | | | | | systematic revision of =~ usage in ARXavier Noria2016-07-2321-29/+34
|/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | Where appropriatei, prefer the more concise Regexp#match?, String#include?, String#start_with?, or String#end_with?
* | | | | | Remove tab chars before commands to be runÉtienne Barrié2016-07-201-4/+4
| | | | | |
* | | | | | Merge pull request #25885 from kamipo/fix_explain_logging_with_bindsRafael França2016-07-204-17/+28
|\ \ \ \ \ \ | | | | | | | | | | | | | | Fix explain logging with binds
| * | | | | | Fix explain logging with bindsRyuta Kamizono2016-07-204-17/+28
| |/ / / / / | | | | | | | | | | | | | | | | | | `binds` is an array of a query attribute since Active Record 5.0.
* | | | | | Merge pull request #25786 from ↵Rafael França2016-07-202-5/+21
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | kamipo/add_exists_and_update_all_to_collection_proxy Add `exists?` and `update_all` to `CollectionProxy` for respects an association scope
| * | | | | | Add `exists?` and `update_all` to `CollectionProxy` for respects an ↵Ryuta Kamizono2016-07-202-5/+21
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | association scope Fixes #25732.