| getNodeExplainString(String, TExplainLevel) |  | 0% |  | 0% | 9 | 9 | 34 | 34 | 1 | 1 |
| getFileAttributes() |  | 0% |  | 0% | 14 | 14 | 41 | 41 | 1 | 1 |
| pruneConjunctsFromNodeProperties() |  | 0% |  | 0% | 12 | 12 | 25 | 25 | 1 | 1 |
| getSplits(int) |  | 0% |  | 0% | 7 | 7 | 22 | 22 | 1 | 1 |
| buildRemainingFilter() |  | 0% |  | 0% | 8 | 8 | 18 | 18 | 1 | 1 |
| startSplit(int) |  | 0% |  | 0% | 3 | 3 | 19 | 19 | 1 | 1 |
| lambda$startSplit$2(ConnectorScanPlanProvider, ConnectorTableHandle, List, Optional, List, AtomicReference, AtomicInteger, int, List) |  | 0% |  | 0% | 5 | 5 | 14 | 14 | 1 | 1 |
| lambda$startSplit$3(List, int, AtomicReference, ConnectorScanPlanProvider, ConnectorTableHandle, List, Optional, AtomicInteger, Executor) |  | 0% |  | 0% | 5 | 5 | 13 | 13 | 1 | 1 |
| convertPredicate() |  | 0% |  | 0% | 5 | 5 | 18 | 18 | 1 | 1 |
| buildColumnHandles() |  | 0% |  | 0% | 5 | 5 | 13 | 13 | 1 | 1 |
| createScanRangeLocations() |  | 0% |  | 0% | 6 | 6 | 10 | 10 | 1 | 1 |
| create(PlanNodeId, TupleDescriptor, boolean, SessionVariable, ScanContext, PluginDrivenExternalCatalog, PluginDrivenExternalTable) |  | 0% |  | 0% | 2 | 2 | 8 | 8 | 1 | 1 |
| getLocationProperties() |  | 0% |  | 0% | 3 | 3 | 8 | 8 | 1 | 1 |
| tryPushDownLimit() |  | 0% |  | 0% | 3 | 3 | 9 | 9 | 1 | 1 |
| getOrLoadPropertiesResult() |  | 0% |  | 0% | 4 | 4 | 9 | 9 | 1 | 1 |
| computeBatchMode() |  | 0% |  | 0% | 4 | 4 | 5 | 5 | 1 | 1 |
| tryPushDownProjection(List) |  | 0% |  | 0% | 3 | 3 | 9 | 9 | 1 | 1 |
| setScanParams(TFileRangeDesc, Split) |  | 0% |  | 0% | 2 | 2 | 9 | 9 | 1 | 1 |
| mapFileFormatType(String) |  | 0% |  | 0% | 7 | 7 | 8 | 8 | 1 | 1 |
| PluginDrivenScanNode(PlanNodeId, TupleDescriptor, boolean, SessionVariable, ScanContext, Connector, ConnectorSession, ConnectorTableHandle) |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 |
| getPathPartitionKeys() |  | 0% |  | 0% | 3 | 3 | 5 | 5 | 1 | 1 |
| getSerializedTable() |  | 0% |  | 0% | 3 | 3 | 7 | 7 | 1 | 1 |
| getOrLoadScanNodeProperties() |  | 0% |  | 0% | 3 | 3 | 5 | 5 | 1 | 1 |
| lambda$create$0(String, String) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getFileFormatType() |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| containsCastExpr(Expr) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| isBatchMode() |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| lambda$getNodeExplainString$1(SortNode) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| numApproximateSplits() |  | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| buildFilterConstraint(List) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| setSelectedPartitions(LogicalFileScan.SelectedPartitions) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| getTargetTable() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| shouldUseBatchMode(LogicalFileScan.SelectedPartitions, boolean, boolean, int) |  | 100% |  | 100% | 0 | 7 | 0 | 8 | 0 | 1 |
| displayPartitionCounts(LogicalFileScan.SelectedPartitions) |  | 100% |  | 100% | 0 | 3 | 0 | 4 | 0 | 1 |
| resolveRequiredPartitions(LogicalFileScan.SelectedPartitions) |  | 100% |  | 100% | 0 | 3 | 0 | 3 | 0 | 1 |
| effectiveSourceLimit(long, boolean) |  | 100% |  | 100% | 0 | 2 | 0 | 1 | 0 | 1 |
| static {...} |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |