-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Docs: Update SQL status page #6736
Merged
Merged
Changes from 1 commit
Commits
Show all changes
5 commits
Select commit
Hold shift + click to select a range
24f2ca7
Docs: Update SQL status page
alamb 0048678
Add catalog and data inserts
alamb 03c70fe
Merge remote-tracking branch 'apache/main' into alamb/window_function…
alamb f02ee88
Try to clarify that support for nested types is in progress, but not …
alamb 3b51dd3
prettier
alamb File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -34,106 +34,53 @@ | |
|
||
## SQL Support | ||
|
||
- [x] Projection | ||
- [x] Filter (WHERE) | ||
- [x] Filter post-aggregate (HAVING) | ||
- [x] Limit | ||
- [x] Aggregate | ||
- [x] Common math functions | ||
- [x] cast | ||
- [x] try_cast | ||
- [x] Projection (`SELECT`) | ||
- [x] Filter (`WHERE`) | ||
- [x] Filter post-aggregate (`HAVING`) | ||
- [x] Sorting (`ORDER BY`) | ||
- [x] Limit (`LIMIT` | ||
- [x] Aggregate (`GROUP BY`) | ||
- [x] cast /try_cast | ||
- [x] [`VALUES` lists](https://www.postgresql.org/docs/current/queries-values.html) | ||
- Postgres compatible String functions | ||
- [x] ascii | ||
- [x] bit_length | ||
- [x] btrim | ||
- [x] char_length | ||
- [x] character_length | ||
- [x] chr | ||
- [x] concat | ||
- [x] concat_ws | ||
- [x] initcap | ||
- [x] left | ||
- [x] length | ||
- [x] lpad | ||
- [x] ltrim | ||
- [x] octet_length | ||
- [x] regexp_replace | ||
- [x] repeat | ||
- [x] replace | ||
- [x] reverse | ||
- [x] right | ||
- [x] rpad | ||
- [x] rtrim | ||
- [x] split_part | ||
- [x] starts_with | ||
- [x] strpos | ||
- [x] substr | ||
- [x] to_hex | ||
- [x] translate | ||
- [x] trim | ||
- Conditional functions | ||
- [x] nullif | ||
- [x] case | ||
- [x] coalesce | ||
- Approximation functions | ||
- [x] approx_distinct | ||
- [x] approx_median | ||
- [x] approx_percentile_cont | ||
- [x] approx_percentile_cont_with_weight | ||
- Common date/time functions | ||
- [ ] Basic date functions | ||
- [ ] Basic time functions | ||
- [x] Basic timestamp functions | ||
- [x] [to_timestamp](./scalar_functions.md#to_timestamp) | ||
- [x] [to_timestamp_millis](./scalar_functions.md#to_timestamp_millis) | ||
- [x] [to_timestamp_micros](./scalar_functions.md#to_timestamp_micros) | ||
- [x] [to_timestamp_seconds](./scalar_functions.md#to_timestamp_seconds) | ||
- [x] [extract](./scalar_functions.md#extract) | ||
- [x] [date_part](./scalar_functions.md#date_part) | ||
- nested functions | ||
- [x] Array of columns | ||
- [x] [String Functions](./scalar_functions.md#string-functions) | ||
- [x] [Conditional Functions](./scalar_functions.md#conditional-functions) | ||
- [x] [Time and Date Functions](./scalar_functions.md#time-and-date-functions) | ||
- [x] [Math Functions](./scalar_functions.md#math-functions) | ||
- [x] [Aggregate Functions](./aggregate_functions.md) (`SUM`, `MEDIAN`, and many more) | ||
- [x] Schema Queries | ||
- [x] SHOW TABLES | ||
- [x] SHOW COLUMNS FROM <table/view> | ||
- [x] SHOW CREATE TABLE <view> | ||
- [x] information_schema.{tables, columns, views} | ||
- [ ] information_schema other views | ||
- [x] Sorting | ||
- [ ] Nested types | ||
- [ ] Lists | ||
- [x] `SHOW TABLES` | ||
- [x] `SHOW COLUMNS FROM <table/view>` | ||
- [x] `SHOW CREATE TABLE <view>` | ||
- [x] Basic SQL [Information Schema](./information_schema.md) (`TABLES`, `VIEWS`, `COLUMNS`) | ||
- [ ] Full SQL [Information Schema](./information_schema.md) support | ||
- [x] Support for nested types (`ARRAY`/`LIST` and `STRUCT`)- see [Array Functions](./scalar_functions.md#array-functions) | ||
- [x] Nested types (`ARRAY`/`LIST` and `STRUCT`)- see [Array Functions](./scalar_functions.md#array-functions) | ||
- [x] Subqueries | ||
- [x] Common table expressions | ||
- [x] Set Operations | ||
- [x] UNION ALL | ||
- [x] UNION | ||
- [x] INTERSECT | ||
- [x] INTERSECT ALL | ||
- [x] EXCEPT | ||
- [x] EXCEPT ALL | ||
- [x] Joins | ||
- [x] INNER JOIN | ||
- [x] LEFT JOIN | ||
- [x] RIGHT JOIN | ||
- [x] FULL JOIN | ||
- [x] CROSS JOIN | ||
- [ ] Window | ||
- [x] Empty window | ||
- [x] Common window functions | ||
- [x] Window with PARTITION BY clause | ||
- [x] Window with ORDER BY clause | ||
- [ ] Window with FILTER clause | ||
- [ ] [Window with custom WINDOW FRAME](https://github.com/apache/arrow-datafusion/issues/361) | ||
- [ ] UDF and UDAF for window functions | ||
- [x] Common Table Expressions (CTE) | ||
- [x] Set Operations (`UNION [ALL]`, `INTERSECT [ALL]`, `EXCEPT[ALL]`) | ||
- [x] Joins (`INNER`, `LEFT`, `RIGHT`, `FULL`, `CROSS`) | ||
- [x] Window Functions | ||
- [x] Empty (`OVER()`) | ||
- [x] Partitioning and ordering: (`OVER(PARTITION BY <..> ORDER BY <..>)`) | ||
- [x] Custom Window (`ORDER BY time ROWS BETWEEN 2 PRECEDING AND 0 FOLLOWING)`) | ||
- [x] User Defined Window and Aggregate Functions | ||
|
||
## Runtime | ||
|
||
- [x] Streaming Grouping | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I am not sure if there are other features to highlight in the RUNTIME |
||
- [x] Streaming Window Evaluation | ||
- [x] Memory limits enforced | ||
- [x] Spilling (to disk) Sort | ||
- [ ] Spilling (to disk) Grouping | ||
- [ ] Spilling (to disk) Joins | ||
|
||
## Data Sources | ||
|
||
In addition to allowing arbitrary datasources via the `TableProvider` | ||
trait, DataFusion includes built in support for the following formats: | ||
|
||
- [x] CSV | ||
- [x] Parquet primitive types | ||
- [x] Parquet nested types | ||
- [x] Parquet (for all primitive and nested types) | ||
- [x] JSON | ||
- [x] Avro | ||
- [x] Arrow |
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure whether DF have fully supported it
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, you are right that the support is only partial - I'll see if I can find some way to make this clearer
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this better reflects the current status:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think good JSON support is very important for Datafusion to get more traction in the general community. SQL2023 has some good stuff about this (see here for a good summary.).
While we are on the SQL support/ease-of-use topic, this DuckDB page is also a good list of desiderata for us (some of these we implemented already).
I plan to actively talk about/promote Datafusion in various venues once we get into a state where these things "just work".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree.
It would be great to file tickets about these features -- I have found clearly written tickets with a "good first issue" often attracts contributions. If you have a chance to file the tickets that would be awesome, otherwise I will try and find time to do so
I think it is a balance -- part of the way we grow the DataFusion community (to get the resources to make it better) is to talk about it publically.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We will file tickets for these 👍