Sigma-Ma commented on issue #16284:
URL: https://github.com/apache/datafusion/issues/16284#issuecomment-5213739656
Hi @alamb and @zhuqi-lucas, I started working on this issue and reproduced
it on the current main branch.
I first tried making `--complete` use only
`error.to_string().lines().next()`, so sqllogictest would generate an inline
regex rather than an exact multiline error.
However, the first line itself is no longer stable between builds:
Without the `backtrace` feature, the first line contains multiple collected
planning errors:
... requires Float ...,Error during planning: ... expects 4 arguments ...
With `RUST_BACKTRACE=1` and the `backtrace` feature, the first line stops
after the first collected error:
... requires Float ...
Therefore, generating the complete first line locally still does not match
the CI error.
At the sqllogictest completion boundary, this is already flattened into
`DataFusionError::Plan(String)`, so selecting the first underlying error would
require either parsing the formatted string or preserving/providing a
structured error summary earlier.
Which direction would you prefer?
1. Implement the original first-line behavior as a best-effort improvement.
2. Add a structured/stable error-summary hook and use it during completion.
3. Require completion runs to use the same backtrace feature/environment as
CI.
I prefer option 2 because it avoids depending on formatted error strings,
but it is a larger change.
--
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]