diff options
author | Galina Shalygina <galina.shalygina@mariadb.com> | 2019-02-23 22:16:33 +0300 |
---|---|---|
committer | Galina Shalygina <galina.shalygina@mariadb.com> | 2019-03-07 12:35:18 +0300 |
commit | 2faefe5f7f432f8d9b3435dd8f4e2a37163c5527 (patch) | |
tree | 34c317557f3e364035f37687e06fa856a1f7ca8a /sql/item_cmpfunc.h | |
parent | 57dd892ce8dc93bcd7eee953e01ebe8ed7e414c8 (diff) | |
download | mariadb-git-2faefe5f7f432f8d9b3435dd8f4e2a37163c5527.tar.gz |
MDEV-18383: Missing rows with pushdown condition defined with IF-function
using Item_cond
This bug is similar to the bug MDEV-16765.
It appears because of the wrong pushdown into HAVING clause while this
pushdown shouldn't be made at all.
This happens because function that checks if Item_cond can be pushed
always returns that it can be pushed.
To fix it new method Item_cond::excl_dep_on_table() was added.
Diffstat (limited to 'sql/item_cmpfunc.h')
-rw-r--r-- | sql/item_cmpfunc.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sql/item_cmpfunc.h b/sql/item_cmpfunc.h index 1b119c743d3..d083248f6cd 100644 --- a/sql/item_cmpfunc.h +++ b/sql/item_cmpfunc.h @@ -2229,6 +2229,7 @@ public: Item_transformer transformer, uchar *arg_t); bool eval_not_null_tables(void *opt_arg); Item *build_clone(THD *thd, MEM_ROOT *mem_root); + bool excl_dep_on_table(table_map tab_map); bool excl_dep_on_grouping_fields(st_select_lex *sel); }; |