# # Test some grants with sequences # Note that replication.test also does some grant testing # # Grant tests not performed with embedded server -- source include/not_embedded.inc SET @@SQL_MODE = REPLACE(@@SQL_MODE, 'NO_AUTO_CREATE_USER', ''); create database mysqltest_1; use mysqltest_1; grant all on mysqltest_1.* to 'normal'@'%'; grant select on mysqltest_1.* to 'read_only'@'%'; grant select,insert on mysqltest_1.* to 'read_write'@'%'; grant select,insert,alter on mysqltest_1.* to 'alter'@'%'; grant alter on mysqltest_1.* to only_alter@'%'; connect(normal,localhost,normal,,mysqltest_1); connect(read_only,localhost,read_only,,mysqltest_1); connect(read_write,localhost,read_write,,mysqltest_1); connect(alter,localhost,alter,,mysqltest_1); connect(only_alter, localhost, only_alter,,mysqltest_1); --disable_ps2_protocol connection normal; create sequence s1; select next value for s1; alter sequence s1 restart= 11; select * from s1; connection read_only; --error ER_TABLEACCESS_DENIED_ERROR select next value for s1; --error ER_TABLEACCESS_DENIED_ERROR alter sequence s1 restart= 11; select * from s1; connection read_write; select next value for s1; --error ER_TABLEACCESS_DENIED_ERROR alter sequence s1 restart= 11; select * from s1; connection alter; select next value for s1; alter sequence s1 restart= 11; select * from s1; connection only_alter; --error ER_TABLEACCESS_DENIED_ERROR select next value for s1; alter sequence s1 restart= 11; --error ER_TABLEACCESS_DENIED_ERROR select * from s1; --enable_ps2_protocol # # Cleanup # connection default; drop database mysqltest_1; drop user 'normal'@'%'; drop user 'read_only'@'%'; drop user 'read_write'@'%'; drop user 'alter'@'%'; drop user 'only_alter'@'%';