MCPcopy Create free account
hub / github.com/KentBeck/BPlusTree3 / do_delete

Method do_delete

python/tests/fuzz_test.py:209–239  ·  view source on GitHub ↗

Perform delete operation

(self)

Source from the content-addressed store, hash-verified

207 return True
208
209 def do_delete(self):
210 """Perform delete operation"""
211 if not self.reference:
212 return True # Nothing to delete
213
214 key = self.random_key(existing_bias=0.9) # Heavily favor existing keys
215
216 # Check if key exists before deletion
217 exists_in_btree = key in self.reference # Use reference as source of truth
218
219 try:
220 if exists_in_btree:
221 del self.btree[key]
222 del self.reference[key]
223 self.log_operation("delete", key)
224 else:
225 # Try to delete non-existent key - should raise KeyError in both
226 try:
227 del self.btree[key]
228 print(f"ERROR: btree allowed deletion of non-existent key {key}")
229 return False
230 except KeyError:
231 pass # Expected behavior
232
233 self.log_operation("delete_nonexistent", key)
234
235 except Exception as e:
236 print(f"Error during delete operation: {e}")
237 return False
238
239 return True
240
241 def do_get(self):
242 """Perform get operation"""

Callers

nothing calls this directly

Calls 2

random_keyMethod · 0.95
log_operationMethod · 0.95

Tested by

no test coverage detected