diff options
author | Igor Babaev <igor@askmonty.org> | 2017-11-05 22:52:41 -0800 |
---|---|---|
committer | Igor Babaev <igor@askmonty.org> | 2017-11-05 22:52:41 -0800 |
commit | 343bcb152f87a0ec44f940b73993d684d04def43 (patch) | |
tree | 8f3174d88c0d72b035c86435a96262a13d358b7a /sql/item_strfunc.h | |
parent | e0cd6f4b0767b62723f9e332b94d8f34f59edbbc (diff) | |
download | mariadb-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.h | 6 |
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; } }; |