- 07 5月, 2019 5 次提交
-
-
由 Akira Matsuda 提交于
The initializer receives `nil` for these options when no cofigurations were given: https://github.com/rails/rails/blob/v6.0.0.rc1/activerecord/lib/active_record/railtie.rb#L91-L97
-
由 Ryuta Kamizono 提交于
Should attempt `committed!`/`rolledback!` to all enrolled records in the transaction
-
由 Ryuta Kamizono 提交于
Remove unnecessary find_partial method
-
由 st0012 提交于
-
由 Ryuta Kamizono 提交于
Currently, `committed!`/`rolledback!` will only be attempted for the first enrolled record in the transaction, that will cause some problematic behaviors. The first one problem, `clear_transaction_record_state` won't be called even if the transaction is finalized except the first enrolled record. This means that de-duplicated records in the transaction won't refer latest state (e.g. won't happen rolling back record state). The second one problem, the enrolled order is not always the same as the order in which the actions actually happened, the first enrolled record may succeed no actions (e.g. `destroy` has already succeeded on another record during `before_destroy`), it will lose to fire any transactional callbacks. To avoid both problems, we should attempt `committed!`/`rolledback!` to all enrolled records in the transaction.
-
- 06 5月, 2019 3 次提交
-
-
由 Ryuta Kamizono 提交于
The `GC.start` was added at b29e8936, but the finalizer has been removed at 7d0ce785 in #35036.
-
由 Ryuta Kamizono 提交于
Clear Resolvers' cache after RenderTestCases tests
-
由 st0012 提交于
The templates rendered in RenderTestCases tests will be cached by the resolvers unexpectedly. And this will break other tests when executed in certain order. (See https://github.com/rails/rails/issues/36154 for more detail) So to fix this issue, we just need to clear the caches on all resolvers.
-
- 05 5月, 2019 1 次提交
-
-
由 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.
-
- 04 5月, 2019 2 次提交
-
-
由 yuuji.yaginuma 提交于
This fixes the following warnings. ``` /rails/activemodel/test/cases/nested_error_test.rb:9: warning: method redefined; discarding old test_initialize /rails/activemodel/test/cases/error_test.rb:29: warning: previous definition of test_initialize was here ```
-
由 Ryuta Kamizono 提交于
Recover perf for `pluck` by reverting 9c9c950d…
-
- 03 5月, 2019 5 次提交
-
-
由 Guo Xiang Tan 提交于
This reverts commit 9c9c950d.
-
由 Ryuta Kamizono 提交于
Remove redundant `test_too_many_binds`
-
由 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 $ ```
-
由 Yuji Yaginuma 提交于
[ci skip] Correct the stylesheet name used in the guide.
-
由 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.
-
- 02 5月, 2019 15 次提交
-
-
由 Alex Kitchens 提交于
Add Action Cable Release Notes
-
由 Alex Kitchens 提交于
Co-Authored-By: Nप्रथमेश Sonpatki <csonpatki@gmail.com>
-
由 Xavier Noria 提交于
Namespace association extension modules under the owner model
-
由 Jean Boussier 提交于
-
由 प्रथमेश Sonpatki 提交于
Active Support release notes [ci skip]
-
由 Connor Shea 提交于
Co-Authored-By: Nprathamesh-sonpatki <csonpatki@gmail.com>
-
由 Prathamesh Sonpatki 提交于
-
由 Ryuta Kamizono 提交于
Update asset compression text [ci skip]
-
由 Sharang Dashputre 提交于
-
由 Rob Trame 提交于
* Make scope arity check consistent * Add test for arity change [Rob Trame + Rafael Mendonça França]
-
由 Rafael França 提交于
Add Release Notes for Active Storage
-
由 Rafael França 提交于
Merge pull request #35337 from abhaynikam/35265-remove-unused-argument-layout-from-rendered-template Removed unused layout attribute from RenderedTemplate
-
由 Rafael França 提交于
Active Model release notes [ci skip]
-
由 Rafael França 提交于
HashWithIndifferentAccess#initialize performance improvement
-
由 Rafael França 提交于
Updates to getting started per Rails 6.0 changes [ci skip]
-
- 01 5月, 2019 9 次提交
-
-
由 Prathamesh Sonpatki 提交于
-
由 Prathamesh Sonpatki 提交于
-
由 Alex Kitchens 提交于
Co-authored-by: NAbhay Nikam <nikam.abhay1@gmail.com>
-
由 Ryuta Kamizono 提交于
Remove database specific sql statements from SQLCounter
-
由 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 ```
-
由 Akira Matsuda 提交于
e.g. via test-unit-rails' `run_setup`
-
由 Aaron Patterson 提交于
any? should be delegated to the errors list
-
由 Eileen M. Uchitelle 提交于
Revert changes to monotonic times
-
由 Aaron Patterson 提交于
Otherwise we get deprecation warnings in the generated scaffold template files
-