| parseIcebergLiteral(String, Type) |   | 8% |   | 25% | 9 | 11 | 23 | 27 | 0 | 1 |
| convertToIcebergExpr(Expr, Schema) |   | 70% |   | 58% | 20 | 37 | 26 | 85 | 0 | 1 |
| extractDorisLiteral(Type, Expr) |   | 64% |   | 57% | 15 | 24 | 22 | 53 | 0 | 1 |
| solveIcebergPartitionSpec(PartitionDesc, Schema) |   | 54% |   | 60% | 6 | 11 | 9 | 26 | 0 | 1 |
| checkConversion(Expression, Schema) |   | 54% |   | 39% | 10 | 14 | 17 | 32 | 0 | 1 |
| createIcebergHiveCatalog(ExternalCatalog, String) |  | 0% |  | 0% | 2 | 2 | 9 | 9 | 1 | 1 |
| getQuerySpecSnapshot(Table, Optional, Optional) |   | 86% |   | 87% | 4 | 17 | 2 | 39 | 0 | 1 |
| getPartitionRange(String, String, List) |   | 84% |   | 72% | 3 | 8 | 5 | 36 | 0 | 1 |
| getSchemaCacheValue(ExternalTable, long) |   | 43% |   | 50% | 1 | 2 | 2 | 7 | 0 | 1 |
| getFileCompress(Table) |   | 51% |   | 50% | 3 | 5 | 4 | 11 | 0 | 1 |
| lambda$getSchema$1(boolean, ExternalTable, long) |   | 73% |   | 50% | 4 | 6 | 5 | 15 | 0 | 1 |
| dataLocation(Table) |   | 60% |   | 50% | 3 | 4 | 3 | 11 | 0 | 1 |
| icebergPrimitiveTypeToDorisType(Type.PrimitiveType) |   | 60% |   | 75% | 3 | 12 | 4 | 15 | 0 | 1 |
| showCreateView(IcebergExternalTable) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| serializePartitionValue(Type, Object, String) |   | 85% |   | 83% | 2 | 12 | 5 | 29 | 0 | 1 |
| icebergTypeToDorisType(Type) |   | 81% |   | 83% | 1 | 5 | 1 | 14 | 0 | 1 |
| getFileFormat(Table) |   | 75% |   | 83% | 1 | 4 | 1 | 10 | 0 | 1 |
| getSchema(ExternalTable, long, boolean) |   | 55% | | n/a | 0 | 1 | 2 | 3 | 0 | 1 |
| getIcebergView(ExternalTable) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| loadIcebergPartition(Table, long) |   | 87% |  | 100% | 0 | 3 | 2 | 14 | 0 | 1 |
| isIcebergBranchOrTag(Optional) |   | 93% |   | 71% | 4 | 8 | 1 | 12 | 0 | 1 |
| IcebergUtils() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| generateIcebergPartition(Table, StructLike) |  | 99% |   | 75% | 2 | 5 | 0 | 30 | 0 | 1 |
| mergeOverlapPartitions(Map) |  | 100% |   | 87% | 1 | 5 | 0 | 19 | 0 | 1 |
| loadPartitionInfo(ExternalTable, long) |  | 100% |  | 100% | 0 | 3 | 0 | 18 | 0 | 1 |
| parseSchema(Schema) |  | 100% |  | 100% | 0 | 5 | 0 | 14 | 0 | 1 |
| loadSchemaCacheValue(ExternalTable, long, boolean) |  | 100% |   | 75% | 2 | 5 | 0 | 14 | 0 | 1 |
| updateIcebergColumnUniqueId(Column, Types.NestedField) |  | 100% |  | 100% | 0 | 5 | 0 | 14 | 0 | 1 |
| getIcebergRowCount(ExternalTable) |  | 100% |  | 100% | 0 | 2 | 0 | 14 | 0 | 1 |
| getPartitionInfoMap(PartitionData, String) |  | 100% |  | 100% | 0 | 2 | 0 | 13 | 0 | 1 |
| getIcebergSnapshotCacheValue(Optional, ExternalTable, Optional) |  | 100% |  | 100% | 0 | 3 | 0 | 11 | 0 | 1 |
| convertDorisExprToSlotRef(Expr) |  | 100% |   | 83% | 1 | 4 | 0 | 7 | 0 | 1 |
| getLastedIcebergSnapshot(ExternalTable) |  | 100% |  | 100% | 0 | 2 | 0 | 4 | 0 | 1 |
| dorisTypeToIcebergType(Type) |  | 100% |  | 100% | 0 | 2 | 0 | 3 | 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 |
| getIcebergSchema(ExternalTable) |  | 100% | | n/a | 0 | 1 | 0 | 5 | 0 | 1 |
| sortPartitionMap(Map) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| getOrFetchSnapshotCacheValue(Optional, ExternalTable) |  | 100% |  | 100% | 0 | 2 | 0 | 3 | 0 | 1 |
| static {...} |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| lambda$getMatchingManifest$4(ManifestFile) |  | 100% |  | 100% | 0 | 3 | 0 | 1 | 0 | 1 |
| lambda$getMatchingManifest$3(LoadingCache, ManifestFile) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$icebergTypeToDorisType$0(Types.NestedField) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getIcebergTable(ExternalTable) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| lambda$mergeOverlapPartitions$5(String, String, Set) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |