1 #############################################################################
2 # Original Author: JBM #
3 # Original Date: Aug/19/2005 #
4 # Updated: 08/29/2005 Remove sleeps #
5 #############################################################################
6 #TEST: row based replication of views #
7 #############################################################################
8 # 2006-02-08 By JBM added order by and sleep for use with ndb engine
9 #############################################################################
11 -- source include/have_binlog_format_row.inc
12 -- source include/master-slave.inc
14 # Begin clean up test section
17 create database if not exists mysqltest1;
18 DROP VIEW IF EXISTS mysqltest1.v1;
19 DROP VIEW IF EXISTS mysqltest1.v2;
20 DROP VIEW IF EXISTS mysqltest1.v3;
21 DROP VIEW IF EXISTS mysqltest1.v4;
22 DROP TABLE IF EXISTS mysqltest1.t3;
23 DROP TABLE IF EXISTS mysqltest1.t1;
24 DROP TABLE IF EXISTS mysqltest1.t2;
25 DROP TABLE IF EXISTS mysqltest1.t4;
27 # Begin test section 1
28 CREATE TABLE mysqltest1.t1 (a INT, c CHAR(6),PRIMARY KEY(a));
29 CREATE TABLE mysqltest1.t2 (a INT, c CHAR(6),PRIMARY KEY(a));
30 CREATE TABLE mysqltest1.t3 (a INT, c CHAR(6), c2 CHAR(6), PRIMARY KEY(a));
31 CREATE TABLE mysqltest1.t4 (a INT, qty INT, price INT,PRIMARY KEY(a));
32 CREATE TABLE mysqltest1.t5 (qty INT, price INT, total INT, PRIMARY KEY(qty));
33 INSERT INTO mysqltest1.t1 VALUES (1,'Thank'),(2,'it'),(3,'Friday');
34 INSERT INTO mysqltest1.t2 VALUES (1,'GOD'),(2,'is'),(3,'TGIF');
35 INSERT INTO mysqltest1.t4 VALUES(1, 3, 50),(2, 18, 3),(4, 4, 4);
38 CREATE VIEW mysqltest1.v2 AS SELECT qty, price, qty*price AS value FROM mysqltest1.t4 ORDER BY qty;
39 CREATE VIEW mysqltest1.v1 AS SELECT t1.a, t1.c, t2.c as c2 FROM mysqltest1.t1 as t1, mysqltest1.t2 AS t2 WHERE mysqltest1.t1.a = mysqltest1.t2.a ORDER BY a;
40 CREATE VIEW mysqltest1.v3 AS SELECT * FROM mysqltest1.t1;
41 CREATE VIEW mysqltest1.v4 AS SELECT * FROM mysqltest1.v3 WHERE a > 1 WITH LOCAL CHECK OPTION;
44 SELECT * FROM mysqltest1.v2;
45 SELECT * FROM mysqltest1.v1;
46 # Had to add a sleep for use with NDB
47 # engine. Injector thread would have not
48 # populated biblog and data would not be on
51 sync_slave_with_master;
52 SELECT * FROM mysqltest1.v2;
53 SELECT * FROM mysqltest1.v1;
56 INSERT INTO mysqltest1.t5 SELECT * FROM mysqltest1.v2;
57 INSERT INTO mysqltest1.t3 SELECT * FROM mysqltest1.v1;
59 SELECT * FROM mysqltest1.t5 ORDER BY qty;
60 SELECT * FROM mysqltest1.t3 ORDER BY a;
61 sync_slave_with_master;
62 SELECT * FROM mysqltest1.t5 ORDER BY qty;
63 SELECT * FROM mysqltest1.t3 ORDER BY a;
66 INSERT INTO mysqltest1.v4 VALUES (4,'TEST');
68 SELECT * FROM mysqltest1.t1 ORDER BY a;
69 SELECT * FROM mysqltest1.v4 ORDER BY a;
70 sync_slave_with_master;
71 SELECT * FROM mysqltest1.t1 ORDER BY a;
72 SELECT * FROM mysqltest1.v4 ORDER BY a;
77 DROP VIEW IF EXISTS mysqltest1.v1;
78 DROP VIEW IF EXISTS mysqltest1.v2;
79 DROP VIEW IF EXISTS mysqltest1.v3;
80 DROP VIEW IF EXISTS mysqltest1.v4;
81 DROP TABLE IF EXISTS mysqltest1.t3;
82 DROP TABLE IF EXISTS mysqltest1.t1;
83 DROP TABLE IF EXISTS mysqltest1.t2;
84 DROP TABLE IF EXISTS mysqltest1.t4;
85 DROP DATABASE mysqltest1;
86 sync_slave_with_master;
88 # End of 5.1 test case