| toJson() |  | 0% | | n/a | 1 | 1 | 10 | 10 | 1 | 1 |
| getFingerprint() |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| withDistributeHintChildren(DistributeHint, Plan, Plan) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| swap() |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| computeUnique(DataTrait.Builder) |   | 93% |   | 95% | 1 | 13 | 1 | 23 | 0 | 1 |
| computeAsteriskOutput() |   | 74% |   | 50% | 1 | 2 | 1 | 5 | 0 | 1 |
| getEqualSlots() |   | 76% |   | 25% | 2 | 3 | 1 | 7 | 0 | 1 |
| equals(Object) |   | 96% |   | 75% | 5 | 11 | 1 | 12 | 0 | 1 |
| withChildren(List) |   | 96% |   | 50% | 1 | 2 | 0 | 3 | 0 | 1 |
| withGroupExprLogicalPropChildren(Optional, Optional, List) |   | 96% |   | 50% | 1 | 2 | 0 | 2 | 0 | 1 |
| withHashAndMarkJoinConjunctsAndChildren(List, List, Plan, Plan, JoinReorderContext) |   | 96% |   | 50% | 1 | 2 | 0 | 3 | 0 | 1 |
| lambda$getEqualSlots$3(Expression) |   | 94% |   | 50% | 3 | 4 | 0 | 3 | 0 | 1 |
| toString() |  | 100% |  | 100% | 0 | 2 | 0 | 5 | 0 | 1 |
| computeUniform(DataTrait.Builder) |  | 100% |   | 88% | 1 | 8 | 0 | 20 | 0 | 1 |
| extractNullRejectHashKeys() |  | 100% |   | 90% | 1 | 6 | 0 | 16 | 0 | 1 |
| LogicalJoin(JoinType, List, List, List, DistributeHint, Optional, List, Optional, Optional, List, JoinReorderContext) |  | 100% |  | 100% | 0 | 2 | 0 | 13 | 0 | 1 |
| computeEqualSet(DataTrait.Builder) |  | 100% |  | 100% | 0 | 5 | 0 | 10 | 0 | 1 |
| hashCode() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getLeftConditionSlot() |  | 100% | | n/a | 0 | 1 | 0 | 6 | 0 | 1 |
| withGroupExpression(Optional) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| withHashJoinConjuncts(List) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| withChildrenNoContext(Plan, Plan, JoinReorderContext) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| withJoinType(JoinType) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| withTypeChildren(JoinType, Plan, Plan, JoinReorderContext) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| computeOutput() |  | 100% |  | 100% | 0 | 2 | 0 | 5 | 0 | 1 |
| withJoinConjuncts(List, List, List, JoinReorderContext) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| withConjunctsChildren(List, List, Plan, Plan, JoinReorderContext) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| withJoinTypeAndContext(JoinType, JoinReorderContext) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| getOnClauseCondition() |  | 100% |  | 100% | 0 | 2 | 0 | 5 | 0 | 1 |
| withJoinConjuncts(List, List, JoinReorderContext) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| withConjunctsChildren(List, List, List, Plan, Plan, JoinReorderContext) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| computeFd(DataTrait.Builder) |  | 100% |  | 100% | 0 | 3 | 0 | 5 | 0 | 1 |
| LogicalJoin(JoinType, Plan, Plan, JoinReorderContext) |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| LogicalJoin(JoinType, List, Plan, Plan, JoinReorderContext) |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| LogicalJoin(JoinType, List, List, Plan, Plan, JoinReorderContext) |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| getConditionSlot() |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| getConditionExprId() |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| getAsteriskOutput() |  | 100% |  | 100% | 0 | 3 | 0 | 3 | 0 | 1 |
| LogicalJoin(JoinType, List, List, DistributeHint, Plan, Plan, JoinReorderContext) |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| LogicalJoin(JoinType, List, List, DistributeHint, Optional, Plan, Plan, JoinReorderContext) |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| LogicalJoin(JoinType, List, List, List, DistributeHint, Optional, Plan, Plan, JoinReorderContext) |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| LogicalJoin(JoinType, List, List, DistributeHint, Optional, List, List, JoinReorderContext) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| LogicalJoin(JoinType, List, List, List, DistributeHint, Optional, Optional, Optional, List, JoinReorderContext) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| getExpressions() |  | 100% | | n/a | 0 | 1 | 0 | 5 | 0 | 1 |
| LogicalJoin(JoinType, List, List, DistributeHint, Optional, List, JoinReorderContext) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| LogicalJoin(JoinType, List, List, List, DistributeHint, Optional, List, JoinReorderContext) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| lambda$getEqualSlots$4(ImmutableEqualSet.Builder, Expression) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$computeEqualSet$5(DataTrait.Builder, Pair) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| accept(PlanVisitor, Object) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| left() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| right() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| setHint(DistributeHint) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| isMarkJoin() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| isLeadingJoin() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| setBitmap(long) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| lambda$getLeftConditionSlot$2(Expression) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$getConditionExprId$1(Expression) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$getConditionSlot$0(Expression) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getOtherJoinConjuncts() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getHashJoinConjuncts() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getJoinType() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getDistributeHint() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getMarkJoinConjuncts() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getJoinReorderContext() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getMarkJoinSlotReference() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getExceptAsteriskOutputs() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getBitmap() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |