Skip to content

Expose Ingestion API with Inversion of Control #190

@marvin-j97

Description

@marvin-j97

The current ingest API is too limited, it does not allow fallible inputs, and also does not allow writing tombstones.

An API more similar to a WriteBatch could be exposed:

e.g.

use lsm_tree::Ingestion;

let ingestion = Ingestion::new(tree)?;

for item in ... {
  ingestion.write(k, v)?;
}

ingestion.write_tombstone(k)?;

ingestion.finish()?;

This basically already exists, just needs to be exposed and tested. Then remove the old API (tree.ingest).
Caution that the blob tree is a bit more involved.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions