aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
Commit message (Collapse)AuthorAgeFilesLines
* Remove unused `Subject` model in testsRyuta Kamizono2017-06-111-14/+0
| | | | Because `subjects` table doesn't exist.
* Remove `null_allowed` option from doc [ci skip]yuuji.yaginuma2017-06-101-2/+1
| | | | This option was added in b9fa354. But it does not seem to work.
* Merge pull request #28868 from yahonda/pg10_oid_unknown_to_textMatthew Draper2017-06-071-8/+8
|\ | | | | PostgreSQL 10 converts unknown type to text type
| * PostgreSQL 10 converts unknown OID 705 to text 25Yasuo Honda2017-06-061-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Rename test cases from `unknown` to `unrecognized` since unknown OID is one of possible unrecognized types by Rails - Use "select 'pg_catalog.pg_class'::regclass" whose OID is 2205, which will not be converted to recognized type in PostgreSQL 10. activerecord_unittest=# select oid, typname from pg_type where oid in (2205, 2277); oid | typname ------+---------- 2205 | regclass 2277 | anyarray (2 rows) Addresses #28868
* | Merge pull request #29362 from kamipo/remove_redundant_assert_nothing_raisedMatthew Draper2017-06-063-11/+0
|\ \ | | | | | | Remove redundant `assert_nothing_raised` before another assertions
| * | Remove redundant `assert_nothing_raised` before another assertionsRyuta Kamizono2017-06-063-11/+0
| | | | | | | | | | | | These `assert_nothing_raised` are covered by following assertions.
* | | Fix `test_pluck_without_column_names` when using OracleKoichi ITO2017-06-061-2/+5
| |/ |/|
* | [ci skip] UNIQUE constraint affects not only INSERT but also UPDATERyuta Kamizono2017-06-061-1/+1
|/
* Testing `ReservedWordTest` for all adaptersRyuta Kamizono2017-06-052-151/+132
| | | | | `ReservedWordTest` expects that any identifiers are quoted properly. It should be tested for all adapters.
* Merge pull request #29347 from prathamesh-sonpatki/rm-assert-nothin-raisedEileen M. Uchitelle2017-06-041-3/+3
|\ | | | | Remove assert_nothing_raised, as test is already testing the required concerns
| * Remove assert_nothing_raised, as test is already testing the required concernsPrathamesh Sonpatki2017-06-031-3/+3
| |
* | Don't mark the schema loaded until it's really finishedMatthew Draper2017-06-051-3/+5
| | | | | | | | | | load_schema! is overridden by attribute modules, so we need to wait until it has returned.
* | Merge pull request #29294 from gsamokovarov/attributes-defaultKasper Timm Hansen2017-06-045-21/+10
|\ \ | |/ |/| Introduce mattr_accessor default option
| * Use mattr_accessor default: option throughout the projectGenadi Samokovarov2017-06-035-21/+10
| |
* | [ci skip] Add missing `be`Prathamesh Sonpatki2017-06-031-1/+1
|/
* Remove a redundant default_scope testsKoichi ITO2017-06-031-10/+0
|
* Merge pull request #29135 from ↵Eileen M. Uchitelle2017-06-021-0/+19
|\ | | | | | | | | Nerian/document_support_for_composite_primary_keys Document support for composite primary keys
| * Document support for composite primary keysNerian2017-05-181-0/+19
| |
* | Merge pull request #29282 from ↵Eileen M. Uchitelle2017-06-025-9/+24
|\ \ | | | | | | | | | | | | kamipo/prevent_making_bind_param_if_casted_value_is_nil Prevent making bind param if casted value is nil
| * | Prevent making bind param if casted value is nilRyuta Kamizono2017-05-315-9/+24
| | | | | | | | | | | | | | | | | | | | | | | | If casted value is nil, generated SQL should be `IS NULL`. But currently it is generated as `= NULL`. To prevent this behavior, avoid making bind param if casted value is nil. Fixes #28945.
* | | Remove the redundant `test_find_all_with_join` in ARKoichi ITO2017-06-021-10/+0
| | |
* | | Merge pull request #29308 from koic/correct_a_has_many_association_testMatthew Draper2017-06-022-1/+2
|\ \ \ | | | | | | | | Correct a has_many association test
| * | | Correct a has_many association testKoichi ITO2017-06-012-1/+2
| | | |
* | | | Simplify `assert_no_match %r{colname.*limit:}` regexRyuta Kamizono2017-06-011-14/+4
| | | | | | | | | | | | | | | | | | | | In `test_schema_dump_includes_limit_constraint_for_integer_columns`, unified `assert_match` and `assert_no_match` to simple regex.
* | | | Merge pull request #29220 from kamipo/consolidate_database_specific_json_typesMatthew Draper2017-06-0111-101/+122
|\ \ \ \ | | | | | | | | | | Consolidate database specific JSON types to `Type::Json`
| * | | | Consolidate database specific JSON types to `Type::Json`Ryuta Kamizono2017-05-3011-101/+122
| | | | |
* | | | | Merge pull request #29293 from kamipo/fix_sti_with_default_scopeMatthew Draper2017-06-012-2/+11
|\ \ \ \ \ | | | | | | | | | | | | Fix `default_scoped` with defined `default_scope` on STI model
| * | | | | Fix `default_scoped` with defined `default_scope` on STI modelRyuta Kamizono2017-05-312-2/+11
| | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | This regression is caused by d1249c1. If STI model is defined `default_scope`, `base_rel` is not respected. I fixed to merge `base_rel` in that case.
* | | | | Should use `quote` for a string literalRyuta Kamizono2017-06-011-1/+1
| |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Follow up of #29077. Before: ```sql SELECT sql FROM sqlite_master WHERE tbl_name NOT IN ("foo") ORDER BY tbl_name, type DESC, name ``` After: ```sql SELECT sql FROM sqlite_master WHERE tbl_name NOT IN ('foo') ORDER BY tbl_name, type DESC, name ``` > If a keyword in double quotes (ex: "key" or "glob") is used in a context where it cannot be resolved to an identifier but where a string literal is allowed, then the token is understood to be a string literal instead of an identifier. http://www.sqlite.org/lang_keywords.html
* | | | Merge pull request #26634 from kamipo/extract_numeric_dataRafael França2017-05-315-86/+81
|\ \ \ \ | | | | | | | | | | Extract `NumericData` model for tests
| * | | | Restore the override of numeric attributes properlyRyuta Kamizono2016-12-221-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `attribute :world_population, :integer` is not a same with default decimal without scale type unless #26302 is merged. Should be `attribute :world_population, :big_integer` for now.
| * | | | Extract `NumericDataTest` to `test/cases/numeric_data_test.rb`Ryuta Kamizono2016-12-222-68/+71
| | | | | | | | | | | | | | | | | | | | | | | | | To ease to find the numeric data tests, extract `NumericDataTest` to `test/cases/numeric_data_test.rb` dedicated file.
| * | | | Extract `NumericData` model for testsRyuta Kamizono2016-09-274-19/+6
| | | | | | | | | | | | | | | | | | | | Currently `NumericData` model is defined some places.
* | | | | Add missing `delegate :extending, to: :all`Ryuta Kamizono2017-06-013-1/+9
| |/ / / |/| | |
* | | | Merge pull request #29290 from koic/remove_redundant_habtm_associations_testMatthew Draper2017-05-311-13/+0
|\ \ \ \ | | | | | | | | | | Remove a redundant test case of HABTM_associations_test
| * | | | Remove a redundant test case of HABTM_associations_testKoichi ITO2017-05-311-13/+0
| | | | |
* | | | | Merge pull request #29261 from ↵Matthew Draper2017-05-317-29/+39
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | kamipo/dont_expose_methods_and_attrs_for_internal_usage Don't expose methods and attrs for internal usage
| * | | | Don't expose methods and attrs for internal usageRyuta Kamizono2017-05-307-29/+39
| | |/ / | |/| |
* / | | Support PostgreSQL 10 `pg_sequence`Yasuo Honda2017-05-301-1/+9
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Another fix for #28780 based on discussions at #28789 - In PostgreSQL 10 each sequence does not know its `min_value`. A new system catalog `pg_sequence` shows it as `seqmin`. Refer https://github.com/postgres/postgres/commit/1753b1b027035029c2a2a1649065762fafbf63f3 - `setval` 3rd argument needs to set to `false` only when the table has no rows to avoid `nextval(<sequence_name>)` returns `2` where `1` is expected. - `min_value` is only necessary when the table has no rows. It used to be necessary since the 3rd argument of `setval` is always `false`.
* | | Add an extra test showing why collections are cachedMatthew Draper2017-05-301-0/+7
| | | | | | | | | | | | | | | The assert_same above obviously guarantees this will pass, but this seems less likely to be deleted just because the implementation changed.
* | | Merge pull request #29098 from kamipo/fix_association_with_extension_issuesMatthew Draper2017-05-3012-34/+64
|\ \ \ | | | | | | | | | | | | Fix association with extension issues
| * | | Extract `default_extensions` to avoid `klass.all`Ryuta Kamizono2017-05-302-1/+9
| | | | | | | | | | | | | | | | | | | | As @matthewd's suggestion, if `klass` has no default scope, it will more faster.
| * | | Refactor `default_scoped` to avoid creating extra relation and mergingRyuta Kamizono2017-05-281-7/+2
| | | |
| * | | Cache the association proxy objectRyuta Kamizono2017-05-283-4/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some third party modules expects that association returns same proxy object each time (e.g. for stubbing collection methods: https://github.com/rspec/rspec-rails/issues/1817). So I decided that cache the proxy object and reset scope in the proxy object each time. Related context: https://github.com/rails/rails/commit/c86a32d7451c5d901620ac58630460915292f88b#commitcomment-2784312
| * | | Fix association with extension issuesRyuta Kamizono2017-05-289-26/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes the following issues. * `association_scope` doesn't include `default_scope`. Should use `scope` instead. * We can't use `method_missing` for customizing existing method. * We can't use `relation_delegate_class` for sharing extensions. Should extend per association.
* | | | Merge pull request #29273 from ↵Rafael França2017-05-294-15/+15
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | kamipo/deserialize_raw_value_from_database_for_json Deserialize a raw value from the database in `changed_in_place?` for `AbstractJson`
| * | | | Deserialize a raw value from the database in `changed_in_place?` for ↵Ryuta Kamizono2017-05-304-15/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `AbstractJson` Structured type values sometimes caused representation problems (keys sort order, spaces, etc). A raw value from the database should be deserialized (normalized) to prevent the problems.
* | | | | Fix UUID column with `null: true` and `default: nil`Ryuta Kamizono2017-05-302-1/+11
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | `quote_default_expression` can be passed nil value when `null: true` and `default: nil`. This addressed in that case. Fixes #29222.
* | | | Merge pull request #29248 from yawboakye/rename-should-rename-table-pkeyGuillermo Iguaran2017-05-292-4/+28
|\ \ \ \ | | | | | | | | | | `rename_table` should rename primary key index name
| * | | | `rename_table` renames primary key index nameYaw Boakye2017-05-292-4/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Formerly, `rename_table` only renamed primary key index name if the column's data type was sequential (serial, etc in PostgreSQL). The problem with that is tables whose primary keys had other data types (e.g. UUID) maintained the old primary key name. So for example, if the `cats` table has a UUID primary key, and the table is renamed to `felines`, the primary key index will still be called `cats_pkey` instead of `felines_pkey`. This PR corrects it.