Commit 1f58d23d authored by unknown's avatar unknown
Browse files

Merge bk-internal.mysql.com:/home/bk/mysql-5.0

into  mysql.com:/home/alik/MySQL/devel/5.0-wl2818


sql/sql_show.cc:
  Auto merged
parents 15763e1f 986bc3fb
Loading
Loading
Loading
Loading
+9 −8
Original line number Diff line number Diff line
@@ -722,6 +722,7 @@ information_schema ROUTINES SQL_MODE
information_schema	TRIGGERS	ACTION_CONDITION
information_schema	TRIGGERS	ACTION_STATEMENT
information_schema	TRIGGERS	SQL_MODE
information_schema	TRIGGERS	DEFINER
information_schema	VIEWS	VIEW_DEFINITION
select table_name, column_name, data_type from information_schema.columns
where data_type = 'datetime';
@@ -800,45 +801,45 @@ set @fired:= "Yes";
end if;
end|
show triggers;
Trigger	Event	Table	Statement	Timing	Created	sql_mode
Trigger	Event	Table	Statement	Timing	Created	sql_mode	Definer
trg1	INSERT	t1	
begin
if new.j > 10 then
set new.j := 10;
end if;
end	BEFORE	NULL	
end	BEFORE	NULL		root@localhost
trg2	UPDATE	t1	
begin
if old.i % 2 = 0 then
set new.j := -1;
end if;
end	BEFORE	NULL	
end	BEFORE	NULL		root@localhost
trg3	UPDATE	t1	
begin
if new.j = -1 then
set @fired:= "Yes";
end if;
end	AFTER	NULL	
end	AFTER	NULL		root@localhost
select * from information_schema.triggers;
TRIGGER_CATALOG	TRIGGER_SCHEMA	TRIGGER_NAME	EVENT_MANIPULATION	EVENT_OBJECT_CATALOG	EVENT_OBJECT_SCHEMA	EVENT_OBJECT_TABLE	ACTION_ORDER	ACTION_CONDITION	ACTION_STATEMENT	ACTION_ORIENTATION	ACTION_TIMING	ACTION_REFERENCE_OLD_TABLE	ACTION_REFERENCE_NEW_TABLE	ACTION_REFERENCE_OLD_ROW	ACTION_REFERENCE_NEW_ROW	CREATED	SQL_MODE
TRIGGER_CATALOG	TRIGGER_SCHEMA	TRIGGER_NAME	EVENT_MANIPULATION	EVENT_OBJECT_CATALOG	EVENT_OBJECT_SCHEMA	EVENT_OBJECT_TABLE	ACTION_ORDER	ACTION_CONDITION	ACTION_STATEMENT	ACTION_ORIENTATION	ACTION_TIMING	ACTION_REFERENCE_OLD_TABLE	ACTION_REFERENCE_NEW_TABLE	ACTION_REFERENCE_OLD_ROW	ACTION_REFERENCE_NEW_ROW	CREATED	SQL_MODE	DEFINER
NULL	test	trg1	INSERT	NULL	test	t1	0	NULL	
begin
if new.j > 10 then
set new.j := 10;
end if;
end	ROW	BEFORE	NULL	NULL	OLD	NEW	NULL	
end	ROW	BEFORE	NULL	NULL	OLD	NEW	NULL		root@localhost
NULL	test	trg2	UPDATE	NULL	test	t1	0	NULL	
begin
if old.i % 2 = 0 then
set new.j := -1;
end if;
end	ROW	BEFORE	NULL	NULL	OLD	NEW	NULL	
end	ROW	BEFORE	NULL	NULL	OLD	NEW	NULL		root@localhost
NULL	test	trg3	UPDATE	NULL	test	t1	0	NULL	
begin
if new.j = -1 then
set @fired:= "Yes";
end if;
end	ROW	AFTER	NULL	NULL	OLD	NEW	NULL	
end	ROW	AFTER	NULL	NULL	OLD	NEW	NULL		root@localhost
drop trigger trg1;
drop trigger trg2;
drop trigger trg3;
+12 −11
Original line number Diff line number Diff line
@@ -1936,23 +1936,23 @@ end if;
end|
set sql_mode=default|
show triggers like "t1";
Trigger	Event	Table	Statement	Timing	Created	sql_mode
Trigger	Event	Table	Statement	Timing	Created	sql_mode	Definer
trg1	INSERT	t1	
begin
if new.a > 10 then
set new.a := 10;
set new.a := 11;
end if;
end	BEFORE	0000-00-00 00:00:00	
end	BEFORE	0000-00-00 00:00:00		root@localhost
trg2	UPDATE	t1	 begin
if old.a % 2 = 0 then set new.b := 12; end if;
end	BEFORE	0000-00-00 00:00:00	
end	BEFORE	0000-00-00 00:00:00		root@localhost
trg3	UPDATE	t1	
begin
if new.a = -1 then
set @fired:= "Yes";
end if;
end	AFTER	0000-00-00 00:00:00	STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER
end	AFTER	0000-00-00 00:00:00	STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER	root@localhost
INSERT INTO t1 (a) VALUES (1),(2),(3),(22);
update t1 set a = 4 where a=3;

