Item::Item(THD *thd, Item *item):
  Type_all_attributes(item),
  join_tab_idx(item->join_tab_idx),
  is_expensive_cache(-1),
  rsize(0),
  str_value(item->str_value),
  name(item->name),
  orig_name(item->orig_name),
  marker(item->marker),
  maybe_null(item->maybe_null),
  in_rollup(item->in_rollup),
  null_value(item->null_value),
  with_sum_func(item->with_sum_func),
  with_param(item->with_param),
  with_window_func(item->with_window_func),
  with_field(item->with_field),
  fixed(item->fixed),
  is_autogenerated_name(item->is_autogenerated_name)
{
  next= thd->free_list;				// Put in free list
  thd->free_list= this;
}
Item::Item(THD *thd, Item *item):
  Type_all_attributes(item),
  join_tab_idx(item->join_tab_idx),
  is_expensive_cache(-1),
  rsize(0),
  str_value(item->str_value),
  name(item->name),
  orig_name(item->orig_name),
  marker(item->marker),
  maybe_null(item->maybe_null),
  in_rollup(item->in_rollup),
  null_value(item->null_value),
  with_sum_func(item->with_sum_func),
  with_param(item->with_param),
  with_window_func(item->with_window_func),
  with_field(item->with_field),
  fixed(item->fixed),
  is_autogenerated_name(item->is_autogenerated_name)
{
  next= thd->free_list;				 
  thd->free_list= this;
}