Skip to content

Commit

Permalink
MDEV-31974 Remove global function normalize_db_name()
Browse files Browse the repository at this point in the history
The function normalize_db_name() fully repeated the functionality
of the class DBNameBuffer. This patch  removes normalize_db_name()
and replaces it to a DBNameBuffer based code.
  • Loading branch information
abarkov committed Aug 21, 2023
1 parent 495c32d commit 7a7296b
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 32 deletions.
11 changes: 4 additions & 7 deletions sql/events.cc
Original file line number Diff line number Diff line change
Expand Up @@ -823,9 +823,6 @@ Events::show_create_event(THD *thd, const LEX_CSTRING *dbname,
int
Events::fill_schema_events(THD *thd, TABLE_LIST *tables, COND * /* cond */)
{
const char *db= NULL;
int ret;
char db_tmp[SAFE_NAME_LEN];
DBUG_ENTER("Events::fill_schema_events");

/*
Expand All @@ -849,11 +846,11 @@ Events::fill_schema_events(THD *thd, TABLE_LIST *tables, COND * /* cond */)
if (!is_infoschema_db(lexdb) && !is_perfschema_db(lexdb) &&
check_access(thd, EVENT_ACL, lexdb->str, NULL, NULL, 0, 0))
DBUG_RETURN(1);
db= normalize_db_name(lexdb->str, db_tmp, sizeof(db_tmp));
const DBNameBuffer db_tmp(*lexdb, lower_case_table_names);
const char *db= db_tmp.to_lex_cstring().str;
DBUG_RETURN(db_repository->fill_schema_events(thd, tables, db));
}
ret= db_repository->fill_schema_events(thd, tables, db);

DBUG_RETURN(ret);
DBUG_RETURN(db_repository->fill_schema_events(thd, tables, NULL));
}


Expand Down
29 changes: 7 additions & 22 deletions sql/sql_db.cc
Original file line number Diff line number Diff line change
Expand Up @@ -744,10 +744,9 @@ mysql_create_db_internal(THD *thd, const LEX_CSTRING *db,
DBUG_RETURN(-1);
}

char db_tmp[SAFE_NAME_LEN+1];
const char *dbnorm= normalize_db_name(db->str, db_tmp, sizeof(db_tmp));
const DBNameBuffer db_tmp(*db, lower_case_table_names);

if (lock_schema_name(thd, dbnorm))
if (lock_schema_name(thd, db_tmp.to_lex_cstring().str))
DBUG_RETURN(-1);

/* Check directory */
Expand Down Expand Up @@ -1047,16 +1046,13 @@ mysql_rm_db_internal(THD *thd, const LEX_CSTRING *db, bool if_exists,
TABLE_LIST *table;
DDL_LOG_STATE ddl_log_state;
Drop_table_error_handler err_handler;
LEX_CSTRING rm_db;
char db_tmp[SAFE_NAME_LEN+1];
const char *dbnorm;
DBUG_ENTER("mysql_rm_db");

dbnorm= normalize_db_name(db->str, db_tmp, sizeof(db_tmp));
lex_string_set(&rm_db, dbnorm);
const DBNameBuffer db_tmp(*db, lower_case_table_names);
const LEX_CSTRING rm_db= db_tmp.to_lex_cstring();
bzero(&ddl_log_state, sizeof(ddl_log_state));

if (lock_schema_name(thd, dbnorm))
if (lock_schema_name(thd, rm_db.str))
DBUG_RETURN(true);

path_length= build_table_filename(path, sizeof(path) - 1, db->str, "", "", 0);
Expand All @@ -1079,7 +1075,7 @@ mysql_rm_db_internal(THD *thd, const LEX_CSTRING *db, bool if_exists,
}
}

if (find_db_tables_and_rm_known_files(thd, dirp, dbnorm, path, &tables))
if (find_db_tables_and_rm_known_files(thd, dirp, rm_db.str, path, &tables))
goto exit;

/*
Expand All @@ -1097,7 +1093,7 @@ mysql_rm_db_internal(THD *thd, const LEX_CSTRING *db, bool if_exists,
/* Lock all tables and stored routines about to be dropped. */
if (lock_table_names(thd, tables, NULL, thd->variables.lock_wait_timeout,
0) ||
lock_db_routines(thd, dbnorm))
lock_db_routines(thd, rm_db.str))
goto exit;

if (!rm_mysql_schema)
Expand Down Expand Up @@ -2139,14 +2135,3 @@ bool check_db_dir_existence(const char *db_name)
mysql_rwlock_unlock(&rmdir_lock);
return ret;
}


const char *normalize_db_name(const char *db, char *buffer, size_t buffer_size)
{
DBUG_ASSERT(buffer_size > 1);
if (!lower_case_table_names)
return db;
strmake(buffer, db, buffer_size - 1);
my_casedn_str(system_charset_info, buffer);
return buffer;
}
3 changes: 0 additions & 3 deletions sql/sql_db.h
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,6 @@ CHARSET_INFO *get_default_db_collation(THD *thd, const char *db_name);
bool my_dbopt_init(void);
void my_dbopt_cleanup(void);

const char *normalize_db_name(const char *db, char *buffer,
size_t buffer_size);

void drop_database_objects(THD *thd, const LEX_CSTRING *path,
const LEX_CSTRING *db,
bool rm_mysql_schema);
Expand Down

0 comments on commit 7a7296b

Please sign in to comment.