Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[EPIC] DuckDB-Inspired Feature Enhancements #14514

Open
1 of 5 tasks
berkaysynnada opened this issue Feb 5, 2025 · 7 comments
Open
1 of 5 tasks

[EPIC] DuckDB-Inspired Feature Enhancements #14514

berkaysynnada opened this issue Feb 5, 2025 · 7 comments

Comments

@berkaysynnada
Copy link
Contributor

berkaysynnada commented Feb 5, 2025

While I'm investigating some possible project ideas for GSoC 2025, I took a look at some cool DuckDB features and want to create issues for similar enhancements in datafusion. These features will improve datafusion's usability and performance.

There are also smaller-scale, but still very cool, features in this list:
https://duckdb.org/docs/sql/dialect/friendly_sql.html

Anyone is welcome to undertake any missing one from that list.

@Omega359
Copy link
Contributor

Omega359 commented Feb 5, 2025

#9371

@PokIsemaine
Copy link

Hello @berkaysynnada ,

I am interested in both datafusion and DuckDB and would like to participate in this year's GSoC.

I haven't deeply explored the core code of datafusion yet, so I would like to ask if you could provide references for similar functionality implementations, such as past issues, pull requests, discussions, or blog posts. These resources would help me get familiar with the project more quickly.

If there are any suitable good-first-issues that could help me understand the relevant modules, I would be happy to try solving them.

@berkaysynnada
Copy link
Contributor Author

Hello @PokIsemaine. I have an idea that hasn't been issued yet: implementing "ORDER BY ALL." Although this feature is not part of standard sql, duckdb supports it https://duckdb.org/docs/sql/query_syntax/orderby.html#order-by-all

If you're looking for a warm-up project, implementing it in datafusion would be a great start. I suggest familiarizing yourself with the various parts of the codebase rather than diving straight into the core features. For guidance, you might want to look at how "group by all" is handled.

@PokIsemaine
Copy link

Hello @PokIsemaine. I have an idea that hasn't been issued yet: implementing "ORDER BY ALL." Although this feature is not part of standard sql, duckdb supports it https://duckdb.org/docs/sql/query_syntax/orderby.html#order-by-all

If you're looking for a warm-up project, implementing it in datafusion would be a great start. I suggest familiarizing yourself with the various parts of the codebase rather than diving straight into the core features. For guidance, you might want to look at how "group by all" is handled.

Thanks for your advice!

I noticed #7622, if the syntax was originally not supported by sqlparser, do I need to first submit a PR in the sqlparser repository and then proceed with the implementation in datafusion? Or should we just go ahead with the implementation in datafusion?

@berkaysynnada
Copy link
Contributor Author

I noticed #7622, if the syntax was originally not supported by sqlparser, do I need to first submit a PR in the sqlparser repository and then proceed with the implementation in datafusion? Or should we just go ahead with the implementation in datafusion?

Yes, you probably need to update struct OrderBy in sqlparser

@PokIsemaine
Copy link

I noticed #7622, if the syntax was originally not supported by sqlparser, do I need to first submit a PR in the sqlparser repository and then proceed with the implementation in datafusion? Or should we just go ahead with the implementation in datafusion?

Yes, you probably need to update struct OrderBy in sqlparser

apache/datafusion-sqlparser-rs#1724
I updated OrderBy in sqlparser and made it support parsing of ORDER BY ALL, after the subsequent version is released, we can start implementing ORDER BY ALL for datafusion

@berkaysynnada
Copy link
Contributor Author

@PokIsemaine Awesome! I have not even noticed yet you open the sqlparser PR 😅 I hope it won't take much time to release the new version.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants