aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test
Commit message (Collapse)AuthorAgeFilesLines
* Properly copy nested bind values from subqueried relationsSean Griffin2015-01-091-9/+21
| | | | | | | | | | | This is cropping up all over the place. After a brief dive, I'm really not sure why we have `arel.bind_values` at all. A cursory grep didn't reveal where they're actually being assigned (it's definitely in AR, not in Arel). I'd like to dig further into it, as I'm fairly certain we don't actually need it, we just need a way for the predicate builder to communicate merged binds upstream. Fixes #18414
* Properly persist `lock_version` as 0 if the DB has no defaultSean Griffin2015-01-091-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | The reason this bug occured is that we never actually check to see if this column has changed from it's default, since it was never assigned and is not mutable. It appears I was wrong in b301c40224c6d15b539dbcc7485adb44d810f88c, with my statement of "there is no longer a case where a given value would differ from the default, but would not already be marked as changed." However, I chose not to revert the deletion of `initialize_internals_callback` from that commit, as I think a solution closer to where the problem lies is less likely to get erroneously removed. I'm not super happy with this solution, but it mirrors what is being done in `_update_record`, and a fix for one should work for the other. I toyed with the idea of changing the definition of `changed?` on the type to `changed_in_place?`. If we type cast the raw value, it'll break a test about updating not modifying the lock column if nothing else was changed. We could have the definition check if `raw_old_value` is `nil`, but this feels fragile and less intention revealing. It would, however, have the benefit of cleaning up old data that incorrectly persisted as `nil`. Fixes #18422
* Merge pull request #16640 from mfazekas/fix_loop_in_changed_for_autosaveGodfrey Chan2015-01-071-0/+10
|\ | | | | Fix potenital infinite recursion in changed_for_autosave?
| * Fix potenital stack level too deep with autosave or validationMiklos Fazkeas2015-01-041-0/+10
| | | | | | | | | | | | | | When associations checked for autosave have a cycle, and none of them is dirty, then changed_for_autosave? will be an infinite loop. We now remember if we're in the check and will short circuit the recursion.
* | Fix count on a separate connection (fixes #18359)brainopia2015-01-081-0/+7
| | | | | | | | | | | | | | | | Previosly count and other AR calculations would convert column_name_for_operation to sql on a default Arel::Table.engine (AR::Base) connection. That could lead to trouble if current model has a connection to a different adapter or Base connection is inaccessible.
* | Fix lookup of fixtures with non-string labelPrathamesh Sonpatki2015-01-062-0/+7
| | | | | | | | | | | | | | | | | | | | | | - Fixtures with non-string labels such as integers should be accessed using integer label as key. For eg. pirates(1) or pirates(42). - But this results in NotFound error because the label is converted into string before looking up into the fixtures hash. - After this commit, the label is converted into string only if its a symbol. - This issue was fount out while adding a test case for https://github.com/rails/rails/commit/7b910917.
* | Merge pull request #18350 from brainopia/fix_build_from_bind_valuesSean Griffin2015-01-051-1/+9
|\ \ | | | | | | Propagate bind_values from join in subquery
| * | Correctly fetch bind_values from join in subquerybrainopia2015-01-061-1/+9
| | |
* | | Whitespace fixes from #18349Sean Griffin2015-01-051-2/+1
| | |
* | | Merge pull request #18349 from jdelStrother/primarykeylessSean Griffin2015-01-051-0/+22
|\ \ \ | |/ / |/| | Fix rollback of primarykey-less tables
| * | Fix rollback of primarykey-less tablesJonathan del Strother2015-01-051-0/+22
| | | | | | | | | If you have a table without a primary key, and an `after_commit` callback on that table (ie `has_transactional_callbacks?` returns true), then trying to rollback a transaction involving that record would result in “ActiveModel::MissingAttributeError: can't write unknown attribute ``”
* | | Add firebird support to test suiteRay Zane2015-01-055-21/+28
| | |
* | | Clean up secure_token_testJon Atack2015-01-051-5/+5
| | |
* | | remove deprecated support to preload instance-dependent associaitons.Yves Senn2015-01-052-26/+9
| | | | | | | | | | | | Addresses https://github.com/rails/rails/commit/ed56e596a0467390011bc9d56d462539776adac1#commitcomment-9145960
* | | remove deprecated support for PG ranges with exclusive lower bounds.Yves Senn2015-01-051-27/+5
| | | | | | | | | | | | addresses https://github.com/rails/rails/commit/91949e48cf41af9f3e4ffba3e5eecf9b0a08bfc3#commitcomment-9144563
* | | can't kill thread with in-memory db. fixes `rake test:sqlite3_mem`.Yves Senn2015-01-051-0/+2
| | |
* | | remove deprecation warning when modifying a Relation with cached arel.Yves Senn2015-01-051-0/+8
| |/ |/| | | | | This adresses https://github.com/rails/rails/commit/1b7aa62b184c4410c99208f71b59bbac5c5f03be#commitcomment-9147803
* | Remove version conditional for calling GC.disableRafael Mendonça França2015-01-041-1/+1
| |
* | Remove Thread hack for Ruby 1.9claudiob2015-01-041-23/+18
| | | | | | | | | | | | | | | | The hack so skip a Thread test for Ruby 1.9 can be removed now that Rails requires Ruby >= 2.0. Conflicts: activerecord/test/cases/transactions_test.rb
* | Add has_secure_token to Active Recordrobertomiranda2015-01-043-0/+48
| | | | | | | | | | | | Update SecureToken Docs Add Changelog entry for has_secure_token [ci skip]
* | Change the behavior of boolean columns to be closer to Ruby's semantics.Rafael Mendonça França2015-01-041-6/+4
| | | | | | | | | | | | | | | | Before this change we had a small set of "truthy", and all others are "falsy". Now, we have a small set of "falsy" values and all others are "truthy" matching Ruby's semantics.
* | Change transaction callbacks to not swallowing errors.Rafael Mendonça França2015-01-042-44/+0
| | | | | | | | | | | | | | | | Before this change any error raised inside a transaction callback are rescued and printed in the logs. Now these errors are not rescue anymore and just bubble up, as the other callbacks.
* | Remove deprecated `sanitize_sql_hash_for_conditions`Rafael Mendonça França2015-01-041-11/+0
| |
* | Remove deprecated `ActiveRecord::Base.disable_implicit_join_references=`Rafael Mendonça França2015-01-041-6/+0
| |
* | Remove deprecated access to connection specification using a string acessor.Rafael Mendonça França2015-01-041-38/+0
| | | | | | | | Now all strings will be handled as a URL.
* | Change the default `null` value for `timestamps` to `false`Rafael Mendonça França2015-01-042-61/+27
| |
* | Return an array of pools from `connection_pools`Rafael Mendonça França2015-01-041-3/+1
| |
* | Return a null column from `column_for_attribute` when no column exists.Rafael Mendonça França2015-01-041-4/+18
| | | | | | | | | | | | | | | | This reverts commit ae96f229f6501d8635811d6b22d75d43cdb880a4. Conflicts: activerecord/CHANGELOG.md activerecord/lib/active_record/attribute_methods.rb
* | Remove deprecated `serialized_attributes`Rafael Mendonça França2015-01-041-6/+0
| |
* | Remove `cache_attributes` and friendsRafael Mendonça França2015-01-041-14/+0
| |
* | Remove deprecated automatic counter caches on `has_many :through`Rafael Mendonça França2015-01-041-26/+0
| |
* | Remove deprecated `ActiveModel::Dirty#reset_#{attribute}` and ↵Rafael Mendonça França2015-01-041-12/+0
| | | | | | | | `ActiveModel::Dirty#reset_changes`.
* | Remove deprecated methods at `Kernel`.Rafael Mendonça França2015-01-042-1/+23
|/ | | | `silence_stderr`, `silence_stream`, `capture` and `quietly`.
* Prefer `array?` rather than `array`Ryuta Kamizono2015-01-0415-22/+22
| | | | | | Slightly refactoring `PostgreSQLColumn`. `array` should be readonly. `default_function` should be initialized by `super`. `sql_type` has been removed `[]`. Since we already choose to remove it we should not change.
* Merge pull request #17227 from claudiob/explicitly-abort-callbacksRafael Mendonça França2015-01-038-26/+163
|\ | | | | | | | | | | | | Introduce explicit way of halting callback chains by throwing :abort. Deprecate current implicit behavior of halting callback chains by returning `false` in apps ported to Rails 5.0. Completely remove that behavior in brand new Rails 5.0 apps. Conflicts: railties/CHANGELOG.md
| * Deprecate `false` as the way to halt AR callbacksclaudiob2015-01-028-26/+163
| | | | | | | | | | | | | | | | | | | | Before this commit, returning `false` in an ActiveRecord `before_` callback such as `before_create` would halt the callback chain. After this commit, the behavior is deprecated: will still work until the next release of Rails but will also display a deprecation warning. The preferred way to halt a callback chain is to explicitly `throw(:abort)`.
* | Merge pull request #18307 from brainopia/datetime_regressionRafael Mendonça França2015-01-021-0/+8
|\ \ | |/ |/| Fully support datetime values in AR::Type::DateTime#type_cast_for_database
| * Support datetime values in AR::Type::DateTime#type_cast_for_databasebrainopia2015-01-031-0/+8
| |
* | Don't test invalid log encoding against PostgreSQL adapterRafael Mendonça França2015-01-021-4/+6
| | | | | | | | It already treats the message
* | Merge pull request #8547 from printercu/patch-1Rafael Mendonça França2015-01-021-0/+8
|\ \ | | | | | | | | | | | | | | | | | | | | | fix for messages in invalid encoding from db-drivers Conflicts: activerecord/lib/active_record/connection_adapters/abstract_adapter.rb activerecord/test/cases/connection_adapters/abstract_adapter_test.rb
| * | fix for messages in invalid encoding from db-driversMax Melentiev2013-12-071-0/+9
| | |
* | | Merge pull request #17820 from fw42/restore_query_cache_on_rollbackRafael Mendonça França2015-01-021-0/+32
|\ \ \ | | | | | | | | | | | | Clear query cache on rollback
| * | | Restore query cache on rollbackFlorian Weingarten2014-12-011-0/+32
| | | |
* | | | Merge pull request #15309 from iantropov/issue_12698_build_throughRafael Mendonça França2015-01-022-1/+12
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add setting of FK for throgh associations while building Conflicts: activerecord/CHANGELOG.md activerecord/test/cases/associations/has_many_through_associations_test.rb
| * | | | Add setting of FK for throgh associations while buildingIvan Antropov2014-05-252-1/+12
| | | | |
* | | | | Merge pull request #18228 from kamipo/correctly_dump_primary_keyRafael Mendonça França2015-01-021-0/+19
|\ \ \ \ \ | |_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | Improve a dump of the primary key support. Conflicts: activerecord/CHANGELOG.md
| * | | | Improve a dump of the primary key support.Ryuta Kamizono2014-12-291-0/+19
| | | | | | | | | | | | | | | | | | | | If it is not a default primary key, correctly dump the type and options.
* | | | | Remove support to activerecord-deprecated_findersRafael Mendonça França2015-01-022-3/+2
| | | | |
* | | | | Merge pull request #18067 from ↵Rafael Mendonça França2015-01-024-1/+182
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | kamipo/format_datetime_string_according_to_precision Format the datetime string according to the precision of the datetime field. Conflicts: activerecord/CHANGELOG.md
| * | | | | Format the datetime string according to the precision of the datetime field.Ryuta Kamizono2015-01-022-0/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Incompatible to rounding behavior between MySQL 5.6 and earlier. In 5.5, when you insert `2014-08-17 12:30:00.999999` the fractional part is ignored. In 5.6, it's rounded to `2014-08-17 12:30:01`: http://bugs.mysql.com/bug.php?id=68760