| copyDeltaScanAsSnapshot(Plan, boolean, IvmRefreshContext) |   | 48% |   | 50% | 2 | 3 | 2 | 8 | 0 | 1 |
| rewrite(LogicalJoin, IvmDeltaRewriteVisitor, IvmRefreshContext) |   | 85% |   | 87% | 2 | 9 | 2 | 20 | 0 | 1 |
| resolveRetainedOutput(Slot, Map, Map) |   | 39% |   | 50% | 2 | 3 | 2 | 6 | 0 | 1 |
| projectNullSideRepairOutputs(LogicalJoin, Plan, Expression, Map, IvmOuterJoinDeltaHandler.NullSideRepairContext) |   | 92% |   | 93% | 1 | 9 | 1 | 21 | 0 | 1 |
| projectEventJoinOutputs(List, Plan, Map, Map, Slot) |   | 82% |   | 87% | 1 | 5 | 1 | 13 | 0 | 1 |
| resolveOutputSlot(Plan, Slot) |   | 60% |   | 75% | 1 | 3 | 1 | 5 | 0 | 1 |
| lambda$copyDeltaScanAsSnapshot$0(int[], IvmRefreshContext, List, boolean, Plan) |   | 77% |   | 75% | 2 | 5 | 3 | 12 | 0 | 1 |
| extractEquiJoinKeys(LogicalJoin) |   | 94% |   | 63% | 8 | 12 | 4 | 31 | 0 | 1 |
| isBoundBy(Expression, Set) |   | 92% |   | 83% | 1 | 4 | 1 | 8 | 0 | 1 |
| buildNullSideRepairEvent(LogicalJoin, IvmOuterJoinDeltaHandler.NullSideRepairContext, IvmOuterJoinDeltaHandler.EquiJoinKeys, boolean, Expression, IvmRefreshContext) |  | 100% |  | 100% | 0 | 6 | 0 | 23 | 0 | 1 |
| buildNullSideDeltaKeyPlan(IvmOuterJoinDeltaHandler.NullSideRepairContext, IvmOuterJoinDeltaHandler.EquiJoinKeys) |  | 100% |  | 100% | 0 | 2 | 0 | 18 | 0 | 1 |
| buildNullSideRepairProjects(LogicalJoin, IvmOuterJoinDeltaHandler.NullSideRepairContext, IvmRefreshContext) |  | 100% | | n/a | 0 | 1 | 0 | 17 | 0 | 1 |
| rewriteNullSideDeltaWithNullSideEvents(LogicalJoin, IvmDeltaRewriteResult, IvmDeltaRewriteResult, IvmOuterJoinDeltaHandler.NullSideRepairContext, IvmOuterJoinDeltaHandler.EquiJoinKeys, IvmRefreshContext) |  | 100% |  | 100% | 0 | 2 | 0 | 18 | 0 | 1 |
| buildNullSideEventPlan(LogicalJoin, IvmOuterJoinDeltaHandler.NullSideRepairContext, IvmOuterJoinDeltaHandler.EquiJoinKeys, IvmRefreshContext) |  | 100% |  | 100% | 0 | 2 | 0 | 15 | 0 | 1 |
| buildNullSideDetailEvent(IvmOuterJoinDeltaHandler.NullSideRepairContext, IvmOuterJoinDeltaHandler.EquiJoinKeys) |  | 100% |  | 100% | 0 | 3 | 0 | 12 | 0 | 1 |
| buildNullSideRepairProject(LogicalJoin, Pair, Map, Plan, Pair, Expression, IvmOuterJoinDeltaHandler.NullSideRepairContext) |  | 100% | | n/a | 0 | 1 | 0 | 15 | 0 | 1 |
| rewriteNullSideDeltaWithRepairBranches(LogicalJoin, IvmDeltaRewriteResult, IvmDeltaRewriteResult, IvmOuterJoinDeltaHandler.NullSideRepairContext, IvmRefreshContext) |  | 100% | | n/a | 0 | 1 | 0 | 8 | 0 | 1 |
| projectJoinDeltaOutputs(LogicalJoin, IvmDeltaRewriteResult) |  | 100% |  | 100% | 0 | 2 | 0 | 7 | 0 | 1 |
| rewriteDeltaSideRetainedRowsWithRepairBranches(LogicalJoin, IvmDeltaRewriteResult, IvmOuterJoinDeltaHandler.NullSideRepairContext, IvmRefreshContext) |  | 100% | | n/a | 0 | 1 | 0 | 8 | 0 | 1 |
| nullSideValueSlots(IvmOuterJoinDeltaHandler.NullSideRepairContext) |  | 100% |  | 100% | 0 | 3 | 0 | 6 | 0 | 1 |
| rewriteNullSideDelta(LogicalJoin, IvmDeltaRewriteResult, IvmDeltaRewriteResult, IvmOuterJoinDeltaHandler.NullSideRepairContext, IvmRefreshContext) |  | 100% |  | 100% | 0 | 2 | 0 | 4 | 0 | 1 |
| outputExprIds(Plan) |  | 100% |  | 100% | 0 | 2 | 0 | 5 | 0 | 1 |
| rewriteDeltaSideRetainedRows(LogicalJoin, IvmDeltaRewriteResult, IvmDeltaRewriteResult, IvmOuterJoinDeltaHandler.OuterJoinDeltaSide, IvmRefreshContext) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| rewriteNullSideBareJoinDelta(LogicalJoin, IvmDeltaRewriteResult, IvmDeltaRewriteResult, IvmOuterJoinDeltaHandler.NullSideRepairContext) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| eventKeyName(int) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| IvmOuterJoinDeltaHandler() |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| findSlotByName(List, String) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |