From 65e0d0ea66180168eb6539bb11a78aafb7247bd4 Mon Sep 17 00:00:00 2001 From: Aleksey Midenkov Date: Wed, 31 Aug 2022 11:55:03 +0300 Subject: [PATCH] MDEV-25292 Removed thd argument in ddl_log functions --- sql/ddl_log.cc | 41 ++++++++++++++++++++--------------------- sql/ddl_log.h | 30 ++++++++++++++---------------- sql/sql_db.cc | 2 +- sql/sql_rename.cc | 4 ++-- sql/sql_table.cc | 18 +++++++++--------- sql/sql_trigger.cc | 8 ++++---- sql/sql_view.cc | 8 ++++---- 7 files changed, 54 insertions(+), 57 deletions(-) diff --git a/sql/ddl_log.cc b/sql/ddl_log.cc index 80f2e4d2e3e..35a3f54e61f 100644 --- a/sql/ddl_log.cc +++ b/sql/ddl_log.cc @@ -3041,7 +3041,7 @@ static bool ddl_log_write(DDL_LOG_STATE *ddl_state, mysql_mutex_lock(&LOCK_gdl); error= ((ddl_log_write_entry(ddl_log_entry, &log_entry)) || - ddl_log_write_execute_entry(log_entry->entry_pos, + ddl_log_write_execute_entry(log_entry->entry_pos, 0, &ddl_state->execute_entry)); mysql_mutex_unlock(&LOCK_gdl); if (error) @@ -3060,7 +3060,7 @@ static bool ddl_log_write(DDL_LOG_STATE *ddl_state, Logging of rename table */ -bool ddl_log_rename_table(THD *thd, DDL_LOG_STATE *ddl_state, +bool ddl_log_rename_table(DDL_LOG_STATE *ddl_state, handlerton *hton, const LEX_CSTRING *org_db, const LEX_CSTRING *org_alias, @@ -3089,7 +3089,7 @@ bool ddl_log_rename_table(THD *thd, DDL_LOG_STATE *ddl_state, Logging of rename view */ -bool ddl_log_rename_view(THD *thd, DDL_LOG_STATE *ddl_state, +bool ddl_log_rename_view(DDL_LOG_STATE *ddl_state, const LEX_CSTRING *org_db, const LEX_CSTRING *org_alias, const LEX_CSTRING *new_db, @@ -3120,7 +3120,7 @@ bool ddl_log_rename_view(THD *thd, DDL_LOG_STATE *ddl_state, is in original delete order. */ -static bool ddl_log_drop_init(THD *thd, DDL_LOG_STATE *ddl_state, +static bool ddl_log_drop_init(DDL_LOG_STATE *ddl_state, ddl_log_action_code action_code, const LEX_CSTRING *db, const LEX_CSTRING *comment) @@ -3138,18 +3138,18 @@ static bool ddl_log_drop_init(THD *thd, DDL_LOG_STATE *ddl_state, } -bool ddl_log_drop_table_init(THD *thd, DDL_LOG_STATE *ddl_state, +bool ddl_log_drop_table_init(DDL_LOG_STATE *ddl_state, const LEX_CSTRING *db, const LEX_CSTRING *comment) { - return ddl_log_drop_init(thd, ddl_state, DDL_LOG_DROP_INIT_ACTION, + return ddl_log_drop_init(ddl_state, DDL_LOG_DROP_INIT_ACTION, db, comment); } -bool ddl_log_drop_view_init(THD *thd, DDL_LOG_STATE *ddl_state, +bool ddl_log_drop_view_init(DDL_LOG_STATE *ddl_state, const LEX_CSTRING *db) { - return ddl_log_drop_init(thd, ddl_state, DDL_LOG_DROP_INIT_ACTION, + return ddl_log_drop_init(ddl_state, DDL_LOG_DROP_INIT_ACTION, db, &empty_clex_str); } @@ -3163,7 +3163,7 @@ bool ddl_log_drop_view_init(THD *thd, DDL_LOG_STATE *ddl_state, See also comment before ddl_log_drop_init(). */ -static bool ddl_log_drop(THD *thd, DDL_LOG_STATE *ddl_state, +static bool ddl_log_drop(DDL_LOG_STATE *ddl_state, ddl_log_action_code action_code, uint phase, handlerton *hton, @@ -3209,32 +3209,32 @@ error: } -bool ddl_log_drop_table(THD *thd, DDL_LOG_STATE *ddl_state, +bool ddl_log_drop_table(DDL_LOG_STATE *ddl_state, handlerton *hton, const LEX_CSTRING *path, const LEX_CSTRING *db, const LEX_CSTRING *table) { DBUG_ENTER("ddl_log_drop_table"); - DBUG_RETURN(ddl_log_drop(thd, ddl_state, + DBUG_RETURN(ddl_log_drop(ddl_state, DDL_LOG_DROP_TABLE_ACTION, DDL_DROP_PHASE_TABLE, hton, path, db, table)); } -bool ddl_log_drop_view(THD *thd, DDL_LOG_STATE *ddl_state, +bool ddl_log_drop_view(DDL_LOG_STATE *ddl_state, const LEX_CSTRING *path, const LEX_CSTRING *db, const LEX_CSTRING *table) { DBUG_ENTER("ddl_log_drop_view"); - DBUG_RETURN(ddl_log_drop(thd, ddl_state, + DBUG_RETURN(ddl_log_drop(ddl_state, DDL_LOG_DROP_VIEW_ACTION, 0, (handlerton*) 0, path, db, table)); } -bool ddl_log_drop_trigger(THD *thd, DDL_LOG_STATE *ddl_state, +bool ddl_log_drop_trigger(DDL_LOG_STATE *ddl_state, const LEX_CSTRING *db, const LEX_CSTRING *table, const LEX_CSTRING *trigger_name, @@ -3284,7 +3284,7 @@ bool ddl_log_drop_trigger(THD *thd, DDL_LOG_STATE *ddl_state, link to the previous entries (not setting ddl_log_entry.next_entry) */ -bool ddl_log_drop_db(THD *thd, DDL_LOG_STATE *ddl_state, +bool ddl_log_drop_db(DDL_LOG_STATE *ddl_state, const LEX_CSTRING *db, const LEX_CSTRING *path) { DDL_LOG_ENTRY ddl_log_entry; @@ -3305,7 +3305,7 @@ bool ddl_log_drop_db(THD *thd, DDL_LOG_STATE *ddl_state, example when deleting a table that was discovered. */ -bool ddl_log_create_table(THD *thd, DDL_LOG_STATE *ddl_state, +bool ddl_log_create_table(DDL_LOG_STATE *ddl_state, handlerton *hton, const LEX_CSTRING *path, const LEX_CSTRING *db, @@ -3333,7 +3333,7 @@ bool ddl_log_create_table(THD *thd, DDL_LOG_STATE *ddl_state, Log CREATE VIEW */ -bool ddl_log_create_view(THD *thd, DDL_LOG_STATE *ddl_state, +bool ddl_log_create_view(DDL_LOG_STATE *ddl_state, const LEX_CSTRING *path, enum_ddl_log_create_view_phase phase) { @@ -3351,14 +3351,13 @@ bool ddl_log_create_view(THD *thd, DDL_LOG_STATE *ddl_state, /** Log creation of temporary file that should be deleted during recovery - @param thd Thread handler @param ddl_log_state ddl_state @param path Path to file to be deleted @param depending_state If not NULL, then do not delete the temp file if this entry exists and is active. */ -bool ddl_log_delete_tmp_file(THD *thd, DDL_LOG_STATE *ddl_state, +bool ddl_log_delete_tmp_file(DDL_LOG_STATE *ddl_state, const LEX_CSTRING *path, DDL_LOG_STATE *depending_state) { @@ -3379,7 +3378,7 @@ bool ddl_log_delete_tmp_file(THD *thd, DDL_LOG_STATE *ddl_state, Log CREATE TRIGGER */ -bool ddl_log_create_trigger(THD *thd, DDL_LOG_STATE *ddl_state, +bool ddl_log_create_trigger(DDL_LOG_STATE *ddl_state, const LEX_CSTRING *db, const LEX_CSTRING *table, const LEX_CSTRING *trigger_name, enum_ddl_log_create_trigger_phase phase) @@ -3404,7 +3403,7 @@ bool ddl_log_create_trigger(THD *thd, DDL_LOG_STATE *ddl_state, this is the final table name */ -bool ddl_log_alter_table(THD *thd, DDL_LOG_STATE *ddl_state, +bool ddl_log_alter_table(DDL_LOG_STATE *ddl_state, handlerton *org_hton, const LEX_CSTRING *db, const LEX_CSTRING *table, handlerton *new_hton, diff --git a/sql/ddl_log.h b/sql/ddl_log.h index a74d2f1e492..87b7af57102 100644 --- a/sql/ddl_log.h +++ b/sql/ddl_log.h @@ -281,61 +281,59 @@ bool ddl_log_execute_entry(THD *thd, uint first_entry); void ddl_log_add_entry(DDL_LOG_STATE *state, DDL_LOG_MEMORY_ENTRY *log_entry); void ddl_log_release_entries(DDL_LOG_STATE *ddl_log_state); -bool ddl_log_rename_table(THD *thd, DDL_LOG_STATE *ddl_state, +bool ddl_log_rename_table(DDL_LOG_STATE *ddl_state, handlerton *hton, const LEX_CSTRING *org_db, const LEX_CSTRING *org_alias, const LEX_CSTRING *new_db, const LEX_CSTRING *new_alias); -bool ddl_log_rename_view(THD *thd, DDL_LOG_STATE *ddl_state, +bool ddl_log_rename_view(DDL_LOG_STATE *ddl_state, const LEX_CSTRING *org_db, const LEX_CSTRING *org_alias, const LEX_CSTRING *new_db, const LEX_CSTRING *new_alias); -bool ddl_log_drop_table_init(THD *thd, DDL_LOG_STATE *ddl_state, +bool ddl_log_drop_table_init(DDL_LOG_STATE *ddl_state, const LEX_CSTRING *db, const LEX_CSTRING *comment); -bool ddl_log_drop_view_init(THD *thd, DDL_LOG_STATE *ddl_state, +bool ddl_log_drop_view_init(DDL_LOG_STATE *ddl_state, const LEX_CSTRING *db); -bool ddl_log_drop_table(THD *thd, DDL_LOG_STATE *ddl_state, +bool ddl_log_drop_table(DDL_LOG_STATE *ddl_state, handlerton *hton, const LEX_CSTRING *path, const LEX_CSTRING *db, const LEX_CSTRING *table); -bool ddl_log_drop_view(THD *thd, DDL_LOG_STATE *ddl_state, +bool ddl_log_drop_view(DDL_LOG_STATE *ddl_state, const LEX_CSTRING *path, const LEX_CSTRING *db, const LEX_CSTRING *table); -bool ddl_log_drop_trigger(THD *thd, DDL_LOG_STATE *ddl_state, +bool ddl_log_drop_trigger(DDL_LOG_STATE *ddl_state, const LEX_CSTRING *db, const LEX_CSTRING *table, const LEX_CSTRING *trigger_name, const LEX_CSTRING *query); -bool ddl_log_drop_view(THD *thd, DDL_LOG_STATE *ddl_state, +bool ddl_log_drop_view(DDL_LOG_STATE *ddl_state, const LEX_CSTRING *path, const LEX_CSTRING *db, const LEX_CSTRING *table); -bool ddl_log_drop_view(THD *thd, DDL_LOG_STATE *ddl_state, - const LEX_CSTRING *db); -bool ddl_log_drop_db(THD *thd, DDL_LOG_STATE *ddl_state, +bool ddl_log_drop_db(DDL_LOG_STATE *ddl_state, const LEX_CSTRING *db, const LEX_CSTRING *path); -bool ddl_log_create_table(THD *thd, DDL_LOG_STATE *ddl_state, +bool ddl_log_create_table(DDL_LOG_STATE *ddl_state, handlerton *hton, const LEX_CSTRING *path, const LEX_CSTRING *db, const LEX_CSTRING *table, bool only_frm); -bool ddl_log_create_view(THD *thd, DDL_LOG_STATE *ddl_state, +bool ddl_log_create_view(DDL_LOG_STATE *ddl_state, const LEX_CSTRING *path, enum_ddl_log_create_view_phase phase); -bool ddl_log_delete_tmp_file(THD *thd, DDL_LOG_STATE *ddl_state, +bool ddl_log_delete_tmp_file(DDL_LOG_STATE *ddl_state, const LEX_CSTRING *path, DDL_LOG_STATE *depending_state); -bool ddl_log_create_trigger(THD *thd, DDL_LOG_STATE *ddl_state, +bool ddl_log_create_trigger(DDL_LOG_STATE *ddl_state, const LEX_CSTRING *db, const LEX_CSTRING *table, const LEX_CSTRING *trigger_name, enum_ddl_log_create_trigger_phase phase); -bool ddl_log_alter_table(THD *thd, DDL_LOG_STATE *ddl_state, +bool ddl_log_alter_table(DDL_LOG_STATE *ddl_state, handlerton *org_hton, const LEX_CSTRING *db, const LEX_CSTRING *table, handlerton *new_hton, diff --git a/sql/sql_db.cc b/sql/sql_db.cc index 9da1ac5ca77..7be4ba00b86 100644 --- a/sql/sql_db.cc +++ b/sql/sql_db.cc @@ -1129,7 +1129,7 @@ mysql_rm_db_internal(THD *thd, const LEX_CSTRING *db, bool if_exists, debug_crash_here("ddl_log_drop_after_drop_tables"); LEX_CSTRING cpath{ path, path_length}; - ddl_log_drop_db(thd, &ddl_log_state, &rm_db, &cpath); + ddl_log_drop_db(&ddl_log_state, &rm_db, &cpath); drop_database_objects(thd, &cpath, &rm_db, rm_mysql_schema); diff --git a/sql/sql_rename.cc b/sql/sql_rename.cc index 1ba92b5033d..5b0f77f5bcb 100644 --- a/sql/sql_rename.cc +++ b/sql/sql_rename.cc @@ -373,7 +373,7 @@ rename_table_and_triggers(THD *thd, rename_param *param, thd->replication_flags= 0; - if (ddl_log_rename_table(thd, ddl_log_state, hton, + if (ddl_log_rename_table(ddl_log_state, hton, &ren_table->db, old_alias, new_db, new_alias)) DBUG_RETURN(1); @@ -437,7 +437,7 @@ rename_table_and_triggers(THD *thd, rename_param *param, DBUG_RETURN(1); } - ddl_log_rename_view(thd, ddl_log_state, &ren_table->db, + ddl_log_rename_view(ddl_log_state, &ren_table->db, &ren_table->table_name, new_db, new_alias); debug_crash_here("ddl_log_rename_before_rename_view"); rc= mysql_rename_view(thd, new_db, new_alias, &ren_table->db, diff --git a/sql/sql_table.cc b/sql/sql_table.cc index d42ef7fedae..0d6f7e7a2c0 100644 --- a/sql/sql_table.cc +++ b/sql/sql_table.cc @@ -819,7 +819,7 @@ bool mysql_write_frm(ALTER_PARTITION_PARAM_TYPE *lpt, uint flags) create_info->db_type= work_part_info->default_engine_type; /* NOTE: partitioned temporary tables are not supported. */ DBUG_ASSERT(!create_info->tmp_table()); - if (ddl_log_create_table(thd, part_info, create_info->db_type, &new_path, + if (ddl_log_create_table(part_info, create_info->db_type, &new_path, &alter_ctx->new_db, &alter_ctx->new_name, true) || ERROR_INJECT("create_before_create_frm")) DBUG_RETURN(TRUE); @@ -1536,7 +1536,7 @@ int mysql_rm_table_no_locks(THD *thd, TABLE_LIST *tables, if (!table_count++) { LEX_CSTRING comment= {comment_start, (size_t) comment_len}; - if (ddl_log_drop_table_init(thd, ddl_log_state, current_db, &comment)) + if (ddl_log_drop_table_init(ddl_log_state, current_db, &comment)) { error= 1; goto err; @@ -1594,10 +1594,10 @@ int mysql_rm_table_no_locks(THD *thd, TABLE_LIST *tables, bool enoent_warning= !dont_log_query && !(hton && hton->discover_table); if (was_view) - res= ddl_log_drop_view(thd, ddl_log_state, &cpath, &db, + res= ddl_log_drop_view(ddl_log_state, &cpath, &db, &table_name); else - res= ddl_log_drop_table(thd, ddl_log_state, hton, &cpath, &db, + res= ddl_log_drop_table(ddl_log_state, hton, &cpath, &db, &table_name); if (res) { @@ -1675,7 +1675,7 @@ int mysql_rm_table_no_locks(THD *thd, TABLE_LIST *tables, int ferror= 0; DBUG_ASSERT(!was_view); - if (ddl_log_drop_table(thd, ddl_log_state, 0, &cpath, &db, + if (ddl_log_drop_table(ddl_log_state, 0, &cpath, &db, &table_name)) { error= -1; @@ -4539,7 +4539,7 @@ int create_table_impl(THD *thd, .frm files are deleted */ if (ddl_log_state_create) - ddl_log_create_table(thd, ddl_log_state_create, (handlerton*) 0, &path, + ddl_log_create_table(ddl_log_state_create, (handlerton*) 0, &path, &db, &table_name, 1); ha_err= hton->discover_table_structure(hton, thd, &share, create_info); @@ -4564,7 +4564,7 @@ int create_table_impl(THD *thd, else { if (ddl_log_state_create) - ddl_log_create_table(thd, ddl_log_state_create, create_info->db_type, + ddl_log_create_table(ddl_log_state_create, create_info->db_type, &path, &db, &table_name, frm_only); debug_crash_here("ddl_log_create_before_create_frm"); @@ -9446,7 +9446,7 @@ simple_rename_or_index_change(THD *thd, TABLE_LIST *table_list, close_all_tables_for_name(thd, table->s, HA_EXTRA_PREPARE_FOR_RENAME, NULL); - (void) ddl_log_rename_table(thd, &ddl_log_state, old_db_type, + (void) ddl_log_rename_table(&ddl_log_state, old_db_type, &alter_ctx->db, &alter_ctx->table_name, &alter_ctx->new_db, &alter_ctx->new_alias); if (mysql_rename_table(old_db_type, &alter_ctx->db, &alter_ctx->table_name, @@ -10508,7 +10508,7 @@ do_continue:; if (alter_ctx.is_table_renamed()) tmp_table= alter_ctx.new_alias; - if (ddl_log_alter_table(thd, &ddl_log_state, + if (ddl_log_alter_table(&ddl_log_state, old_db_type, &alter_ctx.db, &alter_ctx.table_name, new_db_type, diff --git a/sql/sql_trigger.cc b/sql/sql_trigger.cc index 6685b91b02e..77035219d2f 100644 --- a/sql/sql_trigger.cc +++ b/sql/sql_trigger.cc @@ -980,7 +980,7 @@ bool Table_triggers_list::create_trigger(THD *thd, TABLE_LIST *tables, /* Use the filesystem to enforce trigger namespace constraints. */ trigger_exists= !access(trigname_file.str, F_OK); - ddl_log_create_trigger(thd, ddl_log_state, &tables->db, &tables->table_name, + ddl_log_create_trigger(ddl_log_state, &tables->db, &tables->table_name, &lex->spname->m_name, trigger_exists || table->triggers->count ? DDL_CREATE_TRIGGER_PHASE_DELETE_COPY : @@ -989,7 +989,7 @@ bool Table_triggers_list::create_trigger(THD *thd, TABLE_LIST *tables, /* Make a backup of the .TRG file that we can restore in case of crash */ if (table->triggers->count && (sql_backup_definition_file(&file, &backup_name) || - ddl_log_delete_tmp_file(thd, ddl_log_state_tmp_file, &backup_name, + ddl_log_delete_tmp_file(ddl_log_state_tmp_file, &backup_name, ddl_log_state))) DBUG_RETURN(true); @@ -1001,7 +1001,7 @@ bool Table_triggers_list::create_trigger(THD *thd, TABLE_LIST *tables, /* Make a backup of the .TRN file that we can restore in case of crash */ if (sql_backup_definition_file(&trigname_file, &backup_name) || - ddl_log_delete_tmp_file(thd, ddl_log_state_tmp_file, &backup_name, + ddl_log_delete_tmp_file(ddl_log_state_tmp_file, &backup_name, ddl_log_state)) DBUG_RETURN(true); ddl_log_update_phase(ddl_log_state, DDL_CREATE_TRIGGER_PHASE_OLD_COPIED); @@ -1345,7 +1345,7 @@ bool Table_triggers_list::drop_trigger(THD *thd, TABLE_LIST *tables, /* This code is executed in case of DROP TRIGGER */ lex_string_set3(&query, thd->query(), thd->query_length()); } - if (ddl_log_drop_trigger(thd, ddl_log_state, + if (ddl_log_drop_trigger(ddl_log_state, &tables->db, &tables->table_name, sp_name, &query)) goto err; diff --git a/sql/sql_view.cc b/sql/sql_view.cc index 6dedd5e85be..166b67b6816 100644 --- a/sql/sql_view.cc +++ b/sql/sql_view.cc @@ -724,7 +724,7 @@ bool mysql_create_view(THD *thd, TABLE_LIST *views, if (backup_file_name[0]) { LEX_CSTRING cpath= {backup_file_name, strlen(backup_file_name) }; - ddl_log_delete_tmp_file(thd, &ddl_log_state_tmp_file, &cpath, + ddl_log_delete_tmp_file(&ddl_log_state_tmp_file, &cpath, &ddl_log_state); } debug_crash_here("ddl_log_create_before_binlog"); @@ -1189,7 +1189,7 @@ loop_out: goto err; } - ddl_log_create_view(thd, ddl_log_state, &path, old_view_exists ? + ddl_log_create_view(ddl_log_state, &path, old_view_exists ? DDL_CREATE_VIEW_PHASE_DELETE_VIEW_COPY : DDL_CREATE_VIEW_PHASE_NO_OLD_VIEW); @@ -1939,10 +1939,10 @@ bool mysql_drop_view(THD *thd, TABLE_LIST *views, enum_drop_mode drop_mode) } if (!view_count++) { - if (ddl_log_drop_view_init(thd, &ddl_log_state, &thd->db)) + if (ddl_log_drop_view_init(&ddl_log_state, &thd->db)) DBUG_RETURN(TRUE); } - if (ddl_log_drop_view(thd, &ddl_log_state, &cpath, &view->db, + if (ddl_log_drop_view(&ddl_log_state, &cpath, &view->db, &view->table_name)) DBUG_RETURN(TRUE); debug_crash_here("ddl_log_drop_before_delete_view");