1. 20 5月, 2015 1 次提交
  2. 19 5月, 2015 1 次提交
  3. 18 5月, 2015 1 次提交
    • Y
      better `add_reference` documentation. [ci skip] · 41e5e898
      Yves Senn 提交于
      This patch
        - reduces the duplication among the `reference`-family methods.
        - better explains all the optians available for `add_reference`.
        - redirects to user from `references` to `add_reference`.
      
      Originated by #20184.
      41e5e898
  4. 17 5月, 2015 1 次提交
    • E
      Add schema cache to new connection pool after fork · 19bc5708
      Eugene Kenny 提交于
      Active Record detects when the process has forked and automatically
      creates a new connection pool to avoid sharing file descriptors.
      
      If the existing connection pool had a schema cache associated with it,
      the new pool should copy it to avoid unnecessarily querying the database
      for its schema.
      
      The code to detect that the process has forked is in ConnectionHandler,
      but the existing test for it was in the ConnectionManagement test file.
      I moved it to the right place while I was writing the new test for this
      change.
      19bc5708
  5. 15 5月, 2015 1 次提交
  6. 14 5月, 2015 3 次提交
    • T
      AR::ConPool - remove synchronization around connection cache. · 603fe20c
      thedarkone 提交于
      Renamed `@reserved_connections` -> `@thread_cached_conns`. New name
      clearly conveys the purpose of the cache, which is to speed-up
      `#connection` method.
      
      The new `@thread_cached_conns` now also uses `Thread` objects as keys
      (instead of previously `Thread.current.object_id`).
      
      Since there is no longer any synchronization around
      `@thread_cached_conns`, `disconnect!` and `clear_reloadable_connections!`
      methods now pre-emptively obtain ownership (via `checkout`) of all
      existing connections, before modifying internal data structures.
      
      A private method `release` has been renamed `thread_conn_uncache` to
      clear-up its purpose.
      
      Fixed some brittle `thread.status == "sleep"` tests (threads can go
      into sleep even without locks).
      603fe20c
    • T
      e92f5a99
    • T
      AR::ConPool - reduce post checkout critical section. · a3923e66
      thedarkone 提交于
      Move post checkout connection verification out of mutex.synchronize.
      a3923e66
  7. 05 5月, 2015 1 次提交
  8. 04 5月, 2015 3 次提交
  9. 03 5月, 2015 3 次提交
  10. 30 4月, 2015 2 次提交
  11. 29 4月, 2015 1 次提交
    • E
      Apply schema cache dump when creating connections · 33fe7cc8
      Eugene Kenny 提交于
      The `db:schema:cache:dump` rake task dumps the database schema structure
      to `db/schema_cache.dump`. If this file is present, the schema details
      are loaded into the currently checked out connection by a railtie while
      Rails is booting, to avoid having to query the database for its schema.
      
      The schema cache dump is only applied to the initial connection used to
      boot the application though; other connections from the same pool are
      created with an empty schema cache, and still have to load the structure
      of each table directly from the database.
      
      With this change, a copy of the schema cache is associated with the
      connection pool and applied to connections as they are created.
      33fe7cc8
  12. 24 4月, 2015 2 次提交
  13. 15 4月, 2015 1 次提交
    • P
      Fix missing index when using timestamps with index · c0abeadc
      Paul Mucur 提交于
      The `index` option used with `timestamps` should be passed to both
      `column` definitions for `created_at` and `updated_at` rather than just
      the first.
      
      This was happening because `Hash#delete` is used to extract the `index`
      option passed to `timestamps`, thereby mutating the `options` hash
      in-place. Now take a copy of the `options` before deleting so that the
      original is not modified.
      c0abeadc
  14. 13 4月, 2015 2 次提交
  15. 09 4月, 2015 1 次提交
  16. 07 4月, 2015 1 次提交
  17. 06 4月, 2015 1 次提交
  18. 02 4月, 2015 2 次提交
    • B
      Freeze static arguments for gsub · 58d75fd8
      brainopia 提交于
      58d75fd8
    • B
      Prefer string patterns for gsub · cdac52e1
      brainopia 提交于
      https://github.com/ruby/ruby/pull/579 - there is a new optimization
      since ruby 2.2
      
      Previously regexp patterns were faster (since a string was converted to
      regexp underneath anyway). But now string patterns are faster and
      better reflect the purpose.
      
        Benchmark.ips do |bm|
          bm.report('regexp') { 'this is ::a random string'.gsub(/::/, '/') }
          bm.report('string') { 'this is ::a random string'.gsub('::', '/') }
          bm.compare!
        end
        # string: 753724.4 i/s
        # regexp: 501443.1 i/s - 1.50x slower
      cdac52e1
  19. 24 3月, 2015 1 次提交
  20. 22 3月, 2015 1 次提交
  21. 20 3月, 2015 1 次提交
  22. 15 3月, 2015 1 次提交
  23. 04 3月, 2015 1 次提交
  24. 03 3月, 2015 7 次提交