Skip to content

Commit 034b332

Browse files
committed
Toggle INT or BIGINT in metadata
1 parent fd84ccd commit 034b332

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

src/main/java/com/gotocompany/depot/maxcompute/util/MetadataUtil.java

+7-2
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public MetadataUtil(MaxComputeSinkConfig maxComputeSinkConfig) {
3636
this.maxComputeTimestampDataType = maxComputeSinkConfig.getMaxComputeProtoTimestampToMaxcomputeType();
3737
this.zoneId = maxComputeSinkConfig.getZoneId();
3838
metadataTypeMap = ImmutableMap.<String, TypeInfo>builder()
39-
.put(INTEGER, TypeInfoFactory.INT)
39+
.put(INTEGER, maxComputeSinkConfig.isProtoIntegerTypesToBigintEnabled() ? TypeInfoFactory.BIGINT : TypeInfoFactory.INT)
4040
.put(LONG, TypeInfoFactory.BIGINT)
4141
.put(FLOAT, TypeInfoFactory.FLOAT)
4242
.put(DOUBLE, TypeInfoFactory.DOUBLE)
@@ -45,7 +45,12 @@ public MetadataUtil(MaxComputeSinkConfig maxComputeSinkConfig) {
4545
.put(TIMESTAMP, maxComputeTimestampDataType.getTypeInfo())
4646
.build();
4747
metadataMapperMap = ImmutableMap.<String, Function<Object, Object>>builder()
48-
.put(INTEGER, obj -> ((Number) obj).intValue())
48+
.put(INTEGER, obj -> {
49+
if (maxComputeSinkConfig.isProtoIntegerTypesToBigintEnabled()) {
50+
return ((Number) obj).longValue();
51+
}
52+
return ((Number) obj).intValue();
53+
})
4954
.put(LONG, obj -> ((Number) obj).longValue())
5055
.put(FLOAT, obj -> ((Number) obj).floatValue())
5156
.put(DOUBLE, obj -> ((Number) obj).doubleValue())

src/test/java/com/gotocompany/depot/maxcompute/util/MetadataUtilTest.java

+1
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ public void setup() {
2626
MaxComputeSinkConfig maxComputeSinkConfig = Mockito.mock(MaxComputeSinkConfig.class);
2727
Mockito.when(maxComputeSinkConfig.getMaxComputeProtoTimestampToMaxcomputeType()).thenReturn(MaxComputeTimestampDataType.TIMESTAMP_NTZ);
2828
Mockito.when(maxComputeSinkConfig.getZoneId()).thenReturn(ZoneId.of("UTC"));
29+
Mockito.when(maxComputeSinkConfig.isProtoIntegerTypesToBigintEnabled()).thenReturn(false);
2930
this.metadataUtil = new MetadataUtil(maxComputeSinkConfig);
3031
}
3132

0 commit comments

Comments
 (0)