Add ErrorManager class, allow SQLLogicTests to verify error messages, and improve CSV reader errors #5103
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #5011, partially fixes #5013, fixes #5022
This PR adds a number of improvements around error messages.
ErrorManager
This PR adds an ErrorManager class which can be used to provide extensible error messages. This allows clients or extensions to override any error messages that are thrown through the ErrorManager class. Currently this is used for the shell to provide a more clear error message in case an unsigned extension fails to load, i.e. the regular error:
Turns into:
Error Checking in SQLLogicTest
This PR also adds the capability of checking exact error messages in SQLLogicTest. This can be done by providing a query result to a
statement error
query:If an error message is provided we check if the error message is contained in the actually thrown error message.
CSV Error Messages
This PR also improves the error messages thrown in the CSV reader, including better reporting of line numbers when defects are detected.