@@ -141,37 +141,48 @@ func (s *testSuite) TestSetVar(c *C) {
141141 tk .MustExec ("SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED" )
142142 tk .MustQuery ("select @@session.tx_isolation" ).Check (testkit .Rows ("READ-COMMITTED" ))
143143 tk .MustQuery ("select @@session.transaction_isolation" ).Check (testkit .Rows ("READ-COMMITTED" ))
144- tk .MustExec ("SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED" )
145- tk .MustQuery ("select @@session.tx_isolation" ).Check (testkit .Rows ("READ-UNCOMMITTED" ))
146- tk .MustQuery ("select @@session.transaction_isolation" ).Check (testkit .Rows ("READ-UNCOMMITTED" ))
147- tk .MustExec ("SET GLOBAL TRANSACTION ISOLATION LEVEL SERIALIZABLE" )
148- tk .MustQuery ("select @@global.tx_isolation" ).Check (testkit .Rows ("SERIALIZABLE" ))
149- tk .MustQuery ("select @@global.transaction_isolation" ).Check (testkit .Rows ("SERIALIZABLE" ))
144+ // error
145+ _ , err = tk .Exec ("SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED" )
146+ c .Assert (terror .ErrorEqual (err , variable .ErrUnsupportedValueForVar ), IsTrue , Commentf ("err %v" , err ))
147+ tk .MustQuery ("select @@session.tx_isolation" ).Check (testkit .Rows ("READ-COMMITTED" ))
148+ tk .MustQuery ("select @@session.transaction_isolation" ).Check (testkit .Rows ("READ-COMMITTED" ))
149+ // Fails
150+ _ , err = tk .Exec ("SET GLOBAL TRANSACTION ISOLATION LEVEL SERIALIZABLE" )
151+ c .Assert (terror .ErrorEqual (err , variable .ErrUnsupportedValueForVar ), IsTrue , Commentf ("err %v" , err ))
152+ tk .MustQuery ("select @@global.tx_isolation" ).Check (testkit .Rows ("REPEATABLE-READ" ))
153+ tk .MustQuery ("select @@global.transaction_isolation" ).Check (testkit .Rows ("REPEATABLE-READ" ))
150154
151155 // test synonyms variables
152156 tk .MustExec ("SET SESSION tx_isolation = 'READ-COMMITTED'" )
153157 tk .MustQuery ("select @@session.tx_isolation" ).Check (testkit .Rows ("READ-COMMITTED" ))
154158 tk .MustQuery ("select @@session.transaction_isolation" ).Check (testkit .Rows ("READ-COMMITTED" ))
155159
156- tk .MustExec ("SET SESSION tx_isolation = 'READ-UNCOMMITTED'" )
157- tk .MustQuery ("select @@session.tx_isolation" ).Check (testkit .Rows ("READ-UNCOMMITTED" ))
158- tk .MustQuery ("select @@session.transaction_isolation" ).Check (testkit .Rows ("READ-UNCOMMITTED" ))
160+ _ , err = tk .Exec ("SET SESSION tx_isolation = 'READ-UNCOMMITTED'" )
161+ c .Assert (terror .ErrorEqual (err , variable .ErrUnsupportedValueForVar ), IsTrue , Commentf ("err %v" , err ))
162+ tk .MustQuery ("select @@session.tx_isolation" ).Check (testkit .Rows ("READ-COMMITTED" ))
163+ tk .MustQuery ("select @@session.transaction_isolation" ).Check (testkit .Rows ("READ-COMMITTED" ))
159164
160- tk .MustExec ("SET SESSION transaction_isolation = 'SERIALIZABLE'" )
161- tk .MustQuery ("select @@session.tx_isolation" ).Check (testkit .Rows ("SERIALIZABLE" ))
162- tk .MustQuery ("select @@session.transaction_isolation" ).Check (testkit .Rows ("SERIALIZABLE" ))
165+ // fails
166+ _ , err = tk .Exec ("SET SESSION transaction_isolation = 'SERIALIZABLE'" )
167+ c .Assert (terror .ErrorEqual (err , variable .ErrUnsupportedValueForVar ), IsTrue , Commentf ("err %v" , err ))
168+ tk .MustQuery ("select @@session.tx_isolation" ).Check (testkit .Rows ("READ-COMMITTED" ))
169+ tk .MustQuery ("select @@session.transaction_isolation" ).Check (testkit .Rows ("READ-COMMITTED" ))
163170
164- tk .MustExec ("SET GLOBAL transaction_isolation = 'SERIALIZABLE'" )
165- tk .MustQuery ("select @@global.tx_isolation" ).Check (testkit .Rows ("SERIALIZABLE" ))
166- tk .MustQuery ("select @@global.transaction_isolation" ).Check (testkit .Rows ("SERIALIZABLE" ))
171+ // fails
172+ _ , err = tk .Exec ("SET GLOBAL transaction_isolation = 'SERIALIZABLE'" )
173+ c .Assert (terror .ErrorEqual (err , variable .ErrUnsupportedValueForVar ), IsTrue , Commentf ("err %v" , err ))
174+ tk .MustQuery ("select @@global.tx_isolation" ).Check (testkit .Rows ("REPEATABLE-READ" ))
175+ tk .MustQuery ("select @@global.transaction_isolation" ).Check (testkit .Rows ("REPEATABLE-READ" ))
167176
168- tk .MustExec ("SET GLOBAL transaction_isolation = 'READ-UNCOMMITTED'" )
169- tk .MustQuery ("select @@global.tx_isolation" ).Check (testkit .Rows ("READ-UNCOMMITTED" ))
170- tk .MustQuery ("select @@global.transaction_isolation" ).Check (testkit .Rows ("READ-UNCOMMITTED" ))
177+ _ , err = tk .Exec ("SET GLOBAL transaction_isolation = 'READ-UNCOMMITTED'" )
178+ c .Assert (terror .ErrorEqual (err , variable .ErrUnsupportedValueForVar ), IsTrue , Commentf ("err %v" , err ))
179+ tk .MustQuery ("select @@global.tx_isolation" ).Check (testkit .Rows ("REPEATABLE-READ" ))
180+ tk .MustQuery ("select @@global.transaction_isolation" ).Check (testkit .Rows ("REPEATABLE-READ" ))
171181
172- tk .MustExec ("SET GLOBAL tx_isolation = 'SERIALIZABLE'" )
173- tk .MustQuery ("select @@global.tx_isolation" ).Check (testkit .Rows ("SERIALIZABLE" ))
174- tk .MustQuery ("select @@global.transaction_isolation" ).Check (testkit .Rows ("SERIALIZABLE" ))
182+ _ , err = tk .Exec ("SET GLOBAL tx_isolation = 'SERIALIZABLE'" )
183+ c .Assert (terror .ErrorEqual (err , variable .ErrUnsupportedValueForVar ), IsTrue , Commentf ("err %v" , err ))
184+ tk .MustQuery ("select @@global.tx_isolation" ).Check (testkit .Rows ("REPEATABLE-READ" ))
185+ tk .MustQuery ("select @@global.transaction_isolation" ).Check (testkit .Rows ("REPEATABLE-READ" ))
175186
176187 tk .MustExec ("SET SESSION tx_read_only = 1" )
177188 tk .MustExec ("SET SESSION tx_read_only = 0" )
@@ -553,7 +564,6 @@ func (s *testSuite) TestValidateSetVar(c *C) {
553564 result = tk .MustQuery ("select @@tx_isolation;" )
554565 result .Check (testkit .Rows ("REPEATABLE-READ" ))
555566
556- tk .MustExec ("set @@tx_isolation='SERIALIZABLE'" )
557- result = tk .MustQuery ("select @@tx_isolation;" )
558- result .Check (testkit .Rows ("SERIALIZABLE" ))
567+ _ , err = tk .Exec ("set @@tx_isolation='SERIALIZABLE'" )
568+ c .Assert (terror .ErrorEqual (err , variable .ErrUnsupportedValueForVar ), IsTrue , Commentf ("err %v" , err ))
559569}
0 commit comments