aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record
Commit message (Collapse)AuthorAgeFilesLines
* 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-2134-132/+132
| | | | This basically reverts 9d4f79d3d394edb74fa2192e5d9ad7b09ce50c6d
* Convert ignored_columns to a list of stringAltech2017-10-201-15/+17
|
* Merge pull request #30579 from ↵Sean Griffin2017-10-182-12/+13
|\ | | | | | | | | bogdanvlviv/fix_ar_internal_metadata_for_a_test_database Fix `bin/rails db:setup` and `bin/rails db:test:prepare` create wrong ar_internal_metadata's data for a test database.
| * `ActiveRecord::Tasks::DatabaseTasks.load_schema` has always to establish ↵bogdanvlviv2017-10-151-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | database connection When load schema from `structure.sql`, database connection isn't established. `ActiveRecord::Tasks::DatabaseTasks.load_schema` has to establish database connection since it executes ``` ActiveRecord::InternalMetadata.create_table ActiveRecord::InternalMetadata[:environment] = environment ```
| * Fix `bin/rails db:setup` and `bin/rails db:test:prepare` create wrong ↵bogdanvlviv2017-10-152-9/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ar_internal_metadata's data for a test database. Before: ``` $ RAILS_ENV=test rails dbconsole > SELECT * FROM ar_internal_metadata; key|value|created_at|updated_at environment|development|2017-09-11 23:14:10.815679|2017-09-11 23:14:10.815679 ``` After: ``` $ RAILS_ENV=test rails dbconsole > SELECT * FROM ar_internal_metadata; key|value|created_at|updated_at environment|test|2017-09-11 23:14:10.815679|2017-09-11 23:14:10.815679 ``` Fixes #26731.
* | compatibility - use int instead of bigintpavel2017-10-181-1/+1
| |
* | Remove association(true) references from docs [ci skip]Eugene Kenny2017-10-162-5/+1
|/ | | | | Passing `true` to force an association to reload its records from the database was deprecated in 5.0 and removed in 5.1.
* Fix longer sequence name detection for serial columns (#28339)Ryuta Kamizono2017-10-154-4/+26
| | | | | | | | We already found the longer sequence name, but we could not consider whether it was the sequence name created by serial type due to missed a max identifier length limitation. I've addressed the sequence name consideration to respect the max identifier length. Fixes #28332.