Merge branch 'simplier_merge_read_logic', remote-tracking branch 'origin' into adaptive_index_granularity

This commit is contained in:
alesapin 2018-11-29 18:21:46 +03:00
commit f83ed167ac
3 changed files with 18 additions and 6 deletions

View File

@ -29,7 +29,9 @@ AllowShortFunctionsOnASingleLine: InlineOnly
AlwaysBreakTemplateDeclarations: true
IndentCaseLabels: true
SpaceAfterTemplateKeyword: true
SpaceBeforeCpp11BracedList: false
SortIncludes: true
IndentPPDirectives: AfterHash
IncludeCategories:
- Regex: '^<[a-z_]+>'
Priority: 1

View File

@ -28,20 +28,24 @@ MergeTreeSequentialBlockInputStream::MergeTreeSequentialBlockInputStream(
<< " rows starting from the beginning of the part");
addTotalRowsApprox(data_part->rows_count);
injectRequiredColumns(storage, data_part, columns_to_read);
header = storage.getSampleBlockForColumns(columns_to_read);
fixHeader(header);
/// take columns from data_part (header was fixed by fixHeader)
NamesAndTypesList columns_for_reader = header.getNamesAndTypesList();
/// Add columns because we don't want to read empty blocks
injectRequiredColumns(storage, data_part, columns_to_read);
NamesAndTypesList columns_for_reader;
if (take_column_types_from_storage)
{
const NamesAndTypesList & physical_columns = storage.getColumns().getAllPhysical();
columns_for_reader = physical_columns.addTypes(columns_to_read);
}
else
{
/// take columns from data_part
columns_for_reader = data_part->columns.addTypes(columns_to_read);
}
/// Add columns because we don't want to read empty blocks
reader = std::make_unique<MergeTreeReader>(
data_part->getFullPath(), data_part, columns_for_reader, /* uncompressed_cache = */ nullptr,
mark_cache.get(), /* save_marks_in_cache = */ false, storage,

View File

@ -19,6 +19,7 @@ utf8_force = true
sp_arith = force
sp_assign = force
sp_cpp_lambda_assign = remove
sp_cpp_lambda_paren = remove
sp_assign_default = force
sp_enum_assign = force
sp_enum_colon = force
@ -129,7 +130,7 @@ sp_inside_newop_paren = remove
sp_before_tr_emb_cmt = force
indent_columns = 4
indent_with_tabs = 0
indent_namespace = true
indent_namespace = false
indent_namespace_limit = 100
indent_class = true
indent_ctor_init_leading = 1
@ -159,6 +160,7 @@ nl_enum_leave_one_liners = true
nl_getset_leave_one_liners = true
nl_func_leave_one_liners = true
nl_cpp_lambda_leave_one_liners = true
nl_cpp_ldef_brace = add
nl_if_leave_one_liners = true
nl_start_of_file = remove
nl_end_of_file = force
@ -230,7 +232,7 @@ eat_blanks_after_open_brace = true
eat_blanks_before_close_brace = true
nl_remove_extra_newlines = 1
nl_after_return = true
pos_constr_comma = trail_force
pos_constr_comma = lead_break
pos_constr_colon = lead_force
code_width = 160
ls_func_split_full = true
@ -244,3 +246,7 @@ mod_full_brace_while = remove
mod_paren_on_return = remove
mod_remove_extra_semicolon = true
mod_remove_empty_return = true
align_func_params = true
align_func_params_thresh = 140
sp_inside_type_brace_init_lst = remove
nl_constr_init_args = add