aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | | 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 #29216 from matthewd/threadsafe-load-schemaMatthew Draper2017-05-261-3/+22
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Add a Monitor to ModelSchema#load_schema
| * | | | | | | Add a Monitor to ModelSchema#load_schemaMatthew Draper2017-05-251-3/+22
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | [Vikrant Chaudhary, David Abdemoulaie, Matthew Draper]
* | | | | | | Merge pull request #29181 from kamipo/fix_circular_left_joins_with_scopingMatthew Draper2017-05-251-1/+1
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | Fix crashing on circular left join references with scoping
| * | | | | | Fix crashing on circular left join references with scopingRyuta Kamizono2017-05-241-1/+1
| | |_|_|/ / | |/| | | | | | | | | | | | | | | | Follow up of #25702.
* / | | | | Fix a RuboCop offences using `rubocop -a`Koichi ITO2017-05-242-4/+3
|/ / / / /
* | | | | Merge pull request #29145 from kamipo/reference_type_should_be_not_nullMatthew Draper2017-05-241-1/+1
|\ \ \ \ \ | | | | | | | | | | | | 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-191-1/+1
| | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | 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 #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-241-1/+1
|\ \ \ \ \ | | | | | | | | | | | | Remove unused `left_joins_values` generation
| * | | | | Remove unused `left_joins_values` generationRyuta Kamizono2017-05-231-1/+1
| |/ / / / | | | | | | | | | | | | | | | 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-221-1/+1
|/ / / /
* | | | 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-191-17/+26
| |/ / |/| | | | | | | | | | | | | | This retains the existing behavior of ActiveSupport::Cache.expand_cache_key (as used by etaging) where the cache key includes the version.
* | | Use recyclable cache keys (#29092)David Heinemeier Hansson2017-05-181-9/+40
| | |
* | | 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.
* | | 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]
* | | 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-151-1/+10
| | |
* | | Respect 'ignore_tables' in MySQL structure dumpGuillermo Iguaran2017-05-151-0/+6
| | |
* | | Respect `ignore_tables` in Postgres structure dumpRusty Geldmacher2017-05-151-0/+6
| |/ |/| | | | | | | | | 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]
| * | Fix ambigious error message of select query methodMehmet Emin INAC2017-05-081-1/+1
| | |
* | | Merge pull request #29043 from kamipo/dont_eager_loading_if_unneeded_for_existsAaron Patterson2017-05-112-4/+5
|\ \ \ | | | | | | | | Don't eager loading if unneeded for `FinderMethods#exists?`
| * | | Don't eager loading if unneeded for `FinderMethods#exists?`Ryuta Kamizono2017-05-112-4/+5
| | |/ | |/| | | | | | | Fixes #29025.
* / | Defer loading each DB Tasks class from AR DatabaseTasksAkira Matsuda2017-05-111-6/+6
|/ / | | | | | | | | | | Because we don't need to load tasks for DBs that we don't use for the current app. Also, these Tasks classes load AR::Base in their class level, and so immediately kick :active_record on_load hooks. This used to happen when we were loading tasks, not when we run a task.
* | Merge pull request #28989 from matthewd/quoted_id-deprecationMatthew Draper2017-05-061-1/+8
|\ \ | | | | | | Clarify deprecation message for #quoted_id
| * | Clarify deprecation message for #quoted_idMatthew Draper2017-05-051-1/+8
| | | | | | | | | | | | | | | In this case, it's the method definition that's more at fault, rather than the current caller.
* | | Don't pass `arel.engine` to `Arel::SelectManager.new`Ryuta Kamizono2017-05-053-9/+6
| | | | | | | | | | | | | | | | | | The argument of `Arel::SelectManager.new` is `table`, not `engine`. https://github.com/rails/arel/blob/v8.0.0/lib/arel/select_manager.rb#L10
* | | Remove useless `target_records_from_association`Ryuta Kamizono2017-05-041-11/+3
|/ / | | | | | | Since through association is always loaded by `preloader.preload`.
* | Add type caster to `RuntimeReflection#alias_name`Jon Moss2017-05-021-1/+1
| | | | | | | | | | Since we have been using this `Arel::Table` since 111ccc832bc977b15af12c14e7ca078dad2d4373, in order to properly handle queries, it's important that we properly type cast arguments.
* | Merge pull request #28938 from kamipo/deprecate_supports_statement_cacheRafael França2017-05-014-20/+3
|\ \ | | | | | | Deprecate `supports_statement_cache?`
| * | Deprecate `supports_statement_cache?`Ryuta Kamizono2017-05-014-20/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `supports_statement_cache?` was introduced in 3.1.0.beta1 (104d0b2) for bind parameter substitution, but it is no longer used in 3.1.0.rc1 (73ff679). Originally it should respect `prepared_statements` rather than `supports_statement_cache?` (fd39847). One more thing, named `supports_statement_cache?` is pretty misreading. We have `StatementCache` and `StatementPool`. However, `supports_statement_cache?` doesn't mean `StatementCache`, but `StatementPool` unlike its name. https://github.com/rails/rails/blob/v5.1.0/activerecord/lib/active_record/statement_cache.rb https://github.com/rails/rails/blob/v5.1.0/activerecord/lib/active_record/connection_adapters/statement_pool.rb
* | | Use `flat_map` rather than `map(&:...).flatten`Ryuta Kamizono2017-04-291-1/+1
|/ /
* | Also raise error when VERSION is nilRafael Mendonça França2017-04-271-2/+2
| | | | | | | | Fix #28905
* | Evaluate belongs_to :default option against the owner, not the associationGeorge Claghorn2017-04-271-1/+1
|/
* Merge pull request #28883 from yahonda/fix28797Rafael França2017-04-261-1/+1
|\ | | | | PostgreSQL 10 does not convert `CURRENT_DATE` into `('now'::text)::date`
| * PostgreSQL 10 allows `CURRENT_DATE` and `CURRENT_TIMESTAMP` as default functionsYasuo Honda2017-04-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | Address #28797 In the previous versions of PostgreSQL, `CURRENT_DATE` converted to `('now'::text)::date` and `CURRENT_TIMESTAMP` converted to `now()`. Refer these discussions and commit at PostgreSQL : https://www.postgresql.org/message-id/flat/5878.1463098164%40sss.pgh.pa.us#5878.1463098164@sss.pgh.pa.us https://github.com/postgres/postgres/commit/0bb51aa96783e8a6c473c2b5e3725e23e95db834
* | Merge pull request #28881 from bogdanvlviv/verbose-migrationRafael França2017-04-261-1/+1
|\ \ | | | | | | Set consistent typecast ENV["VERBOSE"]
| * | Refactor AR::Tasks::DatabaseTasks::migratebogdanvlviv2017-04-261-1/+1
| |/ | | | | | | | | Set consistent type cast ENV["VERBOSE"]: ENV["VERBOSE"] is true if it not equal "false"
* | Merge pull request #28891 from sodabrew/patch-1Rafael França2017-04-261-2/+0
|\ \ | | | | | | Remove mysql2 database adapter default username root
| * | Remove mysql2 database adapter default username rootAaron Stone2017-04-261-2/+0
| | |