aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | | | | Merge pull request #29221 from koic/remove_duplicate_migration_testMatthew Draper2017-05-261-27/+0
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Remove a duplicate test of migration_test in AR
| * | | | | | | | Remove a duplicate test of migration_test in ARKoichi ITO2017-05-251-27/+0
| | | | | | | | |
* | | | | | | | | Merge pull request #29230 from koic/remove_duplicate_schema_authorization_testMatthew Draper2017-05-261-11/+0
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Remove a duplicate test of schema_authorization_test in AR
| * | | | | | | | | Remove a duplicate test of schema_authorization_test in ARKoichi ITO2017-05-251-11/+0
| | | | | | | | | |
* | | | | | | | | | Merge pull request #29215 from voxmedia/ar_optimizationsMatthew Draper2017-05-263-3/+4
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | ActiveRecord initialization optimizations
| * | | | | | | | | | Make #deep_dup use #allocate instead of #newMichael Lovitt2017-05-251-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change preserves the speedup made in a24912cb1d3 (by avoiding the wasted shallow dup of @attributes) while ensuring that the performance of #deep_dup won't be tied to the performance of #initialize
| * | | | | | | | | | Performance optimization for ActiveRecord#column_defaultsMichael Lovitt2017-05-241-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Memoize the #column_defaults class property, as ActiveRecord does for other properties in this module. This change addresses slowness in ActiveRecord initialization introduced starting in Rails 5.0. This method's performance has not changed with Rails 5, but it is now called much more frequently than before: every time an STI model is instantiated.
| * | | | | | | | | | Performance optimization for ActiveRecord#subclass_from_attributesMichael Lovitt2017-05-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change addresses slowness in ActiveRecord initialization introduced starting in Rails 5.0.
| * | | | | | | | | | Performance optimization for AttributeSet#deep_dupMichael Lovitt2017-05-241-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Skip the call to #dup, since it does a shallow copy of attributes, which is wasted effort, since #deep_dup then replaces that shallow copy with a #deep_dup of the given attributes. This change addresses slowness in ActiveRecord initialization introduced starting in Rails 5.0.
* | | | | | | | | | | Merge pull request #29226 from koic/remove_duplicate_mysql_rake_testMatthew Draper2017-05-261-7/+0
|\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Remove a duplicate test of mysql_rake_test
| * | | | | | | | | | | Remove a duplicate test of mysql_rake_testKoichi ITO2017-05-261-7/+0
| | |/ / / / / / / / / | |/| | | | | | | | |
* | | | | | | | | | | Merge pull request #29216 from matthewd/threadsafe-load-schemaMatthew Draper2017-05-263-3/+56
|\ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / |/| | | | | | | | | | Add a Monitor to ModelSchema#load_schema
| * | | | | | | | | | Add a Monitor to ModelSchema#load_schemaMatthew Draper2017-05-253-3/+56
| |/ / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [Vikrant Chaudhary, David Abdemoulaie, Matthew Draper]
* | | | | | | | | | Merge pull request #29175 from kamipo/extract_json_shared_testsMatthew Draper2017-05-253-351/+184
|\ \ \ \ \ \ \ \ \ \ | |_|/ / / / / / / / |/| | | | | | | | | Extract `JSONSharedTestCases`
| * | | | | | | | | Extract `JSONSharedTestCases`Ryuta Kamizono2017-05-223-351/+184
| | |/ / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Both `mysql2/json_test.rb` and `postgresql/json_test.rb` have same test cases.
* | | | | | | | | Merge pull request #29181 from kamipo/fix_circular_left_joins_with_scopingMatthew Draper2017-05-252-3/+10
|\ \ \ \ \ \ \ \ \ | |_|/ / / / / / / |/| | | | | | | | Fix crashing on circular left join references with scoping
| * | | | | | | | Fix crashing on circular left join references with scopingRyuta Kamizono2017-05-242-3/+10
| | |_|_|_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | Follow up of #25702.
* / | | | | | | Fix a RuboCop offences using `rubocop -a`Koichi ITO2017-05-243-5/+4
|/ / / / / / /
* | | | | | | Merge pull request #29141 from kamipo/make_helper_methods_to_privateMatthew Draper2017-05-241-18/+19
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Make helper methods in tests to private
| * | | | | | | Make helper methods in tests to privateRyuta Kamizono2017-05-191-18/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `make_model` and `make_no_pk_hm_t` in `HasManyThroughAssociationsTest` are not a test case. it should be private.
* | | | | | | | Merge pull request #29145 from kamipo/reference_type_should_be_not_nullMatthew Draper2017-05-242-1/+9
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Both reference id and type should be `NOT NULL` if `null: false` is specified
| * | | | | | | | Both reference id and type should be `NOT NULL` if `null: false` is specifiedRyuta Kamizono2017-05-192-1/+9
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a regression due to #28282. Fixes #29136.
* | | | | | | | Merge pull request #29027 from mohitnatoo/foreign-key-nameMatthew Draper2017-05-241-2/+3
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Adding Foreing Key - Don't worry about building the identifier if name is already present.
| * | | | | | | | [Foreign Key] Don't worry about the building identifier if name is already ↵Mohit Natoo2017-05-101-2/+3
| | |_|/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | present.
* | | | | | | | Merge pull request #29167 from koic/remove_duplicate_inverse_associations_testMatthew Draper2017-05-241-14/+0
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Remove a duplicate test of inverse_associations_test in AR
| * | | | | | | | Remove a duplicate test of inverse_associations_test in ARKoichi ITO2017-05-211-14/+0
| | |_|/ / / / / | |/| | | | | |
* | | | | | | | Merge pull request #29174 from kamipo/remove_unused_join_part_nameMatthew Draper2017-05-241-4/+0
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Remove unused `JoinPart#name`
| * | | | | | | | Remove unused `JoinPart#name`Ryuta Kamizono2017-05-221-4/+0
| |/ / / / / / /
* | | | | | | | Merge pull request #29182 from kamipo/remove_unused_left_joins_values_generationMatthew Draper2017-05-242-2/+2
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Remove unused `left_joins_values` generation
| * | | | | | | | Remove unused `left_joins_values` generationRyuta Kamizono2017-05-232-2/+2
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | This was added at #22125 but `left_joins_values` is never used.
* | | | | | | | Merge pull request #29183 from kamipo/refactor_making_join_constraintsMatthew Draper2017-05-241-23/+6
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Refactor making join constraints
| * | | | | | | | Refactor making join constraintsRyuta Kamizono2017-05-231-23/+6
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The only difference between `make_inner_joins` and `make_left_outer_joins` is the `join_type`.
* / / / / / / / More friendly exception in nested attributesKir Shatrov2017-05-222-2/+2
|/ / / / / / /
* | | | | | | Merge pull request #29156 from kamipo/make_valid_directions_to_setAndrew White2017-05-201-3/+5
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Make `VALID_DIRECTIONS` to `Set`
| * | | | | | | Make `VALID_DIRECTIONS` to `Set`Ryuta Kamizono2017-05-201-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ```ruby require "benchmark/ips" require "set" array = [:asc, :desc, :ASC, :DESC, "asc", "desc", "ASC", "DESC"] set = array.to_set item = "DESC" Benchmark.ips do |x| x.report "array" do array.include?(item) end x.report "set" do set.include?(item) end end ``` ``` % ruby array_vs_set.rb Warming up -------------------------------------- array 188.441k i/100ms set 229.531k i/100ms Calculating ------------------------------------- array 3.508M (± 9.0%) i/s - 17.525M in 5.043058s set 5.134M (± 7.6%) i/s - 25.707M in 5.038921s ```
* | | | | | | | Fix `warning: assigned but unused variable - timestamp`Ryuta Kamizono2017-05-201-1/+1
|/ / / / / / /
* | / / / / / Add cache_key_with_version and use it in ActiveSupport::Cache.expand_cache_keyDavid Heinemeier Hansson2017-05-193-24/+45
| |/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This retains the existing behavior of ActiveSupport::Cache.expand_cache_key (as used by etaging) where the cache key includes the version.
* | | | | | Cleanup CHANGELOGs [ci skip]Ryuta Kamizono2017-05-191-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Fix indentation. * Add backticks.
* | | | | | Use recyclable cache keys (#29092)David Heinemeier Hansson2017-05-184-11/+117
| | | | | |
* | | | | | Merge pull request #29118 from kamipo/remove_respond_to_reset_scopeRafael França2017-05-171-1/+1
|\ \ \ \ \ \ | | | | | | | | | | | | | | Remove unneeded `association.respond_to?(:reset_scope)`
| * | | | | | Remove unneeded `association.respond_to?(:reset_scope)`Ryuta Kamizono2017-05-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since 86390c3 all associations have `reset_scope` so `respond_to?` is unneeded.
* | | | | | | Set non 0 value to logger not to be affected by Ruby versionsYasuo Honda2017-05-171-23/+23
|/ / / / / / | | | | | | | | | | | | | | | | | | Addresses #29021
* | | | | | Fix association documentationRafael Mendonça França2017-05-161-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The object inside the scope is of the class that define the association not the associated class. [ci skip]
* | | | | | Changelog entry [ci-skip]Guillermo Iguaran2017-05-151-0/+4
| | | | | |
* | | | | | Improvements for SQLite rake task.Guillermo Iguaran2017-05-151-7/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Use NOT IN in SQL query * Quote table names propertly * Use array form of command invocation
* | | | | | Update SchemaDumper.ignore_tables docsGuillermo Iguaran2017-05-151-2/+2
| | | | | |
* | | | | | Respect 'ignore_tables' in SQLite structure dumpGuillermo Iguaran2017-05-152-1/+30
| | | | | |
* | | | | | Respect 'ignore_tables' in MySQL structure dumpGuillermo Iguaran2017-05-152-0/+22
| | | | | |
* | | | | | Respect `ignore_tables` in Postgres structure dumpRusty Geldmacher2017-05-152-0/+14
| |_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | When using `sql` as the schema format, or even just doing `rake db:structure:dump`, it would be good to respect the list of ignored tables that has been configured.
* | | | | Merge pull request #28919 from ↵Kasper Timm Hansen2017-05-121-1/+1
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | meinac/fix_ambigious_exception_message_of_select_query_method Fix ambigious error message of select query method [ci skip]