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) 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); my_error(ER_WRONG_COLUMN_NAME, MYF(0), name.str);
return 1; return 1;
} }

View File

@ -30629,7 +30629,7 @@ void st_select_lex::print_item_list(THD *thd, String *str,
*/ */
if (top_level || if (top_level ||
item->is_explicit_name() || item->is_explicit_name() ||
!check_column_name(item->name.str)) !check_column_name(item->name))
item->print_item_w_name(str, query_type); item->print_item_w_name(str, query_type);
else else
item->print(str, query_type); 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); 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); my_error(ER_WRONG_COLUMN_NAME, MYF(0), sql_field->field_name.str);
DBUG_RETURN(TRUE); DBUG_RETURN(TRUE);
@ -3745,7 +3745,7 @@ mysql_prepare_create_table_finalize(THD *thd, HA_CREATE_INFO *create_info,
key_part_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); my_error(ER_WRONG_NAME_FOR_INDEX, MYF(0), key_info->name.str);
DBUG_RETURN(TRUE); 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++) 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; continue;
name_len= my_snprintf(buff, NAME_LEN, "Name_exp_%u", column_no); name_len= my_snprintf(buff, NAME_LEN, "Name_exp_%u", column_no);
item->orig_name= item->name.str; item->orig_name= item->name.str;

View File

@ -9107,7 +9107,7 @@ select_item:
if ($4.str) if ($4.str)
{ {
if (unlikely(Lex->sql_command == SQLCOM_CREATE_VIEW && 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)); my_yyabort_error((ER_WRONG_COLUMN_NAME, MYF(0), $4.str));
$2->base_flags|= item_base_t::IS_EXPLICIT_NAME; $2->base_flags|= item_base_t::IS_EXPLICIT_NAME;
$2->set_name(thd, $4); $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 // name length in symbols
const char *name= ident.str, *end= ident.str + ident.length;
size_t name_length= 0; size_t name_length= 0;
bool last_char_is_space= TRUE; 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); last_char_is_space= my_isspace(system_charset_info, *name);
if (system_charset_info->use_mb()) if (system_charset_info->use_mb())
{ {
int len=my_ismbchar(system_charset_info, name, if (int len= my_ismbchar(system_charset_info, name, end))
name+system_charset_info->mbmaxlen);
if (len)
{ {
name += len; name += len;
name_length++; 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 Checks whether a table is intact. Should be done *just* after the table has
been opened. been opened.

View File

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