| getSplits(int) |  | 0% |  | 0% | 17 | 17 | 59 | 59 | 1 | 1 |
| getFileAttributes() |  | 0% |  | 0% | 16 | 16 | 45 | 45 | 1 | 1 |
| getNodeExplainString(String, TExplainLevel) |   | 52% |   | 50% | 11 | 13 | 24 | 55 | 0 | 1 |
| pruneConjunctsFromNodeProperties() |  | 0% |  | 0% | 12 | 12 | 25 | 25 | 1 | 1 |
| startSplit(int) |  | 0% |  | 0% | 4 | 4 | 36 | 36 | 1 | 1 |
| buildRemainingFilter() |   | 9% |   | 7% | 7 | 8 | 15 | 18 | 0 | 1 |
| pinMvccSnapshot() |  | 0% |  | 0% | 6 | 6 | 16 | 16 | 1 | 1 |
| lambda$startSplit$23(ConnectorScanPlanProvider, ConnectorScanRequest, List, AtomicReference, AtomicInteger, int, List) |  | 0% |  | 0% | 5 | 5 | 14 | 14 | 1 | 1 |
| lambda$startSplit$24(List, int, AtomicReference, ConnectorScanPlanProvider, ConnectorScanRequest, AtomicInteger, Executor) |  | 0% |  | 0% | 5 | 5 | 13 | 13 | 1 | 1 |
| lambda$startStreamingSplit$26(ConnectorScanPlanProvider, ConnectorTableHandle, List, Optional) |  | 0% |  | 0% | 4 | 4 | 16 | 16 | 1 | 1 |
| convertPredicate() |  | 0% |  | 0% | 5 | 5 | 18 | 18 | 1 | 1 |
| startStreamingSplit() |  | 0% | | n/a | 1 | 1 | 19 | 19 | 1 | 1 |
| buildColumnHandles() |   | 63% |   | 54% | 8 | 12 | 9 | 32 | 0 | 1 |
| getOrLoadPropertiesResult() |  | 0% |  | 0% | 4 | 4 | 15 | 15 | 1 | 1 |
| containsComputeVariant(Type) |  | 0% |  | 0% | 7 | 7 | 11 | 11 | 1 | 1 |
| getLocationProperties() |  | 0% |  | 0% | 3 | 3 | 8 | 8 | 1 | 1 |
| checkVariantBackendCompatibilityForCurrentScan(Iterable) |  | 0% |  | 0% | 6 | 6 | 7 | 7 | 1 | 1 |
| pinRewriteFileScope() |  | 0% |  | 0% | 5 | 5 | 9 | 9 | 1 | 1 |
| createScanRangeLocations() |  | 0% |  | 0% | 2 | 2 | 8 | 8 | 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% | 8 | 8 | 9 | 9 | 1 | 1 |
| getPathPartitionKeys() |  | 0% |  | 0% | 3 | 3 | 5 | 5 | 1 | 1 |
| resolvePinnedFullSchema() |   | 47% |   | 25% | 2 | 3 | 5 | 9 | 0 | 1 |
| getFileCompressType(FileSplit) |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| pinTopnLazyMaterialize() |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| appendConnectorScanProfiles(List) |  | 0% |  | 0% | 4 | 4 | 7 | 7 | 1 | 1 |
| sysTableSupportsTimeTravel() |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| computeBatchMode() |   | 79% |   | 50% | 5 | 7 | 2 | 16 | 0 | 1 |
| getFileFormatType() |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| sysTableSupportsScanParam(Predicate) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| containsCastExpr(Expr) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| classifyColumnByConnector(String) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| getOrLoadScanNodeProperties() |   | 35% |   | 25% | 2 | 3 | 3 | 5 | 0 | 1 |
| sysTableSelectorSupported() |   | 66% |   | 66% | 2 | 4 | 2 | 9 | 0 | 1 |
| numApproximateSplits() |   | 58% |   | 50% | 2 | 4 | 1 | 4 | 0 | 1 |
| metadata() |   | 43% |   | 50% | 1 | 2 | 2 | 5 | 0 | 1 |
| doFinalize() |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| lambda$getOrLoadPropertiesResult$28(ConnectorScanPlanProvider, List, Optional) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$startStreamingSplit$25(ConnectorScanPlanProvider, ConnectorTableHandle, List, Optional) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$checkVariantBackendCompatibilityForCurrentScan$0(ConnectorScanPlanProvider) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| doInitialize() |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| buildFilterConstraint(List) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| lambda$create$3(String, PluginDrivenExternalTable) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| lambda$createScanRangeLocations$27(ConnectorScanPlanProvider, Map) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| lambda$startSplit$22(ConnectorScanPlanProvider, ConnectorScanRequest, List) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$getNodeExplainString$4(ConnectorScanPlanProvider, StringBuilder, String, Map) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| projectsComputeVariant(TupleDescriptor) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$getSplits$17(ConnectorScanPlanProvider, ConnectorScanRequest) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$getSplits$19(ConnectorScanPlanProvider) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$sysTableSupportsScanParam$16(Predicate, ConnectorScanPlanProvider) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$getNodeExplainString$5(SortNode) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| setSelectedPartitions(LogicalFileScan.SelectedPartitions) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| lambda$getSplits$18(ConnectorScanPlanProvider, List) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$sysTableSelectorSupported$15(String, ConnectorScanPlanProvider) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$sysTableSelectorSupported$14(String, ConnectorScanPlanProvider) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$checkSysTableScanConstraints$13(String, ConnectorScanPlanProvider) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$checkSysTableScanConstraints$12(String, ConnectorScanPlanProvider) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$getFileCompressType$8(ConnectorScanPlanProvider, TFileCompressType) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$classifyColumnByConnector$6(ConnectorScanPlanProvider, String) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$containsComputeVariant$2(StructField) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$projectsComputeVariant$1(SlotDescriptor) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| sysTableName() |   | 76% |   | 50% | 1 | 2 | 0 | 2 | 0 | 1 |
| checkVariantBackendCompatibility(boolean, Iterable) |  | 92% |   | 66% | 2 | 4 | 2 | 8 | 0 | 1 |
| getPinnedBaseSchema() |  | 81% |   | 50% | 1 | 2 | 0 | 2 | 0 | 1 |
| getPinnedFullSchema() |  | 80% |   | 50% | 1 | 2 | 0 | 2 | 0 | 1 |
| create(PlanNodeId, TupleDescriptor, boolean, SessionVariable, ScanContext, PluginDrivenExternalCatalog, PluginDrivenExternalTable) |  | 97% |   | 50% | 1 | 2 | 0 | 7 | 0 | 1 |
| assertBoundColumnsResolveInPinnedSchema(List, SchemaCacheValue, TableIf) |  | 100% |  | 100% | 0 | 8 | 0 | 20 | 0 | 1 |
| sampleSplits(List, TableSample, long) |  | 100% |  | 100% | 0 | 5 | 0 | 17 | 0 | 1 |
| writeScanProfilesInto(RuntimeProfile, List) |  | 100% |  | 100% | 0 | 7 | 0 | 14 | 0 | 1 |
| checkSysTableScanConstraints() |  | 100% |  | 100% | 0 | 10 | 0 | 17 | 0 | 1 |
| resolveSysTableSnapshotPin() |  | 100% |  | 100% | 0 | 6 | 0 | 12 | 0 | 1 |
| resolveRequiredPartitions(LogicalFileScan.SelectedPartitions, boolean) |  | 100% |  | 100% | 0 | 7 | 0 | 7 | 0 | 1 |
| classifyColumn(SlotDescriptor, List) |  | 100% |  | 100% | 0 | 4 | 0 | 9 | 0 | 1 |
| resolveScanProvider() |  | 100% |  | 100% | 0 | 3 | 0 | 5 | 0 | 1 |
| shouldUseBatchMode(LogicalFileScan.SelectedPartitions, boolean, boolean, int) |  | 100% |  | 100% | 0 | 7 | 0 | 8 | 0 | 1 |
| hasTopnLazyMaterializeSlot(List) |  | 100% |  | 100% | 0 | 4 | 0 | 6 | 0 | 1 |
| resolvePushDownRowCount(boolean, List) |  | 100% |  | 100% | 0 | 4 | 0 | 7 | 0 | 1 |
| PluginDrivenScanNode(PlanNodeId, TupleDescriptor, boolean, SessionVariable, ScanContext, Connector, ConnectorSession, ConnectorTableHandle) |  | 100% | | n/a | 0 | 1 | 0 | 7 | 0 | 1 |
| displayPartitionCounts(LogicalFileScan.SelectedPartitions) |  | 100% |  | 100% | 0 | 3 | 0 | 4 | 0 | 1 |
| mustReadColumnsFromConnector() |  | 100% |  | 100% | 0 | 3 | 0 | 5 | 0 | 1 |
| applyMvccSnapshotPin(ConnectorMetadata, ConnectorSession, ConnectorTableHandle, Optional) |  | 100% |  | 100% | 0 | 3 | 0 | 5 | 0 | 1 |
| getDeleteFiles(TFileRangeDesc) |  | 100% |  | 100% | 0 | 4 | 0 | 4 | 0 | 1 |
| countNativeReadRanges(List) |  | 100% |  | 100% | 0 | 3 | 0 | 6 | 0 | 1 |
| isFileCacheAdmissionApplicable() |  | 100% |  | 100% | 0 | 3 | 0 | 2 | 0 | 1 |
| onPluginClassLoader(ConnectorScanPlanProvider, Supplier) |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| applyRewriteFileScopePin(ConnectorMetadata, ConnectorSession, ConnectorTableHandle, List) |  | 100% |  | 100% | 0 | 3 | 0 | 3 | 0 | 1 |
| pinnedSchemaOrNull(TableIf, Optional) |  | 100% |  | 100% | 0 | 3 | 0 | 3 | 0 | 1 |
| injectPushdownFacts(Map, long, boolean) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| isBatchMode() |  | 100% |  | 100% | 0 | 2 | 0 | 3 | 0 | 1 |
| lambda$computeBatchMode$20(ConnectorScanPlanProvider, boolean) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| resolveSelectedPartitionNum(long, boolean, OptionalLong) |  | 100% |  | 100% | 0 | 3 | 0 | 3 | 0 | 1 |
| visibleColumns(List) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$computeBatchMode$21(ConnectorScanPlanProvider) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$buildReadTransactionReleaseCallback$10(ConnectorScanPlanProvider, String) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$mustReadColumnsFromConnector$7(ConnectorScanPlanProvider) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| effectiveSourceLimit(long, boolean) |  | 100% |  | 100% | 0 | 2 | 0 | 1 | 0 | 1 |
| lambda$getDeleteFiles$11(ConnectorScanPlanProvider, TFileRangeDesc) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$buildReadTransactionReleaseCallback$9(ConnectorScanPlanProvider, String) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| resolveRequiredPartitions(LogicalFileScan.SelectedPartitions) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getTargetTable() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| buildReadTransactionReleaseCallback(ConnectorScanPlanProvider, String) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| static {...} |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |