aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record
Commit message (Collapse)AuthorAgeFilesLines
* Raising an ActiveRecordError when one tries to use .touch(name) on a newwangjohn2013-02-251-0/+2
| | | | | object that has not yet been persisted. This behavior follows the precedent set by update_columns.
* Make explicit the method will raise an exceptionRafael Mendonça França2013-02-241-10/+10
| | | | Taking the wise advice of @carlosantoniodasilva
* don't apply invalid ordering when preloading hmt associations.Yves Senn2013-02-241-2/+2
| | | | | | | | | | | | | | | closes #8663. When preloading a hmt association there two possible scenarios: 1.) preload with 2 queries: first hm association, then hmt with id IN () 2.) preload with join: hmt association is loaded with a join on the hm association The bug was happening in scenario 1.) with a normal order clause on the hmt association. The ordering was also applied when loading the hm association, which resulted in the error. This patch only applies the ordering the the hm-relation if we are performing a join (2). Otherwise the order will only appear in the second query (1).
* Merge pull request #9400 from senny/remove_auto_explain_threshold_in_secondsXavier Noria2013-02-245-87/+26
|\ | | | | remove config.auto_explain_threshold_in_seconds
| * remove AR auto-explain (config.auto_explain_threshold_in_seconds)Yves Senn2013-02-245-87/+26
| | | | | | | | | | | | | | | | | | | | We discussed that the auto explain feature is rarely used. This PR removes only the automatic explain. You can still display the explain output for any given relation using `ActiveRecord::Relation#explain`. As a side-effect this should also fix the connection problem during asset compilation (#9385). The auto explain initializer in the `ActiveRecord::Railtie` forced a connection.
* | Updated doc to clarify about update_all and delete_allNeeraj Singh2013-02-241-2/+2
| | | | | | | | | | | | | | | | delete_all will call callbacks if depdent option is specified as :destroy. This behavior is not very clear from the documetation and hence issue #7832 was raised. closes #7832
* | Do not type cast all the database url values.Rafael Mendonça França2013-02-246-32/+29
|/ | | | | | We should only type cast when we need to use. Related to 4b005fb371c2e7af80df7da63be94509b1db038c
* Merge pull request #9356 from senny/988_multiple_actions_for_after_commitSteve Klabnik2013-02-241-14/+17
|\ | | | | multiple actions for :on option with `after_commit` and `after_rollback`
| * multiple actions for :on option with `after_commit` and `after_rollback`Yves Senn2013-02-211-14/+17
| | | | | | | | Closes #988.
* | adds a missing LIMIT 1 in #take docsXavier Noria2013-02-231-1/+1
|/
* Indent comment block by two spaces.Marc Schütz2013-02-211-4/+4
| | | | | As requested by @fxn https://github.com/schuetzm/rails/commit/743d15bba182df80d003d205690ead988970299c#commitcomment-2661417
* Add more documentation for create_join_table.Marc Schütz2013-02-201-0/+8
| | | | | Explain that it doesn't create indices by default and that it also has a block form.
* Merge pull request #9345 from ↵Rafael Mendonça França2013-02-201-10/+10
|\ | | | | | | | | wangjohn/change_name_of_query_method_argument_checker_for_clarity Renaming the check_empty_arguments method to something more descriptive.
| * Renaming the check_empty_arguments method to something more descriptive.wangjohn2013-02-201-10/+10
| | | | | | | | | | The function is now called has_arguments? so that it's easier to tell that it's just checking to see if the args are blank or not.
* | removes some remaining relation bang methods documentation [ci skip]Xavier Noria2013-02-201-3/+0
| |
* | adds an example in the docs of #not with multiple conditions [ci skip]Xavier Noria2013-02-201-4/+8
| |
* | also rename indexes when a table or column is renamedYves Senn2013-02-204-5/+34
| | | | | | | | When a table or a column is renamed related indexes kept their name. This will lead to confusing names. This patch renames related indexes when a column or a table is renamed. Only indexes with names generated by rails will be renamed. Indexes with custom names will not be renamed.
* | revises the documentation of AR::Base.cache_timestamp_format [ci skip]Xavier Noria2013-02-201-2/+4
|/
* reserve less chars for internal sqlite3 operationsYves Senn2013-02-201-7/+7
|
* reserve index name chars for internal rails operationsYves Senn2013-02-203-4/+22
| | | | | | | | | | | Some adapter (SQLite3) need to perform renaming operations to support the rails DDL. These rename prefixes operate with prefixes. When an index name already uses up the full space provieded by `index_name_length` these internal operations will fail. This patch introduces `allowed_index_name_length` which respects the amount of characters used for internal operations. It will always be <= `index_name_length` and every adapter can define how many characters need to be reserved.
* Merge pull request #9332 from ↵Rafael Mendonça França2013-02-201-11/+27
|\ | | | | | | | | wangjohn/adding_documentation_to_error_raising_in_query_methods Tests to make sure empty arguments in WhereChain raise errors
| * Added comments about the check_empty_arguments method which is calledwangjohn2013-02-201-11/+27
| | | | | | | | | | for query methods in a where_clause. Also, modified the CHANGELOG entry because it had false information and added tests.
* | Merge pull request #9342 from hone/db_migrate_with_database_urlRafael Mendonça França2013-02-201-1/+1
|\ \ | | | | | | Fix ActiveRecord::ConnectionAdapters::ConnectionSpecification::ResolverTest
| * | make type_cast_value a class level methodTerence Lee2013-02-211-1/+1
| |/
* / Reduced memory leak problem in transactions by lazily updating AR objects ↵wangjohn2013-02-204-4/+65
|/ | | | with new transaction state. If AR object has a callback, the callback will be performed immediately (non-lazily) so the transaction still has to keep records with callbacks.
* standardize database_configuration to a hashTerence Lee2013-02-212-5/+3
| | | | | | | make connection_url_to_hash a class method This als prevents loading database.yml if it doesn't exist but DATABASE_URL does
* descriptive error message when AR adapter was not found. Closes #7313.Yves Senn2013-02-201-2/+5
|
* Raise an error when query methods have blank arguments, and when blank ↵John J Wang2013-02-191-9/+23
| | | | arguments are meaningless.
* Gist URLs are now namespacedAkira Matsuda2013-02-182-5/+5
| | | | see: https://github.com/blog/1406-namespaced-gists
* copy-edits RDoc in fba496fXavier Noria2013-02-161-4/+4
| | | | | | | This revision makes the terminology uniform with the rest of the file. In general we describe these methods in terms of the adapter, rather than the database. (As a side note, if we wanted to refer to the database we would write "PostgreSQL".)
* Remove valid_type? methodJon Leighton2013-02-154-17/+0
| | | | | It was supposed to be removed by the preceding two reversions but I did them in the wrong order.
* 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