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

Method getFilter

bolt/exec/VectorHasher.cpp:653–677  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

651}
652
653std::unique_ptr<common::Filter> VectorHasher::getFilter(
654 bool nullAllowed) const {
655 switch (typeKind_) {
656 case TypeKind::TINYINT:
657 [[fallthrough]];
658 case TypeKind::SMALLINT:
659 [[fallthrough]];
660 case TypeKind::INTEGER:
661 [[fallthrough]];
662 case TypeKind::BIGINT:
663 if (!distinctOverflow_) {
664 std::vector<int64_t> values;
665 values.reserve(uniqueValues_.size());
666 for (const auto& value : uniqueValues_) {
667 values.emplace_back(value.data());
668 }
669
670 return common::createBigintValues(values, nullAllowed);
671 }
672 [[fallthrough]];
673 default:
674 // TODO Add support for strings.
675 return nullptr;
676 }
677}
678
679namespace {
680template <typename T>

Callers 2

asyncWaitForHashTableMethod · 0.45
TEST_FFunction · 0.45

Calls 4

createBigintValuesFunction · 0.85
reserveMethod · 0.45
sizeMethod · 0.45
dataMethod · 0.45

Tested by 1

TEST_FFunction · 0.36