1. 07 5月, 2019 5 次提交
  2. 06 5月, 2019 3 次提交
  3. 05 5月, 2019 1 次提交
    • Y
      Make generated test work even when using virtual attributes · 85a8bc64
      yuuji.yaginuma 提交于
      The virtual attributes(`attachment` and `rich_text`) can't set value
      with `fill_in`. So avoid using it. Once #35885 is merged, will be
      modified to use it.
      
      Also, add checking attachment attached or not for avoiding
      `DelegationError` when attachment didn't attach.
      85a8bc64
  4. 04 5月, 2019 2 次提交
  5. 03 5月, 2019 5 次提交
    • G
      Recover perf for `pluck` by reverting 9c9c950d. · 25f1e0e3
      Guo Xiang Tan 提交于
      This reverts commit 9c9c950d.
      25f1e0e3
    • R
      Merge pull request #36168 from yahonda/remove_redundant_test_too_many_binds_testcase · 9b0e632d
      Ryuta Kamizono 提交于
      Remove redundant `test_too_many_binds`
      9b0e632d
    • Y
      Remove redundant `test_too_many_binds` · 36483cdb
      Yasuo Honda 提交于
      with `ActiveRecord::BindParameterTest#test_too_many_binds`
      
      sqlite adapter has its own `bind_params_length`, `ActiveRecord::BindParameterTest#test_too_many_binds` respects it.
      
      * Modified `ActiveRecord::BindParameterTest#test_too_many_binds` to show `bind_params_length` value
      
      ```
      $ git diff
      diff --git a/activerecord/test/cases/bind_parameter_test.rb b/activerecord/test/cases/bind_parameter_test.rb
      index 85685d1d00..83cd07f1d7 100644
      --- a/activerecord/test/cases/bind_parameter_test.rb
      +++ b/activerecord/test/cases/bind_parameter_test.rb
      @@ -108,6 +108,7 @@ def test_statement_cache_with_sql_string_literal
      
             def test_too_many_binds
               bind_params_length = @connection.send(:bind_params_length)
      +        p bind_params_length
      
               topics = Topic.where(id: (1 .. bind_params_length).to_a << 2**63)
               assert_equal Topic.count, topics.count
      $
      ```
      
      * Executed modified `ActiveRecord::BindParameterTest#test_too_many_binds`
      
      ```
      $ bin/test test/cases/bind_parameter_test.rb -n test_too_many_binds
      Using sqlite3
      Run options: -n test_too_many_binds --seed 47321
      
      999
      .
      
      Finished in 0.075249s, 13.2892 runs/s, 26.5784 assertions/s.
      1 runs, 2 assertions, 0 failures, 0 errors, 0 skips
      $
      ```
      36483cdb
    • Y
      Merge pull request #36167 from alecclarke/update-file-extension-used-in-guide · 8305d305
      Yuji Yaginuma 提交于
      [ci skip] Correct the stylesheet name used in the guide.
      8305d305
    • A
      [ci skip] Correct the stylesheet name used in the guide. · 4c3231eb
      Alec Clarke 提交于
      In the Action Text guides, `app/assets/stylesheets/actiontext.css`
      is specified as the file used to style the Action Text editor and
      content but the actual file generated from `rails action_text:install`
      is `app/assets/stylesheets/actiontext.scss`.
      
      This change simply corrects the file extension shown in the guide.
      4c3231eb
  6. 02 5月, 2019 15 次提交
  7. 01 5月, 2019 9 次提交
    • P
      370237ce
    • P
      Active Model release notes [ci skip] · 21e0c88f
      Prathamesh Sonpatki 提交于
      21e0c88f
    • A
      Add Release Notes for Active Storage [ci skip] · 47aee9af
      Alex Kitchens 提交于
      Co-authored-by: NAbhay Nikam <nikam.abhay1@gmail.com>
      47aee9af
    • R
      Merge pull request #36153 from yahonda/use_schema_to_ignore · d09a7c13
      Ryuta Kamizono 提交于
      Remove database specific sql statements from SQLCounter
      d09a7c13
    • Y
      Remove database specific sql statements from SQLCounter · 6030110f
      Yasuo Honda 提交于
      Every database executes different type of sql statement to get metadata then `ActiveRecord::TestCase` ignores these database specific sql statements to make `assert_queries` or `assert_no_queries` work consistently.
      
      Connection adapter already labels these statement by setting "SCHEMA" argument, this pull request makes use of "SCHEMA" argument to ignore metadata queries.
      
      Here are the details of these changes:
      
      * PostgresqlConnectionTest
      
      Each of PostgresqlConnectionTest modified just executes corresponding methods
      
      https://github.com/rails/rails/blob/fef174f5c524edacbcad846d68400e7fe114a15a/activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb#L182-L195
      
      ```ruby
              # Returns the current database encoding format.
              def encoding
                query_value("SELECT pg_encoding_to_char(encoding) FROM pg_database WHERE datname = current_database()", "SCHEMA")
              end
      
              # Returns the current database collation.
              def collation
                query_value("SELECT datcollate FROM pg_database WHERE datname = current_database()", "SCHEMA")
              end
      
              # Returns the current database ctype.
              def ctype
                query_value("SELECT datctype FROM pg_database WHERE datname = current_database()", "SCHEMA")
              end
      ```
      
      * BulkAlterTableMigrationsTest
      
      mysql2 adapter executes `SHOW KEYS FROM ...` to see if there is an index already created as below. I think the main concerns of these tests are how each database adapter creates or drops indexes then ignoring  `SHOW KEYS FROM` statement makes sense.
      
      https://github.com/rails/rails/blob/fef174f5c524edacbcad846d68400e7fe114a15a/activerecord/lib/active_record/connection_adapters/mysql/schema_statements.rb#L11
      
      ```ruby
                execute_and_free("SHOW KEYS FROM #{quote_table_name(table_name)}", "SCHEMA") do |result|
      ```
      
      * Temporary change not included in this commit to show which statements executed
      
      ```diff
      $ git diff
      diff --git a/activerecord/test/cases/migration_test.rb b/activerecord/test/cases/migration_test.rb
      index 8e8ed494d9..df05f9bd16 100644
      --- a/activerecord/test/cases/migration_test.rb
      +++ b/activerecord/test/cases/migration_test.rb
      @@ -854,7 +854,7 @@ def test_adding_indexes
      
             classname = ActiveRecord::Base.connection.class.name[/[^:]*$/]
             expected_query_count = {
      -        "Mysql2Adapter"     => 3, # Adding an index fires a query every time to check if an index already exists or not
      +        "Mysql2Adapter"     => 1, # Adding an index fires a query every time to check if an index already exists or not
               "PostgreSQLAdapter" => 2,
             }.fetch(classname) {
               raise "need an expected query count for #{classname}"
      @@ -886,7 +886,7 @@ def test_removing_index
      
             classname = ActiveRecord::Base.connection.class.name[/[^:]*$/]
             expected_query_count = {
      -        "Mysql2Adapter"     => 3, # Adding an index fires a query every time to check if an index already exists or not
      +        "Mysql2Adapter"     => 1, # Adding an index fires a query every time to check if an index already exists or not
               "PostgreSQLAdapter" => 2,
             }.fetch(classname) {
               raise "need an expected query count for #{classname}"
      $
      ```
      
      * Executed these modified tests
      
      ```ruby
      $ ARCONN=mysql2 bin/test test/cases/migration_test.rb -n /index/
      Using mysql2
      Run options: -n /index/ --seed 8462
      
      F
      
      Failure:
      BulkAlterTableMigrationsTest#test_adding_indexes [/home/yahonda/git/rails/activerecord/test/cases/migration_test.rb:863]:
      3 instead of 1 queries were executed.
      Queries:
      SHOW KEYS FROM `delete_me`
      SHOW KEYS FROM `delete_me`
      ALTER TABLE `delete_me` ADD UNIQUE INDEX `awesome_username_index`  (`username`), ADD  INDEX `index_delete_me_on_name_and_age`  (`name`, `age`).
      Expected: 1
        Actual: 3
      
      bin/test test/cases/migration_test.rb:848
      
      F
      
      Failure:
      BulkAlterTableMigrationsTest#test_removing_index [/home/yahonda/git/rails/activerecord/test/cases/migration_test.rb:895]:
      3 instead of 1 queries were executed.
      Queries:
      SHOW KEYS FROM `delete_me`
      SHOW KEYS FROM `delete_me`
      ALTER TABLE `delete_me` DROP INDEX `index_delete_me_on_name`, ADD UNIQUE INDEX `new_name_index`  (`name`).
      Expected: 1
        Actual: 3
      
      bin/test test/cases/migration_test.rb:879
      
      ..
      
      Finished in 0.379245s, 10.5473 runs/s, 7.9105 assertions/s.
      4 runs, 3 assertions, 2 failures, 0 errors, 0 skips
      $
      ```
      
      * ActiveRecord::ConnectionAdapters::Savepoints
      
      Left `self.ignored_sql` to ignore savepoint related statements because these SQL statements are not related "SCHEMA"
      
      ```
      self.ignored_sql = [/^SAVEPOINT/, /^ROLLBACK TO SAVEPOINT/, /^RELEASE SAVEPOINT/]
      ```
      
      https://github.com/rails/rails/blob/fef174f5c524edacbcad846d68400e7fe114a15a/activerecord/lib/active_record/connection_adapters/abstract/savepoints.rb#L10-L20
      
      ```ruby
            def create_savepoint(name = current_savepoint_name)
              execute("SAVEPOINT #{name}")
            end
      
            def exec_rollback_to_savepoint(name = current_savepoint_name)
              execute("ROLLBACK TO SAVEPOINT #{name}")
            end
      
            def release_savepoint(name = current_savepoint_name)
              execute("RELEASE SAVEPOINT #{name}")
            end
      ```
      6030110f
    • A
      `@controller` may not be defined here, and if so, it causes a Ruby warning · fef174f5
      Akira Matsuda 提交于
      e.g. via test-unit-rails' `run_setup`
      fef174f5
    • A
      Merge pull request #36150 from rails/error-any-delegation · 0c152f2e
      Aaron Patterson 提交于
      any? should be delegated to the errors list
      0c152f2e
    • E
      Merge pull request #36148 from ksolo/update-event-duration-in-notifications · 84572fe2
      Eileen M. Uchitelle 提交于
      Revert changes to monotonic times
      84572fe2
    • A
      any? should be delegated to the errors list · 2ada222f
      Aaron Patterson 提交于
      Otherwise we get deprecation warnings in the generated scaffold template files
      2ada222f