jayzhan211 opened a new issue, #27218:
URL: https://github.com/apache/datafusion/issues/27218

   ### Is your feature request related to a problem or challenge?
   
   When `--complete` fills in a one-line error, it writes the message on the 
`statement error` line as an escaped regex, which is hard to read and review:
   
   ```text
   query error DataFusion error: Error during planning: table 
'datafusion\.public\.no_such_table' not found
   ```
   
   The plain-text form (the exact message after `----`) is easier to read, but 
`--complete` only writes it for multi-line errors or when the test already uses 
that form. 54 escaped-regex error lines were added in the last 300 commits that 
touched sqllogictest files. #27217 documents a manual workaround; this issue is 
about making the readable form what `--complete` writes.
   
   ### Describe the solution you'd like
   
   1. Upstream in 
[sqllogictest-rs](https://github.com/risinglightdb/sqllogictest-rs), add an 
option that makes completion write every error in the `----` form. Today 
`ExpectedError::from_actual_error` (`sqllogictest/src/parser.rs`) picks the 
regex form for one-line errors, and `Runner::update_test_file` has no setting 
to change that.
   2. After an upstream release, bump `sqllogictest` in DataFusion and turn the 
option on where `datafusion/sqllogictest/bin/sqllogictests.rs` calls 
`update_test_file`.
   
   Existing regex lines can stay as they are. Some match only part of a message 
on purpose.
   
   ### Describe alternatives you've considered
   
   - Docs only (#27217): helps only people who read the README.
   - Rewriting the file in DataFusion's runner after completion: it would have 
to tell a regex `--complete` just wrote apart from a hand-written partial match.
   
   ### Additional context
   
   <details>
   <summary>The same record as <code>--complete</code> writes it today, and as 
it would write it with the option</summary>
   
   Today:
   
   ```text
   query error DataFusion error: Error during planning: table 
'datafusion\.public\.no_such_table' not found
   SELECT * FROM no_such_table;
   ```
   
   With the option:
   
   ```text
   query error
   SELECT * FROM no_such_table;
   ----
   DataFusion error: Error during planning: table 
'datafusion.public.no_such_table' not found
   
   
   ```
   
   </details>
   
   ### Willingness to contribute
   
   I'm not planning to work on this myself, so anyone is welcome to pick it up. 
Feel free to ping me with questions or when you'd like a review.
   


-- 
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]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to