| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|\
| |
| | |
AR::Relation#model would be a better API than AR::Relation#klass
|
| | |
|
|\ \
| | |
| | | |
Improve eager load on Rails
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
|/ / |
|
| |
| |
| |
| |
| |
| | |
associations with the same foreign key.
This closes #5200.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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 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.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| | |
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.
|
|\ \
| | |
| | |
| | |
| | | |
brainopia/use_inversed_parent_for_first_and_last_child
Use inversed parent for first and last child of has_many association
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
Cleans up a lot of noise from arguments being passed from one method to
another.
|
| | |
| | |
| | |
| | |
| | | |
This should make it easier to refactor and improve this code, and remove
complexity with params going around here and there.
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
Avoid doing a new column lookup for the attribute, since we already have
the column to check for the klass.
|
| | |
| | |
| | |
| | |
| | | |
Move some methods to the top to better organize them, since they're used
right at the beginning of the multiparameter assignment method chain.
|
|/ / |
|
|\ \
| | |
| | |
| | |
| | | |
ernie/fix-nomethoderror-on-non-attribute-equalities
Fix merge error when Equality LHS is non-attribute
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Checking respond_to? incurs overhead, and most of the time when
assigning attributes it will return true. So just handle the
NoMethodError instead.
|
| | |
| | |
| | |
| | |
| | |
| | | |
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?
|
| | |
| | |
| | |
| | | |
Rather than doing it every time an instance is instantiated.
|
| | |
| | |
| | |
| | | |
Those z's were hard to type.
|
| | |
| | |
| | |
| | |
| | | |
deep_dup is slow. we only need to dup the values, so just do that
directly.
|
| | |
| | |
| | |
| | | |
Fixes #7374
|
|\ \ \
| | | |
| | | | |
Fix occasional microsecond conversion inaccuracy
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
|/ /
| |
| |
| | |
For consistency with the other AR extension plugins we are creating.
|