IntersectMBO / IntersectMBO/lsm-tree
[BUG] Types of fields for `SnapshotCorruptedError` are not exposed
- Dominant language
- Haskell
- Stars
- 53
- Forks
- 17
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 4
Description
**Describe the bug**
The public API exposes the `SnapshotCorruptedError` type but, probably wisely, does not expose `FileCorruptedError` or `FileFormat`.
**Expected behavior**
The type hierarchy is exported in its entirety.
**Suggested change**
Create a `SnapshotCorruptedError` type in `Database.LSMTree` that contains a `SnapshotName`, a `FsErrorPath`, and an error message, and repackage the internal `SnapshotCorruptedError` into this type. Likewise, create a simple `SnapshotCorruptedError` type in `Database.LSMTree.Simple` that replaces the `FsErrorPath` with a `FilePath` and repackage the full `SnapshotCorruptedError` into the simple `SnapshotCorruptedError`.
Contributor guide
Research direction
Locate the internal SnapshotCorruptedError definitions and the public Database.LSMTree and Database.LSMTree.Simple modules. Compare their exports and error representations, then verify that both public APIs expose the requested snapshot and path fields while preserving the stated type hierarchy.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- haskell
- Domain
- databases
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 54/100