diff --git a/docs/source/library-user-guide/building-logical-plans.md b/docs/source/library-user-guide/building-logical-plans.md index 05b1ae3cddc3..9dc0fcbf3157 100644 --- a/docs/source/library-user-guide/building-logical-plans.md +++ b/docs/source/library-user-guide/building-logical-plans.md @@ -153,9 +153,9 @@ Filter: person.id > Int32(500) [id:Int32;N, name:Utf8;N] Logical plans can not be directly executed. They must be "compiled" into an [`ExecutionPlan`], which is often referred to as a "physical plan". -Compared to `LogicalPlan`s `ExecutionPlans` have many more details such as -specific algorithms and detailed optimizations compared to. Given a -`LogicalPlan` the easiest way to create an `ExecutionPlan` is using +Compared to `LogicalPlan`s, `ExecutionPlan`s have many more details such as +specific algorithms and detailed optimizations. Given a +`LogicalPlan`, the easiest way to create an `ExecutionPlan` is using [`SessionState::create_physical_plan`] as shown below ```rust diff --git a/docs/source/library-user-guide/working-with-exprs.md b/docs/source/library-user-guide/working-with-exprs.md index 634e3fea5502..bdcaaeae0a6e 100644 --- a/docs/source/library-user-guide/working-with-exprs.md +++ b/docs/source/library-user-guide/working-with-exprs.md @@ -52,13 +52,13 @@ As the writer of a library, you can use `Expr`s to represent computations that y ## Arrow Schema and DataFusion DFSchema -Apache Arrow `Schema` provides a lightweight structure for defining data, and Apache Datafusion`DFSchema` extends it with extra information such as column qualifiers and functional dependencies. Column qualifiers are multi part path to the table e.g table, schema, catalog. Functional Dependency is the relationship between attributes(characteristics) of a table related to each other. +Apache Arrow `Schema` provides a lightweight structure for defining data, and Apache Datafusion `DFSchema` extends it with extra information such as column qualifiers and functional dependencies. Column qualifiers are multi part path to the table e.g table, schema, catalog. Functional Dependency is the relationship between attributes(characteristics) of a table related to each other. ### Difference between Schema and DFSchema - Schema: A fundamental component of Apache Arrow, `Schema` defines a dataset's structure, specifying column names and their data types. - > Please see [Struct Schema](https://docs.rs/arrow-schema/54.2.1/arrow_schema/struct.Schema.html) for a detailed document of Arrow Schema. + > Please see [Struct Schema](https://docs.rs/arrow-schema/latest/arrow_schema/struct.Schema.html) for a detailed document of Arrow Schema. - DFSchema: Extending `Schema`, `DFSchema` incorporates qualifiers such as table names, enabling it to carry additional context when required. This is particularly valuable for managing queries across multiple tables. > Please see [Struct DFSchema](https://docs.rs/datafusion/latest/datafusion/common/struct.DFSchema.html) for a detailed document of DFSchema. @@ -121,7 +121,7 @@ If you'd like to learn more about `Expr`s, before we get into the details of cre ## Rewriting `Expr`s -There are several examples of rewriting and working with `Exprs`: +There are several examples of rewriting and working with `Expr`s: - [expr_api.rs](https://github.com/apache/datafusion/blob/main/datafusion-examples/examples/expr_api.rs) - [analyzer_rule.rs](https://github.com/apache/datafusion/blob/main/datafusion-examples/examples/analyzer_rule.rs) @@ -162,7 +162,7 @@ fn rewrite_add_one(expr: Expr) -> Result> { ### Creating an `OptimizerRule` -In DataFusion, an `OptimizerRule` is a trait that supports rewriting`Expr`s that appear in various parts of the `LogicalPlan`. It follows DataFusion's general mantra of trait implementations to drive behavior. +In DataFusion, an `OptimizerRule` is a trait that supports rewriting `Expr`s that appear in various parts of the `LogicalPlan`. It follows DataFusion's general mantra of trait implementations to drive behavior. We'll call our rule `AddOneInliner` and implement the `OptimizerRule` trait. The `OptimizerRule` trait has two methods: