diff options
-rw-r--r-- | mysql-test/main/create.result | 2 | ||||
-rw-r--r-- | mysql-test/main/create.test | 6 | ||||
-rw-r--r-- | mysql-test/suite/perfschema/r/start_server_low_digest_sql_length.result | 2 | ||||
-rw-r--r-- | sql/lex.h | 8 | ||||
-rw-r--r-- | sql/sql_yacc.yy | 6 |
5 files changed, 21 insertions, 3 deletions
diff --git a/mysql-test/main/create.result b/mysql-test/main/create.result index 45d4a24ddf8..d22d55669ac 100644 --- a/mysql-test/main/create.result +++ b/mysql-test/main/create.result @@ -2012,3 +2012,5 @@ CREATE TABLE t1 ( id1 INT, id2 INT, CONSTRAINT `foo` PRIMARY KEY (id1), CONSTRAI Warnings: Warning 1280 Name 'foo' ignored for PRIMARY key. DROP TABLE t1; +CREATE TABLE t1 (id1 INT, id2 INT, primary key (id1), unique index (id2) visible); +drop table t1; diff --git a/mysql-test/main/create.test b/mysql-test/main/create.test index 3a9d90892c5..af12425f107 100644 --- a/mysql-test/main/create.test +++ b/mysql-test/main/create.test @@ -1873,3 +1873,9 @@ drop table t1; CREATE TABLE t1 ( id1 INT, id2 INT, CONSTRAINT `foo` PRIMARY KEY (id1), CONSTRAINT `bar` UNIQUE KEY(id2)); DROP TABLE t1; +# +# MDEV-22199 Add VISIBLE option for indexes in create table +# + +CREATE TABLE t1 (id1 INT, id2 INT, primary key (id1), unique index (id2) visible); +drop table t1; diff --git a/mysql-test/suite/perfschema/r/start_server_low_digest_sql_length.result b/mysql-test/suite/perfschema/r/start_server_low_digest_sql_length.result index 9e9cb98073b..9f3726a2345 100644 --- a/mysql-test/suite/perfschema/r/start_server_low_digest_sql_length.result +++ b/mysql-test/suite/perfschema/r/start_server_low_digest_sql_length.result @@ -8,5 +8,5 @@ SELECT 1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1 #################################### SELECT event_name, digest, digest_text, sql_text FROM events_statements_history_long; event_name digest digest_text sql_text -statement/sql/select 230fd11f009a87fecbb87c9fc7361475 SELECT ? + ? + SELECT ... +statement/sql/select beb5bd93b7e8c45bc5cb6060804988e8 SELECT ? + ? + SELECT ... statement/sql/truncate faf6cefb662b443f05e97b5c5ab14a59 TRUNCATE TABLE truncat... diff --git a/sql/lex.h b/sql/lex.h index 30f330cedce..542356c0e43 100644 --- a/sql/lex.h +++ b/sql/lex.h @@ -43,6 +43,9 @@ SYM_GROUP sym_group_rtree= {"RTree keys", "HAVE_RTREE_KEYS"}; NOTE! The symbol tables should be the same regardless of what features are compiled into the server. Don't add ifdef'ed symbols to the lists + NOTE!! + If you add or delete symbols from this file, you must also update results for + the perfschema.start_server_low_digest_sql_length test! */ static SYMBOL symbols[] = { @@ -174,7 +177,7 @@ static SYMBOL symbols[] = { { "DAY_MICROSECOND", SYM(DAY_MICROSECOND_SYM)}, { "DAY_MINUTE", SYM(DAY_MINUTE_SYM)}, { "DAY_SECOND", SYM(DAY_SECOND_SYM)}, - { "DEALLOCATE", SYM(DEALLOCATE_SYM)}, + { "DEALLOCATE", SYM(DEALLOCATE_SYM)}, { "DEC", SYM(DECIMAL_SYM)}, { "DECIMAL", SYM(DECIMAL_SYM)}, { "DECLARE", SYM(DECLARE_MARIADB_SYM)}, @@ -705,6 +708,7 @@ static SYMBOL symbols[] = { { "VIA", SYM(VIA_SYM)}, { "VIEW", SYM(VIEW_SYM)}, { "VIRTUAL", SYM(VIRTUAL_SYM)}, + { "VISIBLE", SYM(VISIBLE_SYM)}, { "VERSIONING", SYM(VERSIONING_SYM)}, { "WAIT", SYM(WAIT_SYM)}, { "WARNINGS", SYM(WARNINGS)}, @@ -713,7 +717,7 @@ static SYMBOL symbols[] = { { "WHEN", SYM(WHEN_SYM)}, { "WHERE", SYM(WHERE)}, { "WHILE", SYM(WHILE_SYM)}, - { "WINDOW", SYM(WINDOW_SYM)}, + { "WINDOW", SYM(WINDOW_SYM)}, { "WITH", SYM(WITH)}, { "WITHIN", SYM(WITHIN)}, { "WITHOUT", SYM(WITHOUT)}, diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy index 529e59c4c48..8d20193e518 100644 --- a/sql/sql_yacc.yy +++ b/sql/sql_yacc.yy @@ -1125,6 +1125,7 @@ End SQL_MODE_ORACLE_SPECIFIC */ %token <kwd> VERSIONING_SYM /* SQL-2011-R */ %token <kwd> VIA_SYM %token <kwd> VIEW_SYM /* SQL-2003-N */ +%token <kwd> VISIBLE_SYM /* MySQL 8.0 */ %token <kwd> VIRTUAL_SYM %token <kwd> WAIT_SYM %token <kwd> WARNINGS @@ -6997,6 +6998,10 @@ all_key_opt: } | COMMENT_SYM TEXT_STRING_sys { Lex->last_key->key_create_info.comment= $2; } + | VISIBLE_SYM + { + /* This is mainly for MySQL 8.0 compatiblity */ + } | IDENT_sys equal TEXT_STRING_sys { if (unlikely($3.length > ENGINE_OPTION_MAX_LENGTH)) @@ -15796,6 +15801,7 @@ keyword_sp_var_and_label: | VERSIONING_SYM | VIEW_SYM | VIRTUAL_SYM + | VISIBLE_SYM | VALUE_SYM | WARNINGS | WAIT_SYM |