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

Document the SQL dialect DataFusion attempts to follow #13704

Open
alamb opened this issue Dec 9, 2024 · 2 comments · May be fixed by #13706
Open

Document the SQL dialect DataFusion attempts to follow #13704

alamb opened this issue Dec 9, 2024 · 2 comments · May be fixed by #13706
Assignees
Labels
enhancement New feature or request

Comments

@alamb
Copy link
Contributor

alamb commented Dec 9, 2024

Is your feature request related to a problem or challenge?

Determining what is the "correct behavior" comes frequently deciding how a function should behave and there is disagreement across implementations (e.g. postgres does something different than spark and/or duckdb)

This happened most recently here with @comphead and @jayzhan211 and @Kimahriman in #13683 (comment)

Describe the solution you'd like

I don't think our codebase is super consistent, but I think it would help to at least document our shared understanding of what we are aiming for.

Describe alternatives you've considered

No response

Additional context

No response

@alamb alamb added the enhancement New feature or request label Dec 9, 2024
@alamb alamb self-assigned this Dec 9, 2024
@findepi
Copy link
Member

findepi commented Dec 10, 2024

Document the SQL dialect DataFusion attempts to follow

💯
I though this is covered by #12357
(eg do we accept features based on "but it works in PostgresQL" or "but it works in my database")

However, this should pertain the DataFusion frontend only.

People are building database systems based on DataFusion where frontend is not DataFusion and SQL dialect is not DF's either. For example DataFusion Ballista effectively implements Spark SQL. SDF (not OSS) implements various SQL dialects on top of DF, etc.

Thus, while it's important to be explicit what the frontend is meant to accept, it's also important to limit impact of this decision to DataFusion frontend only. It cannot trickle down across whole codebase.

(this comment obviously relates to #12723)

@alamb
Copy link
Contributor Author

alamb commented Dec 10, 2024

I though this is covered by #12357

I could have included it in the same PR, but I thought this might generate some more discussion so might be better kept as a separate PR / issue

People are building database systems based on DataFusion where frontend is not DataFusion and SQL dialect is not DF's either. For example DataFusion Ballista effectively implements Spark SQL. SDF (not OSS) implements various SQL dialects on top of DF, etc.

I know and I agree it is a very important usecase. I will try and update the wording in #13706 to reflect this sentiment

Thus, while it's important to be explicit what the frontend is meant to accept, it's also important to limit impact of this decision to DataFusion frontend only. It cannot trickle down across whole codebase.

Yes, 100% agree. I also think it is worth thinking how we can keep any "postgres specific" stuff localized (or localize it even more0 to make it easier to override for systems that have different needs

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

Successfully merging a pull request may close this issue.

2 participants