@ -494,6 +494,11 @@ bool ParseOptionHelper(char* opt_address, const OptionType& opt_type,
return ParseEnum < BlockBasedTableOptions : : IndexType > (
return ParseEnum < BlockBasedTableOptions : : IndexType > (
block_base_table_index_type_string_map , value ,
block_base_table_index_type_string_map , value ,
reinterpret_cast < BlockBasedTableOptions : : IndexType * > ( opt_address ) ) ;
reinterpret_cast < BlockBasedTableOptions : : IndexType * > ( opt_address ) ) ;
case OptionType : : kBlockBasedTableDataBlockIndexType :
return ParseEnum < BlockBasedTableOptions : : DataBlockIndexType > (
block_base_table_data_block_index_type_string_map , value ,
reinterpret_cast < BlockBasedTableOptions : : DataBlockIndexType * > (
opt_address ) ) ;
case OptionType : : kEncodingType :
case OptionType : : kEncodingType :
return ParseEnum < EncodingType > (
return ParseEnum < EncodingType > (
encoding_type_string_map , value ,
encoding_type_string_map , value ,
@ -673,6 +678,12 @@ bool SerializeSingleOptionHelper(const char* opt_address,
* reinterpret_cast < const BlockBasedTableOptions : : IndexType * > (
* reinterpret_cast < const BlockBasedTableOptions : : IndexType * > (
opt_address ) ,
opt_address ) ,
value ) ;
value ) ;
case OptionType : : kBlockBasedTableDataBlockIndexType :
return SerializeEnum < BlockBasedTableOptions : : DataBlockIndexType > (
block_base_table_data_block_index_type_string_map ,
* reinterpret_cast < const BlockBasedTableOptions : : DataBlockIndexType * > (
opt_address ) ,
value ) ;
case OptionType : : kFlushBlockPolicyFactory : {
case OptionType : : kFlushBlockPolicyFactory : {
const auto * ptr =
const auto * ptr =
reinterpret_cast < const std : : shared_ptr < FlushBlockPolicyFactory > * > (
reinterpret_cast < const std : : shared_ptr < FlushBlockPolicyFactory > * > (
@ -1552,6 +1563,13 @@ std::unordered_map<std::string, BlockBasedTableOptions::IndexType>
{ " kTwoLevelIndexSearch " ,
{ " kTwoLevelIndexSearch " ,
BlockBasedTableOptions : : IndexType : : kTwoLevelIndexSearch } } ;
BlockBasedTableOptions : : IndexType : : kTwoLevelIndexSearch } } ;
std : : unordered_map < std : : string , BlockBasedTableOptions : : DataBlockIndexType >
OptionsHelper : : block_base_table_data_block_index_type_string_map = {
{ " kDataBlockBinarySearch " ,
BlockBasedTableOptions : : DataBlockIndexType : : kDataBlockBinarySearch } ,
{ " kDataBlockHashSearch " ,
BlockBasedTableOptions : : DataBlockIndexType : : kDataBlockHashSearch } } ;
std : : unordered_map < std : : string , EncodingType >
std : : unordered_map < std : : string , EncodingType >
OptionsHelper : : encoding_type_string_map = { { " kPlain " , kPlain } ,
OptionsHelper : : encoding_type_string_map = { { " kPlain " , kPlain } ,
{ " kPrefix " , kPrefix } } ;
{ " kPrefix " , kPrefix } } ;