MDEV-25292 Cleanups

ddl_log_write_execute_entry() cleanup

Rename functions renamed:
  do_rename() -> rename_table_and_triggers()
  do_rename_temporary() -> rename_temporary_table()
  check_rename() -> rename_check_preconditions()
This commit is contained in:
Aleksey Midenkov 2022-08-31 11:55:03 +03:00
parent f02af1d229
commit 595dad83ad
9 changed files with 39 additions and 44 deletions

View File

@ -2761,7 +2761,7 @@ int ddl_log_execute_recovery()
if (ddl_log_entry.entry_type == DDL_LOG_EXECUTE_CODE) if (ddl_log_entry.entry_type == DDL_LOG_EXECUTE_CODE)
{ {
/* /*
Remeber information about executive ddl log entry, Remember information about executive ddl log entry,
used for binary logging during recovery used for binary logging during recovery
*/ */
recovery_state.execute_entry_pos= i; recovery_state.execute_entry_pos= i;
@ -3532,7 +3532,7 @@ bool ddl_log_store_query(THD *thd, DDL_LOG_STATE *ddl_state,
ddl_log_entry.extra_name.length= 0; ddl_log_entry.extra_name.length= 0;
max_query_length= ddl_log_free_space_in_entry(&ddl_log_entry); max_query_length= ddl_log_free_space_in_entry(&ddl_log_entry);
} }
if (ddl_log_write_execute_entry(first_entry->entry_pos, if (ddl_log_write_execute_entry(first_entry->entry_pos, 0,
&ddl_state->execute_entry)) &ddl_state->execute_entry))
goto err; goto err;

View File

@ -264,12 +264,6 @@ bool ddl_log_write_entry(DDL_LOG_ENTRY *ddl_log_entry,
bool ddl_log_write_execute_entry(uint first_entry, uint cond_entry, bool ddl_log_write_execute_entry(uint first_entry, uint cond_entry,
DDL_LOG_MEMORY_ENTRY** active_entry); DDL_LOG_MEMORY_ENTRY** active_entry);
inline
bool ddl_log_write_execute_entry(uint first_entry,
DDL_LOG_MEMORY_ENTRY **active_entry)
{
return ddl_log_write_execute_entry(first_entry, 0, active_entry);
}
bool ddl_log_disable_execute_entry(DDL_LOG_MEMORY_ENTRY **active_entry); bool ddl_log_disable_execute_entry(DDL_LOG_MEMORY_ENTRY **active_entry);
void ddl_log_complete(DDL_LOG_STATE *ddl_log_state); void ddl_log_complete(DDL_LOG_STATE *ddl_log_state);

View File

@ -8618,8 +8618,8 @@ bool Table_scope_and_contents_source_st::check_fields(
THD *thd, Alter_info *alter_info, THD *thd, Alter_info *alter_info,
const Lex_table_name &table_name, const Lex_table_name &db) const Lex_table_name &table_name, const Lex_table_name &db)
{ {
return vers_check_system_fields(thd, alter_info, table_name, db) || return (vers_check_system_fields(thd, alter_info, table_name, db) ||
check_period_fields(thd, alter_info); check_period_fields(thd, alter_info));
} }
bool Table_scope_and_contents_source_st::check_period_fields( bool Table_scope_and_contents_source_st::check_period_fields(

View File

@ -680,9 +680,11 @@ enum Log_event_type
/* New MySQL/Sun events are to be added right above this comment */ /* New MySQL/Sun events are to be added right above this comment */
MYSQL_EVENTS_END, MYSQL_EVENTS_END,
MARIA_EVENTS_BEGIN= 160,
/* New Maria event numbers start from here */ /* New Maria event numbers start from here */
ANNOTATE_ROWS_EVENT= 160, ANNOTATE_ROWS_EVENT= 160,
/* Keep that here for GDB to display ANNOTATE_ROWS_EVENT */
MARIA_EVENTS_BEGIN= 160,
/* /*
Binlog checkpoint event. Used for XA crash recovery on the master, not used Binlog checkpoint event. Used for XA crash recovery on the master, not used
in replication. in replication.

View File

@ -2911,7 +2911,7 @@ struct Item_change_record: public ilink
/* /*
Register an item tree tree transformation, performed by the query Register an item tree transformation, performed by the query
optimizer. We need a pointer to runtime_memroot because it may be != optimizer. We need a pointer to runtime_memroot because it may be !=
thd->mem_root (due to possible set_n_backup_active_arena called for thd). thd->mem_root (due to possible set_n_backup_active_arena called for thd).
*/ */

View File

@ -6694,7 +6694,7 @@ static bool write_log_rename_frm(ALTER_PARTITION_PARAM_TYPE *lpt)
goto error; goto error;
log_entry= part_info->list; log_entry= part_info->list;
part_info->main_entry= log_entry; part_info->main_entry= log_entry;
if (ddl_log_write_execute_entry(log_entry->entry_pos, if (ddl_log_write_execute_entry(log_entry->entry_pos, 0,
&exec_log_entry)) &exec_log_entry))
goto error; goto error;
release_part_info_log_entries(old_first_log_entry); release_part_info_log_entries(old_first_log_entry);
@ -6749,7 +6749,7 @@ static bool write_log_drop_partition(ALTER_PARTITION_PARAM_TYPE *lpt)
goto error; goto error;
log_entry= part_info->list; log_entry= part_info->list;
part_info->main_entry= log_entry; part_info->main_entry= log_entry;
if (ddl_log_write_execute_entry(log_entry->entry_pos, if (ddl_log_write_execute_entry(log_entry->entry_pos, 0,
&exec_log_entry)) &exec_log_entry))
goto error; goto error;
release_part_info_log_entries(old_first_log_entry); release_part_info_log_entries(old_first_log_entry);
@ -6781,7 +6781,7 @@ static bool write_log_convert_partition(ALTER_PARTITION_PARAM_TYPE *lpt)
if (write_log_convert_partition(lpt, &next_entry, (const char*)path)) if (write_log_convert_partition(lpt, &next_entry, (const char*)path))
goto error; goto error;
DBUG_ASSERT(next_entry == part_info->list->entry_pos); DBUG_ASSERT(next_entry == part_info->list->entry_pos);
if (ddl_log_write_execute_entry(part_info->list->entry_pos, if (ddl_log_write_execute_entry(part_info->list->entry_pos, 0,
&part_info->execute_entry)) &part_info->execute_entry))
goto error; goto error;
mysql_mutex_unlock(&LOCK_gdl); mysql_mutex_unlock(&LOCK_gdl);
@ -6836,7 +6836,7 @@ static bool write_log_add_change_partition(ALTER_PARTITION_PARAM_TYPE *lpt)
goto error; goto error;
log_entry= part_info->list; log_entry= part_info->list;
if (ddl_log_write_execute_entry(log_entry->entry_pos, if (ddl_log_write_execute_entry(log_entry->entry_pos, 0,
&part_info->execute_entry)) &part_info->execute_entry))
goto error; goto error;
mysql_mutex_unlock(&LOCK_gdl); mysql_mutex_unlock(&LOCK_gdl);
@ -6903,7 +6903,7 @@ static bool write_log_final_change_partition(ALTER_PARTITION_PARAM_TYPE *lpt)
log_entry= part_info->list; log_entry= part_info->list;
part_info->main_entry= log_entry; part_info->main_entry= log_entry;
/* Overwrite the revert execute log entry with this retry execute entry */ /* Overwrite the revert execute log entry with this retry execute entry */
if (ddl_log_write_execute_entry(log_entry->entry_pos, if (ddl_log_write_execute_entry(log_entry->entry_pos, 0,
&exec_log_entry)) &exec_log_entry))
goto error; goto error;
release_part_info_log_entries(old_first_log_entry); release_part_info_log_entries(old_first_log_entry);

View File

@ -382,7 +382,7 @@ static bool exchange_name_with_ddl_log(THD *thd,
DBUG_EXECUTE_IF("exchange_partition_fail_2", goto err_no_execute_written;); DBUG_EXECUTE_IF("exchange_partition_fail_2", goto err_no_execute_written;);
DBUG_EXECUTE_IF("exchange_partition_abort_2", DBUG_SUICIDE();); DBUG_EXECUTE_IF("exchange_partition_abort_2", DBUG_SUICIDE(););
if (unlikely(ddl_log_write_execute_entry(log_entry->entry_pos, if (unlikely(ddl_log_write_execute_entry(log_entry->entry_pos, 0,
&exec_log_entry))) &exec_log_entry)))
goto err_no_execute_written; goto err_no_execute_written;
/* ddl_log is written and synced */ /* ddl_log is written and synced */

View File

@ -208,10 +208,10 @@ err:
static bool static bool
do_rename_temporary(THD *thd, TABLE_LIST *ren_table, TABLE_LIST *new_table) rename_temporary_table(THD *thd, TABLE_LIST *ren_table, TABLE_LIST *new_table)
{ {
LEX_CSTRING *new_alias; LEX_CSTRING *new_alias;
DBUG_ENTER("do_rename_temporary"); DBUG_ENTER("rename_temporary_table");
new_alias= (lower_case_table_names == 2) ? &new_table->alias : new_alias= (lower_case_table_names == 2) ? &new_table->alias :
&new_table->table_name; &new_table->table_name;
@ -228,7 +228,7 @@ do_rename_temporary(THD *thd, TABLE_LIST *ren_table, TABLE_LIST *new_table)
/** /**
Parameters for do_rename Parameters for rename_table_and_triggers()
*/ */
struct rename_param struct rename_param
@ -240,8 +240,6 @@ struct rename_param
/** /**
check_rename()
Check pre-conditions for rename Check pre-conditions for rename
- From table should exists - From table should exists
- To table should not exists. - To table should not exists.
@ -258,14 +256,14 @@ struct rename_param
*/ */
static int static int
check_rename(THD *thd, rename_param *param, rename_check_preconditions(THD *thd, rename_param *param,
TABLE_LIST *ren_table, TABLE_LIST *ren_table,
const LEX_CSTRING *new_db, const LEX_CSTRING *new_db,
const LEX_CSTRING *new_table_name, const LEX_CSTRING *new_table_name,
const LEX_CSTRING *new_table_alias, const LEX_CSTRING *new_table_alias,
bool if_exists) bool if_exists)
{ {
DBUG_ENTER("check_rename"); DBUG_ENTER("rename_check_preconditions");
DBUG_PRINT("enter", ("if_exists: %d", (int) if_exists)); DBUG_PRINT("enter", ("if_exists: %d", (int) if_exists));
@ -316,7 +314,6 @@ check_rename(THD *thd, rename_param *param,
Rename a single table or a view Rename a single table or a view
SYNPOSIS SYNPOSIS
do_rename()
thd Thread handle thd Thread handle
ren_table A table/view to be renamed ren_table A table/view to be renamed
new_db The database to which the table to be moved to new_db The database to which the table to be moved to
@ -334,7 +331,8 @@ check_rename(THD *thd, rename_param *param,
*/ */
static bool static bool
do_rename(THD *thd, rename_param *param, DDL_LOG_STATE *ddl_log_state, rename_table_and_triggers(THD *thd, rename_param *param,
DDL_LOG_STATE *ddl_log_state,
TABLE_LIST *ren_table, const LEX_CSTRING *new_db, TABLE_LIST *ren_table, const LEX_CSTRING *new_db,
bool skip_error, bool *force_if_exists) bool skip_error, bool *force_if_exists)
{ {
@ -342,7 +340,7 @@ do_rename(THD *thd, rename_param *param, DDL_LOG_STATE *ddl_log_state,
handlerton *hton; handlerton *hton;
LEX_CSTRING *old_alias, *new_alias; LEX_CSTRING *old_alias, *new_alias;
TRIGGER_RENAME_PARAM rename_param; TRIGGER_RENAME_PARAM rename_param;
DBUG_ENTER("do_rename"); DBUG_ENTER("rename_table_and_triggers");
DBUG_PRINT("enter", ("skip_error: %d", (int) skip_error)); DBUG_PRINT("enter", ("skip_error: %d", (int) skip_error));
old_alias= &param->old_alias; old_alias= &param->old_alias;
@ -515,22 +513,23 @@ rename_tables(THD *thd, TABLE_LIST *table_list, DDL_LOG_STATE *ddl_log_state,
pair->from= ren_table; pair->from= ren_table;
pair->to= new_table; pair->to= new_table;
if (do_rename_temporary(thd, ren_table, new_table)) if (rename_temporary_table(thd, ren_table, new_table))
goto revert_rename; goto revert_rename;
} }
else else
{ {
int error; int error;
rename_param param; rename_param param;
error= check_rename(thd, &param, ren_table, &new_table->db, error= rename_check_preconditions(thd, &param, ren_table,
&new_table->table_name, &new_table->db, &new_table->table_name,
&new_table->alias, (skip_error || if_exists)); &new_table->alias,
(skip_error || if_exists));
if (error < 0) if (error < 0)
continue; // Ignore rename (if exists) continue; // Ignore rename (if exists)
if (error > 0) if (error > 0)
goto revert_rename; goto revert_rename;
if (do_rename(thd, &param, ddl_log_state, if (rename_table_and_triggers(thd, &param, ddl_log_state,
ren_table, &new_table->db, ren_table, &new_table->db,
skip_error, force_if_exists)) skip_error, force_if_exists))
goto revert_rename; goto revert_rename;
@ -542,7 +541,7 @@ revert_rename:
/* Revert temporary tables. Normal tables are reverted in the caller */ /* Revert temporary tables. Normal tables are reverted in the caller */
List_iterator_fast<TABLE_PAIR> it(tmp_tables); List_iterator_fast<TABLE_PAIR> it(tmp_tables);
while (TABLE_PAIR *pair= it++) while (TABLE_PAIR *pair= it++)
do_rename_temporary(thd, pair->to, pair->from); rename_temporary_table(thd, pair->to, pair->from);
DBUG_RETURN(1); DBUG_RETURN(1);
} }

View File

@ -869,7 +869,7 @@ bool mysql_write_frm(ALTER_PARTITION_PARAM_TYPE *lpt, uint flags)
if (write_log_replace_frm(lpt, part_info->list->entry_pos, if (write_log_replace_frm(lpt, part_info->list->entry_pos,
(const char*) bak_path, (const char*) bak_path,
(const char*) path) || (const char*) path) ||
ddl_log_write_execute_entry(part_info->list->entry_pos, ddl_log_write_execute_entry(part_info->list->entry_pos, 0,
&part_info->execute_entry)) &part_info->execute_entry))
{ {
mysql_mutex_unlock(&LOCK_gdl); mysql_mutex_unlock(&LOCK_gdl);