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

Function TestTx_allocCommitBuffer

tx_test.go:432–457  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

430}
431
432func TestTx_allocCommitBuffer(t *testing.T) {
433 withDefaultDB(t, func(t *testing.T, db *DB) {
434 tx, err := db.Begin(true)
435 assert.NoError(t, err)
436
437 t.Run("small transaction uses shared buffer", func(t *testing.T) {
438 tx.size = 100 // Less than CommitBufferSize
439 buff := tx.allocCommitBuffer()
440 assert.Equal(t, db.commitBuffer, buff)
441 })
442
443 t.Run("large transaction creates new buffer", func(t *testing.T) {
444 // Set size larger than CommitBufferSize
445 tx.size = int64(db.opt.CommitBufferSize) + 1000
446 buff := tx.allocCommitBuffer()
447 // Use pointer comparison since assert.NotEqual uses reflect.DeepEqual
448 // which compares buffer contents, not pointers
449 assert.True(t, buff != db.commitBuffer, "expected new buffer for large transaction")
450 assert.NotNil(t, buff)
451 // buffer capacity should be at least tx.size (Grow may overallocate)
452 assert.GreaterOrEqual(t, buff.Cap(), int(tx.size))
453 })
454
455 _ = tx.Rollback()
456 })
457}
458
459func TestTx_putBucket(t *testing.T) {
460 withDefaultDB(t, func(t *testing.T, db *DB) {

Callers

nothing calls this directly

Calls 5

withDefaultDBFunction · 0.85
BeginMethod · 0.80
RunMethod · 0.80
allocCommitBufferMethod · 0.80
RollbackMethod · 0.80

Tested by

no test coverage detected