@@ -2095,29 +2095,29 @@ Tables_in_test
t1
t2
show triggers;
Trigger	Event	Table	Statement	Timing	Created	sql_mode
Trigger	Event	Table	Statement	Timing	Created	sql_mode	Definer
trg1	INSERT	t1	
begin
if new.a > 10 then
set new.a := 10;
set new.a := 11;
end if;
end	BEFORE	#	
end	BEFORE	#		root@localhost
trg2	UPDATE	t1	 begin
if old.a % 2 = 0 then set new.b := 12; end if;
end	BEFORE	#	
end	BEFORE	#		root@localhost
trg3	UPDATE	t1	
begin
if new.a = -1 then
set @fired:= "Yes";
end if;
end	AFTER	#	STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER
end	AFTER	#	STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER	root@localhost
trg4	INSERT	t2	
begin
if new.a > 10 then
set @fired:= "No";
end if;
end	BEFORE	#	STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER
end	BEFORE	#	STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER	root@localhost
DROP TABLE t1, t2;
--port=1234
--port=1234
@@ -2140,9 +2140,9 @@ SELECT * FROM `test2`;
a2
1
SHOW TRIGGERS;
Trigger	Event	Table	Statement	Timing	Created	sql_mode
Trigger	Event	Table	Statement	Timing	Created	sql_mode	Definer
testref	INSERT	test1	 BEGIN
INSERT INTO test2 SET a2 = NEW.a1; END	BEFORE	NULL	
INSERT INTO test2 SET a2 = NEW.a1; END	BEFORE	NULL		root@localhost
SELECT * FROM `test1`;
a1
1
@@ -2157,6 +2157,7 @@ DROP FUNCTION IF EXISTS bug9056_func1;
DROP FUNCTION IF EXISTS bug9056_func2;
DROP PROCEDURE IF EXISTS bug9056_proc1;
DROP PROCEDURE IF EXISTS bug9056_proc2;
DROP PROCEDURE IF EXISTS `a'b`;
CREATE TABLE t1 (id int);
INSERT INTO t1 VALUES(1), (2), (3), (4), (5);
CREATE FUNCTION `bug9056_func1`(a INT, b INT) RETURNS int(11) RETURN a+b //
+6 −6
Original line number Diff line number Diff line
@@ -1465,13 +1465,13 @@ flush logs;

-------- switch to master -------
SHOW TRIGGERS;
Trigger	Event	Table	Statement	Timing	Created	sql_mode
trg1	INSERT	t1	 SET @a:=1	BEFORE	NULL	
Trigger	Event	Table	Statement	Timing	Created	sql_mode	Definer
trg1	INSERT	t1	 SET @a:=1	BEFORE	NULL		root@localhost

