| 69 | } |
| 70 | |
| 71 | int32_t index(const EvalCtx& context) { |
| 72 | if (index_ != -1) { |
| 73 | return index_; |
| 74 | } |
| 75 | auto* rowType = dynamic_cast<const RowType*>(context.row()->type().get()); |
| 76 | BOLT_CHECK(rowType, "The context has no row"); |
| 77 | index_ = rowType->getChildIdx(field_); |
| 78 | return index_; |
| 79 | } |
| 80 | |
| 81 | void evalSpecialForm( |
| 82 | const SelectivityVector& rows, |