| 879 | } |
| 880 | |
| 881 | std::vector<std::unique_ptr<VectorHasher>> createVectorHashers( |
| 882 | const RowTypePtr& rowType, |
| 883 | const std::vector<core::FieldAccessTypedExprPtr>& keys) { |
| 884 | const auto numKeys = keys.size(); |
| 885 | |
| 886 | std::vector<std::unique_ptr<VectorHasher>> hashers; |
| 887 | hashers.reserve(numKeys); |
| 888 | for (const auto& key : keys) { |
| 889 | const auto channel = exprToChannel(key.get(), rowType); |
| 890 | hashers.push_back(VectorHasher::create(key->type(), channel)); |
| 891 | } |
| 892 | |
| 893 | return hashers; |
| 894 | } |
| 895 | |
| 896 | } // namespace bytedance::bolt::exec |
no test coverage detected