Skip to content

Commit

Permalink
Apply PlainTableFactoryOption improvements from #779 (closes #779)
Browse files Browse the repository at this point in the history
  • Loading branch information
niklasf committed Sep 15, 2023
1 parent d4c5521 commit c32f9dc
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 9 deletions.
22 changes: 16 additions & 6 deletions src/db_options.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2426,7 +2426,7 @@ impl Options {
/// # Examples
///
/// ```
/// use rocksdb::{EncodingType, Options, PlainTableFactoryOptions};
/// use rocksdb::{KeyEncodingType, Options, PlainTableFactoryOptions};
///
/// let mut opts = Options::default();
/// let factory_opts = PlainTableFactoryOptions {
Expand All @@ -2435,7 +2435,7 @@ impl Options {
/// hash_table_ratio: 0.75,
/// index_sparseness: 16,
/// huge_page_tlb_size: 0,
/// encoding_type: EncodingType::Plain,
/// encoding_type: KeyEncodingType::Plain,
/// full_scan_mode: false,
/// store_index_in_file: false,
/// };
Expand Down Expand Up @@ -3606,11 +3606,17 @@ pub enum ChecksumType {

/// Used in [`PlainTableFactoryOptions`].
#[derive(Debug, Copy, Clone, PartialEq, Eq)]
pub enum EncodingType {
pub enum KeyEncodingType {
/// Always write full keys.
Plain,
Plain = 0,
/// Find opportunities to write the same prefix for multiple rows.
Prefix,
Prefix = 1,
}

impl Default for KeyEncodingType {
fn default() -> Self {
KeyEncodingType::Plain
}
}

/// Used with DBOptions::set_plain_table_factory.
Expand All @@ -3622,13 +3628,17 @@ pub enum EncodingType {
/// bloom_bits_per_key: 10
/// hash_table_ratio: 0.75
/// index_sparseness: 16
/// huge_page_tlb_size: 0
/// encoding_type: KeyEncodingType::Plain
/// full_scan_mode: false
/// store_index_in_file: false
pub struct PlainTableFactoryOptions {
pub user_key_length: u32,
pub bloom_bits_per_key: i32,
pub hash_table_ratio: f64,
pub index_sparseness: usize,
pub huge_page_tlb_size: usize,
pub encoding_type: EncodingType,
pub encoding_type: KeyEncodingType,
pub full_scan_mode: bool,
pub store_index_in_file: bool,
}
Expand Down
7 changes: 4 additions & 3 deletions src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -114,9 +114,10 @@ pub use crate::{
db_options::{
BlockBasedIndexType, BlockBasedOptions, BottommostLevelCompaction, Cache, ChecksumType,
CompactOptions, CuckooTableOptions, DBCompactionStyle, DBCompressionType, DBPath,
DBRecoveryMode, DataBlockIndexType, EncodingType, FifoCompactOptions, FlushOptions,
IngestExternalFileOptions, LogLevel, MemtableFactory, Options, PlainTableFactoryOptions,
ReadOptions, UniversalCompactOptions, UniversalCompactionStopStyle, WriteOptions,
DBRecoveryMode, DataBlockIndexType, FifoCompactOptions, FlushOptions,
IngestExternalFileOptions, KeyEncodingType, LogLevel, MemtableFactory, Options,
PlainTableFactoryOptions, ReadOptions, UniversalCompactOptions,
UniversalCompactionStopStyle, WriteOptions,
},
db_pinnable_slice::DBPinnableSlice,
env::Env,
Expand Down

0 comments on commit c32f9dc

Please sign in to comment.