Skip to content

Commit 280bd66

Browse files
authored
[Fix](mongdb-cdc)Schema Length Mismatch for ObjectId Non-id Fields in Collections (#588)
1 parent 36b3c96 commit 280bd66

File tree

3 files changed

+3
-3
lines changed

3 files changed

+3
-3
lines changed

flink-doris-connector/src/main/java/org/apache/doris/flink/tools/cdc/mongodb/MongoDBType.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ public static String toDorisType(Object value) {
6262
} else if (value instanceof String) {
6363
return DorisType.STRING;
6464
} else if (value instanceof ObjectId) {
65-
return DorisType.VARCHAR + "(30)";
65+
return DorisType.VARCHAR + "(36)";
6666
} else if (value instanceof List) {
6767
return DorisType.ARRAY + "<" + DorisType.STRING + ">";
6868
} else if (value instanceof Decimal128) {

flink-doris-connector/src/test/java/org/apache/doris/flink/tools/cdc/mongodb/MongoDBSchemaTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ public void testMongoSampleDataFields() throws Exception {
6969
MongoDBSchema mongoDBSchema = new MongoDBSchema(sampleData, "db_TEST", "test_table", "");
7070

7171
assertEquals(
72-
"{_id=FieldSchema{name='_id', typeString='VARCHAR(30)', defaultValue='null', comment='null'}, c_string=FieldSchema{name='c_string', typeString='STRING', defaultValue='null', comment='null'}, c_bool=FieldSchema{name='c_bool', typeString='BOOLEAN', defaultValue='null', comment='null'}, c_int=FieldSchema{name='c_int', typeString='INT', defaultValue='null', comment='null'}, c_long=FieldSchema{name='c_long', typeString='BIGINT', defaultValue='null', comment='null'}, c_double=FieldSchema{name='c_double', typeString='DECIMALV3(5,2)', defaultValue='null', comment='null'}, c_decimal=FieldSchema{name='c_decimal', typeString='DECIMALV3(7,2)', defaultValue='null', comment='null'}, c_date=FieldSchema{name='c_date', typeString='DATETIMEV2(3)', defaultValue='null', comment='null'}, c_timestamp=FieldSchema{name='c_timestamp', typeString='DATETIMEV2(0)', defaultValue='null', comment='null'}, c_object=FieldSchema{name='c_object', typeString='STRING', defaultValue='null', comment='null'}, c_array=FieldSchema{name='c_array', typeString='ARRAY<STRING>', defaultValue='null', comment='null'}}",
72+
"{_id=FieldSchema{name='_id', typeString='VARCHAR(36)', defaultValue='null', comment='null'}, c_string=FieldSchema{name='c_string', typeString='STRING', defaultValue='null', comment='null'}, c_bool=FieldSchema{name='c_bool', typeString='BOOLEAN', defaultValue='null', comment='null'}, c_int=FieldSchema{name='c_int', typeString='INT', defaultValue='null', comment='null'}, c_long=FieldSchema{name='c_long', typeString='BIGINT', defaultValue='null', comment='null'}, c_double=FieldSchema{name='c_double', typeString='DECIMALV3(5,2)', defaultValue='null', comment='null'}, c_decimal=FieldSchema{name='c_decimal', typeString='DECIMALV3(7,2)', defaultValue='null', comment='null'}, c_date=FieldSchema{name='c_date', typeString='DATETIMEV2(3)', defaultValue='null', comment='null'}, c_timestamp=FieldSchema{name='c_timestamp', typeString='DATETIMEV2(0)', defaultValue='null', comment='null'}, c_object=FieldSchema{name='c_object', typeString='STRING', defaultValue='null', comment='null'}, c_array=FieldSchema{name='c_array', typeString='ARRAY<STRING>', defaultValue='null', comment='null'}}",
7373
mongoDBSchema.getFields().toString());
7474
}
7575

flink-doris-connector/src/test/java/org/apache/doris/flink/tools/cdc/mongodb/MongoDBTypeTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ public void toDorisType() {
5555
assertEquals(DorisType.BOOLEAN, MongoDBType.toDorisType(new Boolean(true)));
5656
assertEquals(DorisType.STRING, MongoDBType.toDorisType("string"));
5757
assertEquals(
58-
DorisType.VARCHAR + "(30)",
58+
DorisType.VARCHAR + "(36)",
5959
MongoDBType.toDorisType(new ObjectId("66583533791a67a6f8c5a339")));
6060
assertEquals(
6161
"DECIMALV3(10,5)",

0 commit comments

Comments
 (0)