mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
Merge branch '11.4' into 11.7
* rpl.rpl_system_versioning_partitions updated for MDEV-32188 * innodb.row_size_error_log_warnings_3 changed error for MDEV-33658 (checks are done in a different order)
This commit is contained in:
@@ -712,9 +712,11 @@ static bool handle_list_of_fields(THD *thd, List_iterator<const char> it,
|
||||
}
|
||||
else
|
||||
{
|
||||
if (table->s->db_type()->partition_flags &&
|
||||
(table->s->db_type()->partition_flags() & HA_USE_AUTO_PARTITION) &&
|
||||
(table->s->db_type()->partition_flags() & HA_CAN_PARTITION))
|
||||
handlerton *ht= table->s->db_type();
|
||||
if (ht->partition_flags &&
|
||||
((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
|
||||
@@ -1917,6 +1919,7 @@ bool fix_partition_func(THD *thd, TABLE *table, bool is_create_table_ind)
|
||||
bool result= TRUE;
|
||||
partition_info *part_info= table->part_info;
|
||||
enum_column_usage saved_column_usage= thd->column_usage;
|
||||
handlerton *ht;
|
||||
DBUG_ENTER("fix_partition_func");
|
||||
|
||||
if (part_info->fixed)
|
||||
@@ -2046,8 +2049,9 @@ bool fix_partition_func(THD *thd, TABLE *table, bool is_create_table_ind)
|
||||
goto end;
|
||||
if (unlikely(check_primary_key(table)))
|
||||
goto end;
|
||||
if (unlikely((!(table->s->db_type()->partition_flags &&
|
||||
(table->s->db_type()->partition_flags() & HA_CAN_PARTITION_UNIQUE))) &&
|
||||
ht= table->s->db_type();
|
||||
if (unlikely((!(ht->partition_flags &&
|
||||
(ht->partition_flags() & HA_CAN_PARTITION_UNIQUE))) &&
|
||||
check_unique_keys(table)))
|
||||
goto end;
|
||||
if (unlikely(set_up_partition_bitmaps(thd, part_info)))
|
||||
@@ -2768,12 +2772,14 @@ bool partition_key_modified(TABLE *table, const MY_BITMAP *fields)
|
||||
{
|
||||
Field **fld;
|
||||
partition_info *part_info= table->part_info;
|
||||
handlerton *ht;
|
||||
DBUG_ENTER("partition_key_modified");
|
||||
|
||||
if (!part_info)
|
||||
DBUG_RETURN(FALSE);
|
||||
if (table->s->db_type()->partition_flags &&
|
||||
(table->s->db_type()->partition_flags() & HA_CAN_UPDATE_PARTITION_KEY))
|
||||
ht= table->s->db_type();
|
||||
if (ht->partition_flags &&
|
||||
(ht->partition_flags() & HA_CAN_UPDATE_PARTITION_KEY))
|
||||
DBUG_RETURN(FALSE);
|
||||
for (fld= part_info->full_part_field_array; *fld; fld++)
|
||||
if (bitmap_is_set(fields, (*fld)->field_index))
|
||||
@@ -4990,11 +4996,10 @@ uint prep_alter_part_table(THD *thd, TABLE *table, Alter_info *alter_info,
|
||||
if default partitioning is used.
|
||||
*/
|
||||
|
||||
handlerton *ht= table->s->db_type();
|
||||
if (tab_part_info->part_type != HASH_PARTITION ||
|
||||
((table->s->db_type()->partition_flags() & HA_USE_AUTO_PARTITION) &&
|
||||
!tab_part_info->use_default_num_partitions) ||
|
||||
((!(table->s->db_type()->partition_flags() & HA_USE_AUTO_PARTITION)) &&
|
||||
tab_part_info->use_default_num_partitions))
|
||||
!(ht->partition_flags() & HA_USE_AUTO_PARTITION) ==
|
||||
tab_part_info->use_default_num_partitions)
|
||||
{
|
||||
my_error(ER_REORG_NO_PARAM_ERROR, MYF(0));
|
||||
goto err;
|
||||
|
Reference in New Issue
Block a user