You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Complete / integrate sqlite sqllogictest test scripts integrattion #13812
I've updated my test branch with the latest changes including adding skipif for Postgresql queries that fail to run. What is left is at least 19 legitimate query result mismatches where tickets were filed.
I've submitted a PR to the sqllogictest-rs repo for my changes but so far they haven't responded. If they do not get around to merging it for whatever reason we have two choices:
Rewrite the .slt files to be columnwise vs valuewise and change ordering to only be rowsort and remove the valuesort. I've actually written a lua script to handle the valuewise -> columnwise conversion, the second part will require some more work.
Thanks for putting this together @alamb. Yes, the work is described correctly. CI builds currently are failing because of a clippy warning that I need to look into but otherwise it's good for others to look at.
I find that, at least on my machine, running the sqlite tests in 'normal' test mode takes ...forever. I typically run now with --release. Slower to build, faster overall.
cargo test --release --test sqllogictests -- --include-sqlite
if you do not run in release mode you may need to increase the stack size or it'll fail part way in:
One issue that I haven't fixed is that some of the sqlite test files are LARGE. In total the files are 763M. I am unsure that we would want them in the main repo ... and I am pretty sure they will fail a CI check with some being > 1MB anyways.
Perhaps we need a new datafusion_testing repository where these files would go and be linked into df via .gitmodules
Yes, this seems like a perfect thing for a nightly ci run.
The thing that is holding me back atm is the sqllogictest-rs changes. Without those in the official repo means either redoing the output of the sqlite results (possible but not particularly easy) or using my fork. I'm hoping to get back to seeing if I can do the rewrite this weekend by comparing the sortmode results during a complete run (with my super hacked up version of sqllogictest-rs) and if they are the same write it out as columnmode. That would mean that the current runner would work.
I don't think attempting to pull in the original sqlite files will work as what I am producing is very different from what they have. datafusion_testing repo I think would be best.
Ok, I believe I'm ready to push a PR for the source code since the sqllogictest-rs folks pushed a release with my changes. I just need a decision on what to do with the actual sqlite .slt files. Do we:
Check them in as is and just adjust the large_files.yml in github workflow to let them through
git lfs
separate repo and use git modules for attaching to df repo (my preferred solution - datafusion-testing)
compress files in place and check in compressed files
What are the steps required to have a datafusion-testingcreated? I went hunting quickly through the apache docs I could find but I couldn't find the steps required
Apparently there isn't a way to fork an empty repository in github, or at least I can't seem to find a way so I'm unable to push a PR there for the slt files. Can someone with contributor permissions push a license file to that new repo so that the github UI will allow me to fork it?
Apparently there isn't a way to fork an empty repository in github, or at least I can't seem to find a way so I'm unable to push a PR there for the slt files. Can someone with contributor permissions push a license file to that new repo so that the github UI will allow me to fork it?
Activity
alamb commentedon Dec 17, 2024
@Omega359 do I have this work described correctly?
Omega359 commentedon Dec 17, 2024
Thanks for putting this together @alamb. Yes, the work is described correctly. CI builds currently are failing because of a clippy warning that I need to look into but otherwise it's good for others to look at.
I find that, at least on my machine, running the sqlite tests in 'normal' test mode takes ...forever. I typically run now with --release. Slower to build, faster overall.
cargo test --release --test sqllogictests -- --include-sqliteif you do not run in release mode you may need to increase the stack size or it'll fail part way in:
export RUST_MIN_STACK=3048576Omega359 commentedon Dec 17, 2024
One issue that I haven't fixed is that some of the sqlite test files are LARGE. In total the files are 763M. I am unsure that we would want them in the main repo ... and I am pretty sure they will fail a CI check with some being > 1MB anyways.
Perhaps we need a new datafusion_testing repository where these files would go and be linked into df via .gitmodules
alamb commentedon Dec 19, 2024
I think this is a good idea -- or maybe a script that checks out the original sqllite files or something
I also think we need to find a way to run it regularly (but likely it can't be on all PRs), see
@wiedld from InfluxData expressed interest in helping move this project along. I will let her comment on what she next plans, etc
Omega359 commentedon Dec 19, 2024
Yes, this seems like a perfect thing for a nightly ci run.
The thing that is holding me back atm is the sqllogictest-rs changes. Without those in the official repo means either redoing the output of the sqlite results (possible but not particularly easy) or using my fork. I'm hoping to get back to seeing if I can do the rewrite this weekend by comparing the sortmode results during a complete run (with my super hacked up version of sqllogictest-rs) and if they are the same write it out as columnmode. That would mean that the current runner would work.
I don't think attempting to pull in the original sqlite files will work as what I am producing is very different from what they have. datafusion_testing repo I think would be best.
Omega359 commentedon Dec 21, 2024
Ok, I believe I'm ready to push a PR for the source code since the sqllogictest-rs folks pushed a release with my changes. I just need a decision on what to do with the actual sqlite .slt files. Do we:
alamb commentedon Dec 21, 2024
yes this is my preferred solution too as it follows an exisitng pre-set pattern
Omega359 commentedon Dec 22, 2024
What are the steps required to have a
datafusion-testingcreated? I went hunting quickly through the apache docs I could find but I couldn't find the steps requiredalamb commentedon Dec 22, 2024
I did some poking around and found on this JIRA: https://issues.apache.org/jira/browse/INFRA-26314?jql=project%20%3D%20INFRA%20AND%20summary%20~%20%22create%20repo%22%20ORDER%20BY%20priority%20DESC%2C%20updated%20DESC
I submitted a request
It appears it is now available 🎉 : https://github.com/apache/datafusion-testing
Omega359 commentedon Dec 22, 2024
Thank you very much @alamb. I'll work on the PR later today
Omega359 commentedon Dec 23, 2024
Apparently there isn't a way to fork an empty repository in github, or at least I can't seem to find a way so I'm unable to push a PR there for the slt files. Can someone with contributor permissions push a license file to that new repo so that the github UI will allow me to fork it?
@comphead @alamb @findepi ...
jonahgao commentedon Dec 26, 2024
Done. @Omega359
Omega359 commentedon Dec 26, 2024
PR for data files: apache/datafusion-testing#1