MCPcopy Create free account
hub / github.com/nutsdb/nutsdb / TestWriteBatchReset_ReplacesTransaction

Function TestWriteBatchReset_ReplacesTransaction

batch_test.go:261–283  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

259}
260
261func TestWriteBatchReset_ReplacesTransaction(t *testing.T) {
262 db, err := Open(
263 DefaultOptions,
264 WithDir(t.TempDir()),
265 )
266 require.NoError(t, err)
267 defer func() { require.NoError(t, db.Close()) }()
268
269 wb, err := db.NewWriteBatch()
270 require.NoError(t, err)
271 require.Equal(t, int64(1), db.transactionMgr.GetActiveTxCount())
272
273 firstTxID := wb.txID
274 require.NoError(t, wb.Reset())
275
276 require.Equal(t, int64(1), db.transactionMgr.GetActiveTxCount(), "Reset should keep exactly one active transaction")
277 require.NotEqual(t, firstTxID, wb.txID, "Reset should allocate a fresh transaction ID")
278 activeIDs := db.transactionMgr.GetActiveTxs()
279 require.NotContains(t, activeIDs, firstTxID, "old transaction must be unregistered on Reset")
280 require.Contains(t, activeIDs, wb.txID, "new transaction must be registered")
281
282 _ = wb.Flush()
283}
284
285func TestWriteBatch_ConcurrentWithUpdate(t *testing.T) {
286 db, err := Open(

Callers

nothing calls this directly

Calls 8

ResetMethod · 0.95
FlushMethod · 0.95
OpenFunction · 0.85
WithDirFunction · 0.85
NewWriteBatchMethod · 0.80
GetActiveTxCountMethod · 0.80
GetActiveTxsMethod · 0.80
CloseMethod · 0.65

Tested by

no test coverage detected