cleanup: check_column_name(const Lex_ident &name)

This commit is contained in:
Sergei Golubchik 2025-04-21 15:03:55 +02:00
parent 63a69ab936
commit ab71860161
7 changed files with 10 additions and 18 deletions

View File

@ -4681,7 +4681,7 @@ public:
int add_period(Lex_ident name, Lex_ident_sys_st start, Lex_ident_sys_st end)
{
if (check_period_name(name.str)) {
if (check_column_name(name)) {
my_error(ER_WRONG_COLUMN_NAME, MYF(0), name.str);
return 1;
}

View File

@ -30629,7 +30629,7 @@ void st_select_lex::print_item_list(THD *thd, String *str,
*/
if (top_level ||
item->is_explicit_name() ||
!check_column_name(item->name.str))
!check_column_name(item->name))
item->print_item_w_name(str, query_type);
else
item->print(str, query_type);

View File

@ -3107,7 +3107,7 @@ static bool mysql_prepare_create_table_stage1(THD *thd,
DBUG_ASSERT(sql_field->charset);
if (check_column_name(sql_field->field_name.str))
if (check_column_name(sql_field->field_name))
{
my_error(ER_WRONG_COLUMN_NAME, MYF(0), sql_field->field_name.str);
DBUG_RETURN(TRUE);
@ -3745,7 +3745,7 @@ mysql_prepare_create_table_finalize(THD *thd, HA_CREATE_INFO *create_info,
key_part_info++;
}
if (!key_info->name.str || check_column_name(key_info->name.str))
if (!key_info->name.str || check_column_name(key_info->name))
{
my_error(ER_WRONG_NAME_FOR_INDEX, MYF(0), key_info->name.str);
DBUG_RETURN(TRUE);

View File

@ -183,7 +183,7 @@ void make_valid_column_names(THD *thd, List<Item> &item_list)
for (uint column_no= 1; (item= it++); column_no++)
{
if (item->is_explicit_name() || !check_column_name(item->name.str))
if (item->is_explicit_name() || !check_column_name(item->name))
continue;
name_len= my_snprintf(buff, NAME_LEN, "Name_exp_%u", column_no);
item->orig_name= item->name.str;

View File

@ -9107,7 +9107,7 @@ select_item:
if ($4.str)
{
if (unlikely(Lex->sql_command == SQLCOM_CREATE_VIEW &&
check_column_name($4.str)))
check_column_name($4)))
my_yyabort_error((ER_WRONG_COLUMN_NAME, MYF(0), $4.str));
$2->base_flags|= item_base_t::IS_EXPLICIT_NAME;
$2->set_name(thd, $4);

View File

@ -5320,9 +5320,10 @@ bool check_table_name(const char *name, size_t length, bool check_for_path_chars
}
bool check_column_name(const char *name)
bool check_column_name(const Lex_ident &ident)
{
// name length in symbols
const char *name= ident.str, *end= ident.str + ident.length;
size_t name_length= 0;
bool last_char_is_space= TRUE;
@ -5332,9 +5333,7 @@ bool check_column_name(const char *name)
last_char_is_space= my_isspace(system_charset_info, *name);
if (system_charset_info->use_mb())
{
int len=my_ismbchar(system_charset_info, name,
name+system_charset_info->mbmaxlen);
if (len)
if (int len= my_ismbchar(system_charset_info, name, end))
{
name += len;
name_length++;
@ -5354,12 +5353,6 @@ bool check_column_name(const char *name)
}
bool check_period_name(const char *name)
{
return check_column_name(name);
}
/**
Checks whether a table is intact. Should be done *just* after the table has
been opened.

View File

@ -3388,8 +3388,7 @@ void open_table_error(TABLE_SHARE *share, enum open_frm_error error,
int db_errno);
void update_create_info_from_table(HA_CREATE_INFO *info, TABLE *form);
bool check_db_name(LEX_STRING *db);
bool check_column_name(const char *name);
bool check_period_name(const char *name);
bool check_column_name(const Lex_ident &name);
bool check_table_name(const char *name, size_t length, bool check_for_path_chars);
int rename_file_ext(const char * from,const char * to,const char * ext);
char *get_field(MEM_ROOT *mem, Field *field);