1. 30 11月, 2014 1 次提交
  2. 29 11月, 2014 1 次提交
  3. 03 11月, 2014 1 次提交
  4. 02 11月, 2014 1 次提交
  5. 01 11月, 2014 1 次提交
    • S
      Treat strings greater than int max value as out of range · e62fff40
      Sean Griffin 提交于
      Sufficiently large integers cause `find` and `find_by` to raise
      `StatementInvalid` instead of `RecordNotFound` or just returning `nil`.
      Given that we can't cast to `nil` for `Integer` like we would with junk
      data for other types, we raise a `RangeError` instead, and rescue in
      places where it would be highly unexpected to get an exception from
      casting.
      
      Fixes #17380
      e62fff40
  6. 29 10月, 2014 1 次提交
    • X
      let's warn with heredocs · b3bfa361
      Xavier Noria 提交于
      The current style for warning messages without newlines uses
      concatenation of string literals with manual trailing spaces
      where needed.
      
      Heredocs have better readability, and with `squish` we can still
      produce a single line.
      
      This is a similar use case to the one that motivated defining
      `strip_heredoc`, heredocs are super clean.
      b3bfa361
  7. 14 10月, 2014 1 次提交
    • C
      Remove duplicate error message "Couldn't find..." · 90a0471a
      claudiob 提交于
      This commit removes the duplication of the error message:
      
      > Couldn't find #{@klass.name} with [#{arel.where_sql}]
      
      introduced in #15791 by adding a private method `find_nth!` that
      deals with all the method like `first!` and `second!`.
      90a0471a
  8. 05 9月, 2014 1 次提交
    • G
      Fixed regression with referencing polymorphic assoc in eager-load · a8827cb9
      Godfrey Chan 提交于
      This is cased by 03118bc5 + 9b5d603c. The first commit referenced the undefined
      local variable `column` when it should be using `reflection.type` as the lookup
      key. The second commit changed `build_arel` to not modify the `bind_values` in-
      place so we need to combine the arel's `bind_values` with the relation's when
      building the SQL.
      
      Fixes #16591
      
      Related #15821 / #15892 / 7aeca506
      a8827cb9
  9. 19 8月, 2014 1 次提交
  10. 18 6月, 2014 1 次提交
  11. 10 6月, 2014 1 次提交
  12. 17 5月, 2014 1 次提交
  13. 24 4月, 2014 1 次提交
  14. 13 4月, 2014 3 次提交
  15. 14 3月, 2014 3 次提交
  16. 04 3月, 2014 1 次提交
    • M
      Make exists? use bound values. · f317cc8b
      Martin Schürrer 提交于
      When we build a query with an inline value that is a numeric (e.g.
      because it's out of range for an int4) PostgreSQL doesn't use an index
      on the column, since it's now comparing numerics and not int4s.
      
      This leads to a _very_ slow query.
      
      When we use bound parameters instead of inline values PostgreSQL
      raises numeric_value_out_of_range since no automatic coercion happens.
      f317cc8b
  17. 15 2月, 2014 1 次提交
  18. 25 1月, 2014 1 次提交
  19. 22 1月, 2014 1 次提交
    • J
      Ensure AR #second, #third, etc. finders work through associations · 03855e79
      Jason Meller 提交于
      This commit fixes two regressions introduced in cafe31a0 where
      newly created finder methods #second, #third, #forth, and #fifth
      caused a NoMethodError error on reload associations and where we
      were pulling the wrong element out of cached associations.
      
      Examples:
      
        some_book.authors.reload.second
      
        # Before
        # => NoMethodError: undefined method 'first' for nil:NilClass
      
        # After
        # => #<Author id: 2, name: "Sally Second", ...>
      
        some_book.first.authors.first
        some_book.first.authors.second
      
        # Before
        # => #<Author id: 1, name: "Freddy First", ...>
        # => #<Author id: 1, name: "Freddy First", ...>
      
        # After
        # => #<Author id: 1, name: "Freddy First", ...>
        # => #<Author id: 2, name: "Sally Second", ...>
      
      Fixes #13783.
      03855e79
  20. 21 1月, 2014 1 次提交
    • J
      Ensure #second acts like #first AR finder · cafe31a0
      Jason Meller 提交于
      This commit bring the famous ordinal Array instance methods defined
      in ActiveSupport into ActiveRecord as fully-fledged finders.
      
      These finders ensure a default ascending order of the table's primary
      key, and utilize the OFFSET SQL verb to locate the user's desired
      record. If an offset is defined in the query, calling #second adds
      to the offset to get the actual desired record.
      
      Fixes #13743.
      cafe31a0
  21. 14 1月, 2014 1 次提交
  22. 10 1月, 2014 1 次提交
  23. 04 12月, 2013 1 次提交
  24. 15 11月, 2013 1 次提交
  25. 21 10月, 2013 1 次提交
  26. 16 10月, 2013 1 次提交
  27. 15 10月, 2013 2 次提交
  28. 14 10月, 2013 5 次提交
  29. 11 10月, 2013 1 次提交
  30. 08 10月, 2013 1 次提交
  31. 19 8月, 2013 1 次提交
    • X
      let AR::FinderMethods#exists? return singletons in all cases [closes #11592] · 565c367d
      Xavier Noria 提交于
      This fixes a regression. The documentation said in its introduction
      paragraph that the method returns truthy/falsy, but then below it
      was said that if there were no arguments you'd get `true` or `false`.
      Also when the argument is exactly `false` a singleton is documented
      to be returned.
      
      The method was not returning the singletons so it didn't conform to
      those special cases.
      
      The best solution here seems to be to just return singletons in all
      cases. This solution is backwards compatible. Also, the contract
      has been revised because it has no sense that the predicate varies
      that way depending on the input. I bet the previous contract was just
      an accident, not something mixed on purpose.
      
      Conflicts:
      	activerecord/lib/active_record/relation/finder_methods.rb
      	activerecord/test/cases/finder_test.rb
      565c367d