diff options
author | Aleksey Midenkov <midenok@gmail.com> | 2021-05-27 17:00:14 +0300 |
---|---|---|
committer | Aleksey Midenkov <midenok@gmail.com> | 2021-09-29 21:05:54 +0300 |
commit | 38dc726d268839a62e2beb45ef4330978418a57f (patch) | |
tree | 42bd2b9d62ceb754f2d0b2fb6aecf8cf27c7873a /sql/item.h | |
parent | c70fc55bd7599cee91fe271ac7fb1f89ef79aa3e (diff) | |
download | mariadb-git-38dc726d268839a62e2beb45ef4330978418a57f.tar.gz |
MDEV-24176 Preparations
1. moved fix_vcol_exprs() call to open_table()
mysql_alter_table() doesn't do lock_tables() so it cannot win from
fix_vcol_exprs() from there. Tests affected: main.default_session
2. Vanilla cleanups and comments.
Diffstat (limited to 'sql/item.h')
-rw-r--r-- | sql/item.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/sql/item.h b/sql/item.h index 4c78ed0ea3d..edefb4fca26 100644 --- a/sql/item.h +++ b/sql/item.h @@ -1737,6 +1737,13 @@ public: /*========= Item processors, to be used with Item::walk() ========*/ virtual bool remove_dependence_processor(void *arg) { return 0; } virtual bool cleanup_processor(void *arg); + /* + TODO: Remove cleanup_excluding_fields_processor() + + This is just a quick hack to exclude wrongly working Item_field from + processing. Now it works due to correct execution environment (see + next commit). Related to MDEV-10355 + */ virtual bool cleanup_excluding_fields_processor(void *arg) { return cleanup_processor(arg); } virtual bool cleanup_excluding_const_fields_processor(void *arg) { return cleanup_processor(arg); } virtual bool collect_item_field_processor(void *arg) { return 0; } @@ -2924,6 +2931,12 @@ public: const char *db_name; const char *table_name; LEX_CSTRING field_name; + /* + NOTE: came from TABLE::alias_name_used and this is only a hint! It works + only in need_correct_ident() condition. On other cases it is FALSE even if + table_name is alias! It cannot be TRUE in these cases, lots of spaghetti + logic depends on that. + */ bool alias_name_used; /* true if item was resolved against alias */ /* Cached value of index for this field in table->field array, used by prep. |