247
}
248
250
>
shardID := rand.Int31()
251
>
timestamp := s.now()
252
>
taskID := int64(1)
253
>
254
>
task := s.newRandomTimerTaskRow(shardID, timestamp, taskID)
255
>
result, err := s.store.InsertIntoTimerTasks(newExecutionContext(), []sqlplugin.TimerTasksRow{task})
256
>
s.NoError(err)
257
>
rowsAffected, err := result.RowsAffected()
258
>
s.NoError(err)
259
>
s.Equal(1, int(rowsAffected))
260
>
261
>
filter := sqlplugin.TimerTasksFilter{
262
>
ShardID: shardID,
263
>
VisibilityTimestamp: timestamp,
264
>
TaskID: taskID,
265
>
}
266
>
result, err = s.store.DeleteFromTimerTasks(newExecutionContext(), filter)
267
>
s.NoError(err)
268
>
rowsAffected, err = result.RowsAffected()
269
>
s.NoError(err)
270
>
s.Equal(1, int(rowsAffected))
271
>
272
>
rangeFilter := sqlplugin.TimerTasksRangeFilter{
273
>
ShardID: shardID,
274
>
InclusiveMinTaskID: taskID,
275
>
InclusiveMinVisibilityTimestamp: timestamp,
276
>
ExclusiveMaxVisibilityTimestamp: timestamp.Add(common.ScheduledTaskMinPrecision),
277
>
PageSize: 1,
278
>
}
279
>
rows, err := s.store.RangeSelectFromTimerTasks(newExecutionContext(), rangeFilter)
280
>
s.NoError(err)
281
>
for index := range rows {
282
rows[index].ShardID = shardID
283
}
285
}
286