283
}
284
286
>
numTimers := 20
287
>
288
>
shardID := rand.Int31()
289
>
namespaceID := primitives.NewUUID()
290
>
workflowID := shuffle.String(testHistoryExecutionWorkflowID)
291
>
runID := primitives.NewUUID()
292
>
293
>
var timers []sqlplugin.TimerInfoMapsRow
294
>
var timerIDs []string
295
>
for range numTimers {
296
>
timerID := shuffle.String(testHistoryExecutionTimerID)
297
>
timer := s.newRandomExecutionTimerRow(shardID, namespaceID, workflowID, runID, timerID)
298
>
timerIDs = append(timerIDs, timerID)
299
>
timers = append(timers, timer)
300
>
}
301
>
result, err := s.store.ReplaceIntoTimerInfoMaps(newExecutionContext(), timers)
302
>
s.NoError(err)
303
>
rowsAffected, err := result.RowsAffected()
304
>
s.NoError(err)
305
>
s.Equal(numTimers, int(rowsAffected))
306
>
307
>
deleteFilter := sqlplugin.TimerInfoMapsFilter{
308
>
ShardID: shardID,
309
>
NamespaceID: namespaceID,
310
>
WorkflowID: workflowID,
311
>
RunID: runID,
312
>
TimerIDs: timerIDs,
313
>
}
314
>
result, err = s.store.DeleteFromTimerInfoMaps(newExecutionContext(), deleteFilter)
315
>
s.NoError(err)
316
>
rowsAffected, err = result.RowsAffected()
317
>
s.NoError(err)
318
>
s.Equal(numTimers, int(rowsAffected))
319
>
320
>
selectFilter := sqlplugin.TimerInfoMapsAllFilter{
321
>
ShardID: shardID,
322
>
NamespaceID: namespaceID,
323
>
WorkflowID: workflowID,
324
>
RunID: runID,
325
>
}
326
>
rows, err := s.store.SelectAllFromTimerInfoMaps(newExecutionContext(), selectFilter)
327
>
s.NoError(err)
328
>
s.Equal([]sqlplugin.TimerInfoMapsRow(nil), rows)
329
}
330