aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib
Commit message (Collapse)AuthorAgeFilesLines
* Don't expose accessors which are internal used onlyRyuta Kamizono2017-11-082-3/+6
|
* Don't expose internal methods in `Preloader::ThroughAssociation`Ryuta Kamizono2017-11-081-8/+7
| | | | `through_reflection` and `source_reflection` are used only in the class.
* Merge pull request #30714 from bogdanvlviv/fix-rails_db_migrate_VERSIONRafael França2017-11-063-8/+28
|\ | | | | Fix `bin/rails db:migrate` with specified `VERSION`
| * Fix `bin/rails db:migrate` with specified `VERSION`bogdanvlviv2017-11-063-8/+28
| | | | | | | | | | | | Ensure that `bin/rails db:migrate` with specified `VERSION` reverts all migrations only if `VERSION` is `0`. Raise error if target migration doesn't exist.
* | Remove useless `associated_records_by_owner`Ryuta Kamizono2017-11-072-16/+10
|/ | | | | | | | `associated_records_by_owner` had returned customizing result before calling `associate_records_to_owner` for through association subclasses. Since #22115, `associate_records_to_owner` is called in the method and not returned owner and result pairs. Removing the method will reduce method call and block call nesting.
* Merge pull request #28360 from kbrock/transaction_fixMatthew Draper2017-11-071-1/+1
|\ | | | | Handle Timeout.timeout in rails queries
| * Properly check transaction in persistenceKeenan Brock2017-11-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ``` [NoMethodError]: undefined method `state' for nil:NilClass Method:[rescue in block in refresh] ``` In `within_new_transaction`, there is the possibility that `begin_transaction` returns a `nil`. (i.e.: so `transaction = nil`) So this method is checking `transaction` for nil in 2 spots. Unfortunately, there is one line that is not checking `transaction` for `nil` That line, `commit_transaction`, throws an exception for us in AR 5.0.0.1 The problem with the method is finally realized in the error checking itself. it calls `transaction.state` (i.e.: nil.state) and that is the final exception raised. The actual underlying (user) issue is hidden by this line. Solution is test transaction for nil.
* | Refactor Preloader CodeBogdan Gusiev2017-11-063-81/+40
|/
* `scoping` should respect current class and STI constraint (#29199)Ryuta Kamizono2017-11-061-1/+7
| | | | | | | | A relation includes `klass`, so it can not be used as it is if current class is different from `current_scope.klass`. It should be created new relation by current class to respect the klass and STI constraint. Fixes #17603. Fixes #23576.
* Fix preloading polymorphic multi-level through associationRyuta Kamizono2017-11-061-1/+7
| | | | | | | | | | | This is partially fixed by e617fb57 when through association has already loaded. Otherwise, second level through association should respect `preload_scope`. Fixes #30242. Closes #30076. [Ryuta Kamizono & CicholGricenchos]
* Fix preloading polymorphic association when through association has already ↵Ryuta Kamizono2017-11-061-4/+16
| | | | | | | | | | loaded If through association has already loaded, `source_type` is ignored to loaded through records. The loaded records should be filtered by `source_type` in that case. Fixes #30904.
* Ensure `apply_join_dependency` for `update_all` and `delete_all` if ↵Ryuta Kamizono2017-11-061-0/+10
| | | | | | | | | | eager-loading is needed If a relation has eager-loading values, `count` and `exists?` works properly, but `update_all` and `delete_all` doesn't work due to missing `apply_join_dependency`. It should be applied to work consistently. Fixes #28863.
* Ensure `apply_join_dependency` for `collection_cache_key` if eager-loading ↵Ryuta Kamizono2017-11-063-3/+6
| | | | | | is needed Fixes #30315.
* Remove unused classesyuuji.yaginuma2017-11-031-30/+0
| | | | | | * `HasManyThroughCantDissociateNewRecords` and `HasManyThroughCantAssociateNewRecords` are no longer used since f6b12c1. * `ReadOnlyAssociation` is no longer used since 0da426b.
* Merge pull request #31004 from shuheiktgw/remove_unnecessary_returnsRafael França2017-10-312-2/+2
|\ | | | | Remove redundant return statements
| * removed unnecessary returnsShuhei Kitagawa2017-10-282-2/+2
| |
* | `source_type_scope` should respect correct table aliasRyuta Kamizono2017-10-301-7/+3
| | | | | | | | | | | | | | | | | | `join_scopes` in `PolymorphicReflection` is passed aliased `table`, so it should be respected for `source_type_scope`. Closes #13969. Fixes #13920. Fixes #15190.
* | `PolymorphicReflection#scopes` is no longer used since a5651eb5Ryuta Kamizono2017-10-301-5/+0
| |
* | [ci skip]Update the documentation about the primary key typesuginoy2017-10-293-19/+19
| | | | | | | | | | | | Replace the primary key type `integer` in docs with `bigint`. ref #26266
* | Merge pull request #31005 from shuheiktgw/remove_unnecessary_semicolonsMatthew Draper2017-10-281-1/+1
|/ | | | Removed unnecessary semicolons
* Merge pull request #30682 from ahorek/fix_scope_forRyuta Kamizono2017-10-271-1/+1
|\ | | | | delegate scope_for on PolymorphicReflection
| * delegate scope forpavel2017-10-271-1/+1
| |
* | fix initial countpavel2017-10-271-1/+1
|/
* remove incorrect statement about serializable transactionsJoe Van Dyk2017-10-251-3/+1
| | | using serializable isolation would prevent the duplicate insert as done in the example from happening
* Merge pull request #30984 from yahonda/schema_dumper_pgRyuta Kamizono2017-10-262-9/+13
|\ | | | | Move `extensions` to `PostgreSQL::SchemaDumper`
| * Implement `PostgreSQL::SchemaDumper#extensions`Yasuo Honda2017-10-252-9/+13
| | | | | | | | | | | | | | and abstract `SchemaDumper#extensions` is now an empty method. Since #30337, every database adapter has its own `SchemaDumper`. `extensions` are only supported by PostgreSQL database and postgresql database adapter.
* | Merge pull request #30970 from rohitpaulk/fix-sqlite-3-index-order-dumpRafael França2017-10-251-1/+11
|\ \ | |/ |/| Save index order :desc to schema.rb (sqlite). Fixes #30902
| * Avoid using index_xinfo, only available in sqlite >= 3.8.9Paul Kuruvilla2017-10-251-9/+12
| |
| * Save index order :desc to schema.rb (sqlite). Fixes #30902Paul Kuruvilla2017-10-241-2/+9
| | | | | | | | | | Although the sqlite adapter supports index sort orders, they weren't being written to db/schema.rb.
* | `supports_extensions?` return always true since PostgreSQL 9.1Yasuo Honda2017-10-241-9/+3
|/ | | | | | | | since the minimum version of PostgreSQL currently Rails supports is 9.1, there is no need to handle if `supports_extensions?` Refer https://www.postgresql.org/docs/9.1/static/sql-createextension.html "CREATE EXTENSION"
* Ensure associations doesn't table name collide with aliased joinsRyuta Kamizono2017-10-241-1/+1
| | | | | | Currently alias tracker only refer a table name, doesn't respect an alias name. Should use `join.left.name` rather than `join.left.table_name`.
* Remove `supports_disable_referential_integrity?`Yasuo Honda2017-10-231-25/+17
| | | | | | | | | | | | | | | | `supports_disable_referential_integrity?` used to handle if PostgreSQL database supports `ALTER TABLE <table name> DISABLE/ENABLE TRIGGER` statements. Refer https://github.com/rails/rails/commit/9a947af0e79cfb8692eb7e5ae94c1b8c40756f49 These statements have been documented since 8.1. https://www.postgresql.org/docs/8.1/static/sql-altertable.html > DISABLE/ENABLE TRIGGER Now Rails supports PostgreSQL 9.1 or higher only. No need to handle `supports_disable_referential_integrity?` anymore. Also, this method does not exist in any other adapters including AbstractAdapter.
* Remove text about deprecation that was already removedRafael Mendonça França2017-10-231-2/+1
|
* Remove deprecated `:if` and `:unless` string filter for callbacksRafael Mendonça França2017-10-232-3/+3
|
* Remove deprecated method `#sanitize_conditions`Rafael Mendonça França2017-10-231-2/+0
|
* Remove deprecated methd `#scope_chain`Rafael Mendonça França2017-10-231-6/+0
|
* Remove deprecated configuration `.error_on_ignored_order_or_limit`Rafael Mendonça França2017-10-231-20/+0
|
* Remove deprecated arguments from `#verify!`Rafael Mendonça França2017-10-231-4/+1
|
* Remove deprecated argument `name` from `#indexes`Rafael Mendonça França2017-10-234-24/+4
|
* Remove deprecated method `ActiveRecord::Migrator.schema_migrations_table_name`Rafael Mendonça França2017-10-231-5/+0
|
* Remove deprecated method `supports_primary_key?`Rafael Mendonça França2017-10-231-5/+0
|
* Remove deprecated method `supports_migrations?`Rafael Mendonça França2017-10-231-5/+0
|
* Remove deprecated methods `initialize_schema_migrations_table` and ↵Rafael Mendonça França2017-10-231-10/+0
| | | | `initialize_internal_metadata_table`
* Rase when calling `lock!` in a dirty recordRafael Mendonça França2017-10-231-4/+5
|
* Remove deprecated support to passing a class to `:class_name` on associationsRafael Mendonça França2017-10-232-10/+3
|
* Remove deprecated argument `default` from `index_name_exists?`Rafael Mendonça França2017-10-232-12/+2
|
* Remove deprecated support to `quoted_id` when typecasting an Active Record ↵Rafael Mendonça França2017-10-232-22/+0
| | | | object
* Fix duplicate aliases when using both INNER/LEFT JOINsRyuta Kamizono2017-10-231-3/+4
| | | | | | | | It should be shared the count of alias tracking in both INNER/LEFT JOINs to avoid duplicate aliases. Fixes #30504. Closes #30410.
* Ensure associations doesn't table name collide with string joinsRyuta Kamizono2017-10-231-4/+6
| | | | | Currently we have no test for alias tracking with string joins. I've add test case for that to catch a future regression.
* [Active Record] require => require_relativeAkira Matsuda2017-10-2135-134/+134
| | | | This basically reverts 9d4f79d3d394edb74fa2192e5d9ad7b09ce50c6d