summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mysql-test/main/create.result2
-rw-r--r--mysql-test/main/create.test6
-rw-r--r--mysql-test/suite/perfschema/r/start_server_low_digest_sql_length.result2
-rw-r--r--sql/lex.h8
-rw-r--r--sql/sql_yacc.yy6
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