| init(String) |    | 77% |    | 68% | 4 | 9 | 9 | 40 | 0 | 1 | 
| uncheckedCastTo(DataType) |    | 70% |    | 75% | 2 | 5 | 3 | 14 | 0 | 1 | 
| normalize(String) |    | 88% |    | 92% | 1 | 8 | 1 | 20 | 0 | 1 | 
| toJavaDateType() |   | 0% |  | n/a | 1 | 1 | 2 | 2 | 1 | 1 | 
| fromJavaDateType(LocalDateTime, int) |    | 70% |    | 50% | 1 | 2 | 1 | 5 | 0 | 1 | 
| fromJavaDateType(LocalDateTime) |    | 55% |    | 50% | 1 | 2 | 1 | 3 | 0 | 1 | 
| TimeV2Literal(String) |   | 0% |  | n/a | 1 | 1 | 3 | 3 | 1 | 1 | 
| TimeV2Literal(int, int, int, int, int, boolean) |    | 91% |    | 50% | 3 | 4 | 1 | 9 | 0 | 1 | 
| getStringValue() |    | 96% |    | 83% | 1 | 4 | 1 | 10 | 0 | 1 | 
| determineScale(String) |    | 94% |    | 66% | 2 | 4 | 1 | 9 | 0 | 1 | 
| isDateOutOfRange(LocalDateTime) |    | 85% |    | 50% | 3 | 4 | 0 | 1 | 0 | 1 | 
| TimeV2Literal(double) |   | 100% |   | 100% | 0 | 4 | 0 | 14 | 0 | 1 | 
| TimeV2Literal(double, int) |   | 100% |   | 100% | 0 | 4 | 0 | 14 | 0 | 1 | 
| getValue() |   | 100% |   | 100% | 0 | 2 | 0 | 3 | 0 | 1 | 
| static {...} |   | 100% |  | n/a | 0 | 1 | 0 | 4 | 0 | 1 | 
| checkRange(double, int, int, int) |   | 100% |    | 85% | 2 | 8 | 0 | 1 | 0 | 1 | 
| toLegacyLiteral() |   | 100% |  | n/a | 0 | 1 | 0 | 2 | 0 | 1 | 
| computeToSql() |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| TimeV2Literal(TimeV2Type, String) |   | 100% |  | n/a | 0 | 1 | 0 | 3 | 0 | 1 | 
| accept(ExpressionVisitor, Object) |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| getHour() |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| getMinute() |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| getSecond() |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| getMicroSecond() |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| castValueToString() |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 |