aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
Commit message (Collapse)AuthorAgeFilesLines
* 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.
| * | | Fixed typo in column_definition_test.rb.Vajrasky Kok2014-02-051-2/+2
| | | |