mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Manual merge from mysql-5.1-bugteam.
Conflicts: - mysql-test/collections/default.experimental - mysql-test/suite/rpl/r/rpl_sp.result
This commit is contained in:
@ -17,15 +17,16 @@ show grants for x@y;
|
||||
Grants for x@y
|
||||
GRANT USAGE ON *.* TO 'x'@'y'
|
||||
GRANT SELECT ON `d1`.`t` TO 'x'@'y'
|
||||
show binlog events from <binlog_start>;
|
||||
show binlog events;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query # # drop database if exists d1
|
||||
master-bin.000001 # Query # # create database d1
|
||||
master-bin.000001 # Query # # use `d1`; create table t (s1 int) engine=innodb
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `d1`; insert into t values (1)
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # use `d1`; grant select on t to 'x'@'y'
|
||||
master-bin.000001 4 Format_desc 1 107 Server ver: VERSION, Binlog ver: 4
|
||||
master-bin.000001 107 Query 1 194 drop database if exists d1
|
||||
master-bin.000001 194 Query 1 273 create database d1
|
||||
master-bin.000001 273 Query 1 371 use `d1`; create table t (s1 int) engine=innodb
|
||||
master-bin.000001 371 Query 1 437 BEGIN
|
||||
master-bin.000001 437 Query 1 522 use `d1`; insert into t values (1)
|
||||
master-bin.000001 522 Xid 1 549 COMMIT /* XID */
|
||||
master-bin.000001 549 Query 1 634 use `d1`; grant select on t to x@y
|
||||
start transaction;
|
||||
insert into t values (2);
|
||||
revoke select on t from x@y;
|
||||
@ -37,18 +38,19 @@ s1
|
||||
show grants for x@y;
|
||||
Grants for x@y
|
||||
GRANT USAGE ON *.* TO 'x'@'y'
|
||||
show binlog events from <binlog_start>;
|
||||
show binlog events;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Query # # drop database if exists d1
|
||||
master-bin.000001 # Query # # create database d1
|
||||
master-bin.000001 # Query # # use `d1`; create table t (s1 int) engine=innodb
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `d1`; insert into t values (1)
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # use `d1`; grant select on t to 'x'@'y'
|
||||
master-bin.000001 # Query # # BEGIN
|
||||
master-bin.000001 # Query # # use `d1`; insert into t values (2)
|
||||
master-bin.000001 # Xid # # COMMIT /* XID */
|
||||
master-bin.000001 # Query # # use `d1`; revoke select on t from 'x'@'y'
|
||||
master-bin.000001 4 Format_desc 1 107 Server ver: VERSION, Binlog ver: 4
|
||||
master-bin.000001 107 Query 1 194 drop database if exists d1
|
||||
master-bin.000001 194 Query 1 273 create database d1
|
||||
master-bin.000001 273 Query 1 371 use `d1`; create table t (s1 int) engine=innodb
|
||||
master-bin.000001 371 Query 1 437 BEGIN
|
||||
master-bin.000001 437 Query 1 522 use `d1`; insert into t values (1)
|
||||
master-bin.000001 522 Xid 1 549 COMMIT /* XID */
|
||||
master-bin.000001 549 Query 1 634 use `d1`; grant select on t to x@y
|
||||
master-bin.000001 634 Query 1 700 BEGIN
|
||||
master-bin.000001 700 Query 1 785 use `d1`; insert into t values (2)
|
||||
master-bin.000001 785 Xid 1 812 COMMIT /* XID */
|
||||
master-bin.000001 812 Query 1 900 use `d1`; revoke select on t from x@y
|
||||
drop user x@y;
|
||||
drop database d1;
|
||||
|
@ -251,45 +251,3 @@ DROP EVENT event44331_1;
|
||||
DROP EVENT event44331_2;
|
||||
DROP EVENT event44331_3;
|
||||
DROP EVENT event44331_4;
|
||||
DROP VIEW IF EXISTS events_view;
|
||||
DROP EVENT IF EXISTS event48321_1;
|
||||
DROP EVENT IF EXISTS event48321_2;
|
||||
DROP EVENT IF EXISTS event48321_3;
|
||||
DROP EVENT IF EXISTS event48321_4;
|
||||
CREATE VIEW events_view AS
|
||||
SELECT EVENT_SCHEMA, EVENT_NAME, DEFINER FROM INFORMATION_SCHEMA.EVENTS
|
||||
WHERE EVENT_NAME LIKE 'event48321%';
|
||||
CREATE DEFINER=CURRENT_USER() /*!50000 EVENT event48321_1 */
|
||||
ON SCHEDULE AT CURRENT_TIMESTAMP
|
||||
ON COMPLETION PRESERVE DISABLE
|
||||
DO SELECT 48321 as BUG;
|
||||
CREATE DEFINER=CURRENT_USER() EVENT event48321_2
|
||||
ON SCHEDULE AT CURRENT_TIMESTAMP
|
||||
ON COMPLETION PRESERVE DISABLE
|
||||
DO SELECT 48321 as BUG;
|
||||
CREATE /*!50000 DEFINER=CURRENT_USER() */ EVENT event48321_3
|
||||
ON SCHEDULE AT CURRENT_TIMESTAMP
|
||||
ON COMPLETION PRESERVE DISABLE
|
||||
DO SELECT 48321 as BUG;
|
||||
Comparing tables master:test.events_view and slave:test.events_view
|
||||
ALTER DEFINER=CURRENT_USER() EVENT event48321_1 RENAME TO event48321_4;
|
||||
ALTER DEFINER=CURRENT_USER() EVENT event48321_2
|
||||
ON SCHEDULE AT CURRENT_TIMESTAMP
|
||||
ON COMPLETION PRESERVE DISABLE
|
||||
DO SELECT 48321 as BUG;
|
||||
ALTER /*!50000 DEFINER=CURRENT_USER() */ EVENT event48321_3
|
||||
ON SCHEDULE AT CURRENT_TIMESTAMP
|
||||
ON COMPLETION PRESERVE DISABLE
|
||||
DO SELECT 48321 as BUG;
|
||||
Comparing tables master:test.events_view and slave:test.events_view
|
||||
ALTER /*!50000 DEFINER=CURRENT_USER() */ EVENT event48321_3
|
||||
ON SCHEDULE AT CURRENT_TIMESTAMP
|
||||
ON COMPLETION PRESERVE DISABLE
|
||||
DO SELECT 48321 as BUG; ALTER EVENT event48321_2 ENABLE |
|
||||
Comparing tables master:test.events_view and slave:test.events_view
|
||||
ALTER EVENT event48321_3 ENABLE;
|
||||
Comparing tables master:test.events_view and slave:test.events_view
|
||||
DROP EVENT event48321_4;
|
||||
DROP EVENT event48321_2;
|
||||
DROP EVENT event48321_3;
|
||||
DROP VIEW events_view;
|
||||
|
@ -750,7 +750,7 @@ test_rpl e2 root@localhost SYSTEM RECURRING NULL 1 # # NULL ENABLED 1 latin1 lat
|
||||
USE test_rpl;
|
||||
SHOW EVENTS;
|
||||
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
|
||||
test_rpl e2 root@localhost SYSTEM RECURRING NULL 1 # # NULL SLAVESIDE_DISABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
|
||||
test_rpl e2 @ SYSTEM RECURRING NULL 1 # # NULL SLAVESIDE_DISABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
|
||||
==========MASTER==========
|
||||
SELECT COUNT(*) FROM t1;
|
||||
COUNT(*)
|
||||
@ -1079,7 +1079,7 @@ master-bin.000001 # Query 1 # BEGIN
|
||||
master-bin.000001 # Query 1 # use `test_rpl`; INSERT INTO t1 VALUES(1, 'test1')
|
||||
master-bin.000001 # Xid 1 # #
|
||||
master-bin.000001 # Query 1 # use `test_rpl`; CREATE DEFINER=`root`@`localhost` EVENT e1 ON SCHEDULE EVERY '1' SECOND COMMENT 'e_second_comment' DO DELETE FROM t1
|
||||
master-bin.000001 # Query 1 # use `test_rpl`; ALTER DEFINER=`root`@`localhost` EVENT e1 RENAME TO e2
|
||||
master-bin.000001 # Query 1 # use `test_rpl`; ALTER EVENT e1 RENAME TO e2
|
||||
master-bin.000001 # Query 1 # use `test_rpl`; DROP EVENT e2
|
||||
master-bin.000001 # Query 1 # BEGIN
|
||||
master-bin.000001 # Query 1 # use `test_rpl`; DELETE FROM t1
|
||||
|
@ -433,9 +433,9 @@ master-bin.000001 # Query # # use `mysqltest1`; create table t2 like t1
|
||||
master-bin.000001 # Query # # use `mysqltest1`; CREATE DEFINER=`root`@`localhost` PROCEDURE `foo3`()
|
||||
DETERMINISTIC
|
||||
insert into t1 values (15)
|
||||
master-bin.000001 # Query # # use `mysqltest1`; grant CREATE ROUTINE, EXECUTE on mysqltest1.* to 'zedjzlcsjhd'@'127.0.0.1'
|
||||
master-bin.000001 # Query # # use `mysqltest1`; grant SELECT on mysqltest1.t1 to 'zedjzlcsjhd'@'127.0.0.1'
|
||||
master-bin.000001 # Query # # use `mysqltest1`; grant SELECT, INSERT on mysqltest1.t2 to 'zedjzlcsjhd'@'127.0.0.1'
|
||||
master-bin.000001 # Query # # use `mysqltest1`; grant CREATE ROUTINE, EXECUTE on mysqltest1.* to "zedjzlcsjhd"@127.0.0.1
|
||||
master-bin.000001 # Query # # use `mysqltest1`; grant SELECT on mysqltest1.t1 to "zedjzlcsjhd"@127.0.0.1
|
||||
master-bin.000001 # Query # # use `mysqltest1`; grant SELECT, INSERT on mysqltest1.t2 to "zedjzlcsjhd"@127.0.0.1
|
||||
master-bin.000001 # Query # # use `mysqltest1`; CREATE DEFINER=`zedjzlcsjhd`@`127.0.0.1` PROCEDURE `foo4`()
|
||||
DETERMINISTIC
|
||||
begin
|
||||
@ -510,7 +510,7 @@ select * from t1
|
||||
master-bin.000001 # Query # # use `mysqltest1`; drop procedure foo
|
||||
master-bin.000001 # Query # # use `mysqltest1`; drop function fn1
|
||||
master-bin.000001 # Query # # drop database mysqltest1
|
||||
master-bin.000001 # Query # # DROP USER 'zedjzlcsjhd'@'127.0.0.1'
|
||||
master-bin.000001 # Query # # drop user "zedjzlcsjhd"@127.0.0.1
|
||||
master-bin.000001 # Query # # use `test`; drop function if exists f1
|
||||
master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` FUNCTION `f1`() RETURNS int(11)
|
||||
READS SQL DATA
|
||||
@ -675,13 +675,13 @@ CREATE DEFINER=`root`@`localhost` PROCEDURE `foo3`()
|
||||
insert into t1 values (15)
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
grant CREATE ROUTINE, EXECUTE on mysqltest1.* to 'zedjzlcsjhd'@'127.0.0.1'
|
||||
grant CREATE ROUTINE, EXECUTE on mysqltest1.* to "zedjzlcsjhd"@127.0.0.1
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
grant SELECT on mysqltest1.t1 to 'zedjzlcsjhd'@'127.0.0.1'
|
||||
grant SELECT on mysqltest1.t1 to "zedjzlcsjhd"@127.0.0.1
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
grant SELECT, INSERT on mysqltest1.t2 to 'zedjzlcsjhd'@'127.0.0.1'
|
||||
grant SELECT, INSERT on mysqltest1.t2 to "zedjzlcsjhd"@127.0.0.1
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
CREATE DEFINER=`zedjzlcsjhd`@`127.0.0.1` PROCEDURE `foo4`()
|
||||
@ -842,7 +842,7 @@ SET TIMESTAMP=t/*!*/;
|
||||
drop database mysqltest1
|
||||
/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
DROP USER 'zedjzlcsjhd'@'127.0.0.1'
|
||||
drop user "zedjzlcsjhd"@127.0.0.1
|
||||
/*!*/;
|
||||
use test/*!*/;
|
||||
SET TIMESTAMP=t/*!*/;
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -25,7 +25,9 @@ grant select on t to x@y;
|
||||
#
|
||||
rollback;
|
||||
show grants for x@y;
|
||||
--source include/show_binlog_events.inc
|
||||
--replace_result $VERSION VERSION
|
||||
--replace_regex /\/\* xid=.* \*\//\/* XID *\//
|
||||
show binlog events;
|
||||
start transaction;
|
||||
insert into t values (2);
|
||||
revoke select on t from x@y;
|
||||
@ -35,7 +37,9 @@ revoke select on t from x@y;
|
||||
commit;
|
||||
select * from t;
|
||||
show grants for x@y;
|
||||
--source include/show_binlog_events.inc
|
||||
--replace_result $VERSION VERSION
|
||||
--replace_regex /\/\* xid=.* \*\//\/* XID *\//
|
||||
show binlog events;
|
||||
drop user x@y;
|
||||
drop database d1;
|
||||
--sync_slave_with_master
|
||||
|
@ -105,85 +105,3 @@ DROP EVENT event44331_2;
|
||||
DROP EVENT event44331_3;
|
||||
DROP EVENT event44331_4;
|
||||
sync_slave_with_master;
|
||||
|
||||
#
|
||||
# BUG#48321
|
||||
# This test verifies if the definer is consistent between master and slave,
|
||||
# when the event is created or altered with the DEFINER clause that the
|
||||
# DEFINER is set to CURRENT_USER()
|
||||
#
|
||||
connection master;
|
||||
--disable_warnings
|
||||
DROP VIEW IF EXISTS events_view;
|
||||
DROP EVENT IF EXISTS event48321_1;
|
||||
DROP EVENT IF EXISTS event48321_2;
|
||||
DROP EVENT IF EXISTS event48321_3;
|
||||
DROP EVENT IF EXISTS event48321_4;
|
||||
--enable_warnings
|
||||
|
||||
CREATE VIEW events_view AS
|
||||
SELECT EVENT_SCHEMA, EVENT_NAME, DEFINER FROM INFORMATION_SCHEMA.EVENTS
|
||||
WHERE EVENT_NAME LIKE 'event48321%';
|
||||
let $diff_table_1= master:test.events_view;
|
||||
let $diff_table_2= slave:test.events_view;
|
||||
|
||||
CREATE DEFINER=CURRENT_USER() /*!50000 EVENT event48321_1 */
|
||||
ON SCHEDULE AT CURRENT_TIMESTAMP
|
||||
ON COMPLETION PRESERVE DISABLE
|
||||
DO SELECT 48321 as BUG;
|
||||
|
||||
CREATE DEFINER=CURRENT_USER() EVENT event48321_2
|
||||
ON SCHEDULE AT CURRENT_TIMESTAMP
|
||||
ON COMPLETION PRESERVE DISABLE
|
||||
DO SELECT 48321 as BUG;
|
||||
|
||||
CREATE /*!50000 DEFINER=CURRENT_USER() */ EVENT event48321_3
|
||||
ON SCHEDULE AT CURRENT_TIMESTAMP
|
||||
ON COMPLETION PRESERVE DISABLE
|
||||
DO SELECT 48321 as BUG;
|
||||
sync_slave_with_master;
|
||||
|
||||
--source include/diff_tables.inc
|
||||
|
||||
connection master;
|
||||
ALTER DEFINER=CURRENT_USER() EVENT event48321_1 RENAME TO event48321_4;
|
||||
|
||||
ALTER DEFINER=CURRENT_USER() EVENT event48321_2
|
||||
ON SCHEDULE AT CURRENT_TIMESTAMP
|
||||
ON COMPLETION PRESERVE DISABLE
|
||||
DO SELECT 48321 as BUG;
|
||||
|
||||
ALTER /*!50000 DEFINER=CURRENT_USER() */ EVENT event48321_3
|
||||
ON SCHEDULE AT CURRENT_TIMESTAMP
|
||||
ON COMPLETION PRESERVE DISABLE
|
||||
DO SELECT 48321 as BUG;
|
||||
sync_slave_with_master;
|
||||
|
||||
--source include/diff_tables.inc
|
||||
|
||||
# Two statements in on query
|
||||
connection master;
|
||||
DELIMITER |;
|
||||
ALTER /*!50000 DEFINER=CURRENT_USER() */ EVENT event48321_3
|
||||
ON SCHEDULE AT CURRENT_TIMESTAMP
|
||||
ON COMPLETION PRESERVE DISABLE
|
||||
DO SELECT 48321 as BUG; ALTER EVENT event48321_2 ENABLE |
|
||||
DELIMITER ;|
|
||||
sync_slave_with_master;
|
||||
|
||||
--source include/diff_tables.inc
|
||||
|
||||
#No Event boday
|
||||
connection master;
|
||||
ALTER EVENT event48321_3 ENABLE;
|
||||
sync_slave_with_master;
|
||||
|
||||
--source include/diff_tables.inc
|
||||
|
||||
connection master;
|
||||
DROP EVENT event48321_4;
|
||||
DROP EVENT event48321_2;
|
||||
DROP EVENT event48321_3;
|
||||
DROP VIEW events_view;
|
||||
--source include/master-slave-end.inc
|
||||
|
||||
|
@ -54,85 +54,8 @@ drop user 'not_exist_user1'@'fakehost', 'not_exist_user2'@'fakehost';
|
||||
sync_slave_with_master;
|
||||
select Host,User from mysql.user where Host='fakehost';
|
||||
|
||||
#
|
||||
# show the binlog events on the master
|
||||
#
|
||||
connection master;
|
||||
source include/show_binlog_events.inc;
|
||||
|
||||
#
|
||||
# BUG#48321
|
||||
#
|
||||
let $action= RENAME;
|
||||
let $statement= RENAME USER \$users_list;
|
||||
source extra/rpl_tests/rpl_current_user.test;
|
||||
|
||||
let $action= DROP;
|
||||
let $statement= DROP USER \$users_list;
|
||||
source extra/rpl_tests/rpl_current_user.test;
|
||||
|
||||
--disable_warnings
|
||||
DROP PROCEDURE IF EXISTS f1;
|
||||
--enable_warnings
|
||||
CREATE PROCEDURE p1() SELECT 1;
|
||||
#REVOKE ALL PRIVILEGES
|
||||
let $action= REVOKE;
|
||||
let $diff_columns= Select_priv, Update_priv, Create_priv, Drop_priv, Grant_priv;
|
||||
let $statement= REVOKE ALL PRIVILEGES, GRANT OPTION FROM \$users_list;
|
||||
source extra/rpl_tests/rpl_current_user.test;
|
||||
|
||||
#REVOKE ALL PRIVILEGES with comment
|
||||
let $action= REVOKE;
|
||||
let $diff_columns= Select_priv, Update_priv, Create_priv, Drop_priv, Grant_priv;
|
||||
let $statement= REVOKE ALL PRIVILEGES, GRANT OPTION FROM \$users_list /*With comment*/;
|
||||
source extra/rpl_tests/rpl_current_user.test;
|
||||
|
||||
#REVOKE ALL PRIVILEGES with comment
|
||||
let $action= REVOKE;
|
||||
let $diff_columns= Select_priv, Update_priv, Create_priv, Drop_priv, Grant_priv;
|
||||
let $statement= REVOKE ALL PRIVILEGES, GRANT OPTION FROM /*With comment*/ \$users_list;
|
||||
source extra/rpl_tests/rpl_current_user.test;
|
||||
|
||||
let $diff_columns= Select_priv, Update_priv, Create_priv, Drop_priv;
|
||||
#REVOKE ON TABLE
|
||||
let $statement= REVOKE SELECT, UPDATE, CREATE, DROP ON TABLE *.* FROM \$users_list;
|
||||
source extra/rpl_tests/rpl_current_user.test;
|
||||
|
||||
#REVOKE ON CREATE ROUTINE
|
||||
let $diff_columns= Create_routine_priv;
|
||||
let $statement= REVOKE CREATE ROUTINE ON *.* FROM \$users_list;
|
||||
source extra/rpl_tests/rpl_current_user.test;
|
||||
|
||||
#REVOKE ON ROUTINE
|
||||
let $diff_table= mysql.procs_priv;
|
||||
let $diff_columns= Routine_name, Proc_priv;
|
||||
let $statement= REVOKE ALTER ROUTINE, EXECUTE ON PROCEDURE p1 FROM \$users_list;
|
||||
source extra/rpl_tests/rpl_current_user.test;
|
||||
|
||||
let $diff_table= mysql.user;
|
||||
#GRANT ALL PRIVILEGES
|
||||
let $action= GRANT;
|
||||
let $diff_columns= Select_priv, Update_priv, Create_priv, Drop_priv, Grant_priv, Password;
|
||||
let $statement= GRANT ALL PRIVILEGES ON *.* TO \$users_list WITH GRANT OPTION;
|
||||
source extra/rpl_tests/rpl_current_user.test;
|
||||
|
||||
#GRANT ALL PRIVILEGES with comment
|
||||
let $action= GRANT;
|
||||
let $diff_columns= Select_priv, Update_priv, Create_priv, Drop_priv, Grant_priv, Password;
|
||||
let $statement= GRANT ALL PRIVILEGES ON *.* TO \$users_list /* With Comment */ WITH GRANT OPTION;
|
||||
source extra/rpl_tests/rpl_current_user.test;
|
||||
|
||||
#GRANT ON TABLE
|
||||
let $diff_columns= Select_priv, Update_priv, Create_priv, Drop_priv, Password;
|
||||
let $statement= GRANT SELECT, UPDATE, CREATE, DROP ON TABLE *.* TO \$users_list;
|
||||
source extra/rpl_tests/rpl_current_user.test;
|
||||
|
||||
#GRANT ON CREATE ROUTINE
|
||||
let $diff_columns= Create_routine_priv;
|
||||
let $statement= GRANT CREATE ROUTINE ON *.* TO \$users_list;
|
||||
source extra/rpl_tests/rpl_current_user.test;
|
||||
|
||||
#GRANT ON ROUTINE
|
||||
let $diff_table= mysql.procs_priv;
|
||||
let $diff_columns= Routine_name, Proc_priv;
|
||||
let $statement= GRANT ALTER ROUTINE, EXECUTE ON PROCEDURE p1 TO \$users_list;
|
||||
|
||||
DROP PROCEDURE p1;
|
||||
source extra/rpl_tests/rpl_current_user.test;
|
||||
|
Reference in New Issue
Block a user