MCPcopy Create free account
hub / github.com/LadybugDB/ladybug / isConstant

Method isConstant

src/binder/expression_visitor.cpp:261–300  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

259}
260
261bool ConstantExpressionVisitor::isConstant(const Expression& expr) {
262 if (ExpressionVisitor::isRandom(expr)) {
263 return false;
264 }
265 switch (expr.expressionType) {
266 case ExpressionType::LITERAL:
267 return true;
268 case ExpressionType::AGGREGATE_FUNCTION:
269 case ExpressionType::PROPERTY:
270 case ExpressionType::VARIABLE:
271 case ExpressionType::PATH:
272 case ExpressionType::PATTERN:
273 case ExpressionType::PARAMETER:
274 case ExpressionType::SUBQUERY:
275 case ExpressionType::GRAPH:
276 case ExpressionType::LAMBDA:
277 return false;
278 case ExpressionType::FUNCTION:
279 return visitFunction(expr);
280 case ExpressionType::CASE_ELSE:
281 return visitCase(expr);
282 case ExpressionType::OR:
283 case ExpressionType::XOR:
284 case ExpressionType::AND:
285 case ExpressionType::NOT:
286 case ExpressionType::EQUALS:
287 case ExpressionType::NOT_EQUALS:
288 case ExpressionType::GREATER_THAN:
289 case ExpressionType::GREATER_THAN_EQUALS:
290 case ExpressionType::LESS_THAN:
291 case ExpressionType::LESS_THAN_EQUALS:
292 case ExpressionType::IS_NULL:
293 case ExpressionType::IS_NOT_NULL:
294 return visitChildren(expr);
295 // LCOV_EXCL_START
296 default:
297 throw NotImplementedException("ConstantExpressionVisitor::isConstant");
298 // LCOV_EXCL_STOP
299 }
300}
301
302bool ConstantExpressionVisitor::visitFunction(const Expression& expr) {
303 auto& funcExpr = expr.constCast<ScalarFunctionExpression>();

Callers 5

isPageIdxValidFunction · 0.80
flushBufferMethod · 0.80
getBitpackInfoMethod · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected