| convertToIcebergExpr(Expr, Schema) |   | 78% |   | 65% | 21 | 38 | 22 | 87 | 0 | 1 |
| icebergTypeToDorisType(Type) |  | 0% |  | 0% | 5 | 5 | 14 | 14 | 1 | 1 |
| dataLocation(Table) |  | 0% |  | 0% | 4 | 4 | 11 | 11 | 1 | 1 |
| getFileCompress(Table) |  | 0% |  | 0% | 5 | 5 | 11 | 11 | 1 | 1 |
| icebergPrimitiveTypeToDorisType(Type.PrimitiveType) |  | 0% |  | 0% | 12 | 12 | 15 | 15 | 1 | 1 |
| lambda$getSchema$1(ExternalCatalog, String, String) |  | 0% |  | 0% | 2 | 2 | 10 | 10 | 1 | 1 |
| getIcebergRowCount(ExternalCatalog, String, String) |  | 0% |  | 0% | 2 | 2 | 12 | 12 | 1 | 1 |
| getFileFormat(Table) |   | 57% |   | 50% | 3 | 4 | 3 | 10 | 0 | 1 |
| getIcebergTableInternal(ExternalCatalog, String, String, boolean) |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| getSchema(ExternalCatalog, String, String) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| checkConversion(Expression, Schema) |   | 83% |   | 56% | 8 | 14 | 8 | 32 | 0 | 1 |
| extractDorisLiteral(Type, Expr) |   | 91% |   | 95% | 2 | 24 | 4 | 53 | 0 | 1 |
| convertDorisExprToSlotRef(Expr) |   | 45% |   | 16% | 3 | 4 | 3 | 7 | 0 | 1 |
| solveIcebergPartitionSpec(PartitionDesc, Schema) |   | 90% |   | 86% | 2 | 11 | 1 | 26 | 0 | 1 |
| getRemoteTable(ExternalCatalog, SimpleTableInfo) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| lambda$icebergTypeToDorisType$0(Types.NestedField) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getAndCloneTable(ExternalCatalog, SimpleTableInfo) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getIcebergTable(ExternalCatalog, String, String) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| IcebergUtils() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| createIcebergHiveCatalog(ExternalCatalog, String) |  | 100% | | n/a | 0 | 1 | 0 | 7 | 0 | 1 |
| static {...} |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |