This is an automated email from the ASF dual-hosted git repository.
alamb pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow-datafusion.git
The following commit(s) were added to refs/heads/main by this push:
new e95a24b5a2 Minor: Improve crate docs (#7740)
e95a24b5a2 is described below
commit e95a24b5a260e0e2f603d52682d36cce192676f8
Author: Andrew Lamb <[email protected]>
AuthorDate: Thu Oct 5 14:07:08 2023 -0400
Minor: Improve crate docs (#7740)
* Minor: Improve crate docs
* fix links
---
datafusion/core/src/lib.rs | 22 ++++++++++++----------
1 file changed, 12 insertions(+), 10 deletions(-)
diff --git a/datafusion/core/src/lib.rs b/datafusion/core/src/lib.rs
index 576f66a5ed..5e9f130ead 100644
--- a/datafusion/core/src/lib.rs
+++ b/datafusion/core/src/lib.rs
@@ -132,18 +132,19 @@
//!
//! ## Customization and Extension
//!
-//! DataFusion is designed to be a "disaggregated" query engine. This
-//! means that developers can mix and extend the parts of DataFusion
-//! they need for their usecase. For example, just the
-//! [`ExecutionPlan`] operators, or the [`SqlToRel`] SQL planner and
-//! optimizer.
+//! DataFusion is a "disaggregated" query engine. This
+//! means developers can start with a working, full featured engine, and then
+//! extend the parts of DataFusion they need to specialize for their usecase.
For example,
+//! some projects may add custom [`ExecutionPlan`] operators, or create their
own
+//! query language that directly creates [`LogicalPlan`] rather than using the
+//! built in SQL planner, [`SqlToRel`].
//!
//! In order to achieve this, DataFusion supports extension at many points:
//!
//! * read from any datasource ([`TableProvider`])
//! * define your own catalogs, schemas, and table lists ([`CatalogProvider`])
-//! * build your own query langue or plans using the ([`LogicalPlanBuilder`])
-//! * declare and use user-defined functions: ([`ScalarUDF`], and
[`AggregateUDF`])
+//! * build your own query language or plans ([`LogicalPlanBuilder`])
+//! * declare and use user-defined functions ([`ScalarUDF`], and
[`AggregateUDF`], [`WindowUDF`])
//! * add custom optimizer rewrite passes ([`OptimizerRule`] and
[`PhysicalOptimizerRule`])
//! * extend the planner to use user-defined logical and physical nodes
([`QueryPlanner`])
//!
@@ -152,8 +153,9 @@
//! [`TableProvider`]: crate::datasource::TableProvider
//! [`CatalogProvider`]: crate::catalog::CatalogProvider
//! [`LogicalPlanBuilder`]:
datafusion_expr::logical_plan::builder::LogicalPlanBuilder
-//! [`ScalarUDF`]: physical_plan::udf::ScalarUDF
-//! [`AggregateUDF`]: physical_plan::udaf::AggregateUDF
+//! [`ScalarUDF`]: crate::logical_expr::ScalarUDF
+//! [`AggregateUDF`]: crate::logical_expr::AggregateUDF
+//! [`WindowUDF`]: crate::logical_expr::WindowUDF
//! [`QueryPlanner`]: execution::context::QueryPlanner
//! [`OptimizerRule`]: datafusion_optimizer::optimizer::OptimizerRule
//! [`PhysicalOptimizerRule`]:
crate::physical_optimizer::optimizer::PhysicalOptimizerRule
@@ -279,7 +281,7 @@
//! [`MemTable`]: crate::datasource::memory::MemTable
//! [`StreamingTable`]: crate::datasource::streaming::StreamingTable
//!
-//! ## Plans
+//! ## Plan Representations
//!
//! Logical planning yields [`LogicalPlan`]s nodes and [`Expr`]
//! expressions which are [`Schema`] aware and represent statements