hutiefang76 opened a new issue, #12669: URL: https://github.com/apache/seatunnel/issues/12669
## Search before asking - [x] Searched existing issues and pull requests; no existing fix for this reproduction was found. ## What happened CsvSerializationSchema joins columns with its configured delimiter but uses a comma-default CSVPrinter to decide whether each string needs quotes. With delimiter |, a value a|b is written without quotes and reads back as multiple columns. ## SeaTunnel Version dev at 760c33a94433db85b974ae4d6622d05b726a4a47 ## SeaTunnel Config ```text field_delimiter = "|"; csv_string_quote_mode = "MINIMAL"; STRING value = "a|b" ``` ## Running Command / reproduction Serialize the row ["a|b",42,null] using delimiter="|", quoteMode=MINIMAL and nullValue="NULL", then deserialize with the same delimiter and nullFormat. Expected ["a|b",42,null]; the unpatched writer leaves the first string unquoted, so the integer column receives b or the columns shift. Regression command after adding the test: ```shell ./mvnw -q -pl seatunnel-formats/seatunnel-format-csv -am -Dtest=CsvTextFormatSchemaTest -Dsurefire.failIfNoSpecifiedTests=false package ``` ## Error Exception JDK 17: CsvTextFormatSchemaTest, 7 tests passed after the fix. The same suite fails against the old serializer. The new container-based LocalFile scenario is separate from this unit result. ## Java or Scala Version JDK 17, macOS. ## Are you willing to submit PR? - [x] Yes ## Code of Conduct - [x] I agree to follow the Apache Code of Conduct. -- 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]
