~ubuntu-branches/ubuntu/maverick/mysql-5.1/maverick-proposed

« back to all changes in this revision

Viewing changes to mysql-test/r/trigger-compat.result

  • Committer: Package Import Robot
  • Author(s): Marc Deslauriers
  • Date: 2012-02-22 14:16:05 UTC
  • mto: This revision was merged to the branch mainline in revision 20.
  • Revision ID: package-import@ubuntu.com-20120222141605-nxlu9yzc6attylc2
Tags: upstream-5.1.61
ImportĀ upstreamĀ versionĀ 5.1.61

Show diffs side-by-side

added added

removed removed

Lines of Context:
43
43
DROP USER mysqltest_dfn@localhost;
44
44
DROP USER mysqltest_inv@localhost;
45
45
DROP DATABASE mysqltest_db1;
 
46
USE test;
 
47
#
 
48
# Bug#45235: 5.1 does not support 5.0-only syntax triggers in any way
 
49
#
 
50
DROP TABLE IF EXISTS t1, t2, t3;
 
51
CREATE TABLE t1 ( a INT );
 
52
CREATE TABLE t2 ( a INT );
 
53
CREATE TABLE t3 ( a INT );
 
54
INSERT INTO t1 VALUES (1), (2), (3);
 
55
INSERT INTO t2 VALUES (1), (2), (3);
 
56
INSERT INTO t3 VALUES (1), (2), (3);
 
57
# We simulate importing a trigger from 5.0 by writing a .TRN file for
 
58
# each trigger plus a .TRG file the way MySQL 5.0 would have done it, 
 
59
# with syntax allowed in 5.0 only.
 
60
#
 
61
# Note that in 5.0 the following lines are missing from t1.TRG:
 
62
#
 
63
# client_cs_names='latin1'
 
64
# connection_cl_names='latin1_swedish_ci'
 
65
# db_cl_names='latin1_swedish_ci'
 
66
# We will get parse errors for most DDL and DML statements when the table
 
67
# has broken triggers. The parse error refers to the first broken 
 
68
# trigger.
 
69
CREATE TRIGGER tr16 AFTER UPDATE ON t1 FOR EACH ROW INSERT INTO t1 VALUES (1);
 
70
ERROR 42000: Trigger 'tr13' has an error in its body: 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'a USING t1 a' at line 1'
 
71
CREATE TRIGGER tr22 BEFORE INSERT ON t2 FOR EACH ROW DELETE FROM non_existing_table;
 
72
ERROR 42000: Unknown trigger has an error in its body: 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Not allowed syntax here, and trigger name cant be extracted either.' at line 1'
 
73
SHOW TRIGGERS;
 
74
Trigger Event   Table   Statement       Timing  Created sql_mode        Definer character_set_client    collation_connection    Database Collation
 
75
tr11    INSERT  t1      DELETE FROM t3  BEFORE  NULL            root@localhost  latin1  latin1_swedish_ci       latin1_swedish_ci
 
76
tr12    INSERT  t1      DELETE FROM t3  AFTER   NULL            root@localhost  latin1  latin1_swedish_ci       latin1_swedish_ci
 
77
tr14    DELETE  t1      DELETE FROM non_existing_table  AFTER   NULL            root@localhost  latin1  latin1_swedish_ci       latin1_swedish_ci
 
78
Warnings:
 
79
Warning 1603    Triggers for table `test`.`t1` have no creation context
 
80
Warning 1603    Triggers for table `test`.`t2` have no creation context
 
81
INSERT INTO t1 VALUES (1);
 
82
ERROR 42000: Trigger 'tr13' has an error in its body: 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'a USING t1 a' at line 1'
 
83
INSERT INTO t2 VALUES (1);
 
84
ERROR 42000: Unknown trigger has an error in its body: 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Not allowed syntax here, and trigger name cant be extracted either.' at line 1'
 
85
DELETE FROM t1;
 
86
ERROR 42000: Trigger 'tr13' has an error in its body: 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'a USING t1 a' at line 1'
 
