[fix](jin) add datetimev2 precision (#29528)
This commit is contained in:
@ -43,7 +43,6 @@ public class PaimonExternalTable extends ExternalTable {
|
||||
|
||||
private static final Logger LOG = LogManager.getLogger(PaimonExternalTable.class);
|
||||
|
||||
public static final int PAIMON_DATETIME_SCALE_MS = 3;
|
||||
private Table originTable = null;
|
||||
|
||||
public PaimonExternalTable(long id, String name, String dbName, PaimonExternalCatalog catalog) {
|
||||
@ -112,7 +111,14 @@ public class PaimonExternalTable extends ExternalTable {
|
||||
return ScalarType.createDateV2Type();
|
||||
case TIMESTAMP_WITHOUT_TIME_ZONE:
|
||||
case TIMESTAMP_WITH_LOCAL_TIME_ZONE:
|
||||
return ScalarType.createDatetimeV2Type(PAIMON_DATETIME_SCALE_MS);
|
||||
int scale = 3; // default
|
||||
if (dataType instanceof org.apache.paimon.types.TimestampType) {
|
||||
scale = ((org.apache.paimon.types.TimestampType) dataType).getPrecision();
|
||||
if (scale > 6) {
|
||||
scale = 6;
|
||||
}
|
||||
}
|
||||
return ScalarType.createDatetimeV2Type(scale);
|
||||
case ARRAY:
|
||||
ArrayType arrayType = (ArrayType) dataType;
|
||||
Type innerType = paimonPrimitiveTypeToDorisType(arrayType.getElementType());
|
||||
@ -124,7 +130,8 @@ public class PaimonExternalTable extends ExternalTable {
|
||||
case TIME_WITHOUT_TIME_ZONE:
|
||||
return Type.UNSUPPORTED;
|
||||
default:
|
||||
throw new IllegalArgumentException("Cannot transform unknown type: " + dataType.getTypeRoot());
|
||||
LOG.warn("Cannot transform unknown type: " + dataType.getTypeRoot());
|
||||
return Type.UNSUPPORTED;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user