MCPcopy Create free account
hub / github.com/ClickHouse/ClickHouse / start

Method start

src/Processors/Executors/PushingAsyncPipelineExecutor.cpp:153–171  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

151
152
153void PushingAsyncPipelineExecutor::start()
154{
155 if (started)
156 return;
157
158 started = true;
159
160 data = std::make_unique<Data>();
161 data->executor = std::make_shared<PipelineExecutor>(pipeline.processors, pipeline.process_list_element);
162 data->executor->setReadProgressCallback(pipeline.getReadProgressCallback());
163 data->source = pushing_source.get();
164
165 auto func = [&, thread_group = CurrentThread::getGroup()]()
166 {
167 threadFunction(*data, thread_group, pipeline.getNumThreads(), pipeline.getConcurrencyControl());
168 };
169
170 data->thread = ThreadFromGlobalPool(std::move(func));
171}
172
173[[noreturn]] static void throwOnExecutionStatus(PipelineExecutor::ExecutionStatus status)
174{

Callers

nothing calls this directly

Calls 6

threadFunctionFunction · 0.70
getMethod · 0.45
getNumThreadsMethod · 0.45
getConcurrencyControlMethod · 0.45

Tested by

no test coverage detected