aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'master' of github.com:lifo/docrailsVijay Dev2013-02-152-0/+24
|\ | | | | | | | | Conflicts: guides/source/upgrading_ruby_on_rails.md
| * copy edits [ci skip]Vijay Dev2013-02-151-1/+1
| |
| * Add example for ActiveRecord::Base.joins using a string as argumentMaurizio De Santis2013-02-071-0/+5
| |
| * Add example for ActiveRecord::Base.group using a string as argumentMaurizio De Santis2013-02-071-0/+3
| |
| * Add documentation for ActiveRecord.select when use strings as argumentsMaurizio De Santis2013-02-071-0/+10
| |
| * Add ActiveRecord.count documentation when used on group relationsMaurizio De Santis2013-02-071-0/+6
| |
* | Revert "Make valid_type? public"Jon Leighton2013-02-154-12/+17
| | | | | | | | | | | | This reverts commit 5d528f835e871f5f9d4b68e8a81cfbe900b7e718. Relates to f8c8ad5 which is also getting reverted due to failing test.
* | Revert "checking in the abstractions for valid type checking:"Jon Leighton2013-02-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit c321b309a9a90bbfa0912832c11b3fef52e71840. Conflicts: activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb Reason: failing test 1) Error: test_valid_column(ActiveRecord::ConnectionAdapters::SQLite3AdapterTest): NoMethodError: undefined method `column' for test/cases/adapters/sqlite3/sqlite3_adapter_test.rb:29:in `test_valid_column'
* | Revert "Revert "Merge pull request #9206 from ranjaykrishna/use_define_method""Jon Leighton2013-02-151-18/+13
| | | | | | | | | | | | This reverts commit 8aa4603a5adaa56c818a7bd1c0b761b4ecca3d3e. Reverting the revert because I reverted the wrong thing! Fail.
* | Revert "Merge pull request #9206 from ranjaykrishna/use_define_method"Jon Leighton2013-02-151-13/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 1fc6876b57f2e1d31731e74eb4271b5655e746d2, reversing changes made to 0268b5d8cdc3c5a1337462135f0a326a2654ba1a. Reason: failing test 1) Error: test_valid_column(ActiveRecord::ConnectionAdapters::SQLite3AdapterTest): NoMethodError: undefined method `column' for test/cases/adapters/sqlite3/sqlite3_adapter_test.rb:29:in `test_valid_column'
* | Merge pull request #9252 from senny/8423_hmt_preloading_bugRafael Mendonça França2013-02-141-1/+2
|\ \ | | | | | | don't cache invalid subsets when preloading hmt associations
| * | don't cache invalid subsets when preloading hmt associations.Yves Senn2013-02-141-1/+2
| | | | | | | | | | | | closes #8423.
* | | Make valid_type? publicSam Ruby2013-02-144-17/+12
|/ /
* | Merge pull request #9254 from warnickr/9253_avoid_bigdecimal_performance_issueCarlos Antonio da Silva2013-02-131-4/+5
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | Before writing a numeric attribute value, ActiveRecord does an implicit conversion of boolean types (true => 1 and false => 0). If the numeric value being assigned is a BigDecimal, then ActiveRecord compares a BigDecimal to true and false. This is known to be very slow in Ruby 1.9.3 (see http://www.ruby-forum.com/topic/4409452 and https://bugs.ruby-lang.org/issues/7645#change-35188). The Ruby core team has implemented a fix for this issue that will be included in Ruby 2, but they appear to have no intention of back-porting this fix to Ruby 1.9.3. In my case, the performance impact of this issue was enormous (200% - 300% performance hit) for some of the pages in my application. See c75b5a88a82c79fdf95dfea4d72bf3c5a829930e applied to 3-2-stable branch for more reasoning and a benchmark.
| * | 9253: Before writing a numeric attribute value, ActiveRecord does an implicitRyan Warnick2013-02-131-4/+5
| | | | | | | | | | | | | | | | | | conversion of boolean types (true => 1 and false => 0). If the numeric value being assigned is a BigDecimal, then ActiveRecord compares a BigDecimal to true and false. This is known to be very slow in Ruby 1.9.3.
* | | Don't call after_commit when creating through an association and save fails, ↵James Miller2013-02-131-1/+4
|/ / | | | | | | fixes #5802
* | Merge pull request #9204 from ranjaykrishna/col-probAaron Patterson2013-02-125-1/+16
|\ \ | | | | | | schema dumper tests now conducted by ActiveRecord::Base.Connection
| * | checking in the abstractions for valid type checking:Ranjay Krishna2013-02-125-1/+16
| | |
* | | Merge pull request #9206 from ranjaykrishna/use_define_methodCarlos Antonio da Silva2013-02-121-18/+13
|\ \ \ | | | | | | | | Use define method instead of class_eval
| * | | reverted back our changes and added in the new define_methodRanjay Krishna2013-02-121-18/+13
| |/ /
* | | define Active Record Store accessors in a moduleSergey Nartimov2013-02-111-12/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow store accessors to be overrided like other attribute methods, e.g.: class User < ActiveRecord::Base store :settings, accessors: [ :color, :homepage ], coder: JSON def color super || 'red' end end
* | | Use IN operator like arel for empty hash in where clauserobertomiranda2013-02-091-1/+1
| | |
* | | Reverting e170014113 (Change behaviour with empty hash in where clause)Guillermo Iguaran2013-02-081-1/+1
| | |
* | | Reverting 16f6f25 (Change behaviour with empty array in where clause)Guillermo Iguaran2013-02-082-3/+1
| | |
* | | Change behaviour with empty array in where clauserobertomiranda2013-02-082-1/+3
| | |
* | | Change behaviour with empty hash in where clauserobertomiranda2013-02-081-1/+1
| | |
* | | active_record: Quote numeric values compared to string columns.Dylan Smith2013-02-073-4/+13
| | |
* | | Do not print anything related to extensions when they don't none existCarlos Antonio da Silva2013-02-061-4/+6
| | | | | | | | | | | | | | | When extensions are supported but there's no one enabled in the database, we should not print anything related to them in schema.rb.
* | | Add blank line after extensions to separate from tables in schemaCarlos Antonio da Silva2013-02-061-0/+1
| | |
* | | Fix indentation of extensions in schemaCarlos Antonio da Silva2013-02-061-4/+2
| | |
* | | Call super to use the abstract adapter implementation insteadCarlos Antonio da Silva2013-02-061-1/+1
| | |
* | | Add changelog entry for #9203 about schema dumper with db extensionsCarlos Antonio da Silva2013-02-061-2/+2
| | | | | | | | | | | | [ci skip]
* | | add ActiveRecord::AbstractAdapter#extensions and ↵Justin George2013-02-063-0/+27
| |/ |/| | | | | ActiveRecord::ConnectionAdapters::PostgreSQLAdapter#extensions to allow dumping of enabled extensions to schema.rb, add ActiveRecord::SchemaDumper#extensions to dump extensions to schema.rb
* | Fix typo :bomb:Rafael Mendonça França2013-01-311-1/+1
| |
* | Fix typoRafael Mendonça França2013-01-311-2/+2
| |
* | Strict regexpRafael Mendonça França2013-01-311-2/+2
| |
* | Extract the value casting to a methodRafael Mendonça França2013-01-311-15/+23
| |
* | DATABASE_URL parsing should turn numeric strings into numeric types, andAaron Stone2013-01-311-0/+19
| | | | | | | | | | | | the strings true and false into boolean types, in order to match how YAML would parse the same values from database.yml and prevent unexpected type errors in the database adapters.
* | Merge pull request #9119 from dazuma/database_tasks_for_unknown_adapterCarlos Antonio da Silva2013-01-311-0/+4
|\ \ | | | | | | Raise an exception with a useful message if a rake task is requested for an unknown adapter
| * | Raise a specific exception with a useful message if a rake task is requested ↵Daniel Azuma2013-01-301-0/+4
| | | | | | | | | | | | for an unknown adapter
* | | Remove pre-emptive adapter name check from databases.rake so third party ↵Daniel Azuma2013-01-291-9/+3
|/ / | | | | | | adapters can register rake tasks
* | reloading type map on extension changingAaron Patterson2013-01-292-2/+15
| |
* | fixing commentAaron Patterson2013-01-291-1/+1
| |
* | Fix typoRafael Mendonça França2013-01-291-1/+1
| |
* | Only search for enabled extension if the PostgreSQL version supportsRafael Mendonça França2013-01-291-3/+5
| | | | | | | | extensions
* | Refactor to use each_key, remove extra spacesCarlos Antonio da Silva2013-01-286-10/+4
| |
* | add API to pg for enabling / disabling hstoreAaron Patterson2013-01-282-0/+25
| |
* | updates a dynamic method heredoc docXavier Noria2013-01-281-2/+2
| |
* | explains why the query cache checks arel.lockedXavier Noria2013-01-281-0/+2
| |
* | Prevent Relation#merge from collapsing wheres on the RHSJon Leighton2013-01-272-21/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This caused a bug with the new associations implementation, because now association conditions are represented as Arel nodes internally right up to when the whole thing gets turned to SQL. In Rails 3.2, association conditions get turned to raw SQL early on, which prevents Relation#merge from interfering. The current implementation was buggy when a default_scope existed on the target model, since we would basically end up doing: default_scope.merge(association_scope) If default_scope contained a where(foo: 'a') and association_scope contained a where(foo: 'b').where(foo: 'c') then the merger would see that the same column is representated on both sides of the merge and collapse the wheres to all but the last: where(foo: 'c') Now, the RHS of the merge is left alone. Fixes #8990