int spider_mysql_handler::init()
{
uint roop_count;
THD *thd = spider->trx->thd;
st_spider_share *share = spider->share;
int init_sql_alloc_size =
spider_param_init_sql_alloc_size(thd, share->init_sql_alloc_size);
TABLE *table = spider->get_table();
DBUG_ENTER("spider_mysql_handler::init");
DBUG_PRINT("info",("spider this=%p", this));
sql.init_calc_mem(59);
sql_part.init_calc_mem(60);
sql_part2.init_calc_mem(61);
ha_sql.init_calc_mem(62);
insert_sql.init_calc_mem(64);
update_sql.init_calc_mem(65);
tmp_sql.init_calc_mem(66);
dup_update_sql.init_calc_mem(166);
if (
(sql.real_alloc(init_sql_alloc_size)) ||
(insert_sql.real_alloc(init_sql_alloc_size)) ||
(update_sql.real_alloc(init_sql_alloc_size)) ||
(tmp_sql.real_alloc(init_sql_alloc_size))
)
{
DBUG_RETURN(HA_ERR_OUT_OF_MEM);
}
sql.set_charset(share->access_charset);
sql_part.set_charset(share->access_charset);
ha_sql.set_charset(share->access_charset);
insert_sql.set_charset(share->access_charset);
update_sql.set_charset(share->access_charset);
tmp_sql.set_charset(share->access_charset);
dup_update_sql.set_charset(share->access_charset);
sql_part2.set_charset(share->access_charset);
In our environment, we add this charset init for "dup_update_sql".
willhan
I fixed this issue. Please check the following commit.
3eee025