summaryrefslogtreecommitdiff
path: root/sql/item_cmpfunc.h
diff options
context:
space:
mode:
authorGalina Shalygina <galina.shalygina@mariadb.com>2019-02-23 22:16:33 +0300
committerGalina Shalygina <galina.shalygina@mariadb.com>2019-03-07 12:35:18 +0300
commit2faefe5f7f432f8d9b3435dd8f4e2a37163c5527 (patch)
tree34c317557f3e364035f37687e06fa856a1f7ca8a /sql/item_cmpfunc.h
parent57dd892ce8dc93bcd7eee953e01ebe8ed7e414c8 (diff)
downloadmariadb-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.h1
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);
};