diff options
author | Igor Babaev <igor@askmonty.org> | 2021-03-23 20:54:54 -0700 |
---|---|---|
committer | Igor Babaev <igor@askmonty.org> | 2021-03-23 20:54:54 -0700 |
commit | 480a06718d137c9ee7784012ccb609b9e79ff08c (patch) | |
tree | 18180eab82208cf959f41839be2c9207d5644af1 /storage/rocksdb | |
parent | 7d5ec9f1aeec1ea8d00a0aa5bfec521948cfb8be (diff) | |
download | mariadb-git-480a06718d137c9ee7784012ccb609b9e79ff08c.tar.gz |
MDEV-25128 Wrong result from join with materialized semi-join and
splittable derived
If one of joined tables of the processed query is a materialized derived
table (or view or CTE) with GROUP BY clause then under some conditions it
can be subject to split optimization. With this optimization new equalities
are injected into the WHERE condition of the SELECT that specifies this
derived table. The injected equalities are generated for all join orders
with which the split optimization can employed. After the best join order
has been chosen only certain of this equalities are really needed. The
others can be safely removed. If it's not done and some of injected
equalities involve expressions over semi-joins with look-up access then
the query may return a wrong result set.
This patch effectively removes equalities injected for split optimization
that are needed only at the optimization stage and not needed for execution.
Approved by serg@mariadb.com
Diffstat (limited to 'storage/rocksdb')
0 files changed, 0 insertions, 0 deletions