Commit 923827e2 authored by Oleksandr Byelkin's avatar Oleksandr Byelkin

MDEV-7949: Item_field::used_tables() takes 0.29% in OLTP RO

Part 2: removed hack workaround for bug we do not have.
parent fb4358f4
...@@ -626,8 +626,7 @@ String *Item_func_concat::val_str(String *str) ...@@ -626,8 +626,7 @@ String *Item_func_concat::val_str(String *str)
if (!(res=args[0]->val_str(str))) if (!(res=args[0]->val_str(str)))
goto null; goto null;
use_as_buff= &tmp_value; use_as_buff= &tmp_value;
/* Item_subselect in --ps-protocol mode will state it as a non-const */ is_const= args[0]->const_item();
is_const= args[0]->const_item() || !args[0]->used_tables();
for (i=1 ; i < arg_count ; i++) for (i=1 ; i < arg_count ; i++)
{ {
if (res->length() == 0) if (res->length() == 0)
...@@ -639,7 +638,7 @@ String *Item_func_concat::val_str(String *str) ...@@ -639,7 +638,7 @@ String *Item_func_concat::val_str(String *str)
non-empty argument. Because of this we need is_const to be non-empty argument. Because of this we need is_const to be
evaluated only for it. evaluated only for it.
*/ */
is_const= args[i]->const_item() || !args[i]->used_tables(); is_const= args[i]->const_item();
} }
else else
{ {
...@@ -986,7 +985,7 @@ String *Item_func_concat_ws::val_str(String *str) ...@@ -986,7 +985,7 @@ String *Item_func_concat_ws::val_str(String *str)
for (i=1; i < arg_count; i++) for (i=1; i < arg_count; i++)
if ((res= args[i]->val_str(str))) if ((res= args[i]->val_str(str)))
{ {
is_const= args[i]->const_item() || !args[i]->used_tables(); is_const= args[i]->const_item();
break; break;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment