-- Tags: no-parallel DROP USER IF EXISTS test_user_01999; CREATE USER test_user_01999; SHOW CREATE USER test_user_01999; SELECT 'A'; SHOW GRANTS FOR test_user_01999; GRANT SELECT ON db1.* TO test_user_01999; GRANT SHOW ON db2.tb2 TO test_user_01999; SELECT 'B'; SHOW GRANTS FOR test_user_01999; GRANT SELECT(col1) ON db3.table TO test_user_01999 WITH REPLACE OPTION; SELECT 'C'; SHOW GRANTS FOR test_user_01999; GRANT SELECT(col3) ON db3.table3, SELECT(col1, col2) ON db4.table4 TO test_user_01999 WITH REPLACE OPTION; SELECT 'D'; SHOW GRANTS FOR test_user_01999; GRANT SELECT(cola) ON db5.table, INSERT(colb) ON db6.tb61, SHOW ON db7.* TO test_user_01999 WITH REPLACE OPTION; SELECT 'E'; SHOW GRANTS FOR test_user_01999; SELECT 'F'; GRANT SELECT ON all.* TO test_user_01999 WITH REPLACE OPTION; SHOW GRANTS FOR test_user_01999; SELECT 'G'; GRANT USAGE ON *.* TO test_user_01999 WITH REPLACE OPTION; SHOW GRANTS FOR test_user_01999; SELECT 'H'; DROP ROLE IF EXISTS test_role_01999; CREATE role test_role_01999; GRANT test_role_01999 to test_user_01999; GRANT SELECT ON db1.tb1 TO test_user_01999; SHOW GRANTS FOR test_user_01999; SELECT 'I'; GRANT NONE ON *.* TO test_user_01999 WITH REPLACE OPTION; SHOW GRANTS FOR test_user_01999; SELECT 'J'; GRANT SHOW ON db8.* TO test_user_01999; SHOW GRANTS FOR test_user_01999; SELECT 'K'; GRANT NONE TO test_user_01999 WITH REPLACE OPTION; SHOW GRANTS FOR test_user_01999; SELECT 'L'; GRANT NONE ON *.*, SELECT on db9.tb3 TO test_user_01999 WITH REPLACE OPTION; SHOW GRANTS FOR test_user_01999; SELECT 'M'; GRANT test_role_01999 to test_user_01999; SHOW GRANTS FOR test_user_01999; SELECT 'N'; DROP ROLE IF EXISTS test_role_01999_1; CREATE role test_role_01999_1; GRANT NONE, test_role_01999_1 TO test_user_01999 WITH REPLACE OPTION; SHOW GRANTS FOR test_user_01999; DROP USER IF EXISTS test_user_01999; DROP ROLE IF EXISTS test_role_01999; DROP ROLE IF EXISTS test_role_01999_1; SELECT 'O';