in src/main/java/org/apache/flink/connector/rocketmq/legacy/common/serialization/RowKeyValueDeserializationSchema.java [70:103]
public RowKeyValueDeserializationSchema(
TableSchema tableSchema,
DirtyDataStrategy formatErrorStrategy,
DirtyDataStrategy fieldMissingStrategy,
DirtyDataStrategy fieldIncrementStrategy,
String encoding,
String fieldDelimiter,
boolean columnErrorDebug,
Map<String, String> properties) {
this.tableSchema = tableSchema;
this.formatErrorStrategy = formatErrorStrategy;
this.fieldMissingStrategy = fieldMissingStrategy;
this.fieldIncrementStrategy = fieldIncrementStrategy;
this.columnErrorDebug = columnErrorDebug;
this.encoding = encoding;
this.fieldDelimiter = StringEscapeUtils.unescapeJava(fieldDelimiter);
this.columnSize = tableSchema.getFieldNames().length;
this.fieldTypes = new ByteSerializer.ValueType[columnSize];
this.columnIndexMapping = new HashMap<>();
for (int index = 0; index < columnSize; index++) {
this.columnIndexMapping.put(tableSchema.getFieldNames()[index], index);
}
for (int index = 0; index < columnSize; index++) {
ByteSerializer.ValueType type =
ByteSerializer.getTypeIndex(tableSchema.getFieldTypes()[index].getTypeClass());
this.fieldTypes[index] = type;
}
DescriptorProperties descriptorProperties = new DescriptorProperties();
descriptorProperties.putProperties(properties);
this.fieldDataTypes = tableSchema.getFieldDataTypes();
this.lastLogExceptionTime = System.currentTimeMillis();
this.lastLogHandleFieldTime = System.currentTimeMillis();
}