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

Method readPrefix

src/DataStreams/IBlockInputStream.cpp:129–159  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

127
128
129void IBlockInputStream::readPrefix()
130{
131#ifndef NDEBUG
132 if (!read_prefix_is_called)
133 read_prefix_is_called = true;
134 else
135 throw Exception("readPrefix is called twice for " + getName() + " stream", ErrorCodes::LOGICAL_ERROR);
136#endif
137
138 if (!info.started)
139 {
140 info.total_stopwatch.start();
141 info.cpu_thread_stopwatch.start();
142 info.started = true;
143 }
144 /// start of read
145 UInt64 start_ns = info.total_stopwatch.elapsed();
146 UInt64 start_cpu_ns = info.cpu_thread_stopwatch.elapsed();
147
148 readPrefixImpl();
149
150 forEachChild([&] (IBlockInputStream & child)
151 {
152 child.readPrefix();
153 return false;
154 });
155
156 /// end of read, update wall time and cpu thread time of current stream
157 info.wall_time_ns += info.total_stopwatch.elapsed() - start_ns;
158 info.cpu_time_ns += info.cpu_thread_stopwatch.elapsed() - start_cpu_ns;
159}
160
161
162void IBlockInputStream::readSuffix()

Callers 15

executeMethod · 0.45
refreshAsyncOnWorkerMethod · 0.45
writeWithProjectionsMethod · 0.45
mutateAllPartColumnsMethod · 0.45
mutateSomePartColumnsMethod · 0.45
mutateMethod · 0.45
mutateMethod · 0.45
generateSourceBlocksMethod · 0.45
ingestWidePartMethod · 0.45
ingestCompactPartMethod · 0.45

Calls 4

ExceptionClass · 0.50
getNameFunction · 0.50
startMethod · 0.45
elapsedMethod · 0.45

Tested by 1

TESTFunction · 0.36