Skip to content
Commits on Dec 8, 2011
  1. @vijaydev

    fix comments

    vijaydev committed Dec 9, 2011
  2. @josevalim

    Remove NilClass whiners feature.

    josevalim committed Dec 8, 2011
    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 } }
  3. @tenderlove

    fixing eval'd line numbers.

    tenderlove committed Dec 8, 2011
  4. @tenderlove
  5. @josevalim
  6. @jonleighton
  7. @tenderlove
  8. @tenderlove
  9. @tenderlove
  10. @tenderlove
  11. @tenderlove
Commits on Dec 7, 2011
  1. @tenderlove
  2. @tenderlove
  3. @kelyar
Commits on Dec 6, 2011
  1. @tenderlove

    avoid deprecated methods

    tenderlove committed Dec 6, 2011
  2. @nashby @tenderlove
Commits on Dec 5, 2011
  1. @tenderlove
  2. @jadeforrest

    Speed up table_exists? for databases with a large number of tables

    jadeforrest committed Dec 5, 2011
    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.
Commits on Dec 4, 2011
  1. @josevalim

    Merge pull request #3854 from exviva/validates_associated_marked_for_…

    josevalim committed Dec 4, 2011
    …destruction
    
    Do not validate associated records marked for destruction
  2. @exviva

    Do not validate associated records marked for destruction

    exviva committed Dec 4, 2011
    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.
  3. @jonleighton

    Merge pull request #3851 from ebeigarts/fix_sequence_name

    jonleighton committed Dec 4, 2011
    Fix sequence name with abstract classes.
  4. @fxn
  5. @fxn
  6. @fxn

    Merge branch 'explain'

    fxn committed Dec 4, 2011
  7. @fxn

    implements a much faster auto EXPLAIN, closes #3843 [José Valim & Xav…

    fxn committed Dec 4, 2011
    …ier Noria]
    
    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.
  8. @ebeigarts
  9. @carlosantoniodasilva
  10. @arunagw

    SQlite3 Bump

    arunagw committed Dec 4, 2011
Commits on Dec 3, 2011
  1. @jonleighton

    Add missing require

    jonleighton committed Dec 3, 2011
  2. @jonleighton

    Avoid postgres 9.X syntax

    jonleighton committed Dec 3, 2011
  3. @jonleighton

    Fix #3837.

    jonleighton committed Dec 3, 2011
    We also need to time zone convert time zone aware attributes when
    accessed via read_attribute, not only when via direct access.
  4. @fxn

    removes the convenience instance version of AR::Base.silence_auto_exp…

    fxn committed Dec 3, 2011
    …lain
    
    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.
  5. @jonleighton

    Merge pull request #3820 from jaylevitt/nested_loading_through_assoc

    jonleighton committed Dec 3, 2011
    reintroduce patch from #726 to handle nested eager loading via associations
  6. @jonleighton

    Merge pull request #3833 from kennyj/fix_3678-3

    jonleighton committed Dec 3, 2011
    Use show create table (fix 3678: third time).
Commits on Dec 2, 2011
  1. @fxn

    yield > block.call

    fxn committed Dec 2, 2011
Something went wrong with that request. Please try again.