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

Function compileExpression

bolt/expression/ExprCompiler.cpp:573–591  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

571}
572
573ExprPtr compileExpression(
574 const TypedExprPtr& expr,
575 Scope* scope,
576 const core::QueryConfig& config,
577 memory::MemoryPool* pool,
578 const std::unordered_set<std::string>& flatteningCandidates,
579 bool enableConstantFolding) {
580 auto rewritten = rewriteExpression(expr);
581 if (rewritten.get() != expr.get()) {
582 scope->rewrittenExpressions.push_back(rewritten);
583 }
584 return compileRewrittenExpression(
585 rewritten == nullptr ? expr : rewritten,
586 scope,
587 config,
588 pool,
589 flatteningCandidates,
590 enableConstantFolding);
591}
592
593/// Walk expression tree and collect names of functions used in CallTypedExpr
594/// into provided 'names' set.

Callers 15

runMethod · 0.85
TEST_FFunction · 0.85
runMethod · 0.85
testMethod · 0.85
runMethod · 0.85
runMethod · 0.85
testMethod · 0.85
runUpperLowerMethod · 0.85
runSubStrMethod · 0.85
runLPadRPadMethod · 0.85
runBitwiseMethod · 0.85
runWithJsonMethod · 0.85

Calls 4

rewriteExpressionFunction · 0.85
getMethod · 0.45
push_backMethod · 0.45

Tested by 12

runMethod · 0.68
TEST_FFunction · 0.68
TEST_FFunction · 0.68
uuidManyWithoutSeedMethod · 0.68
uuidManyWithSeedMethod · 0.68
TEST_FFunction · 0.68
randWithBatchInputMethod · 0.68
evaluateWithStatsMethod · 0.68
verifyDataAndSqlPathsMethod · 0.68
testToSqlMethod · 0.68
TEST_PFunction · 0.68
TEST_FFunction · 0.68