- 07 3月, 2019 7 次提交
-
-
由 Ryuta Kamizono 提交于
I've found the skewness of delegation methods between `except` and `only` in a88b6f25. The `only` method is closely similar with `except` as `SpawnMethods`. https://github.com/rails/rails/blob/e056b9bfb07c4eb3bcc6672d885aadd72bec574f/activerecord/lib/active_record/relation/spawn_methods.rb#L53-L67 It is preferable both behaves the same way.
-
由 Ryuta Kamizono 提交于
This makes to ease testing `QUERYING_METHODS`.
-
由 Ryuta Kamizono 提交于
-
由 Ryuta Kamizono 提交于
-
由 Ryuta Kamizono 提交于
-
由 willnet 提交于
-
由 Samantha John 提交于
-
- 06 3月, 2019 8 次提交
-
-
由 Kasper Timm Hansen 提交于
-
由 Kasper Timm Hansen 提交于
Although the old name had a certain persistence, this ain't the kind of file we're in now.
-
由 Kasper Timm Hansen 提交于
-
由 Ryuta Kamizono 提交于
Foreign keys could be created to the same table. So `remove_foreign_key :from_table, :to_table` is sometimes ambiguous. This allows `remove_foreign_key` to remove the select one on the same table with giving both `to_table` and `options`.
-
由 eileencodes 提交于
This change adds a new method that loads the YAML for the database config without parsing the ERB. This may seem odd but bear with me: When we added the ability to have rake tasks for multiple databases we started looping through the configurations to collect the namespaces so we could do `rake db:create:my_second_db`. See #32274. This caused a problem where if you had `Rails.config.max_threads` set in your database.yml it will blow up because the environment that defines `max_threads` isn't loaded during `rake -T`. See #35468. We tried to fix this by adding the ability to just load the YAML and ignore ERB all together but that caused a bug in GitHub's YAML loading where if you used multi-line ERB the YAML was invalid. That led us to reverting some changes in #33748. After trying to resolve this a bunch of ways `@tenderlove` came up with replacing the ERB values so that we don't need to load the environment but we also can load the YAML. This change adds a DummyCompiler for ERB that will replace all the values so we can load the database yaml and create the rake tasks. Nothing else uses this method so it's "safe". DO NOT use this method in your application. Fixes #35468
-
由 Abhay Nikam 提交于
-
由 Ryuta Kamizono 提交于
Since #23461, all adapters supports prepared statements, so that clears the prepared statements cache is no longer database specific. Actually, I struggled to identify the cause of random CI failure in #23461, that was missing `@statements.clear` in `clear_cache!`. This extracts `clear_cache!` to ensure the common concerns in the abstract adapter.
-
由 Bob Lail 提交于
Adds a method to ActiveRecord allowing records to be inserted in bulk without instantiating ActiveRecord models. This method supports options for handling uniqueness violations by skipping duplicate records or overwriting them in an UPSERT operation. ActiveRecord already supports bulk-update and bulk-destroy actions that execute SQL UPDATE and DELETE commands directly. It also supports bulk-read actions through `pluck`. It makes sense for it also to support bulk-creation.
-
- 05 3月, 2019 3 次提交
-
-
由 Ryuta Kamizono 提交于
Most existing tests expects `connection_handlers` has only one default handler, but the test added at #34779 dirties that. We need to reset `connection_handlers` to default in that case. Closes #35471.
-
由 Sharang Dashputre 提交于
-
由 Bogdan 提交于
* Add `ActiveRecord::Base.connection.truncate` for SQLite3 adapter. SQLite doesn't support `TRUNCATE TABLE`, but SQLite3 adapter can support `ActiveRecord::Base.connection.truncate` by using `DELETE FROM`. `DELETE` without `WHERE` uses "The Truncate Optimization", see https://www.sqlite.org/lang_delete.html. * Add `rails db:seed:replant` that truncates database tables and loads the seeds Closes #34765
-
- 04 3月, 2019 6 次提交
-
-
由 Matthew Draper 提交于
-
由 Matthew Draper 提交于
All the tests have a substantial chunk of identical setup effort (in cases/helper.rb); this makes isolated tests run much faster, without any change to the variety of how we load files.
-
由 Sharang Dashputre 提交于
-
由 Ryuta Kamizono 提交于
In MySQL, the default collation is case insensitive. Since the uniqueness validator enforces case sensitive comparison by default, it frequently causes mismatched collation issues (performance, weird behavior, etc) to MySQL users. https://grosser.it/2009/12/11/validates_uniqness_of-mysql-slow/ https://github.com/rails/rails/issues/1399 https://github.com/rails/rails/pull/13465 https://github.com/gitlabhq/gitlabhq/commit/c1dddf8c7d947691729f6d64a8ea768b5c915855 https://github.com/huginn/huginn/pull/1330#discussion_r55152573 I'd like to deprecate the implicit default enforcing since I frequently experienced the problems in code reviews. Note that this change has no effect to sqlite3, postgresql, and oracle-enhanced adapters which are implemented as case sensitive by default, only affect to mysql2 adapter (I can take a work if sqlserver adapter will support Rails 6.0).
-
由 Abhay Nikam 提交于
-
- 03 3月, 2019 4 次提交
-
-
由 Yasuo Honda 提交于
Follow up #35455, there are two more test cases unnecessary `if current_adapter?(:OracleAdapter)` ```ruby $ ARCONN=oracle bin/test test/cases/associations/eager_test.rb -n test_include_has_many_using_primary_key Using oracle Run options: -n test_include_has_many_using_primary_key --seed 62842 . Finished in 50.280024s, 0.0199 runs/s, 0.0398 assertions/s. 1 runs, 2 assertions, 0 failures, 0 errors, 0 skips $ ``` ``` $ ARCONN=oracle bin/test test/cases/migration/index_test.rb -n test_add_index Using oracle Run options: -n test_add_index --seed 52034 . Finished in 13.152620s, 0.0760 runs/s, 0.0000 assertions/s. 1 runs, 0 assertions, 0 failures, 0 errors, 0 skips $ ```
-
由 Yasuo Honda 提交于
Since https://github.com/rails/arel/pull/337 Oracle adapter uses better top N query using `fetch first n rows only`, which can remove this unless condition. * This commit passes with Oracle database ```ruby $ ARCONN=oracle bin/test test/cases/relation/delete_all_test.rb -n test_delete_all_with_order_and_limit_deletes_subset_only Using oracle Run options: -n test_delete_all_with_order_and_limit_deletes_subset_only --seed 1081 . Finished in 8.068626s, 0.1239 runs/s, 0.6197 assertions/s. 1 runs, 5 assertions, 0 failures, 0 errors, 0 skips $ ``` * SQL statement includes `ORDER BY` and `FETCH FIRST n ROWS ONLY` ```sql Post Destroy (12.5ms) DELETE FROM "POSTS" WHERE "POSTS"."ID" IN (SELECT "POSTS"."ID" FROM "POSTS" WHERE "POSTS"."AUTHOR_ID" = :a1 ORDER BY "POSTS"."ID" ASC FETCH FIRST :a2 ROWS ONLY) [["author_id", 1], ["LIMIT", 1]] ```
-
由 Yasuo Honda 提交于
Kind of reverting https://github.com/rails/rails/commit/3a1cbc5c3b3bcb2de4be6e4469bb87b99759dc59 ``` From: test/cases/date_test.rb @ line 26 : 21: 22: invalid_dates = [[2007, 11, 31], [1993, 2, 29], [2007, 2, 29]] 23: 24: valid_dates.each do |date_src| 25: topic = Topic.new("last_read(1i)" => date_src[0].to_s, "last_read(2i)" => date_src[1].to_s, "last_read(3i)" => date_src[2].to_s) => 26: binding.irb 27: assert_equal(topic.last_read, Date.new(*date_src)) 28: end 29: 30: invalid_dates.each do |date_src| 31: assert_nothing_raised do irb(#<DateTest:0x0000556618194668>):001:0> topic.last_read.class => Date ``` Refer rsim/oracle-enhanced#845 rails/rails#25897
-
由 Yasuo Honda 提交于
```ruby $ ARCONN=oracle bin/test test/cases/migration/columns_test.rb -n test_rename_column_with_multi_column_index ... snip ... F Failure: ActiveRecord::Migration::ColumnsTest#test_rename_column_with_multi_column_index [/home/yahonda/git/rails/activerecord/test/cases/migration/columns_test.rb:113]: --- expected +++ actual @@ -1 +1 @@ -["i_test_models_hat_style_size"] +["index_test_models_on_hat_style_and_size"] ``` Kind of reverting #9395 Refer https://github.com/rsim/oracle-enhanced/pull/1703
-
- 02 3月, 2019 1 次提交
-
-
由 Rafael Mendonça França 提交于
This was using a model without a default scope what made the test don't break anymore if the code is removed.
-
- 01 3月, 2019 6 次提交
-
-
由 Ryuta Kamizono 提交于
#35360 allows table name qualified if `from` has original table name. But that is still too strict. We have a valid use case that `from` with INDEX hint (e.g. `from("comments USE INDEX (PRIMARY)")`). So I've relaxed the table name detection in `from` to allow any extension like INDEX hint. Fixes #35359.
-
由 Ryuta Kamizono 提交于
`require "bcrypt"` is unsed since #15431. `require "models/topic"` is unused since 893c647d.
-
由 Ryuta Kamizono 提交于
Related and follows d333d852.
-
由 Ryuta Kamizono 提交于
This is an alternative of 65c4b1b5. https://buildkite.com/rails/rails/builds/59147#117e9445-23e8-455a-b486-ea0ae9636405/120-129
-
由 Ryuta Kamizono 提交于
Some untransactional tests (e.g. `CallbacksOnMultipleActionsTest`) makes `topics` table dirty. We should reset dirty `topics` table before `SerializedAttributeTest` is run. https://travis-ci.org/rails/rails/jobs/499719624#L1209-L1215
-
由 Mehmet Emin INAC 提交于
-
- 28 2月, 2019 3 次提交
-
-
由 Mehmet Emin INAC 提交于
It's mentioned everywhere as `ActiveRecord::RecordNotFound` so to be coherent with the rest of the documentation I've applied it here. Also doc was saying if the parameter is integer it coerces it which is other way around.
-
由 Ryuta Kamizono 提交于
This fixes both #34555 and #34738. Revert "Merge pull request #34900 from gmcgibbon/fix_test_find_only_some_columns" This reverts commit ff807f82, reversing changes made to 9f1a07af. Revert "Merge pull request #34560 from gmcgibbon/fix_decorate_leak_on_serial_attr_test" This reverts commit bd623893, reversing changes made to ec66c6a2. Revert "Fix unstable `test_serialized_attribute_works_under_concurrent_initial_access` test" This reverts commit 65c4b1b5.
-
由 Ryuta Kamizono 提交于
-
- 27 2月, 2019 2 次提交
-
-
由 Ryuta Kamizono 提交于
-
由 Ryuta Kamizono 提交于
-