summaryrefslogtreecommitdiffstats
path: root/mysql-test/suite/rpl/t/rpl_create_drop_function.test
blob: 5ae0b76554af2e7c9661874e7956f1f38d1afa85 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
--source include/master-slave.inc

connection master;

CREATE FUNCTION hello (str CHAR(20)) RETURNS CHAR(50) DETERMINISTIC RETURN
CONCAT('Hello, ', str, '!');

--error ER_SP_ALREADY_EXISTS
CREATE FUNCTION hello (str CHAR(20)) RETURNS CHAR(50) DETERMINISTIC RETURN
CONCAT('Hello, ', str, '!');

sync_slave_with_master;

SHOW CREATE FUNCTION hello;

connection master;

--error ER_WRONG_USAGE
CREATE OR REPLACE FUNCTION IF NOT EXISTS hello (str CHAR(20)) RETURNS CHAR(50) DETERMINISTIC RETURN
CONCAT('Hello, ', str, '!');

CREATE OR REPLACE FUNCTION hello (str CHAR(20)) RETURNS CHAR(50) DETERMINISTIC RETURN
CONCAT('Hello, ', str, '!');

SELECT hello('master');
sync_slave_with_master;

SELECT hello('slave');

connection master;
CREATE FUNCTION IF NOT EXISTS hello (str CHAR(20)) RETURNS CHAR(50) DETERMINISTIC RETURN
CONCAT('Hello, ', str, '!');

CREATE OR REPLACE FUNCTION bye (str CHAR(20)) RETURNS CHAR(50) DETERMINISTIC RETURN
CONCAT('Bye, ', str, '!');

SELECT hello('master');
SELECT bye('master');
sync_slave_with_master;

SELECT hello('slave');
SELECT bye('slave');

connection master;
DROP FUNCTION hello;
DROP FUNCTION IF EXISTS bye;
sync_slave_with_master;

--error ER_SP_DOES_NOT_EXIST
DROP FUNCTION hello;

DROP FUNCTION IF EXISTS bye;

--source include/rpl_end.inc