Struct rocksdb::IngestExternalFileOptions
source · [−]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
sourceimpl IngestExternalFileOptions
impl IngestExternalFileOptions
sourcepub fn set_move_files(&mut self, v: bool)
pub fn set_move_files(&mut self, v: bool)
Can be set to true to move the files instead of copying them.
sourcepub fn set_snapshot_consistency(&mut self, v: bool)
pub fn set_snapshot_consistency(&mut self, v: bool)
If set to false, an ingested file keys could appear in existing snapshots that where created before the file was ingested.
sourcepub fn set_allow_global_seqno(&mut self, v: bool)
pub fn set_allow_global_seqno(&mut self, v: bool)
If set to false, IngestExternalFile() will fail if the file key range overlaps with existing keys or tombstones in the DB.
sourcepub fn set_allow_blocking_flush(&mut self, v: bool)
pub fn set_allow_blocking_flush(&mut self, v: bool)
If set to false and the file key range overlaps with the memtable key range (memtable flush required), IngestExternalFile will fail.
sourcepub fn set_ingest_behind(&mut self, v: bool)
pub fn set_ingest_behind(&mut self, v: bool)
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
sourceimpl Default for IngestExternalFileOptions
impl Default for IngestExternalFileOptions
sourcefn default() -> IngestExternalFileOptions
fn default() -> IngestExternalFileOptions
Returns the “default value” for a type. Read more
sourceimpl Drop for IngestExternalFileOptions
impl Drop for IngestExternalFileOptions
impl Send for IngestExternalFileOptions
impl Sync for IngestExternalFileOptions
Auto Trait Implementations
impl RefUnwindSafe for IngestExternalFileOptions
impl Unpin for IngestExternalFileOptions
impl UnwindSafe for IngestExternalFileOptions
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more