diff options
author | Anel Husakovic <anel@mariadb.org> | 2019-07-31 03:28:38 -0700 |
---|---|---|
committer | Anel Husakovic <anel@mariadb.org> | 2019-08-21 01:26:06 -0700 |
commit | 888f6852261c67a57f21ae80ebb0f3c3f539db7b (patch) | |
tree | 67b530f0687478ab664e380a2e3a969e73df10ad | |
parent | c93f96e2ec3d4beb9bd2ed2b2cf509d88a165809 (diff) | |
download | mariadb-git-888f6852261c67a57f21ae80ebb0f3c3f539db7b.tar.gz |
MDEV-20210 If you have an INVISIBLE VIRTUAL column, SHOW CREATE TABLE doesn't list it as INVISIBLE
-rw-r--r-- | mysql-test/main/invisible_field_debug.result | 12 | ||||
-rw-r--r-- | mysql-test/main/invisible_field_debug.test | 9 | ||||
-rw-r--r-- | sql/sql_show.cc | 4 |
3 files changed, 25 insertions, 0 deletions
diff --git a/mysql-test/main/invisible_field_debug.result b/mysql-test/main/invisible_field_debug.result index 0ea8ab12de8..6f85bd6dd88 100644 --- a/mysql-test/main/invisible_field_debug.result +++ b/mysql-test/main/invisible_field_debug.result @@ -376,3 +376,15 @@ SET debug_dbug="+d,test_completely_invisible,test_invisible_index"; CREATE TABLE t2 LIKE t1; SET debug_dbug= DEFAULT; DROP TABLE t1, t2; +# +# MDEV-20210 +# If you have an INVISIBLE VIRTUAL column, SHOW CREATE TABLE doesn't list it as INVISIBLE +# +CREATE TABLE t1 (i INT, v int GENERATED ALWAYS AS (1) VIRTUAL INVISIBLE); +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `i` int(11) DEFAULT NULL, + `v` int(11) GENERATED ALWAYS AS (1) VIRTUAL INVISIBLE +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +DROP TABLE t1; diff --git a/mysql-test/main/invisible_field_debug.test b/mysql-test/main/invisible_field_debug.test index 86252512386..a8e20247090 100644 --- a/mysql-test/main/invisible_field_debug.test +++ b/mysql-test/main/invisible_field_debug.test @@ -278,3 +278,12 @@ SET debug_dbug="+d,test_completely_invisible,test_invisible_index"; CREATE TABLE t2 LIKE t1; SET debug_dbug= DEFAULT; DROP TABLE t1, t2; + +--echo # +--echo # MDEV-20210 +--echo # If you have an INVISIBLE VIRTUAL column, SHOW CREATE TABLE doesn't list it as INVISIBLE +--echo # + +CREATE TABLE t1 (i INT, v int GENERATED ALWAYS AS (1) VIRTUAL INVISIBLE); +SHOW CREATE TABLE t1; +DROP TABLE t1; diff --git a/sql/sql_show.cc b/sql/sql_show.cc index 1170aead53c..77eb51f6368 100644 --- a/sql/sql_show.cc +++ b/sql/sql_show.cc @@ -2256,6 +2256,10 @@ int show_create_table(THD *thd, TABLE_LIST *table_list, String *packet, packet->append(STRING_WITH_LEN(" STORED")); else packet->append(STRING_WITH_LEN(" VIRTUAL")); + if (field->invisible == INVISIBLE_USER) + { + packet->append(STRING_WITH_LEN(" INVISIBLE")); + } } else { |