summaryrefslogtreecommitdiff
path: root/mysql-test/t/view.test
diff options
context:
space:
mode:
authorunknown <evgen@moonbone.local>2006-09-29 01:00:18 +0400
committerunknown <evgen@moonbone.local>2006-09-29 01:00:18 +0400
commitd332c37c584e294aa22e570808d8c3ac44f743ba (patch)
treeb3eca40b7038ad6c2703515de7f2ba8923e66f2b /mysql-test/t/view.test
parent665ebc05d07d39eccedd754d2625e2651c23888a (diff)
downloadmariadb-git-d332c37c584e294aa22e570808d8c3ac44f743ba.tar.gz
Fixed bug#5505: Wrong error message on INSERT into a view
On an INSERT into an updatable but non-insertable view an error message was issued stating the view being not updatable. This can lead to a confusion of a user. A new error message is introduced. Is is showed when a user tries to insert into a non-insertable view. sql/sql_base.cc: Fixed bug#5505: Wrong error message on INSERT into a view The update_non_unique_table_error() function now issues proper error for an INSERT. sql/sql_insert.cc: Fixed bug#5505: Wrong error message on INSERT into a view Issue the ER_NON_INSERTABLE_TABLE error instead of the ER_NON_UPDATABLE_TABLE on insert into a view. sql/sql_view.cc: Fixed bug#5505: Wrong error message on INSERT into a view Issue the ER_NON_INSERTABLE_TABLE error instead of the ER_NON_UPDATABLE_TABLE on insert into a view. mysql-test/r/view.result: Added the test case for bug#5505: Wrong error message on INSERT into a view Corrected a few test cases after fixing bug#5505 mysql-test/t/view.test: Added the test case for bug#5505: Wrong error message on INSERT into a view Corrected a few test cases after fixing bug#5505 sql/share/errmsg.txt: Fixed bug#5505: Wrong error message on INSERT into a view Added the ER_NON_INSERTABLE_TABLE error definition.
Diffstat (limited to 'mysql-test/t/view.test')
-rw-r--r--mysql-test/t/view.test32
1 files changed, 22 insertions, 10 deletions
diff --git a/mysql-test/t/view.test b/mysql-test/t/view.test
index 4745804e847..1a022cdbf66 100644
--- a/mysql-test/t/view.test
+++ b/mysql-test/t/view.test
@@ -347,13 +347,13 @@ create view v3 (x,y,z) as select b, a, b from t1;
create view v4 (x,y,z) as select c+1, b, a from t1;
create algorithm=temptable view v5 (x,y,z) as select c, b, a from t1;
# try insert to VIEW with fields duplicate
--- error 1288
+-- error 1470
insert into v3 values (-60,4,30);
# try insert to VIEW with expression in SELECT list
--- error 1288
+-- error 1470
insert into v4 values (-60,4,30);
# try insert to VIEW using temporary table algorithm
--- error 1288
+-- error 1470
insert into v5 values (-60,4,30);
insert into v1 values (-60,4,30);
insert into v1 (z,y,x) values (50,6,-100);
@@ -375,13 +375,13 @@ create view v3 (x,y,z) as select b, a, b from t1;
create view v4 (x,y,z) as select c+1, b, a from t1;
create algorithm=temptable view v5 (x,y,z) as select c, b, a from t1;
# try insert to VIEW with fields duplicate
--- error 1288
+-- error 1470
insert into v3 select c, b, a from t2;
# try insert to VIEW with expression in SELECT list
--- error 1288
+-- error 1470
insert into v4 select c, b, a from t2;
# try insert to VIEW using temporary table algorithm
--- error 1288
+-- error 1470
insert into v5 select c, b, a from t2;
insert into v1 select c, b, a from t2;
insert into v1 (z,y,x) select a+20,b+2,-100 from t2;
@@ -1249,14 +1249,14 @@ drop table t1;
#
create table t1 (s1 smallint);
create view v1 as select * from t1 where 20 < (select (s1) from t1);
--- error 1288
+-- error 1470
insert into v1 values (30);
create view v2 as select * from t1;
create view v3 as select * from t1 where 20 < (select (s1) from v2);
--- error 1288
+-- error 1470
insert into v3 values (30);
create view v4 as select * from v2 where 20 < (select (s1) from t1);
--- error 1288
+-- error 1470
insert into v4 values (30);
drop view v4, v3, v2, v1;
drop table t1;
@@ -2825,7 +2825,7 @@ BEGIN
END |
delimiter ;|
---error ER_NON_UPDATABLE_TABLE
+--error ER_NON_INSERTABLE_TABLE
SELECT f2();
DROP FUNCTION f1;
@@ -2850,4 +2850,16 @@ EXPLAIN SELECT * FROM v1 t WHERE t.s1+1 < (SELECT MAX(t1.s1) FROM t1);
DROP VIEW v1;
DROP TABLE t1;
+
+#
+# Bug #5505: Wrong error message on INSERT into a view
+#
+create table t1 (s1 int);
+create view v1 as select s1 as a, s1 as b from t1;
+--error 1470
+insert into v1 values (1,1);
+update v1 set a = 5;
+drop view v1;
+drop table t1;
+
--echo End of 5.0 tests.