Commit 1eb8991a authored by mattiasj@client-10-129-10-147.upp.off.mysql.com's avatar mattiasj@client-10-129-10-147.upp.off.mysql.com
Browse files

Merge client-10-129-10-147.upp.off.mysql.com:/Users/mattiasj/clones/bug32575-50-bugteam

into  client-10-129-10-147.upp.off.mysql.com:/Users/mattiasj/clones/topush-50-bugteam
parents 5eaa7794 bef6c143
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -499,7 +499,7 @@ fetch c into var;
close c;
return var;
end
master-bin.000001	#	Query	1	#	use `test`; CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select 1 as a
master-bin.000001	#	Query	1	#	use `test`; CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select 1 AS `a`
master-bin.000001	#	Query	1	#	use `test`; create table t1 (a int)
master-bin.000001	#	Query	1	#	use `test`; insert into t1 (a) values (f1())
master-bin.000001	#	Query	1	#	use `test`; drop view v1
+16 −2
Original line number Diff line number Diff line
@@ -47,11 +47,11 @@ show binlog events limit 1,100;
Log_name	Pos	Event_type	Server_id	End_log_pos	Info
slave-bin.000001	#	Query	1	#	use `test`; create table t1 (a int)
slave-bin.000001	#	Query	1	#	use `test`; insert into t1 values (1)
slave-bin.000001	#	Query	1	#	use `test`; CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select a from t1
slave-bin.000001	#	Query	1	#	use `test`; CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `test`.`t1`.`a` AS `a` from `test`.`t1`
slave-bin.000001	#	Query	1	#	use `test`; insert into v1 values (2)
slave-bin.000001	#	Query	1	#	use `test`; update v1 set a=3 where a=1
slave-bin.000001	#	Query	1	#	use `test`; delete from v1 where a=2
slave-bin.000001	#	Query	1	#	use `test`; ALTER ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select a as b from t1
slave-bin.000001	#	Query	1	#	use `test`; ALTER ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `test`.`t1`.`a` AS `b` from `test`.`t1`
slave-bin.000001	#	Query	1	#	use `test`; drop view v1
slave-bin.000001	#	Query	1	#	use `test`; drop table t1

@@ -112,4 +112,18 @@ CREATE VIEW v1 AS SELECT * FROM t1;
ERROR 42S01: Table 'v1' already exists
DROP VIEW v1;
DROP TABLE t1;
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
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
SHOW CREATE VIEW v1;
View	Create View
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
DROP VIEW v1;
DROP TABLE t1;
End of 5.0 tests
+18 −0
Original line number Diff line number Diff line
@@ -161,4 +161,22 @@ DROP VIEW v1;
DROP TABLE t1;
sync_slave_with_master;

#
# Bug#32575 Parse error of stmt with extended comments on slave side
# Verify that 'CREATE VIEW' with comments is properly logged to binlog
connection master;
CREATE TABLE t1 (a INT);
--echo # 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;
sync_slave_with_master;
SHOW CREATE VIEW v1;
connection master;
DROP VIEW v1;
DROP TABLE t1;
sync_slave_with_master;

--echo End of 5.0 tests
+5 −3
Original line number Diff line number Diff line
@@ -649,7 +649,11 @@ bool mysql_create_view(THD *thd, TABLE_LIST *views,
      buff.append(')');
    }
    buff.append(STRING_WITH_LEN(" AS "));
    buff.append(views->source.str, views->source.length);
    buff.append(views->query.str, views->query.length);
    if (views->with_check == VIEW_CHECK_LOCAL)
      buff.append(STRING_WITH_LEN(" WITH LOCAL CHECK OPTION"));
    else if (views->with_check == VIEW_CHECK_CASCADED)
      buff.append(STRING_WITH_LEN(" WITH CASCADED CHECK OPTION"));

    Query_log_event qinfo(thd, buff.ptr(), buff.length(), 0, FALSE);
    mysql_bin_log.write(&qinfo);
@@ -926,8 +930,6 @@ static int mysql_register_view(THD *thd, TABLE_LIST *view,
  }
  DBUG_RETURN(0);
err:
  view->query.str= NULL;
  view->query.length= 0;
  view->md5.str= NULL;
  view->md5.length= 0;
  DBUG_RETURN(error);