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

Update features / status documentation page #14645

Merged
merged 2 commits into from
Feb 14, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions datafusion/core/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -920,6 +920,12 @@ doc_comment::doctest!(
user_guide_cli_usage
);

#[cfg(doctest)]
doc_comment::doctest!(
"../../../docs/source/user-guide/features.md",
user_guide_features
);

#[cfg(doctest)]
doc_comment::doctest!(
"../../../docs/source/user-guide/sql/aggregate_functions.md",
Expand Down Expand Up @@ -980,12 +986,6 @@ doc_comment::doctest!(
user_guide_sql_special_functions
);

#[cfg(doctest)]
doc_comment::doctest!(
"../../../docs/source/user-guide/sql/sql_status.md",
user_guide_sql_status
);

#[cfg(doctest)]
doc_comment::doctest!(
"../../../docs/source/user-guide/sql/subqueries.md",
Expand Down
1 change: 1 addition & 0 deletions docs/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,7 @@ To get started, see

user-guide/introduction
user-guide/example-usage
user-guide/features
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

moved it out fro under SQL to main features page

user-guide/concepts-readings-events
user-guide/crate-configuration
user-guide/cli/index
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,23 +17,28 @@
under the License.
-->

# Status
# Features

## General

- [x] SQL Parser
- [x] SQL Query Planner
- [x] DataFrame API
- [x] Parallel query execution
- [x] Streaming Execution

## Optimizations

- [x] Query Optimizer
- [x] Constant folding
- [x] Join Reordering
- [x] Limit Pushdown
- [x] Projection push down
- [x] Predicate push down
- [x] Type coercion
- [x] Parallel query execution

## SQL Support

- [x] Type coercion
- [x] Projection (`SELECT`)
- [x] Filter (`WHERE`)
- [x] Filter post-aggregate (`HAVING`)
Expand All @@ -42,23 +47,23 @@
- [x] Aggregate (`GROUP BY`)
- [x] cast /try_cast
- [x] [`VALUES` lists](https://www.postgresql.org/docs/current/queries-values.html)
- [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] [String Functions](./sql/scalar_functions.md#string-functions)
- [x] [Conditional Functions](./sql/scalar_functions.md#conditional-functions)
- [x] [Time and Date Functions](./sql/scalar_functions.md#time-and-date-functions)
- [x] [Math Functions](./sql/scalar_functions.md#math-functions)
- [x] [Aggregate Functions](./sql/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] Basic SQL [Information Schema](./information_schema.md) (`TABLES`, `VIEWS`, `COLUMNS`)
- [ ] Full SQL [Information Schema](./information_schema.md) support
- [ ] Support for nested types (`ARRAY`/`LIST` and `STRUCT`. See [#2326](https://github.com/apache/datafusion/issues/2326) for details)
- [x] Basic SQL [Information Schema](./sql/information_schema.md) (`TABLES`, `VIEWS`, `COLUMNS`)
- [ ] Full SQL [Information Schema](./sql/information_schema.md) support
- [x] Support for nested types (`ARRAY`/`LIST` and `STRUCT`.
- [x] Read support
- [x] Write support
- [x] Field access (`col['field']` and [`col[1]`])
- [x] [Array Functions](./scalar_functions.md#array-functions)
- [ ] [Struct Functions](./scalar_functions.md#struct-functions)
- [x] [Array Functions](./sql/scalar_functions.md#array-functions)
- [x] [Struct Functions](./sql/scalar_functions.md#struct-functions)
- [x] `struct`
- [ ] [Postgres JSON operators](https://github.com/apache/datafusion/issues/6631) (`->`, `->>`, etc.)
- [x] Subqueries
Expand All @@ -73,12 +78,12 @@
- [x] Catalogs
- [x] Schemas (`CREATE / DROP SCHEMA`)
- [x] Tables (`CREATE / DROP TABLE`, `CREATE TABLE AS SELECT`)
- [ ] Data Insert
- [x] Data Insert
- [x] `INSERT INTO`
- [ ] `COPY .. INTO ..`
- [x] `COPY .. INTO ..`
- [x] CSV
- [ ] JSON
- [ ] Parquet
- [x] JSON
- [x] Parquet
- [ ] Avro

## Runtime
Expand All @@ -87,16 +92,22 @@
- [x] Streaming Window Evaluation
- [x] Memory limits enforced
- [x] Spilling (to disk) Sort
- [ ] Spilling (to disk) Grouping
- [x] Spilling (to disk) Grouping
- [ ] Spilling (to disk) Joins

## Data Sources

In addition to allowing arbitrary datasources via the `TableProvider`
In addition to allowing arbitrary datasources via the [`TableProvider`]
trait, DataFusion includes built in support for the following formats:

- [x] CSV
- [x] Parquet (for all primitive and nested types)
- [x] Parquet
- [x] Primitive and Nested Types
- [x] Row Group and Data Page pruning on min/max statistics
- [x] Row Group pruning on Bloom Filters
- [x] Predicate push down (late materialization) [not by default](https://github.com/apache/datafusion/issues/3463)
- [x] JSON
- [x] Avro
- [x] Arrow

[`tableprovider`]: https://docs.rs/datafusion/latest/datafusion/catalog/trait.TableProvider.html
1 change: 0 additions & 1 deletion docs/source/user-guide/sql/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -33,5 +33,4 @@ SQL Reference
window_functions
scalar_functions
special_functions
sql_status
write_options
Loading