-------- switch to slave -------
SHOW TRIGGERS;
Trigger	Event	Table	Statement	Timing	Created	sql_mode
trg1	INSERT	t1	 SET @a:=1	BEFORE	NULL	
Trigger	Event	Table	Statement	Timing	Created	sql_mode	Definer
trg1	INSERT	t1	 SET @a:=1	BEFORE	NULL		root@localhost

######## DROP TRIGGER trg1  ########

@@ -1520,11 +1520,11 @@ flush logs;

-------- switch to master -------
SHOW TRIGGERS;
Trigger	Event	Table	Statement	Timing	Created	sql_mode
Trigger	Event	Table	Statement	Timing	Created	sql_mode	Definer

-------- switch to slave -------
SHOW TRIGGERS;
Trigger	Event	Table	Statement	Timing	Created	sql_mode
Trigger	Event	Table	Statement	Timing	Created	sql_mode	Definer

######## CREATE USER user1@localhost  ########

+1 −98
Original line number Diff line number Diff line
@@ -263,104 +263,7 @@ a
1
show binlog events in 'master-bin.000001' from 98;
Log_name	Pos	Event_type	Server_id	End_log_pos	Info
master-bin.000001	#	Query	1	#	drop database if exists mysqltest1
master-bin.000001	#	Query	1	#	create database mysqltest1
master-bin.000001	#	Query	1	#	use `mysqltest1`; create table t1 (a varchar(100))
master-bin.000001	#	Query	1	#	use `mysqltest1`; create procedure foo()
begin
declare b int;
set b = 8;
insert into t1 values (b);
insert into t1 values (unix_timestamp());
end
master-bin.000001	#	Query	1	#	use `mysqltest1`; insert into t1 values ( NAME_CONST('b',8))
master-bin.000001	#	Query	1	#	use `mysqltest1`; insert into t1 values (unix_timestamp())
master-bin.000001	#	Query	1	#	use `mysqltest1`; delete from t1
master-bin.000001	#	Query	1	#	use `mysqltest1`; create procedure foo2()
select * from mysqltest1.t1
master-bin.000001	#	Query	1	#	use `mysqltest1`; alter procedure foo2 contains sql
master-bin.000001	#	Query	1	#	use `mysqltest1`; drop table t1
master-bin.000001	#	Query	1	#	use `mysqltest1`; create table t1 (a int)
master-bin.000001	#	Query	1	#	use `mysqltest1`; create table t2 like t1
master-bin.000001	#	Query	1	#	use `mysqltest1`; create procedure foo3()
deterministic
insert into t1 values (15)
master-bin.000001	#	Query	1	#	use `mysqltest1`; grant CREATE ROUTINE, EXECUTE on mysqltest1.* to "zedjzlcsjhd"@127.0.0.1
master-bin.000001	#	Query	1	#	use `mysqltest1`; grant SELECT on mysqltest1.t1 to "zedjzlcsjhd"@127.0.0.1
master-bin.000001	#	Query	1	#	use `mysqltest1`; grant SELECT, INSERT on mysqltest1.t2 to "zedjzlcsjhd"@127.0.0.1
master-bin.000001	#	Query	1	#	use `mysqltest1`; create procedure foo4()
deterministic
begin
insert into t2 values(3);
insert into t1 values (5);
end
master-bin.000001	#	Query	1	#	use `mysqltest1`; insert into t2 values(3)
master-bin.000001	#	Query	1	#	use `mysqltest1`; insert into t1 values (15)
master-bin.000001	#	Query	1	#	use `mysqltest1`; insert into t2 values(3)
master-bin.000001	#	Query	1	#	use `mysqltest1`; alter procedure foo4 sql security invoker
master-bin.000001	#	Query	1	#	use `mysqltest1`; insert into t2 values(3)
master-bin.000001	#	Query	1	#	use `mysqltest1`; insert into t1 values (5)
master-bin.000001	#	Query	1	#	use `mysqltest1`; delete from t2
master-bin.000001	#	Query	1	#	use `mysqltest1`; alter table t2 add unique (a)
master-bin.000001	#	Query	1	#	use `mysqltest1`; drop procedure foo4
master-bin.000001	#	Query	1	#	use `mysqltest1`; create procedure foo4()
deterministic
begin
insert into t2 values(20),(20);
end
master-bin.000001	#	Query	1	#	use `mysqltest1`; insert into t2 values(20),(20)
master-bin.000001	#	Query	1	#	use `mysqltest1`; drop procedure foo4
master-bin.000001	#	Query	1	#	use `mysqltest1`; drop procedure foo
master-bin.000001	#	Query	1	#	use `mysqltest1`; drop procedure foo2
master-bin.000001	#	Query	1	#	use `mysqltest1`; drop procedure foo3
master-bin.000001	#	Query	1	#	use `mysqltest1`; create function fn1(x int)
returns int
deterministic
begin
insert into t1 values (x);
return x+2;
end
master-bin.000001	#	Query	1	#	use `mysqltest1`; delete t1,t2 from t1,t2
master-bin.000001	#	Query	1	#	use `mysqltest1`; DO `fn1`(20)
master-bin.000001	#	Query	1	#	use `mysqltest1`; insert into t2 values(fn1(21))
master-bin.000001	#	Query	1	#	use `mysqltest1`; drop function fn1
master-bin.000001	#	Query	1	#	use `mysqltest1`; create function fn1()
returns int
no sql
begin
return unix_timestamp();
end
master-bin.000001	#	Query	1	#	use `mysqltest1`; delete from t1
master-bin.000001	#	Query	1	#	use `mysqltest1`; insert into t1 values(fn1())
master-bin.000001	#	Query	1	#	use `mysqltest1`; create function fn2()
returns int
no sql
begin
return unix_timestamp();
end
master-bin.000001	#	Query	1	#	use `mysqltest1`; create function fn3()
returns int
not deterministic
reads sql data
begin
return 0;
end
master-bin.000001	#	Query	1	#	use `mysqltest1`; delete from t2
master-bin.000001	#	Query	1	#	use `mysqltest1`; alter table t2 add unique (a)
master-bin.000001	#	Query	1	#	use `mysqltest1`; drop function fn1
master-bin.000001	#	Query	1	#	use `mysqltest1`; create function fn1()
returns int
begin
insert into t2 values(20),(20);
return 10;
end
master-bin.000001	#	Query	1	#	use `mysqltest1`; DO `fn1`()
master-bin.000001	#	Query	1	#	use `mysqltest1`; delete from t1
master-bin.000001	#	Query	1	#	use `mysqltest1`; create trigger trg before insert on t1 for each row set new.a= 10
master-bin.000001	#	Query	1	#	use `mysqltest1`; insert into t1 values (1)
master-bin.000001	#	Query	1	#	use `mysqltest1`; delete from t1
master-bin.000001	#	Query	1	#	use `mysqltest1`; drop trigger trg
master-bin.000001	#	Query	1	#	use `mysqltest1`; insert into t1 values (1)
master-bin.000002	#	Query	1	#	use `mysqltest1`; CREATE DEFINER=`root`@`localhost` trigger trg before insert on t1 for each row set new.a= 10
select * from t1;
a
1
+16 −0
Original line number Diff line number Diff line
@@ -89,8 +89,24 @@ insert into t1 set a = now();
select a=b && a=c from t1;
a=b && a=c
1
SELECT routine_name, definer
FROM information_schema.routines;
routine_name	definer
bug12480	root@localhost
SELECT trigger_name, definer
FROM information_schema.triggers;
trigger_name	definer
t1_first	root@localhost

--- On slave --
SELECT routine_name, definer
FROM information_schema.routines;
routine_name	definer
bug12480	@
SELECT trigger_name, definer
FROM information_schema.triggers;
trigger_name	definer
t1_first	root@localhost
select a=b && a=c from t1;
a=b && a=c
1
Loading