Skip to content

Commit 90a3c21

Browse files
wt0530githubgxll
authored andcommitted
[fix][core] Add time type judgment method
1 parent 0b9633e commit 90a3c21

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

core/src/main/java/org/apache/calcite/sql/type/SqlTypeUtil.java

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -52,18 +52,16 @@
5252

5353
import java.math.BigDecimal;
5454
import java.nio.charset.Charset;
55-
import java.util.AbstractList;
56-
import java.util.ArrayList;
57-
import java.util.Collection;
58-
import java.util.List;
59-
import java.util.Map;
55+
import java.util.*;
6056
import java.util.function.Function;
6157
import java.util.stream.Collectors;
6258

6359
import static org.apache.calcite.rel.type.RelDataTypeImpl.NON_NULLABLE_SUFFIX;
6460
import static org.apache.calcite.sql.type.NonNullableAccessors.getCharset;
6561
import static org.apache.calcite.sql.type.NonNullableAccessors.getCollation;
6662
import static org.apache.calcite.sql.type.NonNullableAccessors.getComponentTypeOrThrow;
63+
import static org.apache.calcite.sql.type.SqlTypeName.TIME;
64+
import static org.apache.calcite.sql.type.SqlTypeName.TIME_WITH_LOCAL_TIME_ZONE;
6765
import static org.apache.calcite.util.Static.RESOURCE;
6866

6967
import static java.util.Objects.requireNonNull;
@@ -387,6 +385,13 @@ public static boolean isDate(RelDataType type) {
387385
return type.getSqlTypeName() == SqlTypeName.DATE;
388386
}
389387

388+
public static boolean isTime(RelDataType type) {
389+
return Optional.ofNullable(type)
390+
.map(RelDataType::getSqlTypeName)
391+
.map(sqlTypeName -> sqlTypeName == TIME || sqlTypeName == TIME_WITH_LOCAL_TIME_ZONE)
392+
.orElse(false);
393+
}
394+
390395
/** Returns whether a type is TIMESTAMP. */
391396
public static boolean isTimestamp(RelDataType type) {
392397
return SqlTypeFamily.TIMESTAMP.contains(type);

0 commit comments

Comments
 (0)