| generateIcebergPartition(Table, StructLike) |  | 0% |  | 0% | 5 | 5 | 30 | 30 | 1 | 1 |
| parseIcebergLiteral(String, Type) |  | 0% |  | 0% | 11 | 11 | 27 | 27 | 1 | 1 |
| serializePartitionValue(Type, Object, String) |  | 0% |  | 0% | 12 | 12 | 29 | 29 | 1 | 1 |
| loadPartitionInfo(ExternalTable, long) |  | 0% |  | 0% | 3 | 3 | 18 | 18 | 1 | 1 |
| lambda$getSchema$1(boolean, ExternalTable, long) |  | 0% |  | 0% | 6 | 6 | 15 | 15 | 1 | 1 |
| convertToIcebergExpr(Expr, Schema) |   | 78% |   | 66% | 20 | 37 | 21 | 85 | 0 | 1 |
| icebergTypeToDorisType(Type) |  | 0% |  | 0% | 5 | 5 | 14 | 14 | 1 | 1 |
| parseSchema(Schema) |  | 0% |  | 0% | 5 | 5 | 14 | 14 | 1 | 1 |
| loadSchemaCacheValue(ExternalTable, long, boolean) |  | 0% |  | 0% | 5 | 5 | 14 | 14 | 1 | 1 |
| dataLocation(Table) |  | 0% |  | 0% | 4 | 4 | 11 | 11 | 1 | 1 |
| loadIcebergPartition(Table, long) |  | 0% |  | 0% | 3 | 3 | 14 | 14 | 1 | 1 |
| getFileCompress(Table) |  | 0% |  | 0% | 5 | 5 | 11 | 11 | 1 | 1 |
| icebergPrimitiveTypeToDorisType(Type.PrimitiveType) |  | 0% |  | 0% | 12 | 12 | 15 | 15 | 1 | 1 |
| updateIcebergColumnUniqueId(Column, Types.NestedField) |  | 0% |  | 0% | 5 | 5 | 14 | 14 | 1 | 1 |
| getIcebergRowCount(ExternalTable) |  | 0% |  | 0% | 2 | 2 | 14 | 14 | 1 | 1 |
| getPartitionInfoMap(PartitionData, String) |  | 0% |  | 0% | 2 | 2 | 13 | 13 | 1 | 1 |
| getSchemaCacheValue(ExternalTable, long) |  | 0% |  | 0% | 2 | 2 | 7 | 7 | 1 | 1 |
| getFileFormat(Table) |  | 0% |  | 0% | 4 | 4 | 10 | 10 | 1 | 1 |
| getIcebergSnapshotCacheValue(Optional, ExternalTable, Optional) |  | 0% |  | 0% | 3 | 3 | 11 | 11 | 1 | 1 |
| getLastedIcebergSnapshot(ExternalTable) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| dorisTypeToIcebergType(Type) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| getSchema(ExternalTable, long, boolean) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| showCreateView(IcebergExternalTable) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| checkConversion(Expression, Schema) |   | 83% |   | 56% | 8 | 14 | 8 | 32 | 0 | 1 |
| extractDorisLiteral(Type, Expr) |   | 91% |   | 95% | 2 | 24 | 4 | 53 | 0 | 1 |
| getIcebergSchema(ExternalTable) |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| convertDorisExprToSlotRef(Expr) |   | 45% |   | 16% | 3 | 4 | 3 | 7 | 0 | 1 |
| getOrFetchSnapshotCacheValue(Optional, ExternalTable) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| solveIcebergPartitionSpec(PartitionDesc, Schema) |   | 90% |   | 86% | 2 | 11 | 1 | 26 | 0 | 1 |
| lambda$icebergTypeToDorisType$0(Types.NestedField) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getIcebergView(ExternalTable) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| getIcebergTable(ExternalTable) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| lambda$getMatchingManifest$4(ManifestFile) |   | 60% |   | 25% | 2 | 3 | 0 | 1 | 0 | 1 |
| getPartitionRange(String, String, List) |   | 98% |   | 81% | 2 | 8 | 1 | 36 | 0 | 1 |
| isIcebergBranchOrTag(Optional) |   | 93% |   | 71% | 4 | 8 | 1 | 12 | 0 | 1 |
| IcebergUtils() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getQuerySpecSnapshot(Table, Optional, Optional) |  | 99% |   | 96% | 1 | 17 | 0 | 39 | 0 | 1 |
| mergeOverlapPartitions(Map) |  | 99% |   | 75% | 2 | 5 | 1 | 19 | 0 | 1 |
| createIcebergHiveCatalog(ExternalCatalog, String) |  | 100% |  | 100% | 0 | 2 | 0 | 9 | 0 | 1 |
| getMatchingManifest(List, Map, Expression) |  | 100% | | n/a | 0 | 1 | 0 | 7 | 0 | 1 |
| lambda$getMatchingManifest$2(Map, Expression, Integer) |  | 100% | | n/a | 0 | 1 | 0 | 5 | 0 | 1 |
| sortPartitionMap(Map) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| static {...} |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| lambda$getMatchingManifest$3(LoadingCache, ManifestFile) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$mergeOverlapPartitions$5(String, String, Set) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |