Struct rocksdb::IngestExternalFileOptions[][src]

pub struct IngestExternalFileOptions { /* fields omitted */ }

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

impl IngestExternalFileOptions[src]

pub fn set_move_files(&mut self, v: bool)[src]

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

pub fn set_snapshot_consistency(&mut self, v: bool)[src]

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

pub fn set_allow_global_seqno(&mut self, v: bool)[src]

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

pub fn set_allow_blocking_flush(&mut self, v: bool)[src]

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

pub fn set_ingest_behind(&mut self, v: bool)[src]

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

impl Default for IngestExternalFileOptions[src]

impl Drop for IngestExternalFileOptions[src]

impl Send for IngestExternalFileOptions[src]

impl Sync for IngestExternalFileOptions[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.