mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
Bug#51851: Server with SBR locks mutex twice on LOAD DATA
into partitioned MyISAM table Problem was that the ha_data structure was introduced in 5.1 and only used for partitioning first, but with the intention of be of use for others engines as well, and when used by other engines it would clash if it also was partitioned. Solution is to move the partitioning specific data to a separate structure, with its own mutex (which is used for auto_increment). Also did rename PARTITION_INFO to PARTITION_STATS since there already exist a class named partition_info, also cleaned up some related variables.
This commit is contained in:
@@ -4165,7 +4165,6 @@ void get_partition_set(const TABLE *table, uchar *buf, const uint index,
|
||||
|
||||
bool mysql_unpack_partition(THD *thd,
|
||||
const char *part_buf, uint part_info_len,
|
||||
const char *part_state, uint part_state_len,
|
||||
TABLE* table, bool is_create_table_ind,
|
||||
handlerton *default_db_type,
|
||||
bool *work_part_info_used)
|
||||
@@ -4201,8 +4200,6 @@ bool mysql_unpack_partition(THD *thd,
|
||||
goto end;
|
||||
}
|
||||
part_info= lex.part_info;
|
||||
part_info->part_state= part_state;
|
||||
part_info->part_state_len= part_state_len;
|
||||
DBUG_PRINT("info", ("Parse: %s", part_buf));
|
||||
if (parse_sql(thd, & parser_state, NULL) ||
|
||||
part_info->fix_parser_data(thd))
|
||||
|
Reference in New Issue
Block a user