aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib
Commit message (Collapse)AuthorAgeFilesLines
...
| * | 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
* | Fix typo: adaptors => adapters [ci skip]Carlos Antonio da Silva2013-01-271-1/+1
| |
* | Fix cases where delete_records on a has_many association caused errorsDerek Kraan2013-01-274-4/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | because of an ambiguous column name. This happened if the association model had a default scope that referenced a third table, and the third table also referenced the original table (with an identical foreign_key). Mysql requires that ambiguous columns are deambiguated by using the full table.column syntax. Postgresql and Sqlite use a different syntax for updates altogether (and don't tolerate table.name syntax), so the fix requires always including the full table.column and discarding it later for Sqlite and Postgresql.
* | Use `silence` instead of `quietly` to silence the `CheckPending` middleware.Lucas Mazza2013-01-261-1/+1
| | | | | | | | | | | | | | | | `Kernel.quietly` silences `STDOUT` and `STDERR`, which is useless if the logger is writing to a file, while `AS::Logger#silence` swaps the logger level to `ERROR`. Related to #8820 and #8052.
* | Simplify type casting code for timezone aware attributesAndrew White2013-01-261-10/+5
| | | | | | | | | | | | With the addition of String#in_time_zone and Date#in_time_zone we can simplify the type casting code by checking if the value has an `in_time_zone` method.