This is an automated email from the ASF dual-hosted git repository.
diwu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris-flink-connector.git
The following commit(s) were added to refs/heads/master by this push:
new 1e2965d [improve] some improve for package (#242)
1e2965d is described below
commit 1e2965d17d6e2478183a5dff955a6895c1ec9678
Author: wudi <[email protected]>
AuthorDate: Thu Nov 23 17:30:35 2023 +0800
[improve] some improve for package (#242)
1. Modify the serialization method to be static to facilitate external use.
2. Modify the catalog’s type mapping to synchronize and unify it with the
entire library.
---
.../doris/flink/catalog/DorisTypeMapper.java | 4 ++--
.../converter/DorisRowConverter.java | 24 +++++++++++-----------
2 files changed, 14 insertions(+), 14 deletions(-)
diff --git
a/flink-doris-connector/src/main/java/org/apache/doris/flink/catalog/DorisTypeMapper.java
b/flink-doris-connector/src/main/java/org/apache/doris/flink/catalog/DorisTypeMapper.java
index 09bb492..fda3c93 100644
---
a/flink-doris-connector/src/main/java/org/apache/doris/flink/catalog/DorisTypeMapper.java
+++
b/flink-doris-connector/src/main/java/org/apache/doris/flink/catalog/DorisTypeMapper.java
@@ -125,7 +125,7 @@ public class DorisTypeMapper {
@Override
public String visit(VarCharType varCharType) {
int length = varCharType.getLength();
- return length > 65533 ? STRING : String.format("%s(%s)", VARCHAR,
length);
+ return length * 4 > 65533 ? STRING : String.format("%s(%s)",
VARCHAR, length * 4);
}
@Override
@@ -143,7 +143,7 @@ public class DorisTypeMapper {
int precision = decimalType.getPrecision();
int scale = decimalType.getScale();
return precision <= 38
- ? String.format("%s(%s,%s)", DorisType.DECIMAL_V3,
precision, scale >= 0 ? scale : 0)
+ ? String.format("%s(%s,%s)", DorisType.DECIMAL_V3,
precision, Math.max(scale, 0))
: DorisType.STRING;
}
diff --git
a/flink-doris-connector/src/main/java/org/apache/doris/flink/deserialization/converter/DorisRowConverter.java
b/flink-doris-connector/src/main/java/org/apache/doris/flink/deserialization/converter/DorisRowConverter.java
index ebc0ff6..c334d3b 100644
---
a/flink-doris-connector/src/main/java/org/apache/doris/flink/deserialization/converter/DorisRowConverter.java
+++
b/flink-doris-connector/src/main/java/org/apache/doris/flink/deserialization/converter/DorisRowConverter.java
@@ -123,11 +123,11 @@ public class DorisRowConverter implements Serializable {
* Create a nullable runtime {@link DeserializationConverter} from given
{@link
* LogicalType}.
*/
- protected DeserializationConverter
createNullableInternalConverter(LogicalType type) {
+ public DeserializationConverter
createNullableInternalConverter(LogicalType type) {
return
wrapIntoNullableInternalConverter(createInternalConverter(type));
}
- protected DeserializationConverter wrapIntoNullableInternalConverter(
+ public DeserializationConverter wrapIntoNullableInternalConverter(
DeserializationConverter deserializationConverter) {
return val -> {
if (val == null) {
@@ -138,11 +138,11 @@ public class DorisRowConverter implements Serializable {
};
}
- protected SerializationConverter
createNullableExternalConverter(LogicalType type) {
+ public static SerializationConverter
createNullableExternalConverter(LogicalType type) {
return
wrapIntoNullableExternalConverter(createExternalConverter(type));
}
- protected SerializationConverter
wrapIntoNullableExternalConverter(SerializationConverter
serializationConverter) {
+ public static SerializationConverter
wrapIntoNullableExternalConverter(SerializationConverter
serializationConverter) {
return (index, val) -> {
if (val == null || val.isNullAt(index)) {
return null;
@@ -154,7 +154,7 @@ public class DorisRowConverter implements Serializable {
/** Runtime converter to convert doris field to {@link RowData} type
object. */
@FunctionalInterface
- interface DeserializationConverter extends Serializable {
+ public interface DeserializationConverter extends Serializable {
/**
* Convert a doris field object of {@link RowBatch } to the data
structure object.
*
@@ -167,11 +167,11 @@ public class DorisRowConverter implements Serializable {
* Runtime converter to convert {@link RowData} type object to doris field.
*/
@FunctionalInterface
- interface SerializationConverter extends Serializable {
+ public interface SerializationConverter extends Serializable {
Object serialize(int index, RowData field);
}
- protected DeserializationConverter createInternalConverter(LogicalType
type) {
+ public DeserializationConverter createInternalConverter(LogicalType type) {
switch (type.getTypeRoot()) {
case NULL:
return val -> null;
@@ -230,7 +230,7 @@ public class DorisRowConverter implements Serializable {
}
}
- protected SerializationConverter createExternalConverter(LogicalType type)
{
+ public static SerializationConverter createExternalConverter(LogicalType
type) {
switch (type.getTypeRoot()) {
case NULL:
return ((index, val) -> null);
@@ -327,7 +327,7 @@ public class DorisRowConverter implements Serializable {
return rowData;
}
- private List<Object> convertArrayData(ArrayData array, LogicalType type){
+ private static List<Object> convertArrayData(ArrayData array, LogicalType
type){
if(array instanceof GenericArrayData){
return Arrays.asList(((GenericArrayData)array).toObjectArray());
}
@@ -345,7 +345,7 @@ public class DorisRowConverter implements Serializable {
throw new UnsupportedOperationException("Unsupported array data: " +
array.getClass());
}
- private Object convertMapData(MapData map, LogicalType type) {
+ private static Object convertMapData(MapData map, LogicalType type) {
Map<Object, Object> result = new HashMap<>();
if (map instanceof GenericMapData) {
GenericMapData gMap = (GenericMapData)map;
@@ -377,7 +377,7 @@ public class DorisRowConverter implements Serializable {
throw new UnsupportedOperationException("Unsupported map data: " +
map.getClass());
}
- private Object convertRowData(RowData val, int index, LogicalType type) {
+ private static Object convertRowData(RowData val, int index, LogicalType
type) {
RowType rowType = (RowType)type;
Map<String, Object> value = new HashMap<>();
RowData row = val.getRow(index, rowType.getFieldCount());
@@ -392,7 +392,7 @@ public class DorisRowConverter implements Serializable {
return value;
}
- private String writeValueAsString(Object object){
+ private static String writeValueAsString(Object object){
try {
return objectMapper.writeValueAsString(object);
} catch (JsonProcessingException e) {
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]