| toJson() |  | 0% |  | 0% | 3 | 3 | 10 | 10 | 1 | 1 |
| getAncestors() |  | 0% |  | 0% | 2 | 2 | 7 | 7 | 1 | 1 |
| lambda$treeString$2(Object) |   | 40% |   | 37% | 4 | 5 | 4 | 8 | 0 | 1 |
| updateActualRowCount(long) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| lambda$treeString$4(Object) |   | 72% |   | 50% | 1 | 2 | 1 | 3 | 0 | 1 |
| canBind() |   | 91% |   | 83% | 1 | 4 | 1 | 7 | 0 | 1 |
| lambda$treeString$3(Object) |   | 77% |   | 50% | 1 | 2 | 1 | 3 | 0 | 1 |
| computeLogicalProperties() |  | 100% |  | 100% | 0 | 5 | 0 | 11 | 0 | 1 |
| AbstractPlan(PlanType, Optional, Optional, Statistics, List) |  | 100% | | n/a | 0 | 1 | 0 | 8 | 0 | 1 |
| AbstractPlan(PlanType, Optional, Supplier, Statistics, List, boolean) |  | 100% | | n/a | 0 | 1 | 0 | 8 | 0 | 1 |
| getLogicalProperties() |  | 100% |  | 100% | 0 | 2 | 0 | 3 | 0 | 1 |
| treeString() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$new$0(Optional) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| static {...} |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getOutput() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getOutputSet() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getOutputExprIdSet() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getId() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getType() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getGroupExpression() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getStats() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$computeLogicalProperties$5() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$treeString$1(Object) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |