aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
Commit message (Collapse)AuthorAgeFilesLines
* don't call method unless we need toJon Leighton2012-08-171-1/+1
|
* align them assignmentsJon Leighton2012-08-171-4/+4
|
* Optimize for the happy pathJon Leighton2012-08-171-11/+14
| | | | | | Checking respond_to? incurs overhead, and most of the time when assigning attributes it will return true. So just handle the NoMethodError instead.
* Avoid #any?Jon Leighton2012-08-171-1/+1
| | | | | | any? will check that each item in the array is truthy, as opposed to !empty? which will simply check that the array has length. For an empty array, !empty? still seems to be faster than any?
* The default value can be set once in #column_defaultsJon Leighton2012-08-172-9/+16
| | | | Rather than doing it every time an instance is instantiated.
* Optimize instantiation for models which don't use serializeJon Leighton2012-08-171-13/+20
| | | | Those z's were hard to type.
* Avoid deep_dup when intantiating.Jon Leighton2012-08-171-2/+5
| | | | | deep_dup is slow. we only need to dup the values, so just do that directly.
* column default extraction should handle newlines.Aaron Patterson2012-08-172-2/+10
| | | | Fixes #7374
* Merge pull request #7352 from aripollak/microsecond-timestampRafael Mendonça França2012-08-174-3/+10
|\ | | | | Fix occasional microsecond conversion inaccuracy
| * Fix occasional microsecond conversion inaccuracyAri Pollak2012-08-154-3/+10
| | | | | | | | | | | | | | | | | | ActiveRecord::ConnectionAdapters::Column#microseconds did an unnecessary conversion to from Rational to float when calculating the integer number of microseconds. Some terminating decimal numbers in base10 are repeating decimal numbers in base2 (the format of float), and occasionally this causes a rounding error. Patch & explanation originally from Logan Bowers.
* | Increase benchmark time to 20 seconds.Jon Leighton2012-08-171-18/+18
| | | | | | | | | | | | | | | | | | I think that 5 seconds was a bit low for our purposes. Also enable it to be configured via env vars. We also need to scale the number of records up/down depending on how long we're running the benchmark for.
* | Use benchmark/ips to measure AR performanceJon Leighton2012-08-171-39/+34
| | | | | | | | | | | | This means we can more easily compare numbers, and we don't have to specify a single N for all reports, which previously meant that some tests were running many more/fewer iterations than necessary.
* | Renaming active_record_deprecated_finders to activerecord-deprecated_findersJon Leighton2012-08-176-11/+11
|/ | | | For consistency with the other AR extension plugins we are creating.
* Remove duplicated changelog entry [ci skip]Carlos Antonio da Silva2012-08-151-6/+0
|
* Move changelog entry to the top [ci skip]Carlos Antonio da Silva2012-08-151-5/+4
|
* Merge pull request #7133 from roshats/fix_update_all_with_blank_argumentCarlos Antonio da Silva2012-08-153-1/+11
|\ | | | | | | Change Relation#update_all with blank argument to raise an ArgumentError instead of trying an update with empty fields.
| * raise ArgumentError if list of attributes to change is empty in update_allRoman Shatsov2012-08-143-1/+11
| |
* | Restore state on create when ActiveRecord::RecordInvalid is raisedDave Yeu2012-08-113-1/+23
| | | | | | | | This fixes issue #3217.
* | Sync CHANGELOGs [ci skip]Rafael Mendonça França2012-08-111-3/+83
| |
* | Added changelog entry for table name prefix fix [ci skip]Wojciech Wnętrzak2012-08-111-0/+3
| |
* | fixup guides in light of :dependent changesJon Leighton2012-08-101-7/+7
| |
* | Use method compilation for association methodsJon Leighton2012-08-1012-89/+86
| | | | | | | | | | | | | | | | | | Method compilation provides better performance and I think the code comes out cleaner as well. A knock on effect is that methods that get redefined produce warnings. I think this is a good thing. I had to deal with a bunch of warnings coming from our tests, though.
* | DRY up handling of dependent optionJon Leighton2012-08-105-63/+22
| |
* | Unprivatise all the thingsJon Leighton2012-08-107-170/+156
| | | | | | | | | | | | Well, not all of them, but some of them. I don't think there's much reason for these methods to be private.
* | move dependency logic out of generated methodsJon Leighton2012-08-107-65/+64
| |
* | Clean up dependent option validation.Jon Leighton2012-08-104-14/+7
| | | | | | | | | | We don't need the complexity of to_sentence, and it shouldn't be a bang method.
* | Remove the dependent_restrict_raises option.Jon Leighton2012-08-1010-131/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's not really a good idea to have this as a global config option. We should allow people to specify the behaviour per association. There will now be two new values: * :dependent => :restrict_with_exception implements the current behaviour of :restrict. :restrict itself is deprecated in favour of :restrict_with_exception. * :dependent => :restrict_with_error implements the new behaviour - it adds an error to the owner if there are dependent records present See #4727 for the original discussion of this.
* | Merge pull request #7286 from kennyj/fix_7191Rafael Mendonça França2012-08-102-13/+28
|\ \ | | | | | | Fix #7191. Remove unnecessary transaction when assigning has_one associations.
| * | Fix #7191. Remove unnecessary transaction when assigning has_one associations.kennyj2012-08-082-13/+28
| | |
* | | Fix only-once stub logic.Steve Jorgensen2012-08-081-1/+1
| | | | | | | | | | | | | | | Didn't fail the test because adapter#query happens to not call raw connection's #query, but don't want to count on that and have a fragile test.
* | | Fix just-plain-wrongness of psql auto-reconnect test.Steve Jorgensen2012-08-071-8/+9
|/ / | | | | | | | | | | Full test requiring manual intervention was fine, but w/ simulated disconnect, assertion was backward & still passing. Was several kinds of wrong.
* | Merge pull request #7140 from seamusabshere/patch-1Rafael Mendonça França2012-08-052-2/+7
|\ \ | | | | | | | | | | | | Make sure :environment task is executed before db:schema:load or db:structure:load
| * | Update changelogRafael Mendonça França2012-08-051-0/+5
| | |
| * | Make sure :environment task is executed before db:schema:load or ↵Seamus Abshere2012-07-231-2/+2
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | db:structure:load Otherwise, if schema_format = :sql, you will see: $ rake db:setup --trace ** Invoke db:setup (first_time) ** Invoke db:schema:load_if_ruby (first_time) ** Invoke db:create (first_time) ** Invoke db:load_config (first_time) ** Invoke rails_env (first_time) ** Execute rails_env ** Execute db:load_config ** Execute db:create db_example_development already exists db_example_test already exists ** Execute db:schema:load_if_ruby #<-------- :environment hasn't been executed yet ** Invoke db:schema:load (first_time) ** Invoke environment (first_time) ** Execute environment ** Execute db:schema:load ~/db_example/db/schema.rb doesn't exist yet. Run `rake db:migrate` to create it then try again.
* | removes usage of Object#in? from the code base (the method remains defined ↵Xavier Noria2012-08-069-20/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | by Active Support) Selecting which key extensions to include in active_support/rails made apparent the systematic usage of Object#in? in the code base. After some discussion in https://github.com/rails/rails/commit/5ea6b0df9a36d033f21b52049426257a4637028d we decided to remove it and use plain Ruby, which seems enough for this particular idiom. In this commit the refactor has been made case by case. Sometimes include? is the natural alternative, others a simple || is the way you actually spell the condition in your head, others a case statement seems more appropriate. I have chosen the one I liked the most in each case.
* | Changing AR:CollectionAssociation#empty? to use #exists?beerlington2012-08-051-3/+11
| | | | | | | | | | COUNT(*) queries can be slow in PostgreSQL, #exists? avoids this by selecting a single record.
* | Remove warning: `*' interpreted as argument prefixArun Agrawal2012-08-051-1/+1
| |
* | Merge branch 'master' of github.com:lifo/docrailsVijay Dev2012-08-042-44/+64
|\ \ | | | | | | | | | | | | | | | Conflicts: activemodel/lib/active_model/secure_password.rb activerecord/lib/active_record/associations/collection_proxy.rb
| * | Revert "Fix string interpolation in belongs_to docs"Vijay Dev2012-08-041-1/+1
| | | | | | | | | | | | This reverts commit 3fb0100ef893b8cf229e82ce264b426e0c961eb1.
| * | Fix string interpolation in belongs_to docsFranco Catena2012-08-011-1/+1
| | |
| * | fix ActiveRecord::Associations::CollectionProxy documentationAccessd2012-07-311-1/+1
| | |
| * | update AR::Validations::AssociatedValidator documentation [ci skip]Francesco Rodriguez2012-07-291-13/+19
| | |
| * | update AR::Validations::UniquenessValidator documentation [ci skip]Francesco Rodriguez2012-07-291-31/+45
| | |
| * | Revert "Removed reference to composed_of."Rafael Mendonça França2012-07-271-0/+3
| | | | | | | | | | | | | | | | | | This reverts commit c34c1916d1d6cd6ba219aa39eb97fa2e77c4c61f. Reason: composed_of was added from now to discuss better
| * | Removed reference to composed_of.Steve Klabnik2012-07-231-3/+0
| | | | | | | | | | | | | | | It was previously removed from the code, so we shouldn't mention it in the docs
* | | Update Migration Docs: Defaults for Boolean FieldsThomas Klemm2012-08-041-1/+1
| | | | | | | | | A Boolean field will accept true or false as defaults instead of 0 / 1.
* | | Make ActiveRecord::Model::DeprecationProxy work betterJon Leighton2012-08-033-22/+55
| | | | | | | | | | | | Closes #6600
* | | Update the docs to reflect the new association APIJon Leighton2012-08-031-190/+80
| | |
* | | Don't eager load all thisSantiago Pastorino2012-08-031-32/+33
| | | | | | | | | | | | | | | Some are loaded from Base which is loaded when a model inherits from it and some others are used in rake tasks
* | | Remove ActiveRecord::Base.to_aJon Leighton2012-08-0317-63/+54
| | | | | | | | | | | | | | | On reflection, it seems like a bit of a weird method to have on ActiveRecord::Base, and it shouldn't be needed most of the time anyway.