1. 09 11月, 2017 8 次提交
    • B
      remove :enabled option · 0d8626ad
      Ben Toews 提交于
      0d8626ad
    • B
      make tests more verbose/explicit · 0cf5f2f0
      Ben Toews 提交于
      0cf5f2f0
    • B
      allow Arel.sql() for pluck · 864b1606
      Ben Toews 提交于
      864b1606
    • B
      add config to check arguments to unsafe AR methods · f989b341
      Ben Toews 提交于
      f989b341
    • R
    • Y
      Run `ConcurrentTransactionTest` if `supports_transaction_isolation?` · 801fbde8
      Yasuo Honda 提交于
      returns true
      
      Not only postgresql or mysql2 adapter, Oracle enhanced adapter
      whose default isolation level is read commited, passes these two test cases.
      
      `ConcurrentTransactionTest#test_transaction_per_thread`
      `ConcurrentTransactionTest#test_transaction_isolation__read_committed`
      
      ```ruby
      $ ARCONN=oracle bin/test test/cases/transactions_test.rb:961 -v
      Using oracle
      Run options: -v --seed 18865
      
      ConcurrentTransactionTest#test_transaction_per_thread = 0.98 s = .
      
      Finished in 1.061036s, 0.9425 runs/s, 5.6549 assertions/s.
      
      1 runs, 6 assertions, 0 failures, 0 errors, 0 skips
      ```
      
      ```ruby
      $ ARCONN=oracle bin/test test/cases/transactions_test.rb:979 -v
      Using oracle
      Run options: -v --seed 13341
      
      ConcurrentTransactionTest#test_transaction_isolation__read_committed = 1.85 s = .
      
      Finished in 1.928637s, 0.5185 runs/s, 10.3700 assertions/s.
      
      1 runs, 20 assertions, 0 failures, 0 errors, 0 skips
      $
      ```
      
      Also, regardless it is a file based or memory based these tests could fail with SQLite3Adapter.
      (Extra CR added to make lines shorter)
      
      ```ruby
      $ ARCONN=sqlite3 bin/test test/cases/transactions_test.rb:961 -v
      Using sqlite3
      Run options: -v --seed 18815
      
      ConcurrentTransactionTest#test_transaction_per_thread = /home/yahonda/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/sqlite3-1.3.13/lib/sqlite3/statement.rb:108:in `step':
      SQLite3::BusyException: database is locked: UPDATE "topics" SET "approved" = ?, "updated_at" = ? WHERE "topics"."id" = ? (ActiveRecord::StatementInvalid)
      ```
      
      ```ruby
      $ ARCONN=sqlite3 bin/test test/cases/transactions_test.rb:979 -v
      Using sqlite3
      Run options: -v --seed 25520
      
      ConcurrentTransactionTest#test_transaction_isolation__read_committed = 0.12 s = E
      /home/yahonda/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/sqlite3-1.3.13/lib/sqlite3/statement.rb:108:in `step':
      SQLite3::BusyException: database is locked: UPDATE "developers" SET "salary" = ?, "updated_at" = ?, "updated_on" = ? WHERE "developers"."id" = ? (ActiveRecord::StatementInvalid)
      ```
      801fbde8
    • R
      89603b41
    • R
      af91eff3
  2. 07 11月, 2017 1 次提交
  3. 06 11月, 2017 5 次提交
  4. 01 11月, 2017 2 次提交
    • R
      Enable `Style/RedundantReturn` rubocop rule, and fixed a couple more · 146b1c2e
      Ryuta Kamizono 提交于
      Follow up of #31004.
      146b1c2e
    • Y
      Address incorrect number of queries executed at Oracle enhanced adapter · 82e973df
      Yasuo Honda 提交于
      This pull request addresses these 17 failures when tested with Oracle enhanced adapter.
      All of these failures are due to the incorrect number of queries. Here is the first one.
      
      ```ruby
      $ ARCONN=oracle bin/test test/cases/nested_attributes_test.rb:1086
      Using oracle
      Run options: --seed 27985
      
      F
      
      Finished in 0.874514s, 1.1435 runs/s, 1.1435 assertions/s.
      
        1) Failure:
      TestHasManyAutosaveAssociationWhichItselfHasAutosaveAssociations#test_circular_references_do_not_perform_unnecessary_queries [/home/yahonda/git/rails/activerecord/test/cases/nested_attributes_test.rb:1086]:
      6 instead of 3 queries were executed.
      Queries:
      select us.sequence_name from all_sequences us where us.sequence_owner = :owner and us.sequence_name = :sequence_name
      INSERT INTO "SHIPS" ("NAME", "ID") VALUES (:a1, :a2)
      select us.sequence_name from all_sequences us where us.sequence_owner = :owner and us.sequence_name = :sequence_name
      INSERT INTO "SHIP_PARTS" ("NAME", "SHIP_ID", "UPDATED_AT", "ID") VALUES (:a1, :a2, :a3, :a4)
      select us.sequence_name from all_sequences us where us.sequence_owner = :owner and us.sequence_name = :sequence_name
      INSERT INTO "TREASURES" ("LOOTER_ID", "LOOTER_TYPE", "SHIP_ID", "ID") VALUES (:a1, :a2, :a3, :a4).
      Expected: 3
        Actual: 6
      
      1 runs, 1 assertions, 1 failures, 0 errors, 0 skips
      $
      ```
      
      Since https://github.com/rsim/oracle-enhanced/pull/1490 Oracle enhanced adapter drops its own schema caching called OracleEnhancedAdapter.cache_columns` to use Rails scehema cache
      generated by `db:schema:cache:dump`.
      
      By this change some extra sql statements executed at ActiveRecord unit test, which can be
      fixed by adding the sql statement to `oracle_ignored`.
      
      * All 17 failures fixed by this pull request:
      ```ruby
      ARCONN=oracle bin/test test/cases/nested_attributes_test.rb:1086
      ARCONN=oracle bin/test test/cases/locking_test.rb:308
      ARCONN=oracle bin/test test/cases/locking_test.rb:365
      ARCONN=oracle bin/test test/cases/dirty_test.rb:351
      ARCONN=oracle bin/test test/cases/dirty_test.rb:334
      ARCONN=oracle bin/test test/cases/autosave_association_test.rb:192
      ARCONN=oracle bin/test test/cases/associations/has_many_associations_test.rb:950
      ARCONN=oracle bin/test test/cases/associations/has_many_associations_test.rb:1059
      ARCONN=oracle bin/test test/cases/autosave_association_test.rb:627
      ARCONN=oracle bin/test test/cases/autosave_association_test.rb:607
      ARCONN=oracle bin/test test/cases/autosave_association_test.rb:617
      ARCONN=oracle bin/test test/cases/autosave_association_test.rb:641
      ARCONN=oracle bin/test test/cases/associations/has_many_through_associations_test.rb:546
      ARCONN=oracle bin/test test/cases/associations/has_many_through_associations_test.rb:297
      ARCONN=oracle bin/test test/cases/associations/has_many_through_associations_test.rb:586
      ARCONN=oracle bin/test test/cases/associations/has_many_through_associations_test.rb:172
      ARCONN=oracle bin/test test/cases/associations/has_many_through_associations_test.rb:269
      ```
      82e973df
  5. 30 10月, 2017 1 次提交
  6. 28 10月, 2017 1 次提交
  7. 27 10月, 2017 4 次提交
  8. 26 10月, 2017 1 次提交
  9. 25 10月, 2017 2 次提交
  10. 24 10月, 2017 13 次提交
  11. 23 10月, 2017 2 次提交