254
}
255
256
>
func (s *historyNodeSuite) TestInsertDeleteSelect_Single() {
history_node.go
257
>
pageSize := 100
258
>
259
>
shardID := rand.Int31()
260
>
treeID := primitives.NewUUID()
261
>
branchID := primitives.NewUUID()
262
>
nodeID := int64(1)
263
>
prevTransactionID := rand.Int63()
264
>
transactionID := rand.Int63()
265
>
266
>
node := s.newRandomNodeRow(shardID, treeID, branchID, nodeID, prevTransactionID, transactionID)
267
>
result, err := s.store.InsertIntoHistoryNode(newExecutionContext(), &node)
268
>
s.NoError(err)
269
>
rowsAffected, err := result.RowsAffected()
270
>
s.NoError(err)
271
>
s.Equal(1, int(rowsAffected))
272
>
// transaction ID is *= -1 within InsertIntoHistoryNode
273
>
node.TxnID = -node.TxnID
274
>
275
>
result, err = s.store.DeleteFromHistoryNode(newExecutionContext(), &node)
276
>
s.NoError(err)
277
>
rowsAffected, err = result.RowsAffected()
278
>
s.NoError(err)
279
>
s.Equal(1, int(rowsAffected))
280
>
281
>
selectFilter := sqlplugin.HistoryNodeSelectFilter{
282
>
ShardID: shardID,
283
>
TreeID: treeID,
284
>
BranchID: branchID,
285
>
MinNodeID: nodeID,
286
>
MinTxnID: sql.MinTxnID,
287
>
MaxNodeID: math.MaxInt64,
288
>
PageSize: pageSize,
289
>
}
290
>
rows, err := s.store.RangeSelectFromHistoryNode(newExecutionContext(), selectFilter)
291
>
s.NoError(err)
292
>
for index := range rows {
293
rows[index].ShardID = shardID
294
rows[index].TreeID = treeID
295
rows[index].BranchID = branchID
296
}
298
}
299