aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib
Commit message (Collapse)AuthorAgeFilesLines
* Remove outdated commentRyuta Kamizono2015-12-271-28/+0
| | | | These `select_*` methods improved already.
* Improve `select_one` in `Mysql2Adapter`Ryuta Kamizono2015-12-271-0/+10
| | | | | Avoid instanciate `ActiveRecord::Result` and calling `ActiveRecord::Result#hash_rows` for the performance.
* Fix varbinary with default ''Ryuta Kamizono2015-12-241-13/+0
| | | | | | | A `(?:var)?binary` with default '' is a correct definition. Remove `missing_default_forged_as_empty_string?` method for fixing this issue because this method is a workaround for older mysql legacy adapter (19c99ac, f7015336).
* Merge pull request #22620 from kamipo/join_to_delete_is_same_as_join_to_updateRafael França2015-12-223-11/+5
|\ | | | | `join_to_delete` is same as `join_to_update`
| * `join_to_delete` is same as `join_to_update`Ryuta Kamizono2015-12-173-11/+5
| | | | | | | | Reapply #22615.
* | Add support for passing flags to MySQL2 adapter by arrayStephen Blackstone2015-12-221-1/+6
| |
* | Revert "Merge pull request #22486 from ↵Yves Senn2015-12-211-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | methyl/fix-includes-for-groupped-association" This reverts commit 537ac7d6ade61e95f2b70685ff2236b7de965bab, reversing changes made to 9c9c54abe08d86967efd3dcac1d65158a0ff74ea. Reason: The way we preload associations will change the meaning of GROUP BY operations. This is illustrated in the SQL generated by the added test (failing on PG): Association Load: D, [2015-12-21T12:26:07.169920 #26969] DEBUG -- : Post Load (0.7ms) SELECT "posts".* FROM "posts" LEFT JOIN comments ON comments.post_id = posts.id WHERE "posts"."author_id" = $1 GROUP BY posts.id ORDER BY SUM(comments.tags_count) [["author_id", 1]] Preload: D, [2015-12-21T12:26:07.128305 #26969] DEBUG -- : Post Load (1.3ms) SELECT "posts".* FROM "posts" LEFT JOIN comments ON comments.post_id = posts.id WHERE "posts"."author_id" IN (1, 2, 3) GROUP BY posts.id ORDER BY SUM(comments.tags_count)
* | Merge pull request #22486 from methyl/fix-includes-for-groupped-associationYves Senn2015-12-211-1/+5
|\ \ | | | | | | | | | | | | | | | | | | Pass group values when including association Conflicts: activerecord/CHANGELOG.md
| * | Pass SQL group by values when including scoped associationLucjan Suski2015-12-151-1/+5
| | | | | | | | | | | | | | | Fixes problem when added `group()` in association scope was lost in eager loaded association.
* | | Remove legacy mysql adapterRyuta Kamizono2015-12-215-11/+10
| | | | | | | | | | | | Follow up to #22642.
* | | mysql2 adapter instead of mysql [ci skip]Rajarshi Das2015-12-202-3/+3
| | |
* | | Merge pull request #19423 from ↵Aaron Patterson2015-12-181-2/+7
|\ \ \ | | | | | | | | | | | | | | | | yuroyoro/fix_performance_regression_of_preloading_has_many_through_relation Fix #12537 performance regression when preloading has_many_through association
| * | | Read already loaded association records from association.targetTomohito Ozaki2015-04-171-2/+7
| | | | | | | | | | | | | | | | | | | | For performance, Avoid instantiate CollectionProxy. Fixes #12537
* | | | Change `alpha` to `beta1` to prep for release of Rails 5eileencodes2015-12-181-1/+1
| | | | | | | | | | | | | | | | :tada: :beers:
* | | | Merge pull request #22658 from greysteil/handle-specified-schema-in-index-removeMatthew Draper2015-12-191-3/+16
|\ \ \ \ | | | | | | | | | | Handle specified schemas when removing a Postgres index
| * | | | Handle specified schemas when removing a Postgres indexGrey Baker2015-12-181-3/+16
| | | | |
* | | | | Refer to rails command instead of rake in a bunch of placesDavid Heinemeier Hansson2015-12-185-11/+11
|/ / / / | | | | | | | | | | | | Still more to do. Please assist!
* | | | Merge pull request #22653 from matthewd/find_array_orderedMatthew Draper2015-12-181-0/+17
|\ \ \ \ | | | | | | | | | | | | | | | ActiveRecord::Base#find(array) returning result in the same order as the array passed
| * | | | Implement limit & offset for ourselvesMatthew Draper2015-12-181-6/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We know the query will return exactly one row for each entry in the `ids` array, so we can do all the limit/offset calculations on that array, in advance. I also split our new ordered-ids behaviour out of the existing `find_some` method: especially with this change, the conditionals were overwhelming the actual logic.
| * | | | using order_values method instead of relying on ActiveRecord::Relation ↵Miguel Grazziotin2015-06-191-2/+2
| | | | | | | | | | | | | | | | | | | | @values hash
| * | | | WIP: fixing the limit bug and introducing new tests (failing for now) on ↵Miguel Grazziotin2015-06-191-3/+5
| | | | | | | | | | | | | | | | | | | | .find(array) with offset
| * | | | do not change the order of the result if the object was already ordered by ↵Miguel Grazziotin2015-06-051-0/+1
| | | | | | | | | | | | | | | | | | | | the user via :order clause
| * | | | [#20338] improving implementation, fixing and adding some more specsMiguel Grazziotin2015-06-031-5/+2
| | | | |
| * | | | [#20338] WIP: first basic implementation and specsMiguel Grazziotin2015-05-291-1/+5
| | | | |
* | | | | Merge pull request #20815 from ↵Matthew Draper2015-12-181-2/+2
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | byroot/do-not-include-column-limit-if-it-is-default Do not include column limit in schema.rb if it matches the default
| * | | | | Do not include column limit in schema.rb if it matches the defaultJean Boussier2015-07-081-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When working on engines that supports multiple databases, it's very annoying to have a different schema.rb output based on which database you use. MySQL being the primary offender. This patch should reduce the disparities a bit.
* | | | | | Merge pull request #22623 from greysteil/support-passing-schema-name-to-indexesMatthew Draper2015-12-181-9/+12
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | Support passing the schema name prefix to `conenction.indexes`
| * | | | | | Support passing the schema name prefix to `conenction.indexes`Grey Baker2015-12-171-9/+12
| | |_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Support passing the schema name as a prefix to table name in `ConnectionAdapters::SchemaStatements#indexes`. Previously the prefix would be considered a full part of the index name, and only the schema in the current search path would be considered.
* | | | | | Merge pull request #19456 from greysteil/index-exists-behaviourMatthew Draper2015-12-182-15/+64
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | Ignore index name in `index_exists?` when not passed a name to check for
| * | | | | | Support removing custom-names indexes when only specifying column namesGrey Baker2015-12-152-13/+52
| | | | | | |
| * | | | | | Ignore index name in `index_exists?` when not passed a name to check forGrey Baker2015-12-152-2/+12
| | |_|_|_|/ | |/| | | |
* | | | | | Merge pull request #22642 from seuros/remove-mysql-adapterMatthew Draper2015-12-185-488/+1
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | Remove legacy mysql adapter
| * | | | | | Remove legacy mysql adapterAbdelkader Boudih2015-12-175-488/+1
| | |/ / / / | |/| | | |
* | | | | | Expanding the documentation for collection=objects for has_many :through ↵Eric Krause2015-12-171-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | [ci-skip]
* | | | | | Call the new point behavior `:point`, not `:rails_5_1_point`Sean Griffin2015-12-172-3/+2
|/ / / / / | | | | | | | | | | | | | | | | | | | | Since the attributes API is new in Rails 5, we don't actually need to keep the behavior of `attribute :point`, as it's not a breaking change.
* | | | | fix typo in method name [ci skip]yuuji.yaginuma2015-12-171-1/+1
| | | | | | | | | | | | | | | | | | | | It was changed by mistake at 428d47adfed8d6aa7b21aec2bf5ad890961c9de3
* | | | | Revert "Merge pull request #22615 from ↵Rafael Mendonça França2015-12-173-5/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | kamipo/join_to_delete_is_same_as_join_to_update" This reverts commit 4d06ea9a829de8f6f5a345589828e182eacab6a3, reversing changes made to e9d15072a94e2ae4dec5b7a121c84a5db38547b8. Reason: This will break oracle-enhanced, see https://github.com/rsim/oracle-enhanced/blob/3c42131db82b64ac41645db3affc6e4650289df6/lib/active_record/connection_adapters/oracle_enhanced_adapter.rb#L1254
* | | | | Merge pull request #22615 from kamipo/join_to_delete_is_same_as_join_to_updateRafael França2015-12-173-11/+5
|\ \ \ \ \ | | | | | | | | | | | | `join_to_delete` is same as `join_to_update`
| * | | | | `join_to_delete` is same as `join_to_update`Ryuta Kamizono2015-12-173-11/+5
| | | | | |
* | | | | | Make sure File.exist? run in the root of the applicationRafael Mendonça França2015-12-161-1/+5
| | | | | |
* | | | | | Do not define attributes_with_index as a Thor taskRafael Mendonça França2015-12-161-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All public methods are tasks, so we need to move it to protected visibility.
* | | | | | Remove dead codeRafael Mendonça França2015-12-161-4/+0
|/ / / / /
* | | | | Merge pull request #22567 from gsamokovarov/introduce-application-recordRafael França2015-12-161-1/+8
|\ \ \ \ \ | | | | | | | | | | | | Introduce ApplicationRecord, an Active Record layer supertype
| * | | | | Introduce ApplicationRecord, an Active Record layer supertypeGenadi Samokovarov2015-12-161-1/+8
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's pretty common for folks to monkey patch `ActiveRecord::Base` to work around an issue or introduce extra functionality. Instead of shoving even more stuff in `ActiveRecord::Base`, `ApplicationRecord` can hold all those custom work the apps may need. Now, we don't wanna encourage all of the application models to inherit from `ActiveRecord::Base`, but we can encourage all the models that do, to inherit from `ApplicationRecord`. Newly generated applications have `app/models/application_record.rb` present by default. The model generators are smart enough to recognize that newly generated models have to inherit from `ApplicationRecord`, but only if it's present.
* | | | | Merge pull request #22598 from yui-knk/deprecate_string_callbackRafael França2015-12-161-15/+0
|\ \ \ \ \ | | | | | | | | | | | | Deprecate passing string to define callback.
| * | | | | Deprecate passing string to define callback.yui-knk2015-12-161-15/+0
| | | | | |
* | | | | | Merge pull request #22562 from sblackstone/masterJeremy Daer2015-12-151-2/+2
|\ \ \ \ \ \ | |_|/ / / / |/| | | | | Allow users to pass flags from database.yml
| * | | | | Allow users to pass flags from database.ymlStephen Blackstone2015-12-151-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix white-space Add test case demonstrating flags are received by the adapter
* | | | | | Merge pull request #22596 from y-yagi/remove_extra_space_from_deprecation_msgEileen M. Uchitelle2015-12-152-2/+5
|\ \ \ \ \ \ | | | | | | | | | | | | | | remove extra spaces from deprecation message
| * | | | | | remove extra spaces from deprecation messageyuuji.yaginuma2015-12-152-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ``` # before DEPRECATION WARNING: Time columns will become time zone aware in Rails 5.1. This still causes `String`s to be parsed as if they were in `Time.zone`, and `Time`s to be converted to `Time.zone`. To keep the old behavior, you must add the following to your initializer: config.active_record.time_zone_aware_types = [:datetime] To silence this deprecation warning, add the following: config.active_record.time_zone_aware_types << :time ``` ``` # after DEPRECATION WARNING: Time columns will become time zone aware in Rails 5.1. This still causes `String`s to be parsed as if they were in `Time.zone`, and `Time`s to be converted to `Time.zone`. To keep the old behavior, you must add the following to your initializer: config.active_record.time_zone_aware_types = [:datetime] To silence this deprecation warning, add the following: config.active_record.time_zone_aware_types << :time ```