aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
Commit message (Collapse)AuthorAgeFilesLines
* Update the documentation for the :autosave optionDavid Celis2012-08-231-1/+3
| | | | | | | | | | | I've noticed a caveat with the :autosave option biting people before. Questions arise about why they must explicitly save an associated object in their own before_save callbacks. I've updated the documentation as such to note to users that the :autosave callback occurs before any user defined callbacks. They must save the associated record themselves if altering it in their own callbacks. Signed-off-by: David Celis <david@davidcelis.com>
* Merge pull request #6606 from amatsuda/ar_relation_model_methodRafael Mendonça França2012-08-212-0/+6
|\ | | | | AR::Relation#model would be a better API than AR::Relation#klass
| * AR::Relation#model would be a better API than AR::Relation#klassAkira Matsuda2012-06-032-0/+6
| |
* | Merge pull request #7225 from rails/eager_loadJosé Valim2012-08-212-0/+12
|\ \ | | | | | | Improve eager load on Rails
| * | Get rid of config.preload_frameworks in favor of config.eager_load_namespacesJosé Valim2012-08-212-0/+12
| | | | | | | | | | | | | | | | | | | | | The new option allows any Ruby namespace to be registered and set up for eager load. We are effectively exposing the structure existing in Rails since v3.0 for all developers in order to make their applications thread-safe and CoW friendly.
* | | Use a model without counter cache to test read-only attributesRafael Mendonça França2012-08-211-9/+10
|/ /
* | reset_counters() was crashing when there were multiple belongs_to ↵Dave Desrochers2012-08-218-2/+36
| | | | | | | | | | | | associations with the same foreign key. This closes #5200.
* | Refactor AR::Result or inherits. Because we have redundant codes aboutkennyj2012-08-223-18/+4
| |
* | Rename to test_mysql_strict_mode_disabled_dont_override_global_sql_modeYasuo Honda2012-08-222-6/+8
| | | | | | | | | | | | | | | | | | Reason since MySQL 5.6.6-m9 the `sql_mode` default value is `NO_ENGINE_SUBSTITUTION`. This default parameter change is out of control from Rails. This test verifies Rails not overriding the default `@@GLOBAL.sql_mode` value by checking if `@@GLOBAL.sql_mode` is the same as `@@SESSION.sql_mode`.
* | Use instance_accessor: false instead of instance_writer.kennyj2012-08-217-11/+29
| |
* | Add CHANGELOG entry for #6986Rafael Mendonça França2012-08-211-0/+5
| |
* | Round usec when writing timestamp attribute.kennyj2012-08-212-5/+29
| |
* | Minor refactoring in Active Record model schema methodsCarlos Antonio da Silva2012-08-211-5/+3
| | | | | | | | | | | | * Use each_key instead of generating intermediate keys array. * Use each_with_object instead of inject to build hash. * Use ternary to return instead of if + assignment.
* | removing dead codeAaron Patterson2012-08-201-19/+7
| |
* | define singleton methods rather than adding and removing methodsAaron Patterson2012-08-201-45/+32
| |
* | remove dead codeAaron Patterson2012-08-201-78/+36
| |
* | initialize instance variables for transactions to remove conditionalsAaron Patterson2012-08-202-8/+7
| |
* | This method is useless without a block, so remove testAaron Patterson2012-08-201-11/+9
| |
* | remove unused variableAaron Patterson2012-08-201-1/+1
| |
* | initialize instance variables to avoid conditionalsAaron Patterson2012-08-201-2/+7
| |
* | fix whitespace errorsAaron Patterson2012-08-201-2/+2
| |
* | Remove private verify readonly attr methodCarlos Antonio da Silva2012-08-191-5/+1
| | | | | | | | | | | | | | | | | | | | This method was added to be shared between update_attribute and update_column in 50725cec397d4fa0ecf1dda4e6ae845a993f1ba7, but since update_attribute was removed, and update_column has changed to delegate to update_columns, the method is not used anywhere anymore. Also remove "key.to_s" conversion when raising readonly error, since the key is being interpolated.
* | Fix "last equality wins" logic in relation mergeErnie Miller2012-08-192-14/+12
| | | | | | | | | | | | This is a real fix (as compared to the band-aid in b127d86c), which uses the recently-added equality methods for ARel nodes. It has the side benefit of simplifying the merge code a bit.
* | Merge pull request #7377 from ↵Carlos Antonio da Silva2012-08-183-1/+11
|\ \ | | | | | | | | | | | | brainopia/use_inversed_parent_for_first_and_last_child Use inversed parent for first and last child of has_many association
| * | Use inversed parent for first and last child of has_many associationbrainopia2012-08-183-1/+11
| | |
* | | Get rid of some arguments by using the accessorsCarlos Antonio da Silva2012-08-181-30/+31
| | | | | | | | | | | | | | | Cleans up a lot of noise from arguments being passed from one method to another.
* | | Move multiparameter attribute logic to a classCarlos Antonio da Silva2012-08-181-72/+84
| | | | | | | | | | | | | | | This should make it easier to refactor and improve this code, and remove complexity with params going around here and there.
* | | Some more cleanup to use Hash#values_at, and some method docsCarlos Antonio da Silva2012-08-181-3/+7
| | |
* | | Use cached column information to instantiate time objectCarlos Antonio da Silva2012-08-181-6/+6
| | |
* | | Refactor blank date parameter validationCarlos Antonio da Silva2012-08-181-2/+6
| | |
* | | Refactor missing parameter validation based on positionCarlos Antonio da Silva2012-08-182-8/+12
| | |
* | | Reuse already fetched column to check for :timeCarlos Antonio da Silva2012-08-181-5/+6
| | | | | | | | | | | | | | | Avoid doing a new column lookup for the attribute, since we already have the column to check for the klass.
* | | Refactor some code in multiparameter assignmentCarlos Antonio da Silva2012-08-181-26/+25
| | | | | | | | | | | | | | | Move some methods to the top to better organize them, since they're used right at the beginning of the multiparameter assignment method chain.
* | | Extract nested parameter assignment to a separate methodCarlos Antonio da Silva2012-08-181-3/+6
|/ /
* | Merge pull request #7380 from ↵Aaron Patterson2012-08-172-2/+21
|\ \ | | | | | | | | | | | | ernie/fix-nomethoderror-on-non-attribute-equalities Fix merge error when Equality LHS is non-attribute
| * | Fix merge error when Equality LHS is non-attributeErnie Miller2012-08-172-2/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | This is at best a band-aid for a more proper fix, since it won't truly handle the removal of the previous equality condition of these other nodes. I'm planning to put in some work on ARel toward supporting that goal. Related: rails/arel#130, ernie/squeel#153, ernie/squeel#156
* | | Pull more serialize code into a lazy included moduleJon Leighton2012-08-171-60/+63
| | |
* | | 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.