-
Type:
Improvement
-
Resolution: Unresolved
-
Priority:
Minor - P4
-
None
-
Affects Version/s: None
-
Component/s: None
-
StorEng - Defined Pipeline
-
8
This is fallout from WT-11525. As part of the code review, a couple of inconsistencies emerged with flag usage.
The first is negative naming, and mentioning tombstones, in the API. It's easier to reason about a positively named flag, so WT_CURSTD_IGNORE_TOMBSTONE should be renamed to WT_CURSTD_READ_DELETED_CONTENT. MongoDB currently does not use this flag, so we have a bit more leverage in renaming it. This name also removes a mention of tombstones from the API.
The second inconsistency is that after WT-11525, we now have a flag WT_READ_SEE_DELETED. This is fine in isolation, but the interaction with WT_READ_VISIBLE_ALL is a little strange. WT_READ_VISIBLE_ALL only applies to deleted content, so ideally the flag would be named something like WT_READ_SKIP_GLOBALLY_VISIBLE_DELETES. But this leaves the API in a weird position, where we have a "see deletes" and a "don't see deletes" flag. Right now they apply slightly differently, so it sort of makes sense to have both. However, we should fix this in one of two ways:
(1) Fix WT_READ_VISIBLE_ALL to apply to all content, not just deletes.
(2) Rename WT_READ_VISIBLE_ALL to something closer to what it does, and unify the way the two delete flags are used.