mySQL 5.0.11 sources for tomato
[tomato.git] / release / src / router / mysql / mysql-test / suite / rpl / t / rpl_row_NOW.test
blobd732c6e6733c9a2fe278b3d623acb445cf6eebea
1 #############################################################################
2 # Original Author: JBM                                                      #
3 # Original Date: Aug/18/2005                                                #
4 # Updated 08/30/2005 Added dumps and diff                                   #
5 #############################################################################
6 #TEST: Taken and modfied from http://bugs.mysql.com/bug.php?id=12480        #
7 #############################################################################
9 # Includes
10 -- source include/have_binlog_format_row.inc
11 -- source include/master-slave.inc
14 # Begin clean up test section
15 connection master;
16 --disable_warnings
17 create database if not exists mysqltest1;
18 DROP TABLE IF EXISTS mysqltest1.t1;
19 --enable_warnings
22 # Begin test section 1 
23 CREATE TABLE mysqltest1.t1 (n MEDIUMINT NOT NULL AUTO_INCREMENT,
24                       a TIMESTAMP DEFAULT '2005-05-05 01:01:01',
25                       b TIMESTAMP DEFAULT '2005-05-05 01:01:01',
26                       PRIMARY KEY(n));
27 delimiter |;
28 CREATE FUNCTION mysqltest1.f1() RETURNS TIMESTAMP
29 BEGIN
30   DECLARE v1 INT DEFAULT 300;
31   WHILE v1 > 0 DO
32      SET v1 = v1 - 1;
33   END WHILE;  
34   RETURN NOW();
35 END|
36 delimiter ;|
38 INSERT INTO mysqltest1.t1 VALUES(NULL,NOW(),mysqltest1.f1());
40 delimiter |;
41 CREATE TRIGGER mysqltest1.trig1 BEFORE INSERT ON mysqltest1.t1
42 FOR EACH ROW BEGIN
43   SET new.b = mysqltest1.f1();
44 END|
45 delimiter ;|
47 INSERT INTO mysqltest1.t1 SET n = NULL, a = now();
49 sync_slave_with_master;
51 connection master;
53 --exec $MYSQL_DUMP --compact --order-by-primary --skip-extended-insert --no-create-info mysqltest1 > $MYSQLTEST_VARDIR/tmp/NOW_master.sql
54 --exec $MYSQL_DUMP_SLAVE --compact --order-by-primary --skip-extended-insert --no-create-info mysqltest1 > $MYSQLTEST_VARDIR/tmp/NOW_slave.sql
56 # lets cleanup
57 DROP TABLE IF EXISTS mysqltest1.t1;
58 DROP FUNCTION mysqltest1.f1;
59 DROP DATABASE mysqltest1;
61 # Lets compare. Note: If they match test will pass, if they do not match
62 # the test will show that the diff statement failed and not reject file
63 # will be created. You will need to go to the mysql-test dir and diff
64 # the files your self to see what is not matching :-) The failed dump 
65 # files will be located in $MYSQLTEST_VARDIR/tmp
67 diff_files $MYSQLTEST_VARDIR/tmp/NOW_master.sql $MYSQLTEST_VARDIR/tmp/NOW_slave.sql;
69 # If all is good, when can cleanup our dump files.
70 --remove_file $MYSQLTEST_VARDIR/tmp/NOW_master.sql
71 --remove_file $MYSQLTEST_VARDIR/tmp/NOW_slave.sql
73 sync_slave_with_master;
74 # End of 5.1 test case
75 --source include/rpl_end.inc