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

Method makeLessThanFilter

bolt/expression/ExprToSubfieldFilter.cpp:332–361  ·  view source on GitHub ↗

static

Source from the content-addressed store, hash-verified

330
331// static
332std::unique_ptr<common::Filter> ExprToSubfieldFilterParser::makeLessThanFilter(
333 const core::TypedExprPtr& upperExpr,
334 core::ExpressionEvaluator* evaluator) {
335 auto upper = toConstant(upperExpr, evaluator);
336 if (!upper) {
337 return nullptr;
338 }
339 switch (upper->typeKind()) {
340 case TypeKind::TINYINT:
341 return lessThan(singleValue<int8_t>(upper));
342 case TypeKind::SMALLINT:
343 return lessThan(singleValue<int16_t>(upper));
344 case TypeKind::INTEGER:
345 return lessThan(singleValue<int32_t>(upper));
346 case TypeKind::BIGINT:
347 return lessThan(singleValue<int64_t>(upper));
348 case TypeKind::HUGEINT:
349 return lessThanHugeint(singleValue<int128_t>(upper));
350 case TypeKind::DOUBLE:
351 return lessThanDouble(singleValue<double>(upper));
352 case TypeKind::REAL:
353 return lessThanFloat(singleValue<float>(upper));
354 case TypeKind::VARCHAR:
355 return lessThan(std::string(singleValue<StringView>(upper)));
356 case TypeKind::TIMESTAMP:
357 return lessThan(singleValue<Timestamp>(upper));
358 default:
359 return nullptr;
360 }
361}
362
363// static
364std::unique_ptr<common::Filter>

Callers

nothing calls this directly

Calls 6

toConstantFunction · 0.85
lessThanHugeintFunction · 0.85
lessThanDoubleFunction · 0.85
lessThanFloatFunction · 0.85
lessThanFunction · 0.70
typeKindMethod · 0.45

Tested by

no test coverage detected