aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | | | | Merge pull request #29409 from eugeneius/skip_test_uuid_column_defaultRafael França2017-06-151-1/+2
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Allow `uuid_test.rb` to be loaded on all adapters
| * | | | | | | | Allow `uuid_test.rb` to be loaded on all adaptersEugene Kenny2017-06-141-1/+2
| | |/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Running `bin/test` from the activerecord directory produces this error: test/cases/adapters/postgresql/uuid_test.rb:43:in `<class:PostgresqlUUIDTest>': undefined method `supports_pgcrypto_uuid?' for #<ActiveRecord::ConnectionAdapters::SQLite3Adapter:0x007fc405e72a68> (NoMethodError) The test only actually runs on the PostgreSQL adapter; we can avoid triggering the error on other adapters with this `respond_to?` guard.
* | | | | | | | Prevent extra `sync_with_transaction_state`Ryuta Kamizono2017-06-151-5/+2
| |/ / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | `sync_with_transaction_state` in `to_key` is unneeded because `id` also does.
* | | | | | | Merge pull request #29378 from kamipo/avoid_overwriting_id_attribute_methodsRafael França2017-06-144-19/+24
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Avoid overwriting the methods of `AttributeMethods::PrimaryKey`
| * | | | | | | Avoid overwriting the methods of `AttributeMethods::PrimaryKey`Ryuta Kamizono2017-06-074-19/+24
| | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently the methods of `AttributeMethods::PrimaryKey` are overwritten by `define_attribute_methods`. It will be broken if a table that customized primary key has non primary key id column. It should not be overwritten if a table has any primary key. Fixes #29350.
* | | | | | | Use `require_relative` instead of `require` with full pathbogdanvlviv2017-06-143-4/+4
| | | | | | |
* | | | | | | Add test for backward compatibility when using change_tableKoichi ITO2017-06-131-0/+15
| |/ / / / / |/| | | | |
* | | | | | 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