pub struct IngestExternalFileOptions { /* private fields */ }
Expand description

For configuring external files ingestion.

Examples

Move files instead of copying them:

use rocksdb::{DB, IngestExternalFileOptions, SstFileWriter, Options};

let writer_opts = Options::default();
let mut writer = SstFileWriter::create(&writer_opts);
writer.open("_path_for_sst_file").unwrap();
writer.put(b"k1", b"v1").unwrap();
writer.finish().unwrap();

let path = "_path_for_rocksdb_storageY3";
{
  let db = DB::open_default(&path).unwrap();
  let mut ingest_opts = IngestExternalFileOptions::default();
  ingest_opts.set_move_files(true);
  db.ingest_external_file_opts(&ingest_opts, vec!["_path_for_sst_file"]).unwrap();
}
let _ = DB::destroy(&Options::default(), path);

Implementations

Can be set to true to move the files instead of copying them.

If set to false, an ingested file keys could appear in existing snapshots that where created before the file was ingested.

If set to false, IngestExternalFile() will fail if the file key range overlaps with existing keys or tombstones in the DB.

If set to false and the file key range overlaps with the memtable key range (memtable flush required), IngestExternalFile will fail.

Set to true if you would like duplicate keys in the file being ingested to be skipped rather than overwriting existing data under that key. Usecase: back-fill of some historical data in the database without over-writing existing newer version of data. This option could only be used if the DB has been running with allow_ingest_behind=true since the dawn of time. All files will be ingested at the bottommost level with seqno=0.

Trait Implementations

Returns the “default value” for a type. Read more

Executes the destructor for this type. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.