summaryrefslogtreecommitdiff
path: root/mysql-test
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test')
-rw-r--r--mysql-test/r/view.result27
-rw-r--r--mysql-test/t/view.test35
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
#