~drizzle-trunk/drizzle/development

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
#############################################################################
# Original Author: JBM                                                      #
# Original Date: Aug/09/2005                                                #
#############################################################################
# TEST: Use after insert and before inset triggers and stored procdures to  #
#       Update and insert data                                              #
#############################################################################
# Change Auth: JBM                                 #
# Date: 2006-02-14                                 #
# Change: Added error, sleep and comments (ndb)    #
####################################################

# Begin clean up test section
connection master;
--disable_warnings
--error 0,1360
DROP TRIGGER test.t1_bi_t2;
DROP TABLE IF EXISTS test.t1;
DROP TABLE IF EXISTS test.t2;


eval CREATE TABLE test.t1 (n MEDIUMINT NOT NULL AUTO_INCREMENT, d FLOAT, PRIMARY KEY(n))ENGINE=$engine_type;
eval CREATE TABLE test.t2 (n MEDIUMINT NOT NULL, f FLOAT, PRIMARY KEY(n))ENGINE=$engine_type;


delimiter //;
CREATE TRIGGER test.t1_bi_t2 BEFORE INSERT ON test.t2 FOR EACH ROW INSERT INTO test.t1 VALUES (NULL, 1.234)//
delimiter ;//

INSERT INTO test.t2 VALUES (1, 0.0);
# Expect duplicate error 1022 == ndb
--error 1022, ER_DUP_ENTRY
INSERT INTO test.t2 VALUES (1, 0.0);

#show binlog events; 
select * from test.t1;
select * from test.t2;
# Have to sleep for a few seconds to allow 
# NDB injector thread to populate binlog
sleep 10;
sync_slave_with_master;
connection slave;
select * from test.t1;
select * from test.t2;

connection master;

DROP TRIGGER test.t1_bi_t2;
DROP TABLE test.t1;
DROP TABLE test.t2;

sync_slave_with_master;
# End of 5.0 test case