MCPcopy Create free account
hub / github.com/bytedance/bolt / preGen

Method preGen

bolt/exec/Generator.cpp:66–84  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

64}
65
66void Generator::preGen() {
67 int32_t channel = 0;
68 if (generateChannels_.size()) {
69 genInput_[channel] = input_->childAt(generateChannels_[channel]);
70 } else {
71 if (genInput_[channel]) {
72 genInput_[channel].reset();
73 }
74 auto size = input_->size();
75 EvalCtx evalCtx(operatorCtx_->execCtx(), genExprs_.get(), input_.get());
76 LocalSelectivityVector localRows(*operatorCtx_->execCtx(), size);
77 auto* rows = localRows.get();
78 rows->setAll();
79 genExprs_->eval(0, 1, true, *rows, evalCtx, genInput_);
80 }
81
82 const auto& generateVector = genInput_[channel];
83 generateDecoded_[channel].decode(*generateVector, inputRows_);
84}
85
86// explode
87GeneratorExplode::GeneratorExplode(

Callers

nothing calls this directly

Calls 8

childAtMethod · 0.80
setAllMethod · 0.80
sizeMethod · 0.45
resetMethod · 0.45
execCtxMethod · 0.45
getMethod · 0.45
evalMethod · 0.45
decodeMethod · 0.45

Tested by

no test coverage detected