1. 26 2月, 2017 7 次提交
  2. 25 2月, 2017 1 次提交
    • R
      Soft-deprecate the top-level HashWithIndifferentAccess class · e690a92b
      Robin Dupret 提交于
      Since using a `ActiveSupport::Deprecation::DeprecatedConstantProxy`
      would prevent people from inheriting this class and extending it
      from the `ActiveSupport::HashWithIndifferentAccess` one would break
      the ancestors chain, that's the best option we have here.
      e690a92b
  3. 24 2月, 2017 5 次提交
  4. 23 2月, 2017 1 次提交
    • R
      Correctly dump native timestamp types for MySQL · 50552633
      Ryuta Kamizono 提交于
      The native timestamp type in MySQL is different from datetime type.
      Internal representation of the timestamp type is UNIX time, This means
      that timestamp columns are affected by time zone.
      
      ```
      > SET time_zone = '+00:00';
      Query OK, 0 rows affected (0.00 sec)
      
      > INSERT INTO time_with_zone(ts,dt) VALUES (NOW(),NOW());
      Query OK, 1 row affected (0.02 sec)
      
      > SELECT * FROM time_with_zone;
      +---------------------+---------------------+
      | ts                  | dt                  |
      +---------------------+---------------------+
      | 2016-02-07 22:11:44 | 2016-02-07 22:11:44 |
      +---------------------+---------------------+
      1 row in set (0.00 sec)
      
      > SET time_zone = '-08:00';
      Query OK, 0 rows affected (0.00 sec)
      
      > SELECT * FROM time_with_zone;
      +---------------------+---------------------+
      | ts                  | dt                  |
      +---------------------+---------------------+
      | 2016-02-07 14:11:44 | 2016-02-07 22:11:44 |
      +---------------------+---------------------+
      1 row in set (0.00 sec)
      ```
      50552633
  5. 22 2月, 2017 1 次提交
  6. 21 2月, 2017 3 次提交
    • E
      Ensure test threads share a DB connection · d6466beb
      eileencodes 提交于
      This ensures multiple threads inside a transactional test to see consistent
      database state.
      
      When a system test starts Puma spins up one thread and Capybara spins up
      another thread. Because of this when tests are run the database cannot
      see what was inserted into the database on teardown. This is because
      there are two threads using two different connections.
      
      This change uses the statement cache to lock the threads to using a
      single connection ID instead of each not being able to see each other.
      This code only runs in the fixture setup and teardown so it does not
      affect real production databases.
      
      When a transaction is opened we set `lock_thread` to `Thread.current` so
      we can keep track of which connection the thread is using. When we
      rollback the transaction we unlock the thread and then there will be no
      left-over data in the database because the transaction will roll back
      the correct connections.
      
      [ Eileen M. Uchitelle, Matthew Draper ]
      d6466beb
    • K
      Revert "Merge pull request #27925 from robin850/hwia-removal" · 507c9970
      Kasper Timm Hansen 提交于
      Pointed out by @matthewd that the HWIA subclass changes the
      AS scoped class and top-level HWIA hierarchies out from under
      existing classes.
      
      This reverts commit 71da3909, reversing
      changes made to 41c33bd4.
      507c9970
    • R
      38c4ff37
  7. 20 2月, 2017 1 次提交
  8. 19 2月, 2017 1 次提交
  9. 16 2月, 2017 1 次提交
  10. 14 2月, 2017 3 次提交
  11. 13 2月, 2017 9 次提交
  12. 12 2月, 2017 1 次提交
    • S
      Deprecate calling `attr_will_change!` with non-attributes · 4fed08fa
      Sean Griffin 提交于
      This was never really intended to work (at least not without calling
      `define_attribute_methods`, which is less common with Active Record). As
      we move forward the intention is to require the use of `attribute` over
      `attr_accessor` for more complex model behavior both on Active Record
      and Active Model, so this behavior is deprecated.
      
      Fixes #27956.
      Close #27963.
      
      [Alex Serban & Sean Griffin]
      4fed08fa
  13. 11 2月, 2017 2 次提交
  14. 10 2月, 2017 2 次提交
    • R
      Revert "Simplify and speed up Postgres query for primary_keys" · 61241833
      Ryuta Kamizono 提交于
      This reverts commit d6529af2.
      61241833
    • J
      Simplify and speed up Postgres query for primary_keys · d6529af2
      Jordan Lewis 提交于
      primary_keys(table) needs to query various metadata tables in Postgres to
      determine the primary key for the table. Previously, it did so using a
      complex common table expression against pg_constraint and pg_attribute.
      
      This patch simplifies the query by joining pg_index against pg_attribute
      instead of going through pg_constraint. This avoids an expensive unnest,
      window function query, and common table expression.
      
      EXPLAINing these queries in Postgres against a database with a single
      table with a composite primary key shows a 66% reduction in the plan and
      execute latencies. This is significant during application startup time,
      especially against very large schemas, where these queries would be even
      slower and more numerous.
      
      Closes #27949
      d6529af2
  15. 09 2月, 2017 2 次提交