| checkColumnIfChange(MTMV, List) |   | 41% |   | 66% | 2 | 4 | 5 | 13 | 0 | 1 |
| analyzeKeys(List, Map, List) |   | 72% |   | 54% | 8 | 12 | 7 | 28 | 0 | 1 |
| analyzeQueryWithSql(MTMV, ConnectContext) |   | 78% |   | 50% | 1 | 2 | 3 | 24 | 0 | 1 |
| setCatalogAndDb(ConnectContext, MTMV) |   | 40% |   | 33% | 3 | 4 | 7 | 12 | 0 | 1 |
| getBaseTableFromQuery(String, ConnectContext) |   | 79% | | n/a | 0 | 1 | 2 | 14 | 0 | 1 |
| generateColumnsBySql(String, ConnectContext, String, Set, List, Map) |   | 78% | | n/a | 0 | 1 | 2 | 13 | 0 | 1 |
| generateColumns(Plan, ConnectContext, String, Set, List, Map) |   | 92% |   | 90% | 2 | 11 | 2 | 33 | 0 | 1 |
| validateColumns(List, Set, boolean) |   | 83% |   | 83% | 1 | 4 | 1 | 9 | 0 | 1 |
| createMTMVContext(MTMV) |   | 70% |   | 50% | 1 | 2 | 1 | 6 | 0 | 1 |
| isTypeLike(Type, Type) |   | 70% |   | 50% | 1 | 2 | 1 | 3 | 0 | 1 |
| MTMVPlanUtil() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| analyzeExpressions(Plan, Map) |  | 97% |   | 75% | 1 | 3 | 1 | 9 | 0 | 1 |
| analyzeQuery(ConnectContext, Map, String, MTMVPartitionDefinition, DistributionDescriptor, List, Map, List, LogicalPlan) |  | 100% |   | 90% | 1 | 6 | 0 | 33 | 0 | 1 |
| createBasicMvContext(ConnectContext) |  | 100% |  | 100% | 0 | 2 | 0 | 20 | 0 | 1 |
| generateMTMVRelation(Set, Set) |  | 100% |  | 100% | 0 | 6 | 0 | 21 | 0 | 1 |
| getDataType(Slot, int, ConnectContext, String, Set) |  | 100% |   | 93% | 1 | 9 | 0 | 15 | 0 | 1 |
| checkMTMVPartitionInfo(MTMV, MTMVPartitionInfo) |  | 100% |  | 100% | 0 | 2 | 0 | 5 | 0 | 1 |
| ensureMTMVQueryUsable(MTMV, ConnectContext) |  | 100% | | n/a | 0 | 1 | 0 | 7 | 0 | 1 |