diff options
author | Jorgen Loland <jorgen.loland@sun.com> | 2009-11-03 13:48:59 +0100 |
---|---|---|
committer | Jorgen Loland <jorgen.loland@sun.com> | 2009-11-03 13:48:59 +0100 |
commit | bec35067d343438ec3f412510a3ecefca17c5e8d (patch) | |
tree | dafa39b59fac604b6c0c3879dc53946316fe398c /vio/vio_priv.h | |
parent | 9519c8e597ed46de2276f36cf91e0693ae0854fc (diff) | |
download | mariadb-git-bec35067d343438ec3f412510a3ecefca17c5e8d.tar.gz |
Bug#48177 - SELECTs with NOT IN subqueries containing NULL
values return too many records
WHERE clauses with "outer_value_list NOT IN subselect" were
handled incorrectly if the outer value list contained multiple
items where at least one of these could be NULL. The first
outer record with NULL value was handled correctly, but if a
second record with NULL value existed, the optimizer would
choose to reuse the result it got on the last execution of the
subselect. This is incorrect if the outer value list has
multiple items.
The fix is to make Item_in_optimizer::val_int (in
item_cmpfunc.cc) reuse the result of the latest execution
for NULL values only if all values in the outer_value_list
are NULL.
mysql-test/r/subselect3.result:
Added test for BUG#48177
mysql-test/t/subselect3.test:
Added test for BUG#48177
sql/item_cmpfunc.cc:
Make Item_in_optimizer::val_int (in item_cmpfunc.cc) reuse the result of the latest execution for NULL values only if all values in the outer_value_list are NULL.
Diffstat (limited to 'vio/vio_priv.h')
0 files changed, 0 insertions, 0 deletions