-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Description
Is your feature request related to a problem or challenge?
As described in https://github.com/apache/arrow-datafusion/tree/main/datafusion/core/tests/sqllogictests DataFusion has many tests that use the sqllogictest framework which is easy to write and update compared to rust tests
We still have a non trivial number of old tests that are written in Rust and run in the sql integration test:
https://arrow.apache.org/datafusion/contributor-guide/index.html#rust-integration-tests
cargo test -p datafusion --test sql_integration
This ticket tracks the work to port the tests from rust to sqllogictests
Describe the solution you'd like
Port tests from datafusion/core/tests/sql to sqllogictests in datafusion/core/tests/sqllogictests/test_files
For each test, the goal is to:
- Port as many tests as possiible (follow the example of Port test in select.rs to sqllogic #6158 or one of the other tests linked to Port sql tests written in Rust to sqllogictests #4495)
Then we can figure out what to do with the tests that can not be ported easily
Remaining items:
- Port tests in cast.rs to sqllogictest #6208
- Port tests in
wildcard.rsto sqllogictest #6216 - Port tests in
expr.rsto sqllogictest #6210 - Port tests in
functions.rsto sqllogictest #6211 - Port tests in
identifiers.rsto sqllogictest #6212 - Port tests in
set_variable.rsto sqllogictest #6213 - Port tests in
unicode.rsto sqllogictest #6214 - Port tests in
union.rsto sqllogictest #6215 - Port remaining window.rs tests to sqllogictests #6233
- Port tests in
avro.rsto sqllogictest #6299 - Port tests in
errors.rsto context.rs #6298 - Port tests in
explain.rsto sqllogictests #6297 - Port remaining tests in
functions.rsto sqllogictest #6300 - Port tests in
information_schema.rsto sqllogictest #6301 - Port tests in
joins.rsto sqllogictest #6302 - Port tests in
json.rsto sqllogictest #6303 - Port test in
subqueries.rsfrom rust to sqllogictest #6668 - Port tests in
aggregates.rsto sqllogictest #8194 - Port tests in
arrow_files.rsto sqllogictest #8195 - Port tests in
create_drop.rsto sqllogictest #8196 - Port tests in
csv_files.rsto sqllogictest #8197 - Port tests in
describe.rsto sqllogictest #8198 - Port tests in
displayable.rsto sqllogictest #8199 - Port tests in
explain_analyze.rsto sqllogictest #8200 - Port tests in
expr.rsto sqllogictest #8201 - Port tests in
group_by.rsto sqllogictest #8202 - Port tests in
joins.rsto sqllogictest #8203 - Port tests in
limit.rsto sqllogictest #8204 - Port tests in
order.rsto sqllogictest #8205 - Port tests in
parquet.rsto sqllogictest #8206 - Port tests in
parquet_schema.rsto sqllogictest #8207 - Port tests in
partitioned_csv.rsto sqllogictest #8208 - Port tests in
predicates.rsto sqllogictest #8209 - Port tests in
projection.rsto sqllogictest #8210 - Port tests in
references.rsto sqllogictest #8211 - Port tests in
repartition.rsto sqllogictest #8212 - Port tests in
select.rsto sqllogictest #8213 - Port tests in
sql_api.rsto sqllogictest #8214 - Port tests in
subqueries.rsto sqllogictest #8215 - Port tests in
timestamp.rsto sqllogictest #8216
Describe alternatives you've considered
No response
Additional context
Follow on to #4495
Marking this as a good first issue as there are many examples and it will get people familiar with how to run tests and how to use datafusion as a library, while also helping the community