mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 03:52:35 +01:00
MDEV-35840 Eliminate -warray-bounds triggered by TABLE_SHARE::db_type()
The warnings are triggered with -O3
This commit is contained in:
parent
f862fe8b2b
commit
5ef712bdce
2 changed files with 18 additions and 12 deletions
|
@ -8953,8 +8953,9 @@ my_bool mysql_rm_tmp_tables(void)
|
||||||
memcpy(path_copy, path, path_len - ext_len);
|
memcpy(path_copy, path, path_len - ext_len);
|
||||||
path_copy[path_len - ext_len]= 0;
|
path_copy[path_len - ext_len]= 0;
|
||||||
init_tmp_table_share(thd, &share, "", 0, "", path_copy);
|
init_tmp_table_share(thd, &share, "", 0, "", path_copy);
|
||||||
|
handlerton *ht= share.db_type();
|
||||||
if (!open_table_def(thd, &share))
|
if (!open_table_def(thd, &share))
|
||||||
share.db_type()->drop_table(share.db_type(), path_copy);
|
ht->drop_table(share.db_type(), path_copy);
|
||||||
free_table_share(&share);
|
free_table_share(&share);
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -721,9 +721,11 @@ static bool handle_list_of_fields(THD *thd, List_iterator<const char> it,
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (table->s->db_type()->partition_flags &&
|
handlerton *ht= table->s->db_type();
|
||||||
(table->s->db_type()->partition_flags() & HA_USE_AUTO_PARTITION) &&
|
if (ht->partition_flags &&
|
||||||
(table->s->db_type()->partition_flags() & HA_CAN_PARTITION))
|
((ht->partition_flags() &
|
||||||
|
(HA_USE_AUTO_PARTITION | HA_CAN_PARTITION)) ==
|
||||||
|
(HA_USE_AUTO_PARTITION | HA_CAN_PARTITION)))
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
This engine can handle automatic partitioning and there is no
|
This engine can handle automatic partitioning and there is no
|
||||||
|
@ -1927,6 +1929,7 @@ bool fix_partition_func(THD *thd, TABLE *table, bool is_create_table_ind)
|
||||||
bool result= TRUE;
|
bool result= TRUE;
|
||||||
partition_info *part_info= table->part_info;
|
partition_info *part_info= table->part_info;
|
||||||
enum_column_usage saved_column_usage= thd->column_usage;
|
enum_column_usage saved_column_usage= thd->column_usage;
|
||||||
|
handlerton *ht;
|
||||||
DBUG_ENTER("fix_partition_func");
|
DBUG_ENTER("fix_partition_func");
|
||||||
|
|
||||||
if (part_info->fixed)
|
if (part_info->fixed)
|
||||||
|
@ -2056,8 +2059,9 @@ bool fix_partition_func(THD *thd, TABLE *table, bool is_create_table_ind)
|
||||||
goto end;
|
goto end;
|
||||||
if (unlikely(check_primary_key(table)))
|
if (unlikely(check_primary_key(table)))
|
||||||
goto end;
|
goto end;
|
||||||
if (unlikely((!(table->s->db_type()->partition_flags &&
|
ht= table->s->db_type();
|
||||||
(table->s->db_type()->partition_flags() & HA_CAN_PARTITION_UNIQUE))) &&
|
if (unlikely((!(ht->partition_flags &&
|
||||||
|
(ht->partition_flags() & HA_CAN_PARTITION_UNIQUE))) &&
|
||||||
check_unique_keys(table)))
|
check_unique_keys(table)))
|
||||||
goto end;
|
goto end;
|
||||||
if (unlikely(set_up_partition_bitmaps(thd, part_info)))
|
if (unlikely(set_up_partition_bitmaps(thd, part_info)))
|
||||||
|
@ -2713,12 +2717,14 @@ bool partition_key_modified(TABLE *table, const MY_BITMAP *fields)
|
||||||
{
|
{
|
||||||
Field **fld;
|
Field **fld;
|
||||||
partition_info *part_info= table->part_info;
|
partition_info *part_info= table->part_info;
|
||||||
|
handlerton *ht;
|
||||||
DBUG_ENTER("partition_key_modified");
|
DBUG_ENTER("partition_key_modified");
|
||||||
|
|
||||||
if (!part_info)
|
if (!part_info)
|
||||||
DBUG_RETURN(FALSE);
|
DBUG_RETURN(FALSE);
|
||||||
if (table->s->db_type()->partition_flags &&
|
ht= table->s->db_type();
|
||||||
(table->s->db_type()->partition_flags() & HA_CAN_UPDATE_PARTITION_KEY))
|
if (ht->partition_flags &&
|
||||||
|
(ht->partition_flags() & HA_CAN_UPDATE_PARTITION_KEY))
|
||||||
DBUG_RETURN(FALSE);
|
DBUG_RETURN(FALSE);
|
||||||
for (fld= part_info->full_part_field_array; *fld; fld++)
|
for (fld= part_info->full_part_field_array; *fld; fld++)
|
||||||
if (bitmap_is_set(fields, (*fld)->field_index))
|
if (bitmap_is_set(fields, (*fld)->field_index))
|
||||||
|
@ -4927,11 +4933,10 @@ uint prep_alter_part_table(THD *thd, TABLE *table, Alter_info *alter_info,
|
||||||
if default partitioning is used.
|
if default partitioning is used.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
handlerton *ht= table->s->db_type();
|
||||||
if (tab_part_info->part_type != HASH_PARTITION ||
|
if (tab_part_info->part_type != HASH_PARTITION ||
|
||||||
((table->s->db_type()->partition_flags() & HA_USE_AUTO_PARTITION) &&
|
!(ht->partition_flags() & HA_USE_AUTO_PARTITION) ==
|
||||||
!tab_part_info->use_default_num_partitions) ||
|
tab_part_info->use_default_num_partitions)
|
||||||
((!(table->s->db_type()->partition_flags() & HA_USE_AUTO_PARTITION)) &&
|
|
||||||
tab_part_info->use_default_num_partitions))
|
|
||||||
{
|
{
|
||||||
my_error(ER_REORG_NO_PARAM_ERROR, MYF(0));
|
my_error(ER_REORG_NO_PARAM_ERROR, MYF(0));
|
||||||
goto err;
|
goto err;
|
||||||
|
|
Loading…
Reference in a new issue