summaryrefslogtreecommitdiff
path: root/mysql-test/t/view.test
diff options
context:
space:
mode:
authorunknown <bell@sanja.is.com.ua>2004-09-03 15:18:40 +0300
committerunknown <bell@sanja.is.com.ua>2004-09-03 15:18:40 +0300
commit704fb6daf749e66d39a7155c1e7f9465733ec140 (patch)
tree887af5e66cac0f28f08971bc57b9d874c53dc747 /mysql-test/t/view.test
parent2c3f49a64d773395cc0e41fb35c5b6e3b5a56871 (diff)
downloadmariadb-git-704fb6daf749e66d39a7155c1e7f9465733ec140.tar.gz
CHECK OPTIONs added (WL#1983)
include/mysqld_error.h: new error messages mysql-test/r/view.result: test of CHECK OPTION in a views mysql-test/t/view.test: test of CHECK OPTION in a views sql/share/czech/errmsg.txt: new error messages sql/share/danish/errmsg.txt: new error messages sql/share/dutch/errmsg.txt: new error messages sql/share/english/errmsg.txt: new error messages sql/share/estonian/errmsg.txt: new error messages sql/share/french/errmsg.txt: new error messages sql/share/german/errmsg.txt: new error messages sql/share/greek/errmsg.txt: new error messages sql/share/hungarian/errmsg.txt: new error messages sql/share/italian/errmsg.txt: new error messages sql/share/japanese/errmsg.txt: new error messages sql/share/korean/errmsg.txt: new error messages sql/share/norwegian-ny/errmsg.txt: new error messages sql/share/norwegian/errmsg.txt: new error messages sql/share/polish/errmsg.txt: new error messages sql/share/portuguese/errmsg.txt: new error messages sql/share/romanian/errmsg.txt: new error messages sql/share/russian/errmsg.txt: new error messages sql/share/serbian/errmsg.txt: new error messages sql/share/slovak/errmsg.txt: new error messages sql/share/spanish/errmsg.txt: new error messages sql/share/swedish/errmsg.txt: new error messages sql/share/ukrainian/errmsg.txt: new error messages sql/sql_insert.cc: CHECK OPTIONs added sql/sql_lex.h: CHECK OPTIONs added sql/sql_update.cc: CHECK OPTIONs added sql/sql_view.cc: new parameter added returnrd values fixed sql/sql_yacc.yy: CHECK OPTIONs added sql/table.cc: CHECK OPTIONs added sql/table.h: CHECK OPTIONs added
Diffstat (limited to 'mysql-test/t/view.test')
-rw-r--r--mysql-test/t/view.test70
1 files changed, 68 insertions, 2 deletions
diff --git a/mysql-test/t/view.test b/mysql-test/t/view.test
index e73133afa67..7628dd59750 100644
--- a/mysql-test/t/view.test
+++ b/mysql-test/t/view.test
@@ -392,9 +392,11 @@ drop table t1;
# syntax compatibility
#
create table t1 (a int);
+-- error 1358
create view v1 as select distinct a from t1 WITH CHECK OPTION;
-create view v2 as select distinct a from t1 WITH CASCADED CHECK OPTION;
-create view v3 as select distinct a from t1 WITH LOCAL CHECK OPTION;
+create view v1 as select a from t1 WITH CHECK OPTION;
+create view v2 as select a from t1 WITH CASCADED CHECK OPTION;
+create view v3 as select a from t1 WITH LOCAL CHECK OPTION;
drop view v3 RESTRICT;
drop view v2 CASCADE;
drop view v1;
@@ -1106,3 +1108,67 @@ select * from v3;
show create view v3;
drop view v3, v2, v1;
drop table t2, t1;
+
+#
+# WITH CHECK OPTION insert/update test
+#
+create table t1 (a int);
+create view v1 as select * from t1 where a < 2 with check option;
+# simple insert
+insert into v1 values(1);
+-- error 1359
+insert into v1 values(3);
+# simple insert with ignore
+insert ignore into v1 values (2),(3),(0);
+select * from t1;
+# prepare data for next check
+delete from t1;
+# INSERT SELECT test
+insert into v1 SELECT 1;
+-- error 1359
+insert into v1 SELECT 3;
+# prepare data for next check
+create table t2 (a int);
+insert into t2 values (2),(3),(0);
+# INSERT SELECT with ignore test
+insert ignore into v1 SELECT a from t2;
+select * from t1;
+#simple UPDATE test
+update v1 set a=-1 where a=0;
+-- error 1359
+update v1 set a=2 where a=1;
+select * from t1;
+# prepare data for next check
+update v1 set a=0 where a=0;
+insert into t2 values (1);
+# multiupdate test
+update v1,t2 set v1.a=v1.a-1 where v1.a=t2.a;
+select * from t1;
+# prepare data for next check
+update v1 set a=a+1;
+# multiupdate with ignore test
+update ignore v1,t2 set v1.a=v1.a+1 where v1.a=t2.a;
+select * from t1;
+
+drop view v1;
+drop table t1, t2;
+
+#
+# CASCADED/LOCAL CHECK OPTION test
+#
+create table t1 (a int);
+create view v1 as select * from t1 where a < 2 with check option;
+create view v2 as select * from v1 where a > 0 with local check option;
+create view v3 as select * from v1 where a > 0 with cascaded check option;
+insert into v2 values (1);
+insert into v3 values (1);
+-- error 1359
+insert into v2 values (0);
+-- error 1359
+insert into v3 values (0);
+insert into v2 values (2);
+-- error 1359
+insert into v3 values (2);
+select * from t1;
+drop view v3,v2,v1;
+drop table t1;