include/master-slave.inc
Warnings:
Note	####	Sending passwords in plain text without SSL/TLS is extremely insecure.
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.
[connection master]
drop table if exists t1,v1;
drop view if exists t1,v1;
include/sync_slave_sql_with_master.inc
create table t1 (a int);
insert into t1 values (1);
create view v1 as select a from t1;
insert into v1 values (2);
select * from v1 order by a;
a
1
2
include/sync_slave_sql_with_master.inc
select * from v1 order by a;
a
1
2
update v1 set a=3 where a=1;
select * from v1 order by a;
a
2
3
include/sync_slave_sql_with_master.inc
select * from v1 order by a;
a
2
3
delete from v1 where a=2;
select * from v1 order by a;
a
3
include/sync_slave_sql_with_master.inc
select * from v1 order by a;
a
3
alter view v1 as select a as b from t1;
include/sync_slave_sql_with_master.inc
select * from v1 order by 1;
b
3
drop view v1;
include/sync_slave_sql_with_master.inc
select * from v1 order by a;
ERROR 42S02: Table 'test.v1' doesn't exist
drop table t1;
include/sync_slave_sql_with_master.inc

---> Test for BUG#20438

---> Preparing environment...
---> connection: master
DROP TABLE IF EXISTS t1;
DROP VIEW IF EXISTS v1;

---> Synchronizing slave with master...
include/sync_slave_sql_with_master.inc

---> connection: master

---> Creating objects...
CREATE TABLE t1(c INT);
/*!50003 CREATE VIEW v1 AS SELECT * FROM t1 */;

---> Inserting value...
INSERT INTO t1 VALUES(1);

---> Checking on master...
SELECT * FROM t1;
c
1

---> Synchronizing slave with master...
include/sync_slave_sql_with_master.inc
---> connection: master

---> Checking on slave...
SELECT * FROM t1;
c
1

---> connection: master

---> Cleaning up...
DROP VIEW v1;
DROP TABLE t1;
include/sync_slave_sql_with_master.inc
create table t1(a int, b int);
insert into t1 values (1, 1), (1, 2), (1, 3);
create view  v1(a, b) as select a, sum(b) from t1 group by a;
include/sync_slave_sql_with_master.inc
explain v1;
Field	Type	Null	Key	Default	Extra
a	int(11)	YES		NULL	
b	decimal(32,0)	YES		NULL	
show create table v1;
View	Create View	character_set_client	collation_connection
v1	CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`a` AS `a`,sum(`t1`.`b`) AS `b` from `t1` group by `t1`.`a`	latin1	latin1_swedish_ci
select * from v1;
a	b
1	6
drop table t1;
drop view v1;
include/sync_slave_sql_with_master.inc
CREATE TABLE t1(a INT);
CREATE VIEW v1 AS SELECT * FROM t1;
CREATE VIEW v1 AS SELECT * FROM t1;
ERROR 42S01: Table 'v1' already exists
DROP VIEW v1;
DROP TABLE t1;
include/sync_slave_sql_with_master.inc
CREATE TABLE t1 (a INT);
# create view as output from mysqldump 10.11 (5.0.62)
/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */
/*!50001 VIEW `v1` AS select `t1`.`a` AS `a` from `t1` where (`t1`.`a` < 3) */
/*!50002 WITH CASCADED CHECK OPTION */;
SHOW CREATE VIEW v1;
View	Create View	character_set_client	collation_connection
v1	CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`a` AS `a` from `t1` where (`t1`.`a` < 3) WITH CASCADED CHECK OPTION	latin1	latin1_swedish_ci
include/sync_slave_sql_with_master.inc
SHOW CREATE VIEW v1;
View	Create View	character_set_client	collation_connection
v1	CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`a` AS `a` from `t1` where (`t1`.`a` < 3) WITH CASCADED CHECK OPTION	latin1	latin1_swedish_ci
DROP VIEW v1;
DROP TABLE t1;
include/sync_slave_sql_with_master.inc
End of 5.0 tests
include/rpl_end.inc
