Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Add a missing changelog entry for #13981 and #14035 | Robin Dupret | 2014-02-15 | 1 | -0/+7 |
| | | | | [ci skip] | ||||
* | add factory methods for empty alias trackers | Aaron Patterson | 2014-02-14 | 3 | -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 conditional | Aaron Patterson | 2014-02-14 | 3 | -6/+12 |
| | |||||
* | stop exposing table_joins | Aaron Patterson | 2014-02-14 | 1 | -4/+3 |
| | |||||
* | make most parameters to the AliasTracker required | Aaron Patterson | 2014-02-14 | 2 | -6/+4 |
| | | | | | This helps with our sanity. The class is internal, we can refactor to a "nice" API later. | ||||
* | make a singleton for AssociationScope | Aaron Patterson | 2014-02-14 | 3 | -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 method | Aaron Patterson | 2014-02-14 | 3 | -11/+7 |
| | |||||
* | pass the tracker down the stack and construct it in the scope method | Aaron Patterson | 2014-02-14 | 1 | -18/+18 |
| | |||||
* | clean up add_constraints signature | Aaron Patterson | 2014-02-14 | 1 | -8/+9 |
| | |||||
* | remove the reflection delegate | Aaron Patterson | 2014-02-14 | 1 | -15/+14 |
| | |||||
* | remove klass delegator | Aaron Patterson | 2014-02-14 | 1 | -10/+11 |
| | |||||
* | remove chain delegate | Aaron Patterson | 2014-02-14 | 1 | -5/+6 |
| | |||||
* | remove scope_chain delegate | Aaron Patterson | 2014-02-14 | 1 | -3/+3 |
| | |||||
* | Merge pull request #14048 from pcreux/better-error-message-db-migrate-down | Carlos Antonio da Silva | 2014-02-14 | 1 | -1/+1 |
|\ | | | | | Add hint to error message of task db:migrate:down | ||||
| * | Add hint to error message of task db:migrate:down | Philippe Creux | 2014-02-13 | 1 | -1/+1 |
| | | |||||
* | | remove unused fixtures from sqlite3 test cases | Rajarshi Das | 2014-02-14 | 1 | -1/+1 |
| | | |||||
* | | remove more delegate methods | Aaron Patterson | 2014-02-13 | 1 | -7/+9 |
| | | |||||
* | | :scissors: whitespace | Aaron Patterson | 2014-02-13 | 1 | -1/+0 |
| | | |||||
* | | rm delegate methods that are not actually used | Aaron Patterson | 2014-02-13 | 1 | -2/+2 |
| | | |||||
* | | JoinHelper is never reused, so there is no need to separate | Aaron Patterson | 2014-02-13 | 3 | -42/+25 |
| | | |||||
* | | speed up the collection proxy reader method, but slow down the constructor | Aaron Patterson | 2014-02-13 | 1 | -1/+5 |
| | | |||||
* | | Merge pull request #14034 from ↵ | Yves Senn | 2014-02-13 | 4 | -4/+49 |
|\ \ | | | | | | | | | | | | | hdabrows/drop-correct-index-when-reverting-migration Drop the correct index after reverting a migration | ||||
| * | | Drop the correct index after reverting a migration | Hubert Dąbrowski | 2014-02-13 | 4 | -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_fibers | Guillermo Iguaran | 2014-02-13 | 1 | -2/+4 |
|\ \ \ | | | | | | | | | Dont use Enumarator on join_association | ||||
| * | | | Dont use Enumarator on join_association | Arthur Neves | 2014-02-13 | 1 | -2/+4 |
| | | | | |||||
* | | | | tests are responsible to clean up afterwards. | Yves Senn | 2014-02-13 | 1 | -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 Draper | 2014-02-12 | 1 | -19/+29 |
| | | | | | | | | | | | | This should make it harder to accidentally break this test. | ||||
* | | | `execute` is a hotspot, so let's reduce branches | Aaron Patterson | 2014-02-12 | 1 | -6/+2 |
|/ / | |||||
* | | adding missed change | kayvan | 2014-02-11 | 1 | -1/+1 |
| | | |||||
* | | adding connection parameter to check_pending for migrations | kayvan | 2014-02-11 | 1 | -5/+5 |
| | | |||||
* | | test case to illustrate current PostgreSQL composite behavior. | Yves Senn | 2014-02-11 | 1 | -0/+42 |
| | | |||||
* | | Avoid using deprecated arel constants | Rafael Mendonça França | 2014-02-10 | 2 | -3/+3 |
| | | |||||
* | | add activerecord test coverage for `sanitize_sql_array` | Dmitry Polushkin | 2014-02-09 | 1 | -0/+5 |
| | | | | | | | | check it is handles empty statement | ||||
* | | move alias method `sanitize_conditions` to a correct place | Dmitry Polushkin | 2014-02-09 | 1 | -2/+1 |
| | | |||||
* | | Merge pull request #13981 from Fortisque/kevin/postgresql_reaper_threadsafe | Aaron Patterson | 2014-02-08 | 5 | -4/+15 |
|\ \ | | | | | | | Reaper has access to threadsafe active? call | ||||
| * | | Reaper has access to threadsafe active? call | Kevin Casey | 2014-02-08 | 5 | -4/+15 |
| | | | |||||
* | | | Merge pull request #13978 from Fortisque/kevin/validation_context_for_children | Aaron Patterson | 2014-02-08 | 4 | -1/+27 |
|\ \ \ | | | | | | | | | context in validation goes through has many relationship | ||||
| * | | | context in validation goes through has many relationship | Kevin Casey | 2014-02-08 | 4 | -1/+27 |
| | | | | |||||
* | | | | Skips linked folder tests if symlink is invalid | Mikko Johansson | 2014-02-09 | 1 | -2/+6 |
| |/ / |/| | | |||||
* | | | Add test case for autosave HasMany with accepts_nested_attributes. | Lauro Caetano | 2014-02-08 | 3 | -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 effect | Andrew White | 2014-02-07 | 1 | -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 Noria | 2014-02-06 | 3 | -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 migration | Emil Soman | 2014-02-06 | 3 | -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 Senn | 2014-02-06 | 1 | -9/+13 |
| | | | | | | | | | | | | /cc @chancancode | ||||
* | | | Return sized enumerator from Enumerable#index_by | Marc-Andre Lafortune | 2014-02-05 | 1 | -6/+1 |
| | | | |||||
* | | | Return sized enumerator from Batches#find_each | Marc-Andre Lafortune | 2014-02-05 | 5 | -3/+25 |
| | | | |||||
* | | | Return sized enumerator from Batches#find_in_batches | Marc-Andre Lafortune | 2014-02-05 | 3 | -4/+25 |
| | | | |||||
* | | | Strengthen test with different nb of rows and columns | Marc-Andre Lafortune | 2014-02-05 | 1 | -2/+4 |
| | | | |||||
* | | | Merge pull request #13949 from vajrasky/fix_typo_column_definition_test | Yves Senn | 2014-02-05 | 1 | -2/+2 |
|\ \ \ | | | | | | | | | Fixed typos in column_definition_test.rb. | ||||
| * | | | Fixed typo in column_definition_test.rb. | Vajrasky Kok | 2014-02-05 | 1 | -2/+2 |
| | | | |