diff options
author | Aleksey Midenkov <midenok@gmail.com> | 2021-12-29 16:13:14 +0300 |
---|---|---|
committer | Aleksey Midenkov <midenok@gmail.com> | 2021-12-29 16:13:14 +0300 |
commit | 83a3b61958dfef46cea80d8ca3f84e0f6175d661 (patch) | |
tree | 861ac57e86ad5307ad3be6fc16c3fefac84b4532 | |
parent | 10b889e9eec16641fdf6fa23a27d4508405d932f (diff) | |
download | mariadb-git-83a3b61958dfef46cea80d8ca3f84e0f6175d661.tar.gz |
alias_name_used fixbb-10.2-midenok-tmp
-rw-r--r-- | sql/item.h | 4 | ||||
-rw-r--r-- | sql/table.cc | 4 |
2 files changed, 5 insertions, 3 deletions
diff --git a/sql/item.h b/sql/item.h index 7795ff9fa1b..88f7d2d67f0 100644 --- a/sql/item.h +++ b/sql/item.h @@ -2644,7 +2644,7 @@ public: bool any_privileges); bool check_vcol_func_processor(void *arg) { - if (table_name) + if (alias_name_used) { /* NOTE: alias is different in every statement, we must update it. @@ -2865,7 +2865,7 @@ public: bool check_table_name_processor(void *arg) { Check_table_name_prm &p= *(Check_table_name_prm *) arg; - if (!field && p.table_name.length && table_name) + if (p.table_name.length && table_name) { DBUG_ASSERT(p.db.length); if ((db_name && diff --git a/sql/table.cc b/sql/table.cc index 68d28a5efea..11ec0ef96b6 100644 --- a/sql/table.cc +++ b/sql/table.cc @@ -3230,6 +3230,8 @@ enum open_frm_error open_table_from_share(THD *thd, TABLE_SHARE *share, goto err; outparam->alias.set(tmp_alias, tmp_length, table_alias_charset); + outparam->alias_name_used= my_strcasecmp(table_alias_charset, + share->table_name.str, alias); outparam->quick_keys.init(); outparam->covering_keys.init(); outparam->intersect_keys.init(); @@ -4781,7 +4783,7 @@ void TABLE::init(THD *thd, TABLE_LIST *tl) { DBUG_ASSERT(s->tmp_table != NO_TMP_TABLE || s->tdc->ref_count > 0); - if (thd->lex->need_correct_ident()) +// if (thd->lex->need_correct_ident()) alias_name_used= my_strcasecmp(table_alias_charset, s->table_name.str, tl->alias); |