diff options
Diffstat (limited to 'mysql-test/suite/roles/create_and_drop_role_invalid_user_table.test')
-rw-r--r-- | mysql-test/suite/roles/create_and_drop_role_invalid_user_table.test | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/mysql-test/suite/roles/create_and_drop_role_invalid_user_table.test b/mysql-test/suite/roles/create_and_drop_role_invalid_user_table.test index fddab717245..ebd75c34ca1 100644 --- a/mysql-test/suite/roles/create_and_drop_role_invalid_user_table.test +++ b/mysql-test/suite/roles/create_and_drop_role_invalid_user_table.test @@ -1,9 +1,18 @@ +# +# Test that SET DEFAULT ROLE doesn't work on old privilege tables +# that don't have 'default_role' column +# source include/not_embedded.inc; connect (mysql, localhost, root,,); use mysql; +# +# downgrade the table to pre-default-role structure +# alter table user drop column is_role; +alter table user drop column default_role; +alter table user drop column max_statement_time; flush privileges; @@ -16,11 +25,24 @@ alter table user add column is_role enum('N', 'Y') default 'N' not null COLLATE utf8_general_ci after password_expired; -update user set is_role='N'; - -flush privileges; +# Test default role column create role test_role; +create user test_user@localhost; +grant test_role to test_user@localhost; +--replace_regex /10\d\d\d\d/MYSQL_VERSION_ID/ +--error ER_COL_COUNT_DOESNT_MATCH_PLEASE_UPDATE +set default role test_role for root@localhost; drop role test_role; +drop user test_user@localhost; +alter table user add column default_role char(80) binary default '' not null + COLLATE utf8_general_ci +after is_role; +alter table user add max_statement_time decimal(12,6) default 0 not null +after default_role; +update user set is_role='N'; +flush privileges; +create role test_role; +drop role test_role; |