summaryrefslogtreecommitdiff
path: root/storage/spider
diff options
context:
space:
mode:
authorAlexander Barkov <bar@mariadb.org>2017-07-12 22:54:49 +0400
committerAlexander Barkov <bar@mariadb.org>2017-07-12 22:54:49 +0400
commitdaec0004502a1f8c2ff7d46de92a61b5c4da1d6c (patch)
tree4b74130669a2558980be4ede5a2b3144c9f6fcd4 /storage/spider
parent0f348bcd965cd47784634508da2202aba2dc0547 (diff)
parent1d730ac42d58b5364690634260f915daea659259 (diff)
downloadmariadb-git-daec0004502a1f8c2ff7d46de92a61b5c4da1d6c.tar.gz
Merge remote-tracking branch 'origin/10.2' into bb-10.2-ext
Diffstat (limited to 'storage/spider')
-rw-r--r--storage/spider/spd_table.cc29
1 files changed, 17 insertions, 12 deletions
diff --git a/storage/spider/spd_table.cc b/storage/spider/spd_table.cc
index e980a42eef0..4b677b3b2fe 100644
--- a/storage/spider/spd_table.cc
+++ b/storage/spider/spd_table.cc
@@ -6937,7 +6937,7 @@ void spider_get_partition_info(
partition_element **part_elem,
partition_element **sub_elem
) {
- char tmp_name[FN_LEN];
+ char tmp_name[FN_REFLEN + 1];
partition_element *tmp_part_elem = NULL, *tmp_sub_elem = NULL;
bool tmp_flg = FALSE, tmp_find_flg = FALSE;
DBUG_ENTER("spider_get_partition_info");
@@ -6958,9 +6958,10 @@ void spider_get_partition_info(
List_iterator<partition_element> sub_it((*part_elem)->subpartitions);
while ((*sub_elem = sub_it++))
{
- create_subpartition_name(tmp_name, table_share->path.str,
- (*part_elem)->partition_name, (*sub_elem)->partition_name,
- NORMAL_PART_NAME);
+ if (create_subpartition_name(tmp_name, sizeof(tmp_name),
+ table_share->path.str, (*part_elem)->partition_name,
+ (*sub_elem)->partition_name, NORMAL_PART_NAME))
+ DBUG_VOID_RETURN;
DBUG_PRINT("info",("spider tmp_name=%s", tmp_name));
if (!memcmp(table_name, tmp_name, table_name_length + 1))
DBUG_VOID_RETURN;
@@ -6976,8 +6977,10 @@ void spider_get_partition_info(
}
}
} else {
- create_partition_name(tmp_name, table_share->path.str,
- (*part_elem)->partition_name, NORMAL_PART_NAME, TRUE);
+ if (create_partition_name(tmp_name, sizeof(tmp_name),
+ table_share->path.str, (*part_elem)->partition_name,
+ NORMAL_PART_NAME, TRUE))
+ DBUG_VOID_RETURN;
DBUG_PRINT("info",("spider tmp_name=%s", tmp_name));
if (!memcmp(table_name, tmp_name, table_name_length + 1))
DBUG_VOID_RETURN;
@@ -8443,7 +8446,7 @@ int spider_discover_table_structure(
spider_free_share_resource_only(spider_share);
#ifdef WITH_PARTITION_STORAGE_ENGINE
} else {
- char tmp_name[FN_LEN];
+ char tmp_name[FN_REFLEN + 1];
List_iterator<partition_element> part_it(part_info->partitions);
partition_element *part_elem, *sub_elem;
while ((part_elem = part_it++))
@@ -8454,9 +8457,10 @@ int spider_discover_table_structure(
while ((sub_elem = sub_it++))
{
str.length(str_len);
- create_subpartition_name(tmp_name, table_name,
- (part_elem)->partition_name, (sub_elem)->partition_name,
- NORMAL_PART_NAME);
+ if (create_subpartition_name(tmp_name, sizeof(tmp_name), table_name,
+ (part_elem)->partition_name, (sub_elem)->partition_name,
+ NORMAL_PART_NAME))
+ DBUG_RETURN(1);
DBUG_PRINT("info",("spider tmp_name=%s", tmp_name));
if (!(spider_share = spider_create_share(table_name, share,
part_info,
@@ -8479,8 +8483,9 @@ int spider_discover_table_structure(
break;
} else {
str.length(str_len);
- create_partition_name(tmp_name, table_name,
- (part_elem)->partition_name, NORMAL_PART_NAME, TRUE);
+ if (create_partition_name(tmp_name, sizeof(tmp_name), table_name,
+ (part_elem)->partition_name, NORMAL_PART_NAME, TRUE))
+ DBUG_RETURN(1);
DBUG_PRINT("info",("spider tmp_name=%s", tmp_name));
if (!(spider_share = spider_create_share(table_name, share,
part_info,