(t *testing.T)
| 229 | } |
| 230 | |
| 231 | func TestWriteBatchFlush_UnregistersFinalTransaction(t *testing.T) { |
| 232 | db, err := Open( |
| 233 | DefaultOptions, |
| 234 | WithDir(t.TempDir()), |
| 235 | ) |
| 236 | require.NoError(t, err) |
| 237 | defer func() { require.NoError(t, db.Close()) }() |
| 238 | |
| 239 | const bucket = "flush_bucket" |
| 240 | require.NoError(t, db.Update(func(tx *Tx) error { |
| 241 | return tx.NewBucket(DataStructureBTree, bucket) |
| 242 | })) |
| 243 | |
| 244 | wb, err := db.NewWriteBatch() |
| 245 | require.NoError(t, err) |
| 246 | require.Equal(t, int64(1), db.transactionMgr.GetActiveTxCount()) |
| 247 | |
| 248 | require.NoError(t, wb.Put(bucket, []byte("key"), []byte("value"), 0)) |
| 249 | require.NoError(t, wb.Flush()) |
| 250 | |
| 251 | require.Equal(t, int64(0), db.transactionMgr.GetActiveTxCount(), "Flush should unregister all transactions") |
| 252 | |
| 253 | require.NoError(t, db.View(func(tx *Tx) error { |
| 254 | val, err := tx.Get(bucket, []byte("key")) |
| 255 | require.NoError(t, err) |
| 256 | require.Equal(t, []byte("value"), val) |
| 257 | return nil |
| 258 | })) |
| 259 | } |
| 260 | |
| 261 | func TestWriteBatchReset_ReplacesTransaction(t *testing.T) { |
| 262 | db, err := Open( |
nothing calls this directly
no test coverage detected