summaryrefslogtreecommitdiff
path: root/mysql-test/t/trigger.test
diff options
context:
space:
mode:
authorunknown <kroki@mysql.com>2006-06-29 13:45:43 +0400
committerunknown <kroki@mysql.com>2006-06-29 13:45:43 +0400
commit8c435bdf7d24ddb400223bd8c07ecda04c3de07e (patch)
tree244c37bba8291a39da4c15b1f7b821e6c385d208 /mysql-test/t/trigger.test
parent48d1dc7417bbe26cbc3733aa401b06b88d524604 (diff)
downloadmariadb-git-8c435bdf7d24ddb400223bd8c07ecda04c3de07e.tar.gz
Replace all numeric error code with symbolic names in trigger.test.
mysql-test/t/trigger.test: Replace all numeric error code with symbolic names. Left are --error 1 for system error, and --error 1100. The symbolic constant for the latter is ER_TABLE_NOT_LOCKED, but using it triggers a bug in test driver due to name prefix collision with 1099 ER_TABLE_NOT_LOCKED_FOR_WRITE. This bug is fixed in 5.1.
Diffstat (limited to 'mysql-test/t/trigger.test')
-rw-r--r--mysql-test/t/trigger.test84
1 files changed, 42 insertions, 42 deletions
diff --git a/mysql-test/t/trigger.test b/mysql-test/t/trigger.test
index 91b418e7ca6..95e8eaae83e 100644
--- a/mysql-test/t/trigger.test
+++ b/mysql-test/t/trigger.test
@@ -237,7 +237,7 @@ begin
end|
delimiter ;|
insert into t3 values (1);
---error 1048
+--error ER_BAD_NULL_ERROR
insert into t1 values (4, "four", 1), (5, "five", 2);
select * from t1;
select * from t2;
@@ -295,19 +295,19 @@ drop table t1, t2;
create table t1 (i int);
create table t3 (i int);
---error 1363
+--error ER_TRG_NO_SUCH_ROW_IN_TRG
create trigger trg before insert on t1 for each row set @a:= old.i;
---error 1363
+--error ER_TRG_NO_SUCH_ROW_IN_TRG
create trigger trg before delete on t1 for each row set @a:= new.i;
---error 1362
+--error ER_TRG_CANT_CHANGE_ROW
create trigger trg before update on t1 for each row set old.i:=1;
---error 1363
+--error ER_TRG_NO_SUCH_ROW_IN_TRG
create trigger trg before delete on t1 for each row set new.i:=1;
---error 1362
+--error ER_TRG_CANT_CHANGE_ROW
create trigger trg after update on t1 for each row set new.i:=1;
---error 1054
+--error ER_BAD_FIELD_ERROR
create trigger trg before update on t1 for each row set new.j:=1;
---error 1054
+--error ER_BAD_FIELD_ERROR
create trigger trg before update on t1 for each row set @a:=old.j;
@@ -315,25 +315,25 @@ create trigger trg before update on t1 for each row set @a:=old.j;
# Let us test various trigger creation errors
# Also quickly test table namespace (bug#5892/6182)
#
---error 1146
+--error ER_NO_SUCH_TABLE
create trigger trg before insert on t2 for each row set @a:=1;
create trigger trg before insert on t1 for each row set @a:=1;
---error 1359
+--error ER_TRG_ALREADY_EXISTS
create trigger trg after insert on t1 for each row set @a:=1;
---error 1235
+--error ER_NOT_SUPPORTED_YET
create trigger trg2 before insert on t1 for each row set @a:=1;
---error 1359
+--error ER_TRG_ALREADY_EXISTS
create trigger trg before insert on t3 for each row set @a:=1;
create trigger trg2 before insert on t3 for each row set @a:=1;
drop trigger trg2;
drop trigger trg;
---error 1360
+--error ER_TRG_DOES_NOT_EXIST
drop trigger trg;
create view v1 as select * from t1;
---error 1347
+--error ER_WRONG_OBJECT
create trigger trg before insert on v1 for each row set @a:=1;
drop view v1;
@@ -341,7 +341,7 @@ drop table t1;
drop table t3;
create temporary table t1 (i int);
---error 1361
+--error ER_TRG_ON_VIEW_OR_TEMP_TABLE
create trigger trg before insert on t1 for each row set @a:=1;
drop table t1;
@@ -495,47 +495,47 @@ select * from t1;
# their main effect. This is because operation on the table row is
# executed before "after" trigger and its effect cannot be rolled back
# when whole statement fails, because t1 is MyISAM table.
---error 1054
+--error ER_BAD_FIELD_ERROR
insert into t1 values (2, 1);
select * from t1;
---error 1054
+--error ER_BAD_FIELD_ERROR
update t1 set k = 2 where i = 2;
select * from t1;
---error 1054
+--error ER_BAD_FIELD_ERROR
delete from t1 where i = 2;
select * from t1;
# Should fail and insert only 1 row
---error 1054
+--error ER_BAD_FIELD_ERROR
load data infile '../std_data_ln/loaddata5.dat' into table t1 fields terminated by '' enclosed by '' (i, k);
select * from t1;
---error 1054
+--error ER_BAD_FIELD_ERROR
insert into t1 select 3, 3;
select * from t1;
# Multi-update working on the fly, again it will update only
# one row even if more matches
---error 1054
+--error ER_BAD_FIELD_ERROR
update t1, t2 set k = k + 10 where t1.i = t2.i;
select * from t1;
# The same for multi-update via temp table
---error 1054
+--error ER_BAD_FIELD_ERROR
update t1, t2 set k = k + 10 where t1.i = t2.i and k < 3;
select * from t1;
# Multi-delete on the fly
---error 1054
+--error ER_BAD_FIELD_ERROR
delete t1, t2 from t1 straight_join t2 where t1.i = t2.i;
select * from t1;
# And via temporary storage
---error 1054
+--error ER_BAD_FIELD_ERROR
delete t2, t1 from t2 straight_join t1 where t1.i = t2.i;
select * from t1;
# Prepare table for testing of REPLACE and INSERT ... ON DUPLICATE KEY UPDATE
alter table t1 add primary key (i);
---error 1054
+--error ER_BAD_FIELD_ERROR
insert into t1 values (3, 4) on duplicate key update k= k + 10;
select * from t1;
# The following statement will delete old row and won't
# insert new one since after delete trigger will fail.
---error 1054
+--error ER_BAD_FIELD_ERROR
replace into t1 values (3, 3);
select * from t1;
# Also drops all triggers
@@ -553,33 +553,33 @@ alter table t1 drop column bt;
# The following statements changing t1 should fail and should not
# cause any effect on table, since "before" trigger is executed
# before operation on the table row.
---error 1054
+--error ER_BAD_FIELD_ERROR
insert into t1 values (3, 3);
select * from t1;
---error 1054
+--error ER_BAD_FIELD_ERROR
update t1 set i = 2;
select * from t1;
---error 1054
+--error ER_BAD_FIELD_ERROR
delete from t1;
select * from t1;
---error 1054
+--error ER_BAD_FIELD_ERROR
load data infile '../std_data_ln/loaddata5.dat' into table t1 fields terminated by '' enclosed by '' (i, k);
select * from t1;
---error 1054
+--error ER_BAD_FIELD_ERROR
insert into t1 select 3, 3;
select * from t1;
# Both types of multi-update (on the fly and via temp table)
---error 1054
+--error ER_BAD_FIELD_ERROR
update t1, t2 set k = k + 10 where t1.i = t2.i;
select * from t1;
---error 1054
+--error ER_BAD_FIELD_ERROR
update t1, t2 set k = k + 10 where t1.i = t2.i and k < 2;
select * from t1;
# Both types of multi-delete
---error 1054
+--error ER_BAD_FIELD_ERROR
delete t1, t2 from t1 straight_join t2 where t1.i = t2.i;
select * from t1;
---error 1054
+--error ER_BAD_FIELD_ERROR
delete t2, t1 from t2 straight_join t1 where t1.i = t2.i;
select * from t1;
# Let us test REPLACE/INSERT ... ON DUPLICATE KEY UPDATE.
@@ -587,10 +587,10 @@ select * from t1;
# in ordinary INSERT we need to drop "before insert" trigger.
alter table t1 add primary key (i);
drop trigger bi;
---error 1054
+--error ER_BAD_FIELD_ERROR
insert into t1 values (2, 4) on duplicate key update k= k + 10;
select * from t1;
---error 1054
+--error ER_BAD_FIELD_ERROR
replace into t1 values (2, 4);
select * from t1;
# Also drops all triggers
@@ -608,7 +608,7 @@ insert into t1 values (1, 2);
create function bug5893 () returns int return 5;
create trigger t1_bu before update on t1 for each row set new.col1= bug5893();
drop function bug5893;
---error 1305
+--error ER_SP_DOES_NOT_EXIST
update t1 set col2 = 4;
# This should not crash server too.
drop trigger t1_bu;
@@ -908,9 +908,9 @@ create trigger t1_bi after insert on t1 for each row insert into t3 values (new.
# Until we implement proper mechanism for invalidation of PS/SP when table
# or SP's are changed these two statements will fail with 'Table ... was
# not locked' error (this mechanism should be based on the new TDC).
---error 1100
+--error 1100 #ER_TABLE_NOT_LOCKED
execute stmt1;
---error 1100
+--error 1100 #ER_TABLE_NOT_LOCKED
call p1();
deallocate prepare stmt1;
drop procedure p1;
@@ -1186,7 +1186,7 @@ INSERT INTO t1 VALUES (@x);
SELECT @x;
SET @x=2;
---error 1365
+--error ER_DIVISION_BY_ZERO
UPDATE t1 SET i1 = @x;
SELECT @x;
@@ -1197,7 +1197,7 @@ INSERT INTO t1 VALUES (@x);
SELECT @x;
SET @x=4;
---error 1365
+--error ER_DIVISION_BY_ZERO
UPDATE t1 SET i1 = @x;
SELECT @x;