1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

Merge branch '10.5' into 10.6

This commit is contained in:
Yuchen Pei
2024-01-11 12:59:22 +11:00
90 changed files with 713 additions and 198 deletions

View File

@ -7567,7 +7567,7 @@ inline void TABLE::mark_index_columns_for_read(uint index)
always set and sometimes read.
*/
void TABLE::mark_auto_increment_column()
void TABLE::mark_auto_increment_column(bool is_insert)
{
DBUG_ASSERT(found_next_number_field);
/*
@ -7575,7 +7575,8 @@ void TABLE::mark_auto_increment_column()
store() to check overflow of auto_increment values
*/
bitmap_set_bit(read_set, found_next_number_field->field_index);
bitmap_set_bit(write_set, found_next_number_field->field_index);
if (is_insert)
bitmap_set_bit(write_set, found_next_number_field->field_index);
if (s->next_number_keypart)
mark_index_columns_for_read(s->next_number_index);
file->column_bitmaps_signal();
@ -7700,7 +7701,7 @@ void TABLE::mark_columns_needed_for_update()
else
{
if (found_next_number_field)
mark_auto_increment_column();
mark_auto_increment_column(false);
}
if (file->ha_table_flags() & HA_PRIMARY_KEY_REQUIRED_FOR_DELETE)
@ -7774,7 +7775,7 @@ void TABLE::mark_columns_needed_for_insert()
triggers->mark_fields_used(TRG_EVENT_INSERT);
}
if (found_next_number_field)
mark_auto_increment_column();
mark_auto_increment_column(true);
if (default_field)
mark_default_fields_for_write(TRUE);
/* Mark virtual columns for insert */