87
UPDATE t1 SET a = 1 WHERE a = 1;
 
88
ERROR 42000: Trigger 'tr13' has an error in its body: 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'a USING t1 a' at line 1'
 
89
SELECT * FROM t1;
 
90
a
 
91
1
 
92
2
 
93
3
 
94
RENAME TABLE t1 TO t1_2;
 
95
ERROR 42000: Trigger 'tr13' has an error in its body: 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'a USING t1 a' at line 1'
 
96
SHOW TRIGGERS;
 
97
Trigger Event   Table   Statement       Timing  Created sql_mode        Definer character_set_client    collation_connection    Database Collation
 
98
tr11    INSERT  t1      DELETE FROM t3  BEFORE  NULL            root@localhost  latin1  latin1_swedish_ci       latin1_swedish_ci
 
99
tr12    INSERT  t1      DELETE FROM t3  AFTER   NULL            root@localhost  latin1  latin1_swedish_ci       latin1_swedish_ci
 
100
tr14    DELETE  t1      DELETE FROM non_existing_table  AFTER   NULL            root@localhost  latin1  latin1_swedish_ci       latin1_swedish_ci
 
101
Warnings:
 
102
Warning 1603    Triggers for table `test`.`t1` have no creation context
 
103
DROP TRIGGER tr11;
 
104
Warnings:
 
105
Warning 1603    Triggers for table `test`.`t1` have no creation context
 
106
DROP TRIGGER tr12;
 
107
DROP TRIGGER tr13;
 
108
DROP TRIGGER tr14;
 
109
DROP TRIGGER tr15;
 
110
SHOW TRIGGERS;
 
111
Trigger Event   Table   Statement       Timing  Created sql_mode        Definer character_set_client    collation_connection    Database Collation
 
112
# Make sure there is no trigger file left.
 
113
# We write the same trigger files one more time to test DROP TABLE.
 
114
DROP TABLE t1;
 
115
Warnings:
 
116
Warning 1603    Triggers for table `test`.`t1` have no creation context
 
117
DROP TABLE t2;
 
118
Warnings:
 
119
Warning 1603    Triggers for table `test`.`t2` have no creation context
 
120
DROP TABLE t3;
 
121
# Make sure there is no trigger file left.
 
122
CREATE TABLE t1 ( a INT );
 
123
CREATE TABLE t2 ( a INT );
 
124
INSERT INTO t1 VALUES (1), (2), (3);
 
125
INSERT INTO t2 VALUES (1), (2), (3);
 
126
# We write three trigger files. First trigger is syntaxically incorrect, next trigger is correct
 
127
# and last trigger is broken.
 
128
# Next we try to execute SHOW CREATE TRGGIR command for broken trigger and then try to drop one.
 
129
FLUSH TABLE t1;
 
130
SHOW CREATE TRIGGER tr12;
 
131
Trigger sql_mode        SQL Original Statement  character_set_client    collation_connection    Database Collation
 
132
tr12            CREATE DEFINER=`root`@`localhost` TRIGGER tr12 BEFORE INSERT ON t1 FOR EACH ROW DELETE FROM t2  latin1  latin1_swedish_ci       latin1_swedish_ci
 
133
Warnings:
 
134
Warning 1603    Triggers for table `test`.`t1` have no creation context
 
135
SHOW CREATE TRIGGER tr11;
 
136
Trigger sql_mode        SQL Original Statement  character_set_client    collation_connection    Database Collation
 
137
tr11            CREATE DEFINER=`root`@`localhost` TRIGGER tr11 BEFORE DELETE ON t1 FOR EACH ROW DELETE FROM t1 a USING t1 a     latin1  latin1_swedish_ci       latin1_swedish_ci
 
138
DROP TRIGGER tr12;
 
139
Warnings:
 
140
Warning 1603    Triggers for table `test`.`t1` have no creation context
 
141
DROP TRIGGER tr11;
 
142
DROP TABLE t1;
 
143
DROP TABLE t2;