summaryrefslogtreecommitdiff
path: root/sql/item_strfunc.h
diff options
context:
space:
mode:
authorIgor Babaev <igor@askmonty.org>2017-11-05 22:52:41 -0800
committerIgor Babaev <igor@askmonty.org>2017-11-05 22:52:41 -0800
commit343bcb152f87a0ec44f940b73993d684d04def43 (patch)
tree8f3174d88c0d72b035c86435a96262a13d358b7a /sql/item_strfunc.h
parente0cd6f4b0767b62723f9e332b94d8f34f59edbbc (diff)
downloadmariadb-git-343bcb152f87a0ec44f940b73993d684d04def43.tar.gz
Fixed mdev-14237 Server crash on query with regexp_substr
It's better to prohibit pushdown of conditions that involve regexp_substr() and regexp_replace() into materialized derived tables / views until proper implementations of the get_copy() virtual method are provided for those functions.
Diffstat (limited to 'sql/item_strfunc.h')
-rw-r--r--sql/item_strfunc.h6
1 files changed, 2 insertions, 4 deletions
diff --git a/sql/item_strfunc.h b/sql/item_strfunc.h
index e2dcab01e3b..181a4e2a747 100644
--- a/sql/item_strfunc.h
+++ b/sql/item_strfunc.h
@@ -333,8 +333,7 @@ public:
bool fix_fields(THD *thd, Item **ref);
void fix_length_and_dec();
const char *func_name() const { return "regexp_replace"; }
- Item *get_copy(THD *thd, MEM_ROOT *mem_root)
- { return get_item_copy<Item_func_regexp_replace>(thd, mem_root, this); }
+ Item *get_copy(THD *thd, MEM_ROOT *mem_root) { return 0;}
};
@@ -356,8 +355,7 @@ public:
bool fix_fields(THD *thd, Item **ref);
void fix_length_and_dec();
const char *func_name() const { return "regexp_substr"; }
- Item *get_copy(THD *thd, MEM_ROOT *mem_root)
- { return get_item_copy<Item_func_regexp_substr>(thd, mem_root, this); }
+ Item *get_copy(THD *thd, MEM_ROOT *mem_root) { return 0; }
};