MCPcopy Create free account
hub / github.com/ByConity/ByConity / fromProto

Method fromProto

src/QueryPlan/MergeSortingStep.cpp:161–192  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

159}
160
161std::shared_ptr<MergeSortingStep> MergeSortingStep::fromProto(const Protos::MergeSortingStep & proto, ContextPtr context)
162{
163 auto [step_description, base_input_stream] = ITransformingStep::deserializeFromProtoBase(proto.query_plan_base());
164 SortDescription description;
165 for (const auto & proto_element : proto.description())
166 {
167 SortColumnDescription element;
168 element.fillFromProto(proto_element);
169 description.emplace_back(std::move(element));
170 }
171 auto max_merged_block_size = proto.max_merged_block_size();
172 auto limit = proto.limit();
173 auto max_bytes_before_remerge = proto.max_bytes_before_remerge();
174 auto remerge_lowered_memory_bytes_ratio = proto.remerge_lowered_memory_bytes_ratio();
175 auto max_bytes_before_external_sort = proto.max_bytes_before_external_sort();
176 auto enable_adaptive_spill = proto.enable_adaptive_spill();
177 VolumePtr tmp_volume = context ? context->getTemporaryVolume() : nullptr;
178 auto min_free_disk_space = proto.min_free_disk_space();
179 auto step = std::make_shared<MergeSortingStep>(
180 base_input_stream,
181 description,
182 max_merged_block_size,
183 limit,
184 max_bytes_before_remerge,
185 remerge_lowered_memory_bytes_ratio,
186 max_bytes_before_external_sort,
187 tmp_volume,
188 min_free_disk_space,
189 enable_adaptive_spill);
190 step->setStepDescription(step_description);
191 return step;
192}
193}

Callers

nothing calls this directly

Calls 4

setStepDescriptionMethod · 0.80
fillFromProtoMethod · 0.45
emplace_backMethod · 0.45
getTemporaryVolumeMethod · 0.45

Tested by

no test coverage detected