summaryrefslogtreecommitdiff
path: root/storage/spider/spd_db_mysql.cc
diff options
context:
space:
mode:
Diffstat (limited to 'storage/spider/spd_db_mysql.cc')
-rw-r--r--storage/spider/spd_db_mysql.cc22
1 files changed, 13 insertions, 9 deletions
diff --git a/storage/spider/spd_db_mysql.cc b/storage/spider/spd_db_mysql.cc
index 1710286dcb8..ce4e36b93b2 100644
--- a/storage/spider/spd_db_mysql.cc
+++ b/storage/spider/spd_db_mysql.cc
@@ -5531,6 +5531,7 @@ int spider_db_mbase_util::open_item_func(
int error_num;
Item *item, **item_list = item_func->arguments();
Field *field;
+ spider_string tmp_str;
uint roop_count, item_count = item_func->argument_count(), start_item = 0;
const char *func_name = SPIDER_SQL_NULL_CHAR_STR,
*separator_str = SPIDER_SQL_NULL_CHAR_STR,
@@ -5983,10 +5984,11 @@ int spider_db_mbase_util::open_item_func(
if (str)
{
- char tmp_buf[MAX_FIELD_WIDTH], *tmp_ptr, *tmp_ptr2;
- spider_string tmp_str(tmp_buf, MAX_FIELD_WIDTH, str->charset());
+ char *tmp_ptr, *tmp_ptr2;
+ DBUG_ASSERT(tmp_str.length() == 0);
+ tmp_str.set_charset(str->charset());
tmp_str.init_calc_mem(123);
- tmp_str.length(0);
+ tmp_str.reserve(MAX_FIELD_WIDTH);
str->length(str->length() - SPIDER_SQL_OPEN_PAREN_LEN);
if (!merge_func)
{
@@ -6117,10 +6119,11 @@ int spider_db_mbase_util::open_item_func(
if (str)
{
- char tmp_buf[MAX_FIELD_WIDTH], *tmp_ptr, *tmp_ptr2;
- spider_string tmp_str(tmp_buf, MAX_FIELD_WIDTH, str->charset());
+ char *tmp_ptr, *tmp_ptr2;
+ DBUG_ASSERT(tmp_str.length() == 0);
+ tmp_str.set_charset(str->charset());
tmp_str.init_calc_mem(124);
- tmp_str.length(0);
+ tmp_str.reserve(MAX_FIELD_WIDTH);
str->length(str->length() - SPIDER_SQL_OPEN_PAREN_LEN);
if (!merge_func)
{
@@ -6271,10 +6274,11 @@ int spider_db_mbase_util::open_item_func(
if (str)
{
- char tmp_buf[MAX_FIELD_WIDTH], *tmp_ptr, *tmp_ptr2;
- spider_string tmp_str(tmp_buf, MAX_FIELD_WIDTH, str->charset());
+ char *tmp_ptr, *tmp_ptr2;
+ DBUG_ASSERT(tmp_str.length() == 0);
+ tmp_str.set_charset(str->charset());
tmp_str.init_calc_mem(125);
- tmp_str.length(0);
+ tmp_str.reserve(MAX_FIELD_WIDTH);
str->length(str->length() - SPIDER_SQL_OPEN_PAREN_LEN);
if (!merge_func)
{