diff options
author | Sergei Golubchik <serg@mariadb.org> | 2017-07-08 09:56:28 +0200 |
---|---|---|
committer | Sergei Golubchik <serg@mariadb.org> | 2017-07-08 09:56:28 +0200 |
commit | c9801135c10d132304b03195b0b0ea0141347a45 (patch) | |
tree | 38e50be2f2a0089dbfecc1d14140953ded9149b7 /storage | |
parent | 5789934fda10aeba1ea2a562e503767e950a322d (diff) | |
parent | 9e11e055ce1461caecbb30e8300dfdcd48af22f1 (diff) | |
download | mariadb-git-c9801135c10d132304b03195b0b0ea0141347a45.tar.gz |
Merge branch '10.1' into 10.2
Diffstat (limited to 'storage')
-rw-r--r-- | storage/archive/ha_archive.cc | 1 | ||||
-rw-r--r-- | storage/maria/ma_loghandler.c | 4 | ||||
-rw-r--r-- | storage/maria/ma_pagecache.c | 1 | ||||
-rw-r--r-- | storage/mroonga/mrn_table.cpp | 14 | ||||
-rw-r--r-- | storage/spider/spd_table.cc | 29 |
5 files changed, 29 insertions, 20 deletions
diff --git a/storage/archive/ha_archive.cc b/storage/archive/ha_archive.cc index 810c0fd9c4d..7f83905547b 100644 --- a/storage/archive/ha_archive.cc +++ b/storage/archive/ha_archive.cc @@ -1708,7 +1708,6 @@ int ha_archive::info(uint flag) stats.update_time= (ulong) file_stat.st_mtime; if (flag & HA_STATUS_CONST) { - stats.max_data_file_length= share->rows_recorded * stats.mean_rec_length; stats.max_data_file_length= MAX_FILE_SIZE; stats.create_time= (ulong) file_stat.st_ctime; } diff --git a/storage/maria/ma_loghandler.c b/storage/maria/ma_loghandler.c index e143ed793e4..defa11ad6b4 100644 --- a/storage/maria/ma_loghandler.c +++ b/storage/maria/ma_loghandler.c @@ -1263,6 +1263,7 @@ static my_bool translog_set_lsn_for_files(uint32 from_file, uint32 to_file, mysql_file_close(fd, MYF(MY_WME)))) { translog_stop_writing(); + mysql_mutex_unlock(&log_descriptor.file_header_lock); DBUG_RETURN(1); } } @@ -2277,10 +2278,11 @@ static void translog_set_only_in_buffers(TRANSLOG_ADDRESS in_buffers) if (cmp_translog_addr(in_buffers, log_descriptor.in_buffers_only) > 0) { if (translog_status != TRANSLOG_OK) - DBUG_VOID_RETURN; + goto end; log_descriptor.in_buffers_only= in_buffers; DBUG_PRINT("info", ("set new in_buffers_only")); } +end: mysql_mutex_unlock(&log_descriptor.sent_to_disk_lock); DBUG_VOID_RETURN; } diff --git a/storage/maria/ma_pagecache.c b/storage/maria/ma_pagecache.c index caaaacfc9b1..a1c407967b7 100644 --- a/storage/maria/ma_pagecache.c +++ b/storage/maria/ma_pagecache.c @@ -3475,6 +3475,7 @@ restart: lock_to_read[lock].unlock_lock, unlock_pin, FALSE)) { + pagecache_pthread_mutex_unlock(&pagecache->cache_lock); DBUG_ASSERT(0); return (uchar*) 0; } diff --git a/storage/mroonga/mrn_table.cpp b/storage/mroonga/mrn_table.cpp index 96f24ff2e00..2b29c46be77 100644 --- a/storage/mroonga/mrn_table.cpp +++ b/storage/mroonga/mrn_table.cpp @@ -202,7 +202,7 @@ void mrn_get_partition_info(const char *table_name, uint table_name_length, const TABLE *table, partition_element **part_elem, partition_element **sub_elem) { - char tmp_name[FN_LEN]; + char tmp_name[FN_REFLEN + 1]; partition_info *part_info = table->part_info; partition_element *tmp_part_elem = NULL, *tmp_sub_elem = NULL; bool tmp_flg = FALSE, tmp_find_flg = FALSE; @@ -224,9 +224,10 @@ void mrn_get_partition_info(const char *table_name, uint table_name_length, List_iterator<partition_element> sub_it((*part_elem)->subpartitions); while ((*sub_elem = sub_it++)) { - create_subpartition_name(tmp_name, table->s->path.str, - (*part_elem)->partition_name, (*sub_elem)->partition_name, - NORMAL_PART_NAME); + if (create_subpartition_name(tmp_name, sizeof(tmp_name), table->s->path.str, + (*part_elem)->partition_name, (*sub_elem)->partition_name, + NORMAL_PART_NAME)) + DBUG_VOID_RETURN; DBUG_PRINT("info", ("mroonga tmp_name=%s", tmp_name)); if (table_name && !memcmp(table_name, tmp_name, table_name_length + 1)) DBUG_VOID_RETURN; @@ -243,8 +244,9 @@ void mrn_get_partition_info(const char *table_name, uint table_name_length, } } } else { - create_partition_name(tmp_name, table->s->path.str, - (*part_elem)->partition_name, NORMAL_PART_NAME, TRUE); + if (create_partition_name(tmp_name, sizeof(tmp_name), table->s->path.str, + (*part_elem)->partition_name, NORMAL_PART_NAME, TRUE)) + DBUG_VOID_RETURN; DBUG_PRINT("info", ("mroonga tmp_name=%s", tmp_name)); if (table_name && !memcmp(table_name, tmp_name, table_name_length + 1)) DBUG_VOID_RETURN; 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, |