From 1bae0d9e5669c2d03209082142e892417e24d09a Mon Sep 17 00:00:00 2001 From: Monty Date: Thu, 20 Aug 2015 15:24:13 +0300 Subject: Stage 2 of MDEV-6152: - Added mem_root to all calls to new Item - Added private method operator new(size_t size) to Item to ensure that we always use a mem_root when creating an item. This saves use once call to current_thd per Item creation --- plugin/feedback/feedback.cc | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'plugin') diff --git a/plugin/feedback/feedback.cc b/plugin/feedback/feedback.cc index f1f4febc69e..a762522136e 100644 --- a/plugin/feedback/feedback.cc +++ b/plugin/feedback/feedback.cc @@ -99,20 +99,23 @@ static COND* make_cond(THD *thd, TABLE_LIST *tables, LEX_STRING *filter) nrc.init(); nrc.resolve_in_table_list_only(tables); - res= new Item_cond_or(thd); + res= new (thd->mem_root) Item_cond_or(thd); if (!res) return OOM; for (; filter->str; filter++) { - Item_field *fld= new Item_field(thd, &nrc, db, table, field); - Item_string *pattern= new Item_string(thd, filter->str, filter->length, cs); - Item_string *escape= new Item_string(thd, "\\", 1, cs); + Item_field *fld= new (thd->mem_root) Item_field(thd, &nrc, db, table, + field); + Item_string *pattern= new (thd->mem_root) Item_string(thd, filter->str, + filter->length, cs); + Item_string *escape= new (thd->mem_root) Item_string(thd, "\\", 1, cs); if (!fld || !pattern || !escape) return OOM; - Item_func_like *like= new Item_func_like(thd, fld, pattern, escape, 0); + Item_func_like *like= new (thd->mem_root) Item_func_like(thd, fld, pattern, + escape, 0); if (!like) return OOM; -- cgit v1.2.1