nielifeng commented on issue #10084:
URL: https://github.com/apache/seatunnel/issues/10084#issuecomment-5140706793
I checked this against both the `2.3.12` tag and current `dev`. ROW support
is present, but a bare `row` declaration is not a complete type: SeaTunnel
needs the nested field names and types to build a static `SeaTunnelRowType`.
Arrays likewise require an element type.
For example:
```hocon
fields {
"_id" = string
"drawPhotos" = {
coverUrl = string
items = "array<string>"
}
"huo" = "array<string>"
"jin" = "array<string>"
"shui" = "array<string>"
"tu" = "array<string>"
"mu" = "array<string>"
}
```
This syntax is handled by `SeaTunnelDataTypeConvertorUtil.parseRowType`;
current tests also cover declarations such as `{c = long}`. Therefore adding
`case ROW` to the simple-type switch would not fix this report because it still
would not supply the nested schema.
The later multi-table exception is a separate schema/data mismatch, not
evidence that two tables are unsupported. In 2.3.12, `RowToJsonConverters`
throws `Long cannot be cast to String` specifically when a field declared as
`string` contains a Java `Long`. Please define a separate `tables_configs`
schema for every MongoDB collection and make the reported `tw_game.user_base`
numeric/timestamp fields `bigint` where the BSON value is numeric.
No code PR is justified from the current evidence. If it still fails after
correcting the types, please provide the complete `tables_configs` entry for
`tw_game.user_base` plus one redacted BSON document; that will identify the
exact mismatched field.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]