Add sqlite test files into sqllogictests #13935
Closed
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.
Which issue does this PR close?
Closes #13812
Rationale for this change
Add most of the sqlite test suite to Datafusion sqllogictests. Note: THESE TESTS DO NOT CURRENTLY PASS! Any test results where Datafusion returns a result that does not match sqlite nor match Postgresql was left as-is.
What changes are included in this PR?
This PR includes a number of changes many of which are part of the test files in the
datafusion-testing
repo (5,711,125 select statements of which 78,437 fail outright in Datafusion). The list below includes both the changes in this direct PR as well as the process to generate the files indatafusion-testing/data/sqlite/
evidence
and theindex/delete
folderscontrol resultmode valuewise
added to the beginning to allow the sqllogictest runner to properly be able to compare the results from Datafusion (and Postgresql) to the results in the .slt fileskipif Datafusion
and/orskipif postgres
. For example:git submodule update --init --remote --recursive
to get it added to an existing checkout of datafusion.PG_URI
is set.Are these changes tested?
Indeed, yes. To run the tests locally checkout this branch, update the git submodules then run
INCLUDE_SQLITE=true cargo test --profile release-nonlto --test sqllogictests
. Be aware that the tests can take quite a long time to run, especially if you do not run with release or release-nonlto profiles.Are there any user-facing changes?
No.