32 lines
1.3 KiB
C
32 lines
1.3 KiB
C
|
// Copyright (c) 2013, Facebook, Inc. All rights reserved.
|
||
|
// This source code is licensed under the BSD-style license found in the
|
||
|
// LICENSE file in the root directory of this source tree. An additional grant
|
||
|
// of patent rights can be found in the PATENTS file in the same directory.
|
||
|
|
||
|
#pragma once
|
||
|
#include <memory>
|
||
|
|
||
|
namespace rocksdb {
|
||
|
|
||
|
class FlushBlockPolicyFactory;
|
||
|
|
||
|
struct BlockBasedTableOptions {
|
||
|
// @flush_block_policy_factory creates the instances of flush block policy.
|
||
|
// which provides a configurable way to determine when to flush a block in
|
||
|
// the block based tables. If not set, table builder will use the default
|
||
|
// block flush policy, which cut blocks by block size (please refer to
|
||
|
// `FlushBlockBySizePolicy`).
|
||
|
std::shared_ptr<FlushBlockPolicyFactory> flush_block_policy_factory;
|
||
|
|
||
|
// TODO(kailiu) Temporarily disable this feature by making the default value
|
||
|
// to be false. Also in master branch, this file is non-public so no user
|
||
|
// will be able to change the value of `cache_index_and_filter_blocks`.
|
||
|
//
|
||
|
// Indicating if we'd put index/filter blocks to the block cache.
|
||
|
// If not specified, each "table reader" object will pre-load index/filter
|
||
|
// block during table initialization.
|
||
|
bool cache_index_and_filter_blocks = false;
|
||
|
};
|
||
|
|
||
|
} // namespace rocksdb
|