1
include/master-slave.inc
3
Note #### Sending passwords in plain text without SSL/TLS is extremely insecure.
4
Note #### Storing MySQL user name or password information in the master info repository is not secure and is therefore not recommended. Please consider using the USER and PASSWORD connection options for START SLAVE; see the 'START SLAVE Syntax' in the MySQL Manual for more information.
8
CREATE TABLE t1 (a INT);
9
CREATE TABLE logtbl (sect INT, test INT, count INT);
10
INSERT INTO t1 VALUES (1),(2),(3);
11
INSERT INTO t1 SELECT 2*a+3 FROM t1;
12
INSERT INTO t1 SELECT 2*a+3 FROM t1;
13
INSERT INTO t1 SELECT 2*a+3 FROM t1;
14
INSERT INTO t1 SELECT 2*a+3 FROM t1;
15
INSERT INTO t1 SELECT 2*a+3 FROM t1;
16
INSERT INTO t1 SELECT 2*a+3 FROM t1;
17
==== Checking a procedure ====
19
CREATE PROCEDURE just_log(sect INT, test INT) BEGIN
20
INSERT INTO logtbl VALUES (sect,test,FOUND_ROWS());
23
SELECT SQL_CALC_FOUND_ROWS * FROM t1 WHERE a > 5 ORDER BY a LIMIT 1;
28
SELECT SQL_CALC_FOUND_ROWS * FROM t1 WHERE a > 5 ORDER BY a LIMIT 1;
33
SELECT SQL_CALC_FOUND_ROWS * FROM t1 WHERE a < 5 ORDER BY a LIMIT 1;
38
SELECT SQL_CALC_FOUND_ROWS * FROM t1 WHERE a > 5 ORDER BY a LIMIT 1;
42
SELECT * FROM logtbl WHERE sect = 1 ORDER BY sect,test;
49
SELECT * FROM logtbl WHERE sect = 1 ORDER BY sect,test;
55
==== Checking a stored function ====
57
CREATE FUNCTION log_rows(sect INT, test INT)
60
DECLARE found_rows INT;
61
SELECT FOUND_ROWS() INTO found_rows;
62
INSERT INTO logtbl VALUES(sect,test,found_rows);
65
SELECT SQL_CALC_FOUND_ROWS * FROM t1 WHERE a < 5 ORDER BY a LIMIT 1;
68
SELECT log_rows(2,1), log_rows(2,2);
69
log_rows(2,1) log_rows(2,2)
71
CREATE TABLE t2 (a INT, b INT);
72
CREATE TRIGGER t2_tr BEFORE INSERT ON t2 FOR EACH ROW
74
INSERT INTO logtbl VALUES (NEW.a, NEW.b, FOUND_ROWS());
76
SELECT SQL_CALC_FOUND_ROWS * FROM t1 WHERE a < 5 ORDER BY a LIMIT 1;
79
INSERT INTO t2 VALUES (2,3), (2,4);
81
CREATE TRIGGER t2_tr BEFORE INSERT ON t2 FOR EACH ROW
84
SELECT log_rows(NEW.a, NEW.b) INTO dummy;
86
SELECT SQL_CALC_FOUND_ROWS * FROM t1 WHERE a > 5 ORDER BY a LIMIT 1;
89
INSERT INTO t2 VALUES (2,5), (2,6);
91
CREATE PROCEDURE log_me_inner(sect INT, test INT)
94
SELECT log_rows(sect, test) INTO dummy;
95
SELECT log_rows(sect, test+1) INTO dummy;
97
CREATE PROCEDURE log_me(sect INT, test INT)
99
CALL log_me_inner(sect,test);
101
CREATE TRIGGER t2_tr BEFORE INSERT ON t2 FOR EACH ROW
103
CALL log_me(NEW.a, NEW.b);
105
SELECT SQL_CALC_FOUND_ROWS * FROM t1 WHERE a > 5 ORDER BY a LIMIT 1;
108
INSERT INTO t2 VALUES (2,5), (2,6);
109
SELECT * FROM logtbl WHERE sect = 2 ORDER BY sect,test;
121
SELECT * FROM logtbl WHERE sect = 2 ORDER BY sect,test;
133
DROP TABLE t1, t2, logtbl;
134
DROP PROCEDURE just_log;
135
DROP PROCEDURE log_me;
136
DROP PROCEDURE log_me_inner;
137
DROP FUNCTION log_rows;