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

Method prepareConsume

src/Processors/Transforms/CopyTransform.cpp:24–65  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

22}
23
24IProcessor::Status CopyTransform::prepareConsume()
25{
26 auto & input = getInputPort();
27
28 /// Check all outputs are finished or ready to get data.
29
30 bool all_finished = true;
31 for (auto & output : outputs)
32 {
33 if (output.isFinished())
34 continue;
35
36 all_finished = false;
37 }
38
39 if (all_finished)
40 {
41 input.close();
42 return Status::Finished;
43 }
44
45 /// Try get chunk from input.
46
47 if (input.isFinished())
48 {
49 for (auto & output : outputs)
50 output.finish();
51
52 return Status::Finished;
53 }
54
55 input.setNeeded();
56 if (!input.hasData())
57 return Status::NeedData;
58
59 data = input.pullData();
60
61 for (auto & was_processed : was_output_processed)
62 was_processed = false;
63
64 return Status::Ready;
65}
66
67IProcessor::Status CopyTransform::prepareGenerate()
68{

Callers

nothing calls this directly

Calls 6

setNeededMethod · 0.80
isFinishedMethod · 0.45
closeMethod · 0.45
finishMethod · 0.45
hasDataMethod · 0.45
pullDataMethod · 0.45

Tested by

no test coverage detected