@@ -202,22 +202,37 @@ func TestSingleQueryPrepared(t *testing.T) {
202202
203203// Convenience test for debugging a single query. Unskip and set to the desired query.
204204func TestSingleScript (t * testing.T ) {
205- t .Skip ()
205+ // t.Skip()
206206 var scripts = []queries.ScriptTest {
207207 {
208- Name : "AS OF propagates to nested CALLs" ,
209- SetUpScript : []string {},
208+ Dialect : "mysql" ,
209+ Name : "UPDATE join – multiple tables, with trigger" ,
210+ SetUpScript : []string {
211+ "create table customers (id int primary key, name text, tier text)" ,
212+ "create table orders (id int primary key, customer_id int, status text)" ,
213+ "create table trigger_log (msg text)" ,
214+ `CREATE TRIGGER after_orders_update after update on orders for each row
215+ begin
216+ insert into trigger_log (msg) values(
217+ concat('Order ', OLD.id, ' status changed from ', OLD.status, ' to ', NEW.status));
218+ end;` ,
219+ `Create trigger after_customers_update after update on customers for each row
220+ begin
221+ insert into trigger_log (msg) values(
222+ concat('Customer ', OLD.id, ' tier changed from ', OLD.tier, ' to ', NEW.tier));
223+ end;` ,
224+ "insert into customers values(1, 'Alice', 'silver'), (2, 'Bob', 'gold');" ,
225+ "insert into orders values (101, 1, 'pending'), (102, 2, 'pending');" ,
226+ "update customers c join orders o on c.id = o.customer_id set c.tier = 'platinum', o.status = 'shipped' where o.status = 'pending'" ,
227+ },
210228 Assertions : []queries.ScriptTestAssertion {
211229 {
212- Query : "create procedure create_proc() create table t (i int primary key, j int);" ,
213- Expected : []sql.Row {
214- {types .NewOkResult (0 )},
215- },
216- },
217- {
218- Query : "call create_proc()" ,
230+ Query : "SELECT * FROM trigger_log order by msg;" ,
219231 Expected : []sql.Row {
220- {types .NewOkResult (0 )},
232+ {"Customer 1 tier changed from silver to platinum" },
233+ {"Customer 2 tier changed from gold to platinum" },
234+ {"Order 101 status changed from pending to shipped" },
235+ {"Order 102 status changed from pending to shipped" },
221236 },
222237 },
223238 },
@@ -232,8 +247,8 @@ func TestSingleScript(t *testing.T) {
232247 panic (err )
233248 }
234249
235- // engine.EngineAnalyzer().Debug = true
236- // engine.EngineAnalyzer().Verbose = true
250+ engine .EngineAnalyzer ().Debug = true
251+ engine .EngineAnalyzer ().Verbose = true
237252
238253 enginetest .TestScriptWithEngine (t , engine , harness , test )
239254 }
0 commit comments