| AggregateStrategies.java |   | 46% |   | 25% | 170 | 210 | 180 | 397 | 37 | 62 | 0 | 1 |
| LogicalWindowToPhysicalWindow.java |  | 1% |  | 0% | 89 | 91 | 218 | 221 | 38 | 40 | 4 | 5 |
| SplitAggMultiPhase.java |   | 5% |   | 7% | 38 | 44 | 159 | 167 | 11 | 16 | 0 | 1 |
| SplitAggBaseRule.java |  | 0% |  | 0% | 28 | 29 | 86 | 87 | 15 | 16 | 0 | 1 |
| SplitAggMultiPhaseWithoutGbyKey.java |   | 10% |  | 5% | 35 | 40 | 82 | 94 | 18 | 23 | 0 | 1 |
| LogicalPartitionTopNToPhysicalPartitionTopN.java |  | 3% |  | 0% | 29 | 31 | 81 | 84 | 10 | 12 | 0 | 1 |
| LogicalOlapScanToPhysicalOlapScan.java |   | 56% |   | 45% | 13 | 24 | 23 | 69 | 0 | 4 | 0 | 1 |
| SplitAggWithoutDistinct.java |   | 77% |   | 60% | 11 | 27 | 18 | 72 | 2 | 14 | 0 | 2 |
| LogicalDeferMaterializeTopNToPhysicalDeferMaterializeTopN.java |  | 15% | | 0% | 3 | 5 | 12 | 15 | 2 | 4 | 0 | 1 |
| LogicalTopNToPhysicalTopN.java |   | 66% |   | 50% | 3 | 7 | 7 | 24 | 0 | 4 | 0 | 1 |
| LogicalDeferMaterializeResultSinkToPhysicalDeferMaterializeResultSink.java |  | 23% | | n/a | 1 | 3 | 8 | 11 | 1 | 3 | 0 | 1 |
| LogicalFileScanToPhysicalFileScan.java |  | 27% | | 0% | 3 | 5 | 11 | 14 | 2 | 4 | 0 | 1 |
| LogicalDeferMaterializeOlapScanToPhysicalDeferMaterializeOlapScan.java |  | 25% | | n/a | 1 | 3 | 8 | 11 | 1 | 3 | 0 | 1 |
| LogicalHudiScanToPhysicalHudiScan.java |  | 27% | | n/a | 1 | 3 | 12 | 15 | 1 | 3 | 0 | 1 |
| LogicalJdbcTableSinkToPhysicalJdbcTableSink.java |  | 29% | | n/a | 1 | 3 | 9 | 12 | 1 | 3 | 0 | 1 |
| LogicalIcebergTableSinkToPhysicalIcebergTableSink.java |  | 29% | | n/a | 1 | 3 | 9 | 12 | 1 | 3 | 0 | 1 |
| LogicalHiveTableSinkToPhysicalHiveTableSink.java |  | 29% | | n/a | 1 | 3 | 9 | 12 | 1 | 3 | 0 | 1 |
| LogicalFileSinkToPhysicalFileSink.java |  | 31% | | n/a | 1 | 3 | 9 | 12 | 1 | 3 | 0 | 1 |
| LogicalOdbcScanToPhysicalOdbcScan.java |  | 34% | | n/a | 1 | 3 | 6 | 9 | 1 | 3 | 0 | 1 |
| LogicalEsScanToPhysicalEsScan.java |  | 35% | | n/a | 1 | 3 | 5 | 8 | 1 | 3 | 0 | 1 |
| LogicalRecursiveUnionToPhysicalRecursiveUnion.java |  | 35% | | n/a | 1 | 3 | 5 | 8 | 1 | 3 | 0 | 1 |
| LogicalRepeatToPhysicalRepeat.java |  | 37% | | n/a | 1 | 3 | 6 | 9 | 1 | 3 | 0 | 1 |
| LogicalBlackholeSinkToPhysicalBlackholeSink.java |  | 38% | | n/a | 1 | 3 | 6 | 9 | 1 | 3 | 0 | 1 |
| LogicalWorkTableReferenceToPhysicalWorkTableReference.java |  | 40% | | n/a | 1 | 3 | 6 | 9 | 1 | 3 | 0 | 1 |
| LogicalGenerateToPhysicalGenerate.java |  | 40% | | n/a | 1 | 3 | 5 | 8 | 1 | 3 | 0 | 1 |
| LogicalAssertNumRowsToPhysicalAssertNumRows.java | | 47% | | n/a | 1 | 3 | 3 | 6 | 1 | 3 | 0 | 1 |
| LogicalRecursiveUnionProducerToPhysicalRecursiveUnionProducer.java | | 47% | | n/a | 1 | 3 | 3 | 6 | 1 | 3 | 0 | 1 |
| LogicalRecursiveUnionAnchorToPhysicalRecursiveUnionAnchor.java | | 47% | | n/a | 1 | 3 | 3 | 6 | 1 | 3 | 0 | 1 |
| LogicalOlapTableSinkToPhysicalOlapTableSink.java |  | 92% | | 50% | 1 | 4 | 0 | 21 | 0 | 3 | 0 | 1 |
| LogicalSortToPhysicalQuickSort.java |  | 100% | | n/a | 0 | 4 | 0 | 13 | 0 | 4 | 0 | 1 |
| LogicalJoinToHashJoin.java |  | 100% | | n/a | 0 | 3 | 0 | 14 | 0 | 3 | 0 | 1 |
| LogicalDictionarySinkToPhysicalDictionarySink.java |  | 100% | | n/a | 0 | 3 | 0 | 12 | 0 | 3 | 0 | 1 |
| LogicalJoinToNestedLoopJoin.java |  | 100% | | n/a | 0 | 3 | 0 | 13 | 0 | 3 | 0 | 1 |
| LogicalSchemaScanToPhysicalSchemaScan.java |  | 100% | | n/a | 0 | 3 | 0 | 12 | 0 | 3 | 0 | 1 |
| LogicalJdbcScanToPhysicalJdbcScan.java |  | 100% | | n/a | 0 | 3 | 0 | 9 | 0 | 3 | 0 | 1 |
| LogicalUnionToPhysicalUnion.java |  | 100% | | n/a | 0 | 3 | 0 | 9 | 0 | 3 | 0 | 1 |
| LogicalResultSinkToPhysicalResultSink.java |  | 100% | | n/a | 0 | 3 | 0 | 9 | 0 | 3 | 0 | 1 |
| LogicalCTEAnchorToPhysicalCTEAnchor.java |  | 100% | | n/a | 0 | 3 | 0 | 7 | 0 | 3 | 0 | 1 |
| LogicalLimitToPhysicalLimit.java |  | 100% | | n/a | 0 | 3 | 0 | 8 | 0 | 3 | 0 | 1 |
| LogicalIntersectToPhysicalIntersect.java |  | 100% | | n/a | 0 | 3 | 0 | 8 | 0 | 3 | 0 | 1 |
| LogicalExceptToPhysicalExcept.java |  | 100% | | n/a | 0 | 3 | 0 | 8 | 0 | 3 | 0 | 1 |
| LogicalCTEConsumerToPhysicalCTEConsumer.java |  | 100% | | n/a | 0 | 3 | 0 | 8 | 0 | 3 | 0 | 1 |
| LogicalTVFRelationToPhysicalTVFRelation.java |  | 100% | | n/a | 0 | 3 | 0 | 5 | 0 | 3 | 0 | 1 |
| LogicalFilterToPhysicalFilter.java |  | 100% | | n/a | 0 | 3 | 0 | 6 | 0 | 3 | 0 | 1 |
| LogicalCTEProducerToPhysicalCTEProducer.java |  | 100% | | n/a | 0 | 3 | 0 | 6 | 0 | 3 | 0 | 1 |
| LogicalProjectToPhysicalProject.java |  | 100% | | n/a | 0 | 3 | 0 | 6 | 0 | 3 | 0 | 1 |
| LogicalOneRowRelationToPhysicalOneRowRelation.java |  | 100% | | n/a | 0 | 3 | 0 | 5 | 0 | 3 | 0 | 1 |
| LogicalEmptyRelationToPhysicalEmptyRelation.java |  | 100% | | n/a | 0 | 3 | 0 | 5 | 0 | 3 | 0 | 1 |
| OneImplementationRuleFactory.java | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
| ImplementationRuleFactory.java | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |