| 204 | |
| 205 | template <typename ctype> |
| 206 | Status ExprDecomposer::VisitInGeneric(const InExpressionNode<ctype>& node) { |
| 207 | /* decompose the children. */ |
| 208 | std::vector<ValueValidityPairPtr> args; |
| 209 | auto status = node.eval_expr()->Accept(*this); |
| 210 | ARROW_RETURN_NOT_OK(status); |
| 211 | args.push_back(result()); |
| 212 | /* In always outputs valid results, so no validity dex */ |
| 213 | auto value_dex = std::make_shared<InExprDex<ctype>>(args, node.values()); |
| 214 | int holder_idx = annotator_.AddHolderPointer(value_dex->in_holder().get()); |
| 215 | value_dex->set_holder_idx(holder_idx); |
| 216 | result_ = std::make_shared<ValueValidityPair>(value_dex); |
| 217 | return Status::OK(); |
| 218 | } |
| 219 | |
| 220 | Status ExprDecomposer::Visit(const InExpressionNode<int32_t>& node) { |
| 221 | return VisitInGeneric<int32_t>(node); |
nothing calls this directly
no test coverage detected