| 96 | } |
| 97 | |
| 98 | bool sanityCheckCandidates(const std::vector<LogicalOperator*>& ops, |
| 99 | SemiMaskTargetType targetType) { |
| 100 | DASSERT(!ops.empty()); |
| 101 | if (!haveSameType(ops)) { |
| 102 | return false; |
| 103 | } |
| 104 | if (!haveSameTableIDs(ops, targetType)) { |
| 105 | return false; |
| 106 | } |
| 107 | return true; |
| 108 | } |
| 109 | |
| 110 | static std::shared_ptr<LogicalSemiMasker> appendSemiMasker(SemiMaskKeyType keyType, |
| 111 | SemiMaskTargetType targetType, std::shared_ptr<Expression> key, |
no test coverage detected