152
}
153
155
>
numTasks := 20
156
>
157
>
shardID := rand.Int31()
158
>
timestamp := s.now()
159
>
minTimestamp := timestamp
160
>
taskID := int64(1)
161
>
maxTimestamp := timestamp.Add(time.Duration(numTasks) * time.Millisecond)
162
>
163
>
var tasks []sqlplugin.TimerTasksRow
164
>
for range numTasks {
165
>
task := s.newRandomTimerTaskRow(shardID, timestamp, taskID)
166
>
timestamp = timestamp.Add(time.Millisecond)
167
>
taskID++
168
>
tasks = append(tasks, task)
169
>
}
170
>
result, err := s.store.InsertIntoTimerTasks(newExecutionContext(), tasks)
171
>
s.NoError(err)
172
>
rowsAffected, err := result.RowsAffected()
173
>
s.NoError(err)
174
>
s.Equal(numTasks, int(rowsAffected))
175
>
176
>
filter := sqlplugin.TimerTasksRangeFilter{
177
>
ShardID: shardID,
178
>
InclusiveMinVisibilityTimestamp: minTimestamp,
179
>
ExclusiveMaxVisibilityTimestamp: maxTimestamp,
180
>
PageSize: numTasks,
181
>
}
182
>
rows, err := s.store.RangeSelectFromTimerTasks(newExecutionContext(), filter)
183
>
s.NoError(err)
184
>
for index := range rows {
185
>
rows[index].ShardID = shardID
186
>
}
187
>
s.Equal(tasks, rows)
188
}
189