aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/CHANGELOG.md
Commit message (Collapse)AuthorAgeFilesLines
* ActiveRecord::Base#<=> has been removed. Primary keys may not be in order,Aaron Patterson2013-09-181-0/+10
| | | | | | | | | | | or even be numbers, so sorting by id doesn't make sense. Please use `sort_by` and specify the attribute you wish to sort with. For example, change: Post.all.to_a.sort to: Post.all.to_a.sort_by(&:id)
* Merge pull request #12011 from jetthoughts/11963_fix_join_with_association_scopeRafael Mendonça França2013-09-161-0/+8
|\ | | | | | | | | | | | | Collapse where constraints to the Arel::Nodes::And node Conflicts: activerecord/CHANGELOG.md
| * Collapse where constraints to one where constraintPaul Nikitochkin2013-09-131-0/+8
| | | | | | | | | | | | | | In order to remove duplication with joining arel where constraints with `AND`, all constraints on `build_arel` are collapsed into one head node: `Arel::Nodes::And` Closes: #11963
* | Merge pull request #12129 from Empact/deprecate-array-bang-delegationRafael Mendonça França2013-09-121-0/+6
|\ \ | | | | | | | | | | | | | | | | | | | | | Deprecate the delegation of Array bang methods in ActiveRecord::Delegation Conflicts: activerecord/CHANGELOG.md activerecord/test/cases/relation_test.rb
| * | Deprecate the delegation of Array bang methods in ActiveRecord::DelegationBen Woosley2013-09-041-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The primary means of returning results for Array bang methods is to modify the array in-place. When you call these methods on a relation, that array is created, modified, and then thrown away. Only the secondary return value is exposed to the caller. Removing this delegation is a straight-forward way to reduce user error by forcing callers to first explicitly call #to_a in order to expose the array to be acted on by the bang method.
* | | Merge pull request #12137 from lann/fix_association_first_lastRafael Mendonça França2013-09-121-0/+5
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Make CollectionAssociation first/last with integer fetch with query Conflicts: activerecord/CHANGELOG.md
| * | | Make CollectionAssociation first/last with integer fetch with queryLann Martin2013-09-091-0/+5
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | When first or last is called with an integer on an unloaded association, the entire collection is loaded. This differs surprisingly from the behavior of Relation#first/last, which translate the call into a limit query. For large collections this can make a big difference in performance. Change CollectionAssociation#fetch_first_or_last_using_find? to make this kind of call delegate to Relation.
* | | Add CHANGELOG entry for #11698Rafael Mendonça França2013-09-121-0/+4
| | | | | | | | | | | | [ci skip]
* | | Merge pull request #12156 from rywall/from-copy-bindsRafael Mendonça França2013-09-121-0/+4
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Allow Relation#from to accept other relations with bind values. Conflicts: activerecord/CHANGELOG.md
| * | | Allow Relation#from to accept other relations with bind values.Ryan Wallace2013-09-081-0/+4
| |/ /
* | | Check if the SQL is not a prepared statementRafael Mendonça França2013-09-111-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | When the adapter is with prepared statement disabled and the binds array is not empty the connection adapter will try to set the binds values and will fail. Now we are checking if the adapter has the prepared statement disabled. Fixes #12023
* | | Merge pull request #12135 from dylanahsmith/avoid_empty_transactionRafael Mendonça França2013-09-111-0/+5
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Avoid empty transaction from setting has_one association on new record. Conflicts: activerecord/CHANGELOG.md
| * | | Avoid empty transaction from setting has_one association on new record.Dylan Thacker-Smith2013-09-111-0/+5
| | | |
* | | | Relation#merge should not lose readonly(false) flag.thedarkone2013-09-111-0/+4
|/ / / | | | | | | | | | The original code ignores the `false` value because `false.blank? # => true`.
* / / Typo in Changelog.Ryan Wallace2013-09-081-2/+2
|/ /
* | Merge pull request #11958 from jetthoughts/extract_pre_process_orders_argsYves Senn2013-09-041-0/+4
|\ \ | |/ |/| Re-use order arguments pre-processing for reorder
| * Extracted from `order` processing of arguments, and use it for `reorder` to ↵Paul Nikitochkin2013-09-041-0/+4
| | | | | | | | be consistent.
* | Remove not necessary AR changelog entry, fix markup [ci skip]Carlos Antonio da Silva2013-08-301-6/+1
| |
* | Test that PostgreSQL adapter includes `usec` when quoting `DateTime`Ben Cherry2013-08-281-0/+4
|/
* check class hierarchy with is_a? in PredicateBuilder.expandMikhail Dieterle2013-08-271-0/+6
| | | | add changelog entry for #11945
* PG adapter deals with negative money values formatted with parenthesis.Yves Senn2013-08-261-0/+6
| | | | Closes #11899.
* write changelog entry for #11922. [ci skip]Yves Senn2013-08-201-0/+5
|
* documents 565c367 in the CHANGELOGXavier Noria2013-08-191-0/+4
|
* Rescue invalid ip address exceptions on assign.Paul Nikitochkin2013-08-141-0/+18
| | | | In order that set attribute should not be bang method
* Restore the use of `#add_to_target` for nested attribute updates on existing ↵Ben Woosley2013-08-121-0/+6
| | | | | | | | | records, and don't bother updating the association if the update is going to be rejected anyway. This requires adding a `skip_callbacks` argument to `#add_to_target` so that we don't call the callbacks multiple times in this case, which is functionally an application of existing association data, rather than an addition of a new record to the association.
* Fix interactions between :before_add callbacks and nested attributes assignmentDr.(USA) Joerg Schray2013-08-121-1/+14
| | | | | Issue #1: :before_add callback is called when nested attributes assignment assigns to existing record if the association is not yet loaded Issue #2: Nested Attributes assignment does not affect the record in the association target when callback triggers loading of the association
* Make 'enable_extension' revertibleEric Tipton2013-08-101-0/+4
| | | | | If 'enable_extension' is used in a migration's 'change' method, use 'disable_extension' on down migration (and vice-versa).
* cast hstore values on write to be consistent with reading from the db.Yves Senn2013-08-081-0/+15
|
* Fix multidimensional PG arrays containing non-string itemsYves Senn2013-08-071-0/+4
|
* Add CHANGELOG entry for #11767Rafael Mendonça França2013-08-061-0/+4
| | | | [ci skip]
* Create sqlite3 directory if not presentschneems2013-08-051-0/+4
| | | | | | | | | | | If the `db/` directory is not present on a remote machine it will blow up in unexpected ways with error messages that do not indicate there is a missing directory: ``` SQLite3::CantOpenException: unable to open database file ``` This PR checks to see if a directory exists for the sqlite3 file and if not creates it for you. This PR is an alternative to #11692 as suggested by @josevalim
* Use assert_nil instead of testing for equalityCarlos Antonio da Silva2013-08-021-1/+1
|
* Merge pull request #11714 from jetthoughts/11706_remove_bad_override_of_xmlRafael Mendonça França2013-08-021-0/+5
|\ | | | | Removed redundant xml override from pg adapter
| * Removed redundant xml override from pg adapterPaul Nikitochkin2013-08-021-0/+5
| | | | | | | | Closes: #11706
* | fix the changelog typo[ci skip]Rajarshi Das2013-08-021-1/+1
|/
* Merge branch 'revert-order-prepending'Rafael Mendonça França2013-07-301-0/+15
|\ | | | | | | | | Conflicts: activerecord/CHANGELOG.md
| * Revert change on ActiveRecord::Relation#order method that prepends newRafael Mendonça França2013-07-291-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | order on the old ones The previous behavior added a major backward incompatibility since it impossible to have a upgrade path without major changes on the application code. We are taking the most conservative path to be consistent with the idea of having a smoother upgrade on Rails 4. We are reverting the behavior for what was in Rails 3.x and, if needed, we will implement a new API to prepend the order clauses in Rails 4.1.
* | Add ability to specify how a class is converted to Arel predicatesgrif2013-07-281-0/+10
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds the ability for rails apps or gems to have granular control over how a domain object is converted to sql. One simple use case would be to add support for Regexp. Another simple case would be something like the following: class DateRange < Struct.new(:start, :end) def include?(date) (start..end).cover?(date) end end class DateRangePredicate def call(attribute, range) attribute.in(range.start..range.end) end end ActiveRecord::PredicateBuilder.register_handler(DateRange, DateRangePredicate.new) More complex cases might include taking a currency object and converting it from EUR to USD before performing the query. By moving the existing handlers to this format, we were also able to nicely refactor a rather nasty method in PredicateBuilder.
* Don't allow `quote_value` to be called without a columnBen Woosley2013-07-221-0/+9
| | | | | | | Some adapters require column information to do their job properly. By enforcing the provision of the column for this internal method we ensure that those using adapters that require column information will always get the proper behavior.
* Tidy up the "Specified column type for quote_value" changesBen Woosley2013-07-221-2/+3
| | | | | | This includes fixing typos in changelog, removing a deprecated mocha/setup test require, and preferring the `column_for_attribute` accessor over direct access to the columns_hash in the new code.
* Specified column type for quote_valueAlfred Wong2013-07-221-0/+7
| | | | | | | | | | | | | | | | | | | | | When calling quote_value the underlying connection sometimes requires more information about the column to properly return the correct quoted value. I ran into this issue when using optimistic locking in JRuby and the activerecord-jdbcmssql-adapter. In SQLSever 2000, we aren't allowed to insert a integer into a NVARCHAR column type so we need to format it as N'3' if we want to insert into the NVARCHAR type. Unfortuantely, without the column type being passed the connection adapter cannot properly return the correct quote value because it doesn't know to return N'3' or '3'. This patch is fairly straight forward where it just passes in the column type into the quote_value, as it already has the ability to take in the column, so it can properly handle at the connection level. I've added the tests required to make sure that the quote_value method is being passed the column type so that the underlying connection can determine how to quote the value.
* rescue from all exceptions in `ConnectionManagement#call`Vipul A M2013-07-221-0/+14
| | | | | | | | | Fixes #11497 As `ActiveRecord::ConnectionAdapters::ConnectionManagement` middleware does not rescue from Exception (but only from StandardError), the Connection Pool quickly runs out of connections when multiple erroneous Requests come in right after each other. Recueing from all exceptions and not just StandardError, fixes this behaviour.
* Revert "Merge pull request #11120 from awilliams/ar_mysql2_boolean_quoting"Yves Senn2013-07-171-22/+0
| | | | | This reverts commit cb1d07e43926bcec95cb8b4a663ca9889173395a, reversing changes made to 754a373e301d2df0b12a11083405252722bc8366.
* Unifies mysql and mysql2 casting of booleansawilliams2013-07-161-0/+22
| | | | | Using the mysql2 adapter, boolean values were sometimes being incorrectly cast to 't' or 'f'. This changes the cast to match the mysql adapter behavior, ie 1 and 0.
* `change_column` for PG adapter respects `:array` option.Yves Senn2013-07-161-0/+4
|
* Remove deprecation warning from attribute_missing Arun Agrawal2013-07-151-0/+4
| | | for attributes that are columns.
* #4566: Remove extra decrement of transaction levelPaul Nikitochkin2013-07-141-0/+6
| | | | | | | | | | | | `rollback_active_record_state!` tries to restore model state on `Exception` by invoking `restore_transaction_record_state` it decrement deep level by `1`. After restoring it ensure that states to be cleared and level decremented by invoking `clear_transaction_record_state`, which cause the bug: because state already reduced in `restore_transaction_record_state`. Removed double derement of transaction level and removed duplicated code which clear transaction state for top level.
* Reset @column_defaults when assigning .kennyj2013-07-141-0/+13
|
* Merge pull request #11306 from ↵Rafael Mendonça França2013-07-061-0/+7
|\ | | | | | | | | | | | | | | | | jetthoughts/11288_remove_extra_queries_for_belongs_to_with_touch #11288: Removed duplicated touching Conflicts: activerecord/CHANGELOG.md
| * #11288: Removed duplicated touchingPaul Nikitochkin2013-07-051-0/+7
| | | | | | | | | | | | if belongs to model with touch option on touch Closes #11288