aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'master' into adequaterecordAaron Patterson2014-02-17102-487/+1952
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master: (311 commits) Add a missing changelog entry for #13981 and #14035 Revert "Fixed plugin_generator test" implements new option :month_format_string for date select helpers [Closes #13618] add factory methods for empty alias trackers guarantee a list in the alias tracker so we can remove a conditional stop exposing table_joins make most parameters to the AliasTracker required make a singleton for AssociationScope pass the association and connection to the scope method pass the tracker down the stack and construct it in the scope method clean up add_constraints signature remove the reflection delegate remove klass delegator remove railties changes. fixes #14054 remove chain delegate remove scope_chain delegate Add verb to sanitization note fix path shown in mailer's templates updated Travis build status image url fix guide active_support_core_extensions. add Note to String#indent [ci skip] ... Conflicts: activerecord/lib/active_record/associations/join_dependency.rb activerecord/test/cases/associations/association_scope_test.rb
| * Add a missing changelog entry for #13981 and #14035Robin Dupret2014-02-151-0/+7
| | | | | | | | [ci skip]
| * add factory methods for empty alias trackersAaron Patterson2014-02-143-23/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we know the alias tracker is empty, we can create one that doesn't use a hash with default block for counting. ActiveRecord::Base.establish_connection(adapter: 'sqlite3', database: ':memory:') ActiveRecord::Schema.define do create_table :posts, force: true do |t| t.integer :comments_count end create_table :comments, force: true do |t| t.integer :post_id end end class Post < ActiveRecord::Base; has_many :comments; end class Comment < ActiveRecord::Base; belongs_to :post, counter_cache: true; end 10.times { Comment.create!(post: Post.create!) } record = Post.first association_name = :comments Benchmark.ips do |x| reflection = record.class.reflect_on_association(association_name) association = reflection.association_class.new(record, reflection) x.report('assoc') do reflection.association_class.new(record, reflection) end x.report('reader') do association.reader;nil end x.report('combined') do reflection.association_class.new(record, reflection).reader;nil end end [aaron@higgins rails (tracker)]$ TEST=ips bundle exec ruby ../1bb5456b5e035343df9d/gistfile1.rb -- create_table(:posts, {:force=>true}) -> 0.0062s -- create_table(:comments, {:force=>true}) -> 0.0003s Calculating ------------------------------------- assoc 833 i/100ms reader 28703 i/100ms combined 839 i/100ms ------------------------------------------------- assoc 9010.3 (±3.8%) i/s - 44982 in 5.000022s reader 3214523.4 (±5.5%) i/s - 16016274 in 5.001136s combined 8841.0 (±5.8%) i/s - 44467 in 5.049269s [aaron@higgins rails (tracker)]$ TEST=ips bundle exec ruby ../1bb5456b5e035343df9d/gistfile1.rb -- create_table(:posts, {:force=>true}) -> 0.0060s -- create_table(:comments, {:force=>true}) -> 0.0003s Calculating ------------------------------------- assoc 888 i/100ms reader 29217 i/100ms combined 900 i/100ms ------------------------------------------------- assoc 9674.3 (±3.3%) i/s - 48840 in 5.054022s reader 2988474.8 (±6.9%) i/s - 14842236 in 4.998230s combined 9674.0 (±3.1%) i/s - 48600 in 5.028694s
| * guarantee a list in the alias tracker so we can remove a conditionalAaron Patterson2014-02-143-6/+12
| |
| * stop exposing table_joinsAaron Patterson2014-02-141-4/+3
| |
| * make most parameters to the AliasTracker requiredAaron Patterson2014-02-142-6/+4
| | | | | | | | | | This helps with our sanity. The class is internal, we can refactor to a "nice" API later.
| * make a singleton for AssociationScopeAaron Patterson2014-02-143-3/+8
| | | | | | | | | | AssociationScope no longer maintains state, so we're safe to keep a singleton and save on GC time
| * pass the association and connection to the scope methodAaron Patterson2014-02-143-11/+7
| |
| * pass the tracker down the stack and construct it in the scope methodAaron Patterson2014-02-141-18/+18
| |
| * clean up add_constraints signatureAaron Patterson2014-02-141-8/+9
| |
| * remove the reflection delegateAaron Patterson2014-02-141-15/+14
| |
| * remove klass delegatorAaron Patterson2014-02-141-10/+11
| |
| * remove chain delegateAaron Patterson2014-02-141-5/+6
| |
| * remove scope_chain delegateAaron Patterson2014-02-141-3/+3
| |
| * Merge pull request #14048 from pcreux/better-error-message-db-migrate-downCarlos Antonio da Silva2014-02-141-1/+1
| |\ | | | | | | Add hint to error message of task db:migrate:down
| | * Add hint to error message of task db:migrate:downPhilippe Creux2014-02-131-1/+1
| | |
| * | remove unused fixtures from sqlite3 test casesRajarshi Das2014-02-141-1/+1
| | |
| * | remove more delegate methodsAaron Patterson2014-02-131-7/+9
| | |
| * | :scissors: whitespaceAaron Patterson2014-02-131-1/+0
| | |
| * | rm delegate methods that are not actually usedAaron Patterson2014-02-131-2/+2
| | |
| * | JoinHelper is never reused, so there is no need to separateAaron Patterson2014-02-133-42/+25
| | |
| * | speed up the collection proxy reader method, but slow down the constructorAaron Patterson2014-02-131-1/+5
| | |
| * | Merge pull request #14034 from ↵Yves Senn2014-02-134-4/+49
| |\ \ | | | | | | | | | | | | | | | | hdabrows/drop-correct-index-when-reverting-migration Drop the correct index after reverting a migration
| | * | Drop the correct index after reverting a migrationHubert Dąbrowski2014-02-134-4/+49
| | | | | | | | | | | | | | | | | | | | | | | | Previously when reverting a migration which added a named index it would instead drop a corresponding index with matching columns but without a name.
| * | | Merge pull request #14045 from arthurnn/kill_fibersGuillermo Iguaran2014-02-131-2/+4
| |\ \ \ | | | | | | | | | | Dont use Enumarator on join_association
| | * | | Dont use Enumarator on join_associationArthur Neves2014-02-131-2/+4
| | | | |
| * | | | tests are responsible to clean up afterwards.Yves Senn2014-02-131-82/+114
| |/ / / | | | | | | | | | | | | | | | | remove created state after test execution, not before the next test. This prevents the leak of the `ex` table outside of a single test.
| * | | Terminate the backend ourselves on PG 9.2+Matthew Draper2014-02-121-19/+29
| | | | | | | | | | | | | | | | This should make it harder to accidentally break this test.
| * | | `execute` is a hotspot, so let's reduce branchesAaron Patterson2014-02-121-6/+2
| |/ /
| * | adding missed changekayvan2014-02-111-1/+1
| | |
| * | adding connection parameter to check_pending for migrationskayvan2014-02-111-5/+5
| | |
| * | test case to illustrate current PostgreSQL composite behavior.Yves Senn2014-02-111-0/+42
| | |
| * | Avoid using deprecated arel constantsRafael Mendonça França2014-02-102-3/+3
| | |
| * | add activerecord test coverage for `sanitize_sql_array`Dmitry Polushkin2014-02-091-0/+5
| | | | | | | | | | | | check it is handles empty statement
| * | move alias method `sanitize_conditions` to a correct placeDmitry Polushkin2014-02-091-2/+1
| | |
| * | Merge pull request #13981 from Fortisque/kevin/postgresql_reaper_threadsafeAaron Patterson2014-02-085-4/+15
| |\ \ | | | | | | | | Reaper has access to threadsafe active? call
| | * | Reaper has access to threadsafe active? callKevin Casey2014-02-085-4/+15
| | | |
| * | | Merge pull request #13978 from Fortisque/kevin/validation_context_for_childrenAaron Patterson2014-02-084-1/+27
| |\ \ \ | | | | | | | | | | context in validation goes through has many relationship
| | * | | context in validation goes through has many relationshipKevin Casey2014-02-084-1/+27
| | | | |
| * | | | Skips linked folder tests if symlink is invalidMikko Johansson2014-02-091-2/+6
| | |/ / | |/| |
| * | | Add test case for autosave HasMany with accepts_nested_attributes.Lauro Caetano2014-02-083-0/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | It should not save the parent record when the nested attributes are invalid. Test case to cover #8194.
| * | | Adjust test value so that timezone has no effectAndrew White2014-02-071-1/+1
| |/ / | | | | | | | | | | | | | | | If the test is run in a timezone that is behind UTC it fails because the time generated is ahead of 0000-01-01 00:00:00. Just increase the time subtracted so that timezone has no effect.
| * | Merge branch 'dump-schema-after-migration-flag' of ↵Xavier Noria2014-02-063-1/+18
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | git://github.com/emilsoman/rails into emilsoman-dump-schema-after-migration-flag Conflicts: activerecord/CHANGELOG.md
| | * | Add config to disable schema dump after migrationEmil Soman2014-02-063-1/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add a config on Active Record named `dump_schema_after_migration` * Schema dump doesn't happen if the config is set to false * Set default value of the config to true * Set config in generated production environment file to false * Update configuration guide * Update CHANGELOG
| * | | synchronize 4.1 release notes with CHANGELOGS. [ci skip]Yves Senn2014-02-061-9/+13
| | | | | | | | | | | | | | | | /cc @chancancode
| * | | Return sized enumerator from Enumerable#index_byMarc-Andre Lafortune2014-02-051-6/+1
| | | |
| * | | Return sized enumerator from Batches#find_eachMarc-Andre Lafortune2014-02-055-3/+25
| | | |
| * | | Return sized enumerator from Batches#find_in_batchesMarc-Andre Lafortune2014-02-053-4/+25
| | | |
| * | | Strengthen test with different nb of rows and columnsMarc-Andre Lafortune2014-02-051-2/+4
| | | |
| * | | Merge pull request #13949 from vajrasky/fix_typo_column_definition_testYves Senn2014-02-051-2/+2
| |\ \ \ | | | | | | | | | | Fixed typos in column_definition_test.rb.