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]

Reply via email to