MCPcopy Create free account
hub / github.com/IceFireDB/IceFireDB / TestWriteBatch_Rollback

Function TestWriteBatch_Rollback

driver/hybriddb/write_batch_test.go:152–188  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

150}
151
152func TestWriteBatch_Rollback(t *testing.T) {
153 tempDir := t.TempDir()
154 cfg := &config.Config{
155 LevelDB: config.LevelDBConfig{
156 CacheSize: 64 * 1024 * 1024,
157 BlockSize: 4 * 1024,
158 WriteBufferSize: 4 * 1024 * 1024,
159 MaxOpenFiles: 1000,
160 Compression: true,
161 },
162 }
163
164 db, err := Store{}.Open(tempDir, cfg)
165 require.NoError(t, err)
166 defer db.Close()
167
168 wb := db.NewWriteBatch()
169 defer wb.Close()
170
171 key := []byte("rollback-key")
172 value := []byte("rollback-value")
173
174 wb.Put(key, value)
175
176 // Rollback should clear the batch
177 err = wb.Rollback()
178 require.NoError(t, err)
179
180 // Commit should do nothing after rollback
181 err = wb.Commit()
182 require.NoError(t, err)
183
184 // Value should not be written
185 val, err := db.Get(key)
186 require.NoError(t, err)
187 assert.Nil(t, val)
188}
189
190func TestWriteBatch_Close(t *testing.T) {
191 tempDir := t.TempDir()

Callers

nothing calls this directly

Calls 8

CloseMethod · 0.95
PutMethod · 0.95
RollbackMethod · 0.95
CommitMethod · 0.95
CloseMethod · 0.65
OpenMethod · 0.45
NewWriteBatchMethod · 0.45
GetMethod · 0.45

Tested by

no test coverage detected