aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
Commit message (Collapse)AuthorAgeFilesLines
* removed unnecessary mapping for on optionsAnton Kalyaev2013-06-251-5/+5
| | | | | | | | | Right before that in `assert_valid_transaction_action` method we make sure that `options[:on]` contains values from `ACTIONS` array (`[:create, :destroy, :update]`) and nothing more (i.e. it could not contain strings or something else, otherwise the error is raised). Also I've polished some docs.
* remove trailing whitespace from Active Record CHANGELOGYves Senn2013-06-251-1/+1
|
* Fix `another_contract` not being used warningVipul A M2013-06-241-1/+1
|
* test-case to prevent regressions described in #10901.Jared Armstrong2013-06-241-0/+27
|
* replace all older rocket sign to new ":" from examples of active record and ↵Rajarshi Das2013-06-242-19/+19
| | | | active models
* Setup env and seed_loaded for DatabaseTasks outside load_configPiotr Sarnacki2013-06-231-2/+3
| | | | Those vars can be used in tasks, which not call load_config.
* Change a way ActiveRecord's config is prepared for rake tasksPiotr Sarnacki2013-06-231-10/+14
| | | | | | | | | | | | | | | | In commit d1d7c86d0 I moved setting migrations paths into activerecord's railtie to remove Rails dependency on databases.rake. However, it introduced a regression, ENGINE_PATH was not available at the moment, so engine's migrations where not added properly to paths. Fix was added at 97a4a771, but it changes a way things work from using ENGINE_PATH to APP_RAKEFILE. Additionally, the config runs when the code loads, while previously it ran in the db:load_config rake task In order to make it more in pair with original version this commit changes the config to run only on load_config task. This code uses the fact that defining a task in rake does not overwrite, but only appends. It also allows to get back to checking for ENGINE_PATH
* test-case to prevent regressions on `Association#build` with an Array.Yves Senn2013-06-221-0/+10
| | | | Closes #11026
* flatten merged join_values before building the joinsNeeraj Singh2013-06-223-2/+19
| | | | | | | | fixes #10669 While joining_values special treatment is given to string values. By flattening the array it ensures that string values are detected as strings and not arrays.
* do not load all child records for inverse caseNeeraj Singh2013-06-213-1/+25
| | | | | | | | | | | | | | currently `post.comments.find(Comment.first.id)` would load all comments for the given post to set the inverse association. This has a huge performance penalty. Because if post has 100k records and all these 100k records would be loaded in memory even though the comment id was supplied. Fix is to use in-memory records only if loaded? is true. Otherwise load the records using full sql. Fixes #10509
* Merge pull request #11049 from neerajdotname/no-need-of-large-numberJon Leighton2013-06-211-1/+5
|\ | | | | fix bad test by making number that fits for integer
| * fix bad test by making number that fits for integerNeeraj Singh2013-06-211-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR https://github.com/rails/rails/pull/10566 had to be reverted because after applying the fix test "test_raise_record_not_found_error_when_invalid_ids_are_passed" started failing. In this test invalid_id is being assigned a really large number which was causing following failure when PR #10566 was applied. ``` RangeError: bignum too big to convert into `long long' SELECT `interests`.* FROM `interests` WHERE `interests`.`man_id` = ? AND `interests`.`id` = ? LIMIT 1 [["man_id", 970345987], ["id", 2394823094892348920348523452345]] ``` This test is not failing in master because when test code `man.interests.find(invalid_id)` is executed then interests are fully loaded in memory and no database query is executed. After PR #10566 was merged then test code `man.interests.find(invalid_id)` started executing sql query and hence the error. In case someone is wondering why the second part of query is not failing, then that's because the actual query does not require any variable substituation where the number is large. In that case the sql generate is following. ``` SELECT `interests`.* FROM `interests` WHERE `interests`.`man_id` = ? AND `interests`.`id` IN (8432342, 2390102913, 2453245234523452) [["man_id", 970345987]] ```
* | Merge pull request #11040 from satococoa/fix-create_join_table-documentCarlos Antonio da Silva2013-06-211-2/+2
|\ \ | | | | | | Fix documents for create_join_table [ci skip]
| * | Fix documents for create_join_tableSatoshi Ebisawa2013-06-211-2/+2
| |/
* / Saying gemcutter => rubygems [ci skip]Arun Agrawal2013-06-211-1/+1
|/
* `inspect` for AR model classes does not initiate a new connection.Yves Senn2013-06-203-0/+33
|
* add forgotten CHANGELOG entry for #10884.Yves Senn2013-06-191-0/+5
|
* Merge pull request #10884 from dmarkow/pg_fix_default_quotesYves Senn2013-06-192-1/+26
|\ | | | | Handle single quotes in PostgreSQL default column values
| * Handle single quotes in PostgreSQL default column valuesDylan Markow2013-06-192-1/+26
| | | | | | | | | | | | | | | | | | | | PostgreSQL escapes single quotes by using an additional single quote. When Rails queries the column information, PostgreSQL returns the default values with the escaped single quotes. #extract_value_from_default now converts these to one single quote each. Fixes #10881.
* | Revert "Merge pull request #10566 from neerajdotname/10509d"Jon Leighton2013-06-193-25/+1
| | | | | | | | | | | | | | | | | | | | This reverts commit 2b817a5e89ac0e7aeb894a40ae7151a0cf3cef16, reversing changes made to 353a398bee68c5ea99d76ac7601de0a5fef6f4a5. Conflicts: activerecord/CHANGELOG.md Reason: the build broke
* | log the sql that is actually sent to the databaseNeeraj Singh2013-06-193-1/+19
| | | | | | | | | | | | | | | | | | | | | | | | If I have a query that produces sql `WHERE "users"."name" = 'a b'` then in the log all the whitespace is being squeezed. So the sql that is printed in the log is `WHERE "users"."name" = 'a b'`. This can be confusing. This commit fixes it by ensuring that whitespace is not squeezed. fixes #10982
* | do not load all child records for inverse caseNeeraj Singh2013-06-193-1/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | currently `post.comments.find(Comment.first.id)` would load all comments for the given post to set the inverse association. This has a huge performance penalty. Because if post has 100k records and all these 100k records would be loaded in memory even though the comment id was supplied. Fix is to use in-memory records only if loaded? is true. Otherwise load the records using full sql. Fixes #10509
* | Fix formatting of my name in the changelog, and given Aaron credit for ↵Ben Woosley2013-06-181-1/+3
| | | | | | | | b483a0d2a75b
* | It takes 4 spaces or some backticks to have this code displayed as code in ↵Ben Woosley2013-06-181-23/+23
| | | | | | | | the changelog.
* | Merge pull request #10987 from senny/10979_association_include_returns_trueXavier Noria2013-06-182-12/+12
|\ \ | | | | | | `CollectionProxy#include?` returns `true` and `false` as documented.
| * | `CollectionProxy#include?` returns `true` and `false` as documented.Yves Senn2013-06-182-12/+12
| | |
* | | just construct real objects rather than mock and stubAaron Patterson2013-06-171-7/+8
| | |
* | | Merge branch 'master' into mrbrdo-fixserializationAaron Patterson2013-06-1741-301/+522
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master: (142 commits) Use Colspan in th Tags Added test for link_to_unless to make sure the result consistency. Escape the string even when the condition of link_to_unless is not satisfied. Add CHANGELOG entry for #10969 Use a case insensitive URI Regexp for #asset_path collection tags accept html attributes as the last element of collection Rewind StringIO instances before be parsed again Use xml instead already parsed xml Updated the doc for const_regexp [ci skip] Make test name descriptive and add reference to original regression commit fixture setup does not rely on `AR::Base.configurations`. regression test + mysql2 adapter raises correct error if conn is closed. cleanup, remove trailing whitespace from AR changelog 'json' gem is no more required under JRuby fix typos Fix AS changelog [ci skip] Update the HTML boolean attributes per the HTML 5.1 spec Changing const_regexp to check for constant name. valid_app_const? -> valid_const? Add CHANGELOG entry for #10740 ...
| * \ \ Merge pull request #10942 from yangchenyun/mineYves Senn2013-06-161-2/+2
| |\ \ \ | | | | | | | | | | correct documentation about active_record.default_timezone
| | * | | correct documentation about active_record behaviorSteven Yang2013-06-151-2/+2
| | | | |
| * | | | Merge pull request #10533 from vipulnsward/fix_testRafael Mendonça França2013-06-151-1/+2
| |\ \ \ \ | | |_|/ / | |/| | | Fix test, addresss => address
| | * | | Make test name descriptive and add reference to original regression commitVipul A M2013-06-151-1/+2
| | | | |
| * | | | fixture setup does not rely on `AR::Base.configurations`.Yves Senn2013-06-153-4/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As you can also configure your database connection using `ENV["DATABASE_URL"]`, the fixture setup can't reply on the `.configurations` Hash. As the fixtures are only loaded when ActiveRecord is actually used (`rails/test_help.rb`) it should be safe to drop the check for an existing configuration.
| * | | | regression test + mysql2 adapter raises correct error if conn is closed.Yves Senn2013-06-153-3/+36
| | | | |
| * | | | cleanup, remove trailing whitespace from AR changelogYves Senn2013-06-151-4/+4
| | | | |
| * | | | Merge pull request #10953 from acapilleri/fix_typosYves Senn2013-06-151-1/+1
| |\ \ \ \ | | | | | | | | | | | | fix typos
| | * | | | fix typosAngelo Capilleri2013-06-151-1/+1
| | | | | |
| * | | | | Merge pull request #10898 from dmitry/find_first_refactor_duplicationRafael Mendonça França2013-06-141-11/+10
| |\ \ \ \ \ | | | | | | | | | | | | | | Refactored ActiveRecord `first` method to get rid of duplication.
| | * | | | | rename method `find_first_records` to `find_first_with_limit`Dmitry Polushkin2013-06-101-3/+3
| | | | | | |
| | * | | | | Refactored ActiveRecord `first` method to get rid of duplication.Dmitry Polushkin2013-06-091-11/+10
| | | | | | |
| * | | | | | Properly namespace DatabaseTasksPiotr Sarnacki2013-06-141-1/+1
| | | | | | |
| * | | | | | Use DatabaseTasks.env instead of Rails.env in databases.rakePiotr Sarnacki2013-06-141-1/+1
| | |_|_|/ / | |/| | | |
| * | | | | quoted table name is also cachedAaron Patterson2013-06-131-1/+1
| | | | | |
| * | | | | table name is cached on the class, so stop caching twiceAaron Patterson2013-06-131-1/+1
| | | | | |
| * | | | | calculate types on constructionAaron Patterson2013-06-131-8/+4
| | | | | |
| * | | | | only cache the primary key column in one placeAaron Patterson2013-06-131-1/+1
| | | | | |
| * | | | | these methods are never called, so remove themAaron Patterson2013-06-131-8/+0
| | | | | |
| * | | | | This test does not test anything that happens in the real world. If youAaron Patterson2013-06-132-27/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | recreate the models without mucking with internal caches of the relation objects, then the test fails. For example: class Man < ActiveRecord::Base has_many :interests end class Interest < ActiveRecord::Base belongs_to :man end Then do this test: def test_validate_presence_of_parent_fails_without_inverse_of repair_validations(Interest) do Interest.validates_presence_of(:man) assert_no_difference ['Man.count', 'Interest.count'] do man = Man.create(:name => 'John', :interests_attributes => [{:topic=>'Cars'}, {:topic=>'Sports'}]) assert_not_predicate man.errors[:"interests.man"], :empty? end end end The test will fail. This is a bad test, so I am removing it.
| * | | | | Merge branch 'master' of github.com:lifo/docrailsVijay Dev2013-06-146-31/+96
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: guides/source/upgrading_ruby_on_rails.md
| | * | | | | copy edits [ci skip]Vijay Dev2013-06-141-19/+15
| | | | | | |