aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib
Commit message (Collapse)AuthorAgeFilesLines
* Update counter cache when pushing into associationMatthew Robertson2013-04-211-3/+4
| | | | | | | | | | | | | | | | This commit fixes a regression bug in which counter_cache columns were not being updated correctly when newly created records were being pushed into an assocation. EG: # this was fine @post.comment.create! # this was fine @comment = Comment.first @post.comments << @comment # this would not update counters @post.comments << Comment.create!
* Merge pull request #10280 from vipulnsward/fix_typos_tempSteve Klabnik2013-04-212-2/+2
|\ | | | | fix typos [ci skip]
| * fix typosVipul A M2013-04-212-2/+2
| |
* | if singletons belong to the contract, test themXavier Noria2013-04-201-1/+1
|/ | | | | | Object#respond_to? returns singletons and thus we inherit that contract. The implementation of the predicate is good, but the test is only checking boolean semantics, which in this case is not enough.
* fix respond_to? for non selected columnNeeraj Singh2013-04-191-1/+13
| | | | | | | | | | | | | | | | | | | | | | | fixes #4208 If a query selects only a few columns and gives custom names to those columns then respond_to? was returning true for the non selected columns. However calling those non selected columns raises exception. post = Post.select("'title' as post_title").first In the above case when `post.body` is invoked then an exception is raised since `body` attribute is not selected. Howevere `respond_to?` did not behave correctly. pos.respond_to?(:body) #=> true Reason was that Active Record calls `super` to pass the call to Active Model and all the columns are defined on Active Model. Fix is to actually check if the data returned from the db contains the data for column in question.
* Revert "Merge pull request #10183 from jholton/fix_association_auto_save"Jon Leighton2013-04-191-8/+9
| | | | | | | This reverts commit e8727d37fc49d5bf9976c3cb5c46badb92cf4ced, reversing changes made to d098e1c24bc145e0cc14532348436e14dc46d375. Reason: it broke the mysql build
* destroys association records before saving/inserting new association recordsJohnny Holton2013-04-191-9/+8
| | | | | | | | | | | | | | | | | | | | | fixes bug introduced by #3329 These are the conditions necessary to reproduce the bug: - For an association, autosave => true. - An association record is being destroyed - A new association record is being created. - There is a unique index one of the association's fields. - The record being created has the same value as the record being destroyed on the indexed field. Before, the deletion of records was postponed until after all insertions/saves. Therefore the new record with the identical value in the indexed field caused a non-unique value error to be thrown at the database level. With this fix, the deletions happen first, before the insertions/saves. Therefore the record with the duplicate value is gone from the database before the new record is created, thereby avoiding the non-uniuqe value error.
* Merge pull request #10264 from cconstantine/masterRafael Mendonça França2013-04-191-1/+1
|\ | | | | Postgresql array columns don't properly escape single quote strings when loading fixtures
| * Fix loading of fixtures when the column type is a postgres array of strings.Chris Constantine2013-04-181-1/+1
| | | | | | | | - A string in an array of strings that has a quote char (') needs to have that quote char escaped if the array is getting wrapped in quote chars.
* | Improve the error messageRafael Mendonça França2013-04-191-1/+1
| |
* | Merge pull request #10217 from mirasrael/make-migrator-run-transactional-4.0Rafael Mendonça França2013-04-191-5/+12
|\ \ | | | | | | | | | | | | | | | | | | Support transactions in Migrator.run Conflicts: activerecord/CHANGELOG.md
| * | Support transactions in Migrator.runbondarev2013-04-181-5/+12
| | |
* | | Merge pull request #10200 from ↵Jon Leighton2013-04-191-2/+4
|\ \ \ | |_|/ |/| | | | | | | | calebthompson/ct-fix-freeze-freezing-cloned-models Fix freeze applying to cloned objects
| * | Fix freeze applying to cloned objectsCaleb Thompson2013-04-151-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, freezing a cloned ActiveRecord object froze the original too. By cloning `@attributes` before freezing, we prevent cloned objects (which in Ruby share state of ivars) from being effected by `#freeze`. Resolves issue #4936, which has further information on this issue, as well as steps to reproduce. * Add a test case for `#freeze` not causing `cloned.frozen?` to be true. * Clone @attributes before freezing in `ActiveRecord::Core`, then reassign the cloned, frozen hash to the frozen model's `@attributes` ivar. /cc @steveklabnik
* | | Revert "Merge pull request #10043 from cconstantine/master"Rafael Mendonça França2013-04-181-15/+0
| | | | | | | | | | | | | | | | | | | | | This reverts commit 521035af530482d6d9ad2dae568eaeb0ab188e1c, reversing changes made to 222011dbee842bbc60d3aaaa3145356b90a30fd1. Reason: This broke the tests
* | | Merge pull request #10043 from cconstantine/masterRafael Mendonça França2013-04-181-0/+15
|\ \ \ | | | | | | | | DB with postgres string array column doesn't load fixtures well
| * | | Fix loading of string arrays in postgresChris Constantine2013-04-081-0/+15
| | | |
* | | | Merge pull request #10258 from thenickcox/pending_migrations_pluralRafael Mendonça França2013-04-181-3/+3
|\ \ \ \ | | | | | | | | | | Fix subject-verb agreement in error msg (and other grammar stuff)
| * | | | Fix subject-verb agreement in error msg (and other grammar stuff)thenickcox2013-04-171-3/+3
| | | | |
* | | | | add :nodoc: mark to *Registry classes [ci skip]Francesco Rodriguez2013-04-172-4/+4
| | | | |
* | | | | let EXPLAIN use a thread locals registry [John J. Wang & Xavier Noria]Xavier Noria2013-04-163-9/+41
| | | | | | | | | | | | | | | | | | | | Closes #10198.
* | | | | Fix #7619. 0x prefix must be added when assigning hexadecimal string into ↵kennyj2013-04-171-2/+4
| | | | | | | | | | | | | | | | | | | | bit column in Postgresql, because solving ambiguity.
* | | | | Use db:test:load instead of db:test:load_schemaPiotr Sarnacki2013-04-161-1/+1
| |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | db:test:load task should be favored over db:test:load_schema, because it checks for chosen format (ActiveRecord::Base.schema_format). closes #10227
* | | | Add OID::Bit for supporting bit string.kennyj2013-04-162-2/+19
| | | |
* | | | Merge pull request #10214 from mattetti/ar_postgres_byteaRafael Mendonça França2013-04-151-0/+1
|\ \ \ \ | | | | | | | | | | AR postgres binary bug fix
| * | | | fix for the bytea/binary nil value bugMatt Aimonetti2013-04-141-0/+1
| | |_|/ | |/| |
* / | | Document collection.create! on has_many associations in ActiveRecordMario Visic2013-04-151-0/+4
|/ / /
* | | Merge branch 'master' of github.com:lifo/docrailsVijay Dev2013-04-132-7/+7
|\ \ \
| * | | fix :nodoc: mark on AR::AttributeMethods::Serialization [ci skip]Francesco Rodriguez2013-04-121-2/+2
| | | |
| * | | minor edit on StatementCache documentation [ci skip]Francesco Rodriguez2013-04-121-1/+1
| | | |
| * | | Fix StatementCache docs format [ci skip]Francesco Rodriguez2013-04-111-5/+5
| | | |
* | | | hides the per thread registry instance, and caches singleton methodsXavier Noria2013-04-131-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Existing code was delegating to the instance with delegate macro calls, or invoking the instance method to reach the object and call its instance methods. But the point is to have a clean class-level interface where the thread local instance is hidden in the implementation. References #11c6973. References #10198.
* | | | removes calls to AR::Runtime.instanceXavier Noria2013-04-133-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Registries have class-level accessors to write clean code, let's use them. This makes style uniform also with existing usage in ScopeRegistry and InstrumentationRegistry. If performance of the method_missing callback was ever considered to be a concern, then we should stop using it altogether and probably remove the callback. But while we have the feature we should use it.
* | | | simplifies the RDoc of AR::RuntimeRegistryXavier Noria2013-04-131-20/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous version was kind of duplicating the documentation of AS::PerThreadRegistry. Just say how to use it, the thread locals registry is know part of our vocabulary (though a pointer to Active Support is added for reference).
* | | | complete rewrite of the documentation of AS::PerThreadRegistryXavier Noria2013-04-131-1/+1
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | * It focuses on how to use it. * Removes some ambigueties in the original docs about whether the state is stored in the class. * Documents it provides class-level accessors via method_missing. * Documents that if the extended class has an initializer, it must accept no arguments.
* | | Merge branch 'master' of github.com:lifo/docrailsVijay Dev2013-04-117-8/+19
|\ \ \ | | | | | | | | | | | | | | | | Conflicts: guides/source/action_mailer_basics.md
| * | | JoinPart is no longer an abstract classNeeraj Singh2013-04-081-1/+1
| | | |
| * | | update ActiveRecord::AttributeMethods::Serialization documentation [ci skip]Francesco Rodriguez2013-04-041-0/+7
| | | |
| * | | mark ReversibleBlockHelper as :nodoc: [ci skip]Francesco Rodriguez2013-04-041-1/+1
| | | |
| * | | mark relation mutator as :nodoc: [ci skip]Francesco Rodriguez2013-04-021-2/+1
| | | |
| * | | minor copy editingNeeraj Singh2013-03-303-4/+9
| | | |
* | | | Switched to new naming conventionsNoemj2013-04-111-1/+1
| | | | | | | | | | | | | | | | [ci skip]
* | | | Remove warningCarlos Antonio da Silva2013-04-101-2/+2
| | | | | | | | | | | | | | | | warning: `*' interpreted as argument prefix
* | | | Merge pull request #10152 from Noemj/statement_cacheRafael Mendonça França2013-04-102-0/+27
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Statement cache Conflicts: activerecord/CHANGELOG.md
| * | | | Added statement cacheNoemj2013-04-102-0/+27
| | | | |
* | | | | Merge pull request #10168 from neerajdotname/simple_improvementsRafael Mendonça França2013-04-103-5/+39
|\ \ \ \ \ | | | | | | | | | | | | Simple improvements
| * | | | | converge three lines into oneNeeraj Singh2013-04-101-3/+1
| | | | | |
| * | | | | rdoc for some of the methods in JoinDependencyNeeraj Singh2013-04-102-0/+36
| | | | | |
| * | | | | remove_duplicate_results! should be protectedNeeraj Singh2013-04-101-2/+2
| | | | | |
* | | | | | Revert "Merge pull request #6226 from gnufied/master"Rafael Mendonça França2013-04-101-2/+6
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 9bf1a0db4acbbf9e8e6f707250269185224e7efe, reversing changes made to fed97091b9546d369a240d10b184793d49247dd3. Conflicts: activerecord/test/cases/transaction_callbacks_test.rb Reason: This fix introduces another issue described at #8937, so we are reverting it to restore the behavior of 3-2-stable. We will fix both issues when we come out with a better solution