Loading mysql-test/r/view.result +17 −0 Original line number Diff line number Diff line Loading @@ -1923,3 +1923,20 @@ ERROR HY000: Field of view 'test.v2' underlying table doesn't have a default val set sql_mode=default; drop view v2,v1; drop table t1; CREATE TABLE t1 (s1 int, s2 int); INSERT INTO t1 VALUES (1,2); CREATE VIEW v1 AS SELECT s2 AS s1, s1 AS s2 FROM t1; SELECT * FROM v1; s1 s2 2 1 CREATE PROCEDURE p1 () SELECT * FROM v1; CALL p1(); s1 s2 2 1 ALTER VIEW v1 AS SELECT s1 AS s1, s2 AS s2 FROM t1; CALL p1(); s1 s2 1 2 DROP PROCEDURE p1; DROP VIEW v1; DROP TABLE t1; mysql-test/t/view.test +17 −0 Original line number Diff line number Diff line Loading @@ -1761,3 +1761,20 @@ INSERT INTO v2 (vcol1) VALUES(12); set sql_mode=default; drop view v2,v1; drop table t1; # # Test for bug #6120: SP cache to be invalidated when altering a view # CREATE TABLE t1 (s1 int, s2 int); INSERT INTO t1 VALUES (1,2); CREATE VIEW v1 AS SELECT s2 AS s1, s1 AS s2 FROM t1; SELECT * FROM v1; CREATE PROCEDURE p1 () SELECT * FROM v1; CALL p1(); ALTER VIEW v1 AS SELECT s1 AS s1, s2 AS s2 FROM t1; CALL p1(); DROP PROCEDURE p1; DROP VIEW v1; DROP TABLE t1; sql/sql_view.cc +4 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ #include "parse_file.h" #include "sp.h" #include "sp_head.h" #include "sp_cache.h" #define MD5_BUFF_LENGTH 33 Loading Loading @@ -141,6 +142,9 @@ bool mysql_create_view(THD *thd, goto err; } if (mode != VIEW_CREATE_NEW) sp_cache_invalidate(); #ifndef NO_EMBEDDED_ACCESS_CHECKS /* Privilege check for view creation: Loading Loading
mysql-test/r/view.result +17 −0 Original line number Diff line number Diff line Loading @@ -1923,3 +1923,20 @@ ERROR HY000: Field of view 'test.v2' underlying table doesn't have a default val set sql_mode=default; drop view v2,v1; drop table t1; CREATE TABLE t1 (s1 int, s2 int); INSERT INTO t1 VALUES (1,2); CREATE VIEW v1 AS SELECT s2 AS s1, s1 AS s2 FROM t1; SELECT * FROM v1; s1 s2 2 1 CREATE PROCEDURE p1 () SELECT * FROM v1; CALL p1(); s1 s2 2 1 ALTER VIEW v1 AS SELECT s1 AS s1, s2 AS s2 FROM t1; CALL p1(); s1 s2 1 2 DROP PROCEDURE p1; DROP VIEW v1; DROP TABLE t1;
mysql-test/t/view.test +17 −0 Original line number Diff line number Diff line Loading @@ -1761,3 +1761,20 @@ INSERT INTO v2 (vcol1) VALUES(12); set sql_mode=default; drop view v2,v1; drop table t1; # # Test for bug #6120: SP cache to be invalidated when altering a view # CREATE TABLE t1 (s1 int, s2 int); INSERT INTO t1 VALUES (1,2); CREATE VIEW v1 AS SELECT s2 AS s1, s1 AS s2 FROM t1; SELECT * FROM v1; CREATE PROCEDURE p1 () SELECT * FROM v1; CALL p1(); ALTER VIEW v1 AS SELECT s1 AS s1, s2 AS s2 FROM t1; CALL p1(); DROP PROCEDURE p1; DROP VIEW v1; DROP TABLE t1;
sql/sql_view.cc +4 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ #include "parse_file.h" #include "sp.h" #include "sp_head.h" #include "sp_cache.h" #define MD5_BUFF_LENGTH 33 Loading Loading @@ -141,6 +142,9 @@ bool mysql_create_view(THD *thd, goto err; } if (mode != VIEW_CREATE_NEW) sp_cache_invalidate(); #ifndef NO_EMBEDDED_ACCESS_CHECKS /* Privilege check for view creation: Loading