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

Method addExtremesSource

src/Processors/Pipe.cpp:433–451  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

431}
432
433void Pipe::addExtremesSource(ProcessorPtr source)
434{
435 if (output_ports.empty())
436 throw Exception("Cannot add extremes source to empty Pipe.", ErrorCodes::LOGICAL_ERROR);
437
438 if (extremes_port)
439 throw Exception("Extremes source was already added to Pipe.", ErrorCodes::LOGICAL_ERROR);
440
441 checkSource(*source);
442 const auto & source_header = output_ports.front()->getHeader();
443
444 assertBlocksHaveEqualStructure(header, source_header, "Pipes");
445
446 if (collected_processors)
447 collected_processors->emplace_back(source);
448
449 extremes_port = &source->getOutputs().front();
450 processors.emplace_back(std::move(source));
451}
452
453static void dropPort(OutputPort *& port, Processors & processors, Processors * collected_processors)
454{

Callers 2

createRemoteSourcePipeFunction · 0.80
initializePipelineMethod · 0.80

Calls 7

frontMethod · 0.80
checkSourceFunction · 0.70
ExceptionClass · 0.50
emptyMethod · 0.45
getHeaderMethod · 0.45
emplace_backMethod · 0.45

Tested by

no test coverage detected