diff options
Diffstat (limited to 'mysql-test/t/view.test')
-rw-r--r-- | mysql-test/t/view.test | 78 |
1 files changed, 21 insertions, 57 deletions
diff --git a/mysql-test/t/view.test b/mysql-test/t/view.test index bf34dd67e87..67415499a61 100644 --- a/mysql-test/t/view.test +++ b/mysql-test/t/view.test @@ -748,12 +748,12 @@ drop view v1; # # VIEWs with national characters # -create table tü (cü char); -create view vü as select cü from tü; -insert into vü values ('ü'); -select * from vü; -drop view vü; -drop table tü; +create table tü (cü char); +create view vü as select cü from tü; +insert into vü values ('ü'); +select * from vü; +drop view vü; +drop table tü; # # problem with used_tables() of outer reference resolved in VIEW @@ -2900,6 +2900,20 @@ DROP VIEW v1; DROP TABLE t1; # +# Bug #16813 (WITH CHECK OPTION doesn't work with UPDATE) +# +CREATE TABLE t1(id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, val INT UNSIGNED NOT NULL); +CREATE VIEW v1 AS SELECT id, val FROM t1 WHERE val >= 1 AND val <= 5 WITH CHECK OPTION; +INSERT INTO v1 (val) VALUES (2); +INSERT INTO v1 (val) VALUES (4); +-- error 1369 +INSERT INTO v1 (val) VALUES (6); +-- error 1369 +UPDATE v1 SET val=6 WHERE id=2; +DROP VIEW v1; +DROP TABLE t1; + +# # BUG#22584: last_insert_id not updated after inserting a record # through a updatable view # @@ -2951,7 +2965,7 @@ DROP VIEW v; # # BUG#24293: '\Z' token is not handled correctly in views # - + --disable_warnings DROP VIEW IF EXISTS v1; --enable_warnings @@ -3037,56 +3051,6 @@ DROP TABLE t1; --echo End of 5.0 tests. -# Bug #16813 (WITH CHECK OPTION doesn't work with UPDATE) -# -CREATE TABLE t1(id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, val INT UNSIGNED NOT NULL); -CREATE VIEW v1 AS SELECT id, val FROM t1 WHERE val >= 1 AND val <= 5 WITH CHECK OPTION; -INSERT INTO v1 (val) VALUES (2); -INSERT INTO v1 (val) VALUES (4); --- error 1369 -INSERT INTO v1 (val) VALUES (6); --- error 1369 -UPDATE v1 SET val=6 WHERE id=2; -DROP VIEW v1; -DROP TABLE t1; - -# -# BUG#22584: last_insert_id not updated after inserting a record -# through a updatable view -# -# We still do not update LAST_INSERT_ID if AUTO_INCREMENT column is -# not accessible through a view. However, we do not reset the value -# of LAST_INSERT_ID, but keep it unchanged. -# ---disable_warnings -DROP VIEW IF EXISTS v1, v2; -DROP TABLE IF EXISTS t1; ---enable_warnings - -CREATE TABLE t1 (i INT AUTO_INCREMENT PRIMARY KEY, j INT); -CREATE VIEW v1 AS SELECT j FROM t1; -CREATE VIEW v2 AS SELECT * FROM t1; - -INSERT INTO t1 (j) VALUES (1); -SELECT LAST_INSERT_ID(); - -INSERT INTO v1 (j) VALUES (2); ---echo # LAST_INSERT_ID() should not change. -SELECT LAST_INSERT_ID(); - -INSERT INTO v2 (j) VALUES (3); ---echo # LAST_INSERT_ID() should be updated. -SELECT LAST_INSERT_ID(); - -INSERT INTO v1 (j) SELECT j FROM t1; ---echo # LAST_INSERT_ID() should not change. -SELECT LAST_INSERT_ID(); - -SELECT * FROM t1; - -DROP VIEW v1, v2; -DROP TABLE t1; - # # Bug#21370 View renaming lacks tablename_to_filename encoding # |