1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +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:
Mattias Jonsson
2010-03-30 22:52:45 +02:00
parent 58d8bfab4f
commit 864d6bc90b
17 changed files with 156 additions and 248 deletions

View File

@ -26,19 +26,6 @@
#define HA_CAN_PARTITION_UNIQUE (1 << 2)
#define HA_USE_AUTO_PARTITION (1 << 3)
/*typedef struct {
ulonglong data_file_length;
ulonglong max_data_file_length;
ulonglong index_file_length;
ulonglong delete_length;
ha_rows records;
ulong mean_rec_length;
time_t create_time;
time_t check_time;
time_t update_time;
ulonglong check_sum;
} PARTITION_INFO;
*/
typedef struct {
longlong list_value;
uint32 partition_id;
@ -87,7 +74,6 @@ void get_full_part_id_from_key(const TABLE *table, uchar *buf,
part_id_range *part_spec);
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);