diff options
Diffstat (limited to 'mysql-test')
-rw-r--r-- | mysql-test/r/view.result | 27 | ||||
-rw-r--r-- | mysql-test/t/view.test | 35 |
2 files changed, 33 insertions, 29 deletions
diff --git a/mysql-test/r/view.result b/mysql-test/r/view.result index cecffe6997e..9116695bbea 100644 --- a/mysql-test/r/view.result +++ b/mysql-test/r/view.result @@ -3139,16 +3139,6 @@ code COUNT(DISTINCT country) 100 2 DROP VIEW v1; DROP TABLE t1; -CREATE TABLE t1 (id int); -CREATE TABLE t2 (id int, c int DEFAULT 0); -INSERT INTO t1 (id) VALUES (1); -INSERT INTO t2 (id) VALUES (1); -CREATE VIEW v1 AS -SELECT t2.c FROM t1, t2 -WHERE t1.id=t2.id AND 1 IN (SELECT id FROM t1) WITH CHECK OPTION; -UPDATE v1 SET c=1; -DROP VIEW v1; -DROP TABLE t1,t2; DROP VIEW IF EXISTS v1; SELECT * FROM (SELECT 1) AS t; 1 @@ -3369,6 +3359,23 @@ SHOW CREATE VIEW v1; View Create View v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(1.23456789 as decimal(8,0)) AS `col` DROP VIEW v1; +CREATE TABLE t1 (a INT); +CREATE TABLE t2 (b INT, c INT DEFAULT 0); +INSERT INTO t1 (a) VALUES (1), (2); +INSERT INTO t2 (b) VALUES (1), (2); +CREATE VIEW v1 AS SELECT t2.b,t2.c FROM t1, t2 +WHERE t1.a=t2.b AND t2.b < 3 WITH CHECK OPTION; +SELECT * FROM v1; +b c +1 0 +2 0 +UPDATE v1 SET c=1 WHERE b=1; +SELECT * FROM v1; +b c +1 1 +2 0 +DROP VIEW v1; +DROP TABLE t1,t2; CREATE TABLE t1 (id int); CREATE TABLE t2 (id int, c int DEFAULT 0); INSERT INTO t1 (id) VALUES (1); diff --git a/mysql-test/t/view.test b/mysql-test/t/view.test index 897aa292f76..f16bb6efd7a 100644 --- a/mysql-test/t/view.test +++ b/mysql-test/t/view.test @@ -3055,25 +3055,6 @@ DROP VIEW v1; DROP TABLE t1; # -# -# Bug #28561: update on multi-table view with CHECK OPTION and -# a subquery in WHERE condition -# - -CREATE TABLE t1 (id int); -CREATE TABLE t2 (id int, c int DEFAULT 0); -INSERT INTO t1 (id) VALUES (1); -INSERT INTO t2 (id) VALUES (1); - -CREATE VIEW v1 AS - SELECT t2.c FROM t1, t2 - WHERE t1.id=t2.id AND 1 IN (SELECT id FROM t1) WITH CHECK OPTION; - -UPDATE v1 SET c=1; - -DROP VIEW v1; -DROP TABLE t1,t2; - # BUG#25897: Some queries are no longer possible after a CREATE VIEW # fails # @@ -3245,6 +3226,22 @@ SHOW CREATE VIEW v1; DROP VIEW v1; # +# Bug #28716: CHECK OPTION expression is evaluated over expired record buffers +# when VIEW is updated via temporary tables +# +CREATE TABLE t1 (a INT); +CREATE TABLE t2 (b INT, c INT DEFAULT 0); +INSERT INTO t1 (a) VALUES (1), (2); +INSERT INTO t2 (b) VALUES (1), (2); +CREATE VIEW v1 AS SELECT t2.b,t2.c FROM t1, t2 + WHERE t1.a=t2.b AND t2.b < 3 WITH CHECK OPTION; +SELECT * FROM v1; +UPDATE v1 SET c=1 WHERE b=1; +SELECT * FROM v1; +DROP VIEW v1; +DROP TABLE t1,t2; + +# # Bug #28561: update on multi-table view with CHECK OPTION and # a subquery in WHERE condition # |