ClickHouse/src/Storages/MergeTree/MergeTreeIOSettings.h
2021-01-10 03:28:59 +03:00

48 lines
1.6 KiB
C++

#pragma once
#include <cstddef>
#include <Core/Settings.h>
#include <Storages/MergeTree/MergeTreeSettings.h>
namespace DB
{
struct MergeTreeReaderSettings
{
size_t min_bytes_to_use_direct_io = 0;
size_t min_bytes_to_use_mmap_io = 0;
size_t max_read_buffer_size = DBMS_DEFAULT_BUFFER_SIZE;
/// If save_marks_in_cache is false, then, if marks are not in cache,
/// we will load them but won't save in the cache, to avoid evicting other data.
bool save_marks_in_cache = false;
};
struct MergeTreeWriterSettings
{
MergeTreeWriterSettings() = default;
MergeTreeWriterSettings(
const Settings & global_settings,
const MergeTreeSettingsPtr & storage_settings,
bool can_use_adaptive_granularity_,
bool rewrite_primary_key_,
bool blocks_are_granules_size_ = false)
: min_compress_block_size(
storage_settings->min_compress_block_size ? storage_settings->min_compress_block_size : global_settings.min_compress_block_size)
, max_compress_block_size(
storage_settings->max_compress_block_size ? storage_settings->max_compress_block_size
: global_settings.max_compress_block_size)
, can_use_adaptive_granularity(can_use_adaptive_granularity_)
, rewrite_primary_key(rewrite_primary_key_)
, blocks_are_granules_size(blocks_are_granules_size_)
{
}
size_t min_compress_block_size;
size_t max_compress_block_size;
bool can_use_adaptive_granularity;
bool rewrite_primary_key;
bool blocks_are_granules_size;
};
}