| 3205 | // |
| 3206 | |
| 3207 | bool Optimizer::checkEquiJoin(BoolExprNode* boolean) |
| 3208 | { |
| 3209 | auto cmpNode = nodeAs<ComparativeBoolNode>(boolean); |
| 3210 | if (!cmpNode || (cmpNode->blrOp != blr_eql && cmpNode->blrOp != blr_equiv)) |
| 3211 | return false; |
| 3212 | |
| 3213 | return getEquiJoinKeys(cmpNode->arg1, cmpNode->arg2, false); |
| 3214 | } |
| 3215 | |
| 3216 | bool Optimizer::getEquiJoinKeys(BoolExprNode* boolean, |
| 3217 | NestConst<ValueExprNode>* node1, |