| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |
|
| | |
|
|\ \
| | |
| | |
| | | |
Change Relation#update_all with blank argument to raise an ArgumentError
instead of trying an update with empty fields.
|
| | | |
|
| | |
| | |
| | |
| | | |
This fixes issue #3217.
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Well, not all of them, but some of them.
I don't think there's much reason for these methods to be private.
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
We don't need the complexity of to_sentence, and it shouldn't be a bang
method.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
|\ \ \
| | | |
| | | | |
Fix #7191. Remove unnecessary transaction when assigning has_one associations.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
|/ / /
| | |
| | |
| | |
| | |
| | | |
Full test requiring manual intervention was fine, but
w/ simulated disconnect, assertion was backward & still
passing. Was several kinds of wrong.
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
Make sure :environment task is executed before db:schema:load or
db:structure:load
|
| | | | |
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |
| | |
| | |
| | |
| | | |
COUNT(*) queries can be slow in PostgreSQL, #exists? avoids this by
selecting a single record.
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
activemodel/lib/active_model/secure_password.rb
activerecord/lib/active_record/associations/collection_proxy.rb
|
| | | |
| | | |
| | | |
| | | | |
This reverts commit 3fb0100ef893b8cf229e82ce264b426e0c961eb1.
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This reverts commit c34c1916d1d6cd6ba219aa39eb97fa2e77c4c61f.
Reason: composed_of was added from now to discuss better
|