summaryrefslogtreecommitdiff
path: root/mysql-test/suite/roles/create_and_drop_role_invalid_user_table.test
diff options
context:
space:
mode:
authorSergei Golubchik <serg@mariadb.org>2014-10-08 08:47:22 +0200
committerSergei Golubchik <serg@mariadb.org>2014-10-10 22:27:36 +0200
commitd103e359f875e53b7e34fe0c0d58ba9f36b9af50 (patch)
tree1d04904e8dd74c5a8f725c6392a455da8cfaaa22 /mysql-test/suite/roles/create_and_drop_role_invalid_user_table.test
parente6152f929369758691d863191f58d71d48b3d6c6 (diff)
downloadmariadb-git-d103e359f875e53b7e34fe0c0d58ba9f36b9af50.tar.gz
followup changes to timeout commit
* fix debian patch * update the copyright * rename include guards to follow conventions * restore incorectly deleted test file, add clarification in a comment * capitalize the first letter of the status variable
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.test48
1 files changed, 48 insertions, 0 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
new file mode 100644
index 00000000000..ebd75c34ca1
--- /dev/null
+++ b/mysql-test/suite/roles/create_and_drop_role_invalid_user_table.test
@@ -0,0 +1,48 @@
+#
+# 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;
+
+--replace_regex /10\d\d\d\d/MYSQL_VERSION_ID/
+--error ER_COL_COUNT_DOESNT_MATCH_PLEASE_UPDATE
+create role test_role;
+--error ER_CANNOT_USER
+drop role test_role;
+alter table user add column is_role enum('N', 'Y') default 'N' not null
+ COLLATE utf8_general_ci
+after password_expired;
+
+# 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;