1. 26 5月, 2014 1 次提交
  2. 24 5月, 2014 1 次提交
  3. 20 5月, 2014 1 次提交
    • S
      Remove :timestamp column type · d0f8c46e
      Sean Griffin 提交于
      The `:timestamp` type for columns is unused. All database adapters treat
      them as the same database type. All code in `ActiveRecord` which changes
      its behavior based on the column's type acts the same in both cases.
      However, when the type is passed to code that checks for the `:datetime`
      type, but not `:timestamp` (such as XML serialization), the result is
      unexpected behavior.
      
      Existing schema definitions will continue to work, and the `timestamp`
      type is transparently aliased to `datetime`.
      d0f8c46e
  4. 18 5月, 2014 2 次提交
  5. 05 5月, 2014 1 次提交
  6. 15 4月, 2014 1 次提交
  7. 12 4月, 2014 1 次提交
  8. 10 4月, 2014 5 次提交
  9. 31 3月, 2014 2 次提交
  10. 29 3月, 2014 1 次提交
  11. 27 3月, 2014 2 次提交
  12. 26 3月, 2014 2 次提交
  13. 18 3月, 2014 1 次提交
    • M
      Reap connections based on owning-thread death · 9e457a86
      Matthew Draper 提交于
      .. not a general timeout.
      
      Now, if a thread checks out a connection then dies, we can immediately
      recover that connection and re-use it.
      
      This should alleviate the pool exhaustion discussed in #12867. More
      importantly, it entirely avoids the potential issues of the reaper
      attempting to check whether connections are still active: as long as the
      owning thread is alive, the connection is its business alone.
      
      As a no-op reap is now trivial (only entails checking a thread status
      per connection), we can also perform one in-line any time we decide to
      sleep for a connection.
      9e457a86
  14. 14 3月, 2014 2 次提交
  15. 25 2月, 2014 1 次提交
  16. 23 2月, 2014 1 次提交
  17. 09 2月, 2014 1 次提交
  18. 05 2月, 2014 1 次提交
  19. 31 1月, 2014 1 次提交
    • A
      Fix regression on `.select_*` methods. · b7fcad8f
      Arthur Neves 提交于
      This was a common pattern:
      ```
      query = author.posts.select(:title)
      connection.select_one(query)
      ```
      
      However `.select` returns a ActiveRecord::AssociationRelation, which has
      the bind information, so we can use that to get the right sql query.
      
      Also fix select_rows on postgress and sqlite3 that were not using the binds
      
      [fixes #7538]
      [fixes #12017]
      [related #13731]
      [related #12056]
      b7fcad8f
  20. 19 1月, 2014 1 次提交
    • G
      Restore ActiveRecord states after a rollback for models w/o callbacks · 7386ffc7
      Godfrey Chan 提交于
      This fixes a regression (#13744) that was caused by 67d8bb96.
      
      In 67d8bb96, we introduced lazy rollback for records, such that the
      record's internal states and attributes are not restored immediately
      after a transaction rollback, but deferred until they are first
      accessed.
      
      This optimization is only performed when the model does not have any
      transactional callbacks (e.g. `after_commit` and `after_create`).
      
      Unfortunately, the models used to test the affected codepaths all
      comes with some sort of transactional callbacks. Therefore this
      codepath remains largely untested until now and as a result there are
      a few issues in the implementation that remains hidden until now.
      
      First, the `sync_with_transaction_state` (or more accurately,
      `update_attributes_from_transaction_state`) would perform the
      synchronization prematurely before a transaction is finalized (i.e.
      comitted or rolled back). As a result, when the actuall rollback
      happens, the record will incorrectly assumes that its internal states
      match the transaction state, and neglect to perform the restore.
      
      Second, `update_attributes_from_transaction_state` calls `committed!`
      in some cases. This in turns checks for the `destroyed?` state which
      also requires synchronization with the transaction stae, which causes
      an infnite recurrsion.
      
      This fix works by deferring the synchronization until the transaction
      has been finalized (addressing the first point), and also unrolled
      the `committed!` and `rolledback!` logic in-place (addressing the
      second point).
      
      It should be noted that the primary purpose of the `committed!` and
      `rolledback!` methods are to trigger the relevant transactional
      callbacks. Since this code path is only entered when there are no
      transactional callbacks on the model, this shouldn't be necessary. By
      unrolling the method calls, the intention here (to restore the states
      when necessary) becomes more clear.
      7386ffc7
  21. 18 1月, 2014 1 次提交
  22. 17 1月, 2014 1 次提交
  23. 10 1月, 2014 1 次提交
  24. 07 1月, 2014 1 次提交
    • N
      Make change_table use object of current database adapter · eb589fed
      Nishant Modak 提交于
        - Earlier, change_table was creating database-agnostic object.
        - After this change, it will create correct object based on current
          database adapter.
        - This will ensure that create_table and change_table will get same objects.
        - This makes update_table_definition method public and nodoc.
        - Fixes #13577 and #13503
      eb589fed
  25. 20 12月, 2013 1 次提交
  26. 16 12月, 2013 1 次提交
  27. 14 12月, 2013 1 次提交
  28. 04 12月, 2013 1 次提交
  29. 03 12月, 2013 2 次提交
  30. 29 11月, 2013 1 次提交