summaryrefslogtreecommitdiff
path: root/sql/item_row.h
diff options
context:
space:
mode:
authorIgor Babaev <igor@askmonty.org>2017-06-22 00:41:44 -0700
committerIgor Babaev <igor@askmonty.org>2017-06-22 22:06:03 -0700
commit9f3622191df074d9f4e512320effe86f06b250fb (patch)
tree16aadc76e982cb17349df79a381af23fec27b2f8 /sql/item_row.h
parenta8131e71f9504a7399bc9a7f312b14ed6700d099 (diff)
downloadmariadb-git-9f3622191df074d9f4e512320effe86f06b250fb.tar.gz
Fixed the bug mdev-12845.
This patch fills in a serious flaw in the code that supports condition pushdown into materialized views / derived tables. If a predicate happened to contain a reference to a mergeable view / derived table and it does not depended directly on the target materialized view / derived table then the predicate was not considered as a subject to pusdown to this view / derived table.
Diffstat (limited to 'sql/item_row.h')
-rw-r--r--sql/item_row.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/sql/item_row.h b/sql/item_row.h
index 26468336dc8..cd58e15fe8b 100644
--- a/sql/item_row.h
+++ b/sql/item_row.h
@@ -126,6 +126,16 @@ public:
return this;
}
+ bool excl_dep_on_table(table_map tab_map)
+ {
+ return Item_args::excl_dep_on_table(tab_map);
+ }
+
+ bool excl_dep_on_grouping_fields(st_select_lex *sel)
+ {
+ return Item_args::excl_dep_on_grouping_fields(sel);
+ }
+
bool check_vcol_func_processor(void *arg) {return FALSE; }
Item *get_copy(THD *thd, MEM_ROOT *mem_root)
{ return get_item_copy<Item_row>(thd, mem_root, this); }