aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | | | Use `table_exists?` from the schema cache.Aaron Patterson2011-12-094-8/+7
| | | | | | |
* | | | | | | don't need a begin / end.Aaron Patterson2011-12-091-6/+4
| | | | | | |
* | | | | | | squelch table exists? queries.Aaron Patterson2011-12-091-1/+1
| | | | | | |
* | | | | | | Compare migrations for copying only by name and scopePiotr Sarnacki2011-12-092-48/+7
| | | | | | |
* | | | | | | Add suffix for migrations copied from enginesPiotr Sarnacki2011-12-092-28/+28
| | | | | | |
* | | | | | | String#to_a is not available in 1.9Piotr Sarnacki2011-12-092-2/+2
| | | | | | |
* | | | | | | Run also migrations in subdirectories.Piotr Sarnacki2011-12-095-2/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With this commit, ActiveRecord will also look for migrations in db/migrate subdirectories.
* | | | | | | Ignore origin comment when checking for duplicates on Migration.copyPiotr Sarnacki2011-12-093-5/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 49ebe51 fixed copying migrations, but existing migrations would still trigger warnings. The proper way to compare migrations is to ignore origin lines - if migration is identical it means that we can silently skip it, regardless where it comes from.
* | | | | | | Fix copying migrations from enginesPiotr Sarnacki2011-12-092-3/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There was a bug in ActiveRecord::Migration.copy method, which prevented adding special comment about the origin of migration. Because of that, the check if migration is identical or if it's not and should be skipped was always saying that migration is skipped, which was causing additional useless warnings about skipped migrations.
* | | | | | | Exceptions should read from the spec configuAaron Patterson2011-12-081-1/+1
| | | | | | |
* | | | | | | Fix #3890. (Calling proxy_association in scope chain.)Jon Leighton2011-12-083-3/+19
| | | | | | |
* | | | | | | fix nodocsVijay Dev2011-12-093-9/+9
| | | | | | |
* | | | | | | fix commentsVijay Dev2011-12-091-4/+2
| | | | | | |
* | | | | | | Remove NilClass whiners feature.José Valim2011-12-081-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removing this feature causes boost in performance when using Ruby 1.9. Ruby 1.9 started to do implicit conversions using `to_ary` and `to_str` in some STDLIB methods (like Array#join). To do such implicit conversions, Ruby 1.9 always dispatches the method and rescues the NoMethodError exception in case one is raised. Therefore, since the whiners feature defined NilClass#method_missing, such implicit conversions for nil became much, much slower. In fact, just defining NilClass#method_missing (even without the whiners feature) already causes a massive slow down. Here is a snippet that shows such slow down: require "benchmark" Benchmark.realtime { 1_000.times { [nil,nil,nil].join } } class NilClass def method_missing(*args) raise NoMethodError end end Benchmark.realtime { 1_000.times { [nil,nil,nil].join } }
* | | | | | | fixing eval'd line numbers.Aaron Patterson2011-12-081-2/+2
| | | | | | |
* | | | | | | Regexp.union seems to have different results in 1.8Aaron Patterson2011-12-081-3/+3
| | | | | | |
* | | | | | | Add performance scripts from wycats/rails-simple-benches to actionpack.José Valim2011-12-081-1/+1
| | | | | | |
* | | | | | | Fix broken test_exists_query_logging from the table_exists? changeJon Leighton2011-12-081-0/+1
| | | | | | |
* | | | | | | moving ignored regexp to the instanceAaron Patterson2011-12-071-6/+8
| | | | | | |
* | | | | | | speeding up ignored sql testingAaron Patterson2011-12-071-1/+4
| | | | | | |
* | | | | | | Use a hash to look up column definitionsAaron Patterson2011-12-071-2/+3
| | | | | | |
* | | | | | | try to normalize the objects passed to column()Aaron Patterson2011-12-071-9/+11
| | | | | | |
* | | | | | | automatically add the column definition to the columns list if creating a ↵Aaron Patterson2011-12-071-12/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | new one
* | | | | | | stop calling String#to_s so frequentlyAaron Patterson2011-12-071-3/+4
| | | | | | |
* | | | | | | the required sqlite3 adapter responds to encoding, so stop checking.Aaron Patterson2011-12-071-5/+1
| | | | | | |
* | | | | | | reversible migration example had missing block parameterEvgeniy Kelyarsky2011-12-071-1/+1
| | | | | | |
* | | | | | | avoid deprecated methodsAaron Patterson2011-12-061-1/+1
| | | | | | |
* | | | | | | add prefix and suffix to renamed tables, closes #1510Vasiliy Ermolovich2011-12-064-0/+52
|/ / / / / /
* | | | | | Quitoting the table name before querying.Aaron Patterson2011-12-051-1/+1
| | | | | |
* | | | | | Speed up table_exists? for databases with a large number of tablesJade Rubick2011-12-051-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At New Relic, we have hundreds of thousands of tables, and our migrations took 30 minutes without this similar patch. This cuts it down to a more reasonable amount of time. The rescue false part is ugly, but necessary as far as I can tell. I don't know of a cross-database statement you can make that will work without trapping errors.
* | | | | | Merge pull request #3854 from exviva/validates_associated_marked_for_destructionJosé Valim2011-12-042-2/+13
|\ \ \ \ \ \ | | | | | | | | | | | | | | Do not validate associated records marked for destruction
| * | | | | | Do not validate associated records marked for destructionOlek Janiszewski2011-12-052-2/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The main reason for this change is to fix a bug where `validates_associated` would prevent `accepts_nested_attributes_for` with `allow_destroy: true` from destroying invalid associated records.
* | | | | | | Merge pull request #3851 from ebeigarts/fix_sequence_nameJon Leighton2011-12-042-2/+12
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | Fix sequence name with abstract classes.
| * | | | | | Fix sequence name with abstract classes.Edgars Beigarts2011-12-042-2/+12
| | | | | | |
* | | | | | | moves some auto explain logic to the subscriber [José Valim & Xavier Noria]Xavier Noria2011-12-042-19/+12
| | | | | | |
* | | | | | | simplifies ActiveRecord::ExplainSubscriber [José Valim & Xavier Noria]Xavier Noria2011-12-041-8/+6
| | | | | | |
* | | | | | | Merge branch 'explain'Xavier Noria2011-12-046-84/+93
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | |
| * | | | | | implements a much faster auto EXPLAIN, closes #3843 [José Valim & Xavier Noria]Xavier Noria2011-12-046-84/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit vastly reduces the impact of auto explain logging when enabled, while keeping a negligible cost when disabled. The first implementation was based on the idea of subscribing to "sql.active_record" when needed, and unsubscribing once done. This is the idea behind AR::Relation#explain. Subscribe, collect, unsubscribe. But with the current implementation of notifications unsubscribing is costly, because it wipes an internal cache and that puts a penalty on the next event. So we are switching to an approach where a long-running subscriber is listening. Instead of collecting the queries with a closure in a dedicated subscriber, now we setup a thread local. If the feature is disabled by setting the threshold to nil, the subscriber will call a method that does nothing. That's totally cheap.
* | | | | | | Refactor readonly attributes conditionalCarlos Antonio da Silva2011-12-041-1/+2
|/ / / / / /
* | | | | | SQlite3 Bump Arun Agrawal2011-12-041-1/+1
| | | | | |
* | | | | | Add missing requireJon Leighton2011-12-031-0/+2
| | | | | |
* | | | | | Avoid postgres 9.X syntaxJon Leighton2011-12-031-1/+5
| | | | | |
* | | | | | Fix #3837.Jon Leighton2011-12-032-11/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We also need to time zone convert time zone aware attributes when accessed via read_attribute, not only when via direct access.
* | | | | | removes the convenience instance version of AR::Base.silence_auto_explainXavier Noria2011-12-034-96/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rationale: As discussed with José and Jon, this convenience shortcut is not clearly justified and it could let the user thing the disabled EXPLAINs are related to the model instance rather than being globally disabled.
* | | | | | Merge pull request #3820 from jaylevitt/nested_loading_through_assocJon Leighton2011-12-032-1/+36
|\ \ \ \ \ \ | | | | | | | | | | | | | | reintroduce patch from #726 to handle nested eager loading via associations
| * | | | | | reintroduce patch from #726 to handle nested eager loading via associationsJay Levitt2011-11-302-1/+36
| | | | | | |
* | | | | | | Merge pull request #3833 from kennyj/fix_3678-3Jon Leighton2011-12-031-3/+8
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Use show create table (fix 3678: third time).
| * | | | | | | Use show create table.kennyj2011-12-031-3/+8
| | | | | | | |
* | | | | | | | yield > block.callXavier Noria2011-12-021-3/+3
| | | | | | | |
* | | | | | | | two small details from the previous patchXavier Noria2011-12-021-1/+1
| | | | | | | |