# Author: Horst Hunger # Created: 2010-07-06 source include/not_embedded.inc; source include/have_partition.inc; let $engine_table= MYISAM; let $engine_part= MYISAM; let $engine_subpart= MYISAM; CREATE USER test2@localhost; source suite/parts/inc/part_exch_tabs.inc; GRANT USAGE ON *.* TO test2@localhost; GRANT CREATE, DROP, ALTER, UPDATE, INSERT, SELECT ON test.* TO test2@localhost; connect (test2,localhost,test2,,test,$MASTER_MYPORT,$MASTER_MYSOCK); SHOW GRANTS FOR CURRENT_USER; # 9) Exchanges with different owner. # Privilege for ALTER and SELECT ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10; sorted_result; SELECT * FROM t_10; sorted_result; SELECT * FROM tp WHERE a BETWEEN 0 AND 10; # Back to former values. ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10; sorted_result; SELECT * FROM t_10; sorted_result; SELECT * FROM tp WHERE a BETWEEN 0 AND 10; ALTER TABLE tsp EXCHANGE PARTITION sp00 WITH TABLE tsp_00; sorted_result; SELECT * FROM tsp_00; sorted_result; SELECT * FROM tsp WHERE a BETWEEN 0 AND 10; # Back to former values. ALTER TABLE tsp EXCHANGE PARTITION sp00 WITH TABLE tsp_00; sorted_result; SELECT * FROM tsp_00; sorted_result; SELECT * FROM tsp WHERE a BETWEEN 0 AND 10; disconnect test2; connection default; REVOKE INSERT ON test.* FROM test2@localhost; connect (test2,localhost,test2,,test,$MASTER_MYPORT,$MASTER_MYSOCK); USE test; SHOW GRANTS FOR CURRENT_USER; # Privilege for ALTER and SELECT error ER_TABLEACCESS_DENIED_ERROR; ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10; disconnect test2; connection default; GRANT INSERT ON test.* TO test2@localhost; REVOKE CREATE ON test.* FROM test2@localhost; connect (test2,localhost,test2,,test,$MASTER_MYPORT,$MASTER_MYSOCK); USE test; SHOW GRANTS FOR CURRENT_USER; error ER_TABLEACCESS_DENIED_ERROR; ALTER TABLE tsp EXCHANGE PARTITION sp00 WITH TABLE tsp_00; disconnect test2; connection default; GRANT CREATE ON test.* TO test2@localhost; REVOKE DROP ON test.* FROM test2@localhost; connect (test2,localhost,test2,,test,$MASTER_MYPORT,$MASTER_MYSOCK); SHOW GRANTS FOR CURRENT_USER; # Privilege for ALTER and SELECT error ER_TABLEACCESS_DENIED_ERROR; ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10; disconnect test2; connection default; source suite/parts/inc/part_exch_drop_tabs.inc; DROP USER test2@localhost;