diff options
author | Sean Griffin <sean@seantheprogrammer.com> | 2016-01-12 14:34:42 -0700 |
---|---|---|
committer | Sean Griffin <sean@seantheprogrammer.com> | 2016-01-12 14:38:25 -0700 |
commit | 5d41cb3bfd6b19833261622ce5d339b1e580bd8b (patch) | |
tree | 46ed63b4dd8f07e9b13abb0987eb3afe41962b1d /actionpack/test | |
parent | 858b9652ced5438127e6c6404bf3f9cae9699985 (diff) | |
download | rails-5d41cb3bfd6b19833261622ce5d339b1e580bd8b.tar.gz rails-5d41cb3bfd6b19833261622ce5d339b1e580bd8b.tar.bz2 rails-5d41cb3bfd6b19833261622ce5d339b1e580bd8b.zip |
Change `WhereClause#merge` to same named columns on diff tables
While the predicates are an arel equality node where the left side is a
full arel attribute, the binds just have the name of the column and
nothing else. This means that while splitting the predicates can include
the table as a factor, the binds cannot. It's entirely possible that we
might be able to have the bind params carry a bit more information (I
don't believe the name is used for anything but logging), and that is
probably a worthwhile change to make in the future.
However the simplest (and likely slightly faster) solution is to simply
use the indices of the conflicts in both cases. This means that we only
have to compute the collision space once, instead of twice even though
we're doing an additional array iteration. Regardless, this method isn't
a performance hotspot.
Close #22823.
[Ben Woosley & Sean Griffin]
Diffstat (limited to 'actionpack/test')
0 files changed, 0 insertions, 0 deletions