~ubuntu-branches/ubuntu/lucid/mysql-dfsg-5.1/lucid-security

« back to all changes in this revision

Viewing changes to mysql-test/suite/engines/funcs/t/rpl_row_trig001.test

  • Committer: Package Import Robot
  • Author(s): Marc Deslauriers
  • Date: 2012-02-22 22:33:55 UTC
  • mfrom: (1.1.5)
  • Revision ID: package-import@ubuntu.com-20120222223355-or06x1euyk8n0ldi
Tags: 5.1.61-0ubuntu0.10.04.1
* SECURITY UPDATE: Update to 5.1.61 to fix multiple security issues
  (LP: #937869)
  - http://www.oracle.com/technetwork/topics/security/cpujan2012-366304.html
  - CVE-2011-2262
  - CVE-2012-0075
  - CVE-2012-0112
  - CVE-2012-0113
  - CVE-2012-0114
  - CVE-2012-0115
  - CVE-2012-0116
  - CVE-2012-0117
  - CVE-2012-0118
  - CVE-2012-0119
  - CVE-2012-0120
  - CVE-2012-0484
  - CVE-2012-0485
  - CVE-2012-0486
  - CVE-2012-0487
  - CVE-2012-0488
  - CVE-2012-0489
  - CVE-2012-0490
  - CVE-2012-0491
  - CVE-2012-0492
  - CVE-2012-0493
  - CVE-2012-0494
  - CVE-2012-0495
  - CVE-2012-0496
* Dropped patches unnecessary with 5.1.61:
  - debian/patches/90_mysql_safer_strmov.dpatch
  - debian/patches/51_ssl_test_certs.dpatch
  - debian/patches/52_CVE-2009-4030.dpatch
  - debian/patches/53_CVE-2009-4484.dpatch
  - debian/patches/54_CVE-2008-7247.dpatch
  - debian/patches/55_CVE-2010-1621.dpatch
  - debian/patches/56_CVE-2010-1850.dpatch
  - debian/patches/57_CVE-2010-1849.dpatch
  - debian/patches/58_CVE-2010-1848.dpatch
  - debian/patches/59_CVE-2010-1626.dpatch
  - debian/patches/60_CVE-2010-2008.dpatch
  - debian/patches/60_CVE-2010-3677.dpatch
  - debian/patches/60_CVE-2010-3678.dpatch
  - debian/patches/60_CVE-2010-3679.dpatch
  - debian/patches/60_CVE-2010-3680.dpatch
  - debian/patches/60_CVE-2010-3681.dpatch
  - debian/patches/60_CVE-2010-3682.dpatch
  - debian/patches/60_CVE-2010-3683.dpatch
  - debian/patches/60_CVE-2010-3833.dpatch
  - debian/patches/60_CVE-2010-3834.dpatch
  - debian/patches/60_CVE-2010-3835.dpatch
  - debian/patches/60_CVE-2010-3836.dpatch
  - debian/patches/60_CVE-2010-3837.dpatch
  - debian/patches/60_CVE-2010-3838.dpatch
  - debian/patches/60_CVE-2010-3839.dpatch
  - debian/patches/60_CVE-2010-3840.dpatch
  - debian/patches/61_disable_longfilename_test.dpatch
  - debian/patches/62_alter_table_fix.dpatch
  - debian/patches/63_cherrypick-upstream-49479.dpatch
  - debian/patches/10_readline_build_fix.dpatch
* debian/mysql-client-5.1.docs: removed EXCEPTIONS-CLIENT file
* debian/mysql-server-5.1.docs,debian/libmysqlclient16.docs,
  debian/libmysqlclient-dev.docs: removed, no longer necessary.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#############################################################################
 
2
# Original Author: JBM                                                      #
 
3
# Original Date: Aug/09/2005                                                #
 
4
#############################################################################
 
5
# TEST: Use after insert and before inset triggers and stored procdures to  #
 
6
#       Update and insert data                                              #
 
7
#############################################################################
 
8
 
 
9
# Includes
 
10
-- source include/have_binlog_format_row.inc
 
11
-- source include/master-slave.inc
 
12
 
 
13
-- disable_query_log
 
14
-- disable_result_log
 
15
 
 
16
# Begin clean up test section
 
17
connection master;
 
18
--disable_warnings
 
19
DROP PROCEDURE IF EXISTS test.p2;
 
20
DROP PROCEDURE IF EXISTS test.p3;
 
21
--error 0,1360
 
22
DROP TRIGGER test.t2_ai;
 
23
--error 0,1360
 
24
DROP TRIGGER test.t3_bi_t2;
 
25
--error 0,1360
 
26
DROP TABLE IF EXISTS test.t1;
 
27
DROP TABLE IF EXISTS test.t2;
 
28
DROP TABLE IF EXISTS test.t3;
 
29
 
 
30
 
 
31
# test section 1, lets add a trigger to the mix. Taken from bug #12280
 
32
let $message=<Begin test section 1 (Tiggers & SP)>;
 
33
--source include/show_msg.inc
 
34
 
 
35
CREATE TABLE test.t1 (n MEDIUMINT NOT NULL, d DATETIME, PRIMARY KEY(n));
 
36
CREATE TABLE test.t2 (n MEDIUMINT NOT NULL AUTO_INCREMENT, f FLOAT, d DATETIME, PRIMARY KEY(n));
 
37
CREATE TABLE test.t3 (n MEDIUMINT NOT NULL AUTO_INCREMENT, d DATETIME, PRIMARY KEY(n));
 
38
 
 
39
INSERT INTO test.t1 VALUES (1,NOW());
 
40
 
 
41
delimiter //;
 
42
CREATE TRIGGER test.t2_ai AFTER INSERT ON test.t2 FOR EACH ROW UPDATE test.t1 SET d=NOW() where n = 1;//
 
43
CREATE PROCEDURE test.p3()
 
44
BEGIN
 
45
 INSERT INTO test.t3 (d) VALUES (NOW());
 
46
END//
 
47
CREATE TRIGGER test.t3_bi_t2 BEFORE INSERT ON test.t2 FOR EACH ROW CALL test.p3()//
 
48
CREATE PROCEDURE test.p2()
 
49
BEGIN
 
50
 INSERT INTO test.t2 (f,d) VALUES (RAND(),NOW());
 
51
END//
 
52
delimiter ;//
 
53
 
 
54
-- disable_query_log
 
55
-- disable_result_log
 
56
let $1=10;
 
57
while ($1)
 
58
{
 
59
  CALL test.p2();
 
60
  sleep 1;
 
61
  dec $1;
 
62
}
 
63
-- enable_result_log
 
64
-- enable_query_log
 
65
 
 
66
#show binlog events; 
 
67
#select * from test.t2;
 
68
#select * from test.t3;
 
69
#connection slave;
 
70
#select * from test.t2;
 
71
#select * from test.t3;
 
72
 
 
73
let $message=<End test section 2 (Tiggers & SP)>;
 
74
--source include/show_msg.inc
 
75
 
 
76
# time to dump the databases and so we can see if they match
 
77
 
 
78
--exec $MYSQL_DUMP --compact --order-by-primary --skip-extended-insert --no-create-info test > $MYSQLTEST_VARDIR/tmp/trig001_master.sql
 
79
--exec $MYSQL_DUMP_SLAVE --compact --order-by-primary --skip-extended-insert --no-create-info test > $MYSQLTEST_VARDIR/tmp/trig001_slave.sql
 
80
 
 
81
# Cleanup
 
82
connection master;
 
83
DROP PROCEDURE test.p2;
 
84
DROP PROCEDURE test.p3;
 
85
DROP TRIGGER test.t2_ai;
 
86
DROP TRIGGER test.t3_bi_t2;
 
87
DROP TABLE test.t1;
 
88
DROP TABLE test.t2;
 
89
DROP TABLE test.t3;
 
90
sync_slave_with_master;
 
91
 
 
92
# Lets compare. Note: If they match test will pass, if they do not match
 
93
# the test will show that the diff statement failed and not reject file
 
94
# will be created. You will need to go to the mysql-test dir and diff
 
95
# the files your self to see what is not matching :-) Failed tests 
 
96
# will leave dump files in $MYSQLTEST_VARDIR/tmp
 
97
 
 
98
diff_files $MYSQLTEST_VARDIR/tmp/trig001_master.sql $MYSQLTEST_VARDIR/tmp/trig001_slave.sql;
 
99
 
 
100
# End of 5.0 test case