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 f7e784cbba Minor: Improve doc comments to datafusion-sql (#7318)
f7e784cbba is described below
commit f7e784cbba00040d56e3ac5f257b4412bc2252da
Author: Andrew Lamb <[email protected]>
AuthorDate: Fri Aug 18 09:30:11 2023 -0400
Minor: Improve doc comments to datafusion-sql (#7318)
* Minor: Improve doc comments to datafusion-sql
* Update datafusion/sql/src/lib.rs
Co-authored-by: Liang-Chi Hsieh <[email protected]>
---------
Co-authored-by: Liang-Chi Hsieh <[email protected]>
---
datafusion/sql/src/lib.rs | 14 ++++++++++++--
datafusion/sql/src/parser.rs | 19 ++++++++++++++-----
datafusion/sql/src/planner.rs | 2 +-
3 files changed, 27 insertions(+), 8 deletions(-)
diff --git a/datafusion/sql/src/lib.rs b/datafusion/sql/src/lib.rs
index c0c1a4ac91..d805f61397 100644
--- a/datafusion/sql/src/lib.rs
+++ b/datafusion/sql/src/lib.rs
@@ -15,8 +15,18 @@
// specific language governing permissions and limitations
// under the License.
-//! This module provides a SQL parser that translates SQL queries into an
abstract syntax
-//! tree (AST), and a SQL query planner that creates a logical plan from the
AST.
+//! This module provides:
+//!
+//! 1. A SQL parser, [`DFParser`], that translates SQL query text into
+//! an abstract syntax tree (AST), [`Statement`].
+//!
+//! 2. A SQL query planner [`SqlToRel`] that creates [`LogicalPlan`]s
+//! from [`Statement`]s.
+//!
+//! [`DFParser`]: parser::DFParser
+//! [`Statement`]: parser::Statement
+//! [`SqlToRel`]: planner::SqlToRel
+//! [`LogicalPlan`]: datafusion_expr::logical_plan::LogicalPlan
mod expr;
pub mod parser;
diff --git a/datafusion/sql/src/parser.rs b/datafusion/sql/src/parser.rs
index 6bd6ffded2..0d2d601a68 100644
--- a/datafusion/sql/src/parser.rs
+++ b/datafusion/sql/src/parser.rs
@@ -15,7 +15,7 @@
// specific language governing permissions and limitations
// under the License.
-//! DataFusion SQL Parser based on [`sqlparser`]
+//! [`DFParser`]: DataFusion SQL Parser based on [`sqlparser`]
use datafusion_common::parsers::CompressionTypeVariant;
use sqlparser::ast::{OrderByExpr, Query, Value};
@@ -191,9 +191,13 @@ pub struct DescribeTableStmt {
pub table_name: ObjectName,
}
-/// DataFusion Statement representations.
+/// DataFusion SQL Statement.
///
-/// Tokens parsed by [`DFParser`] are converted into these values.
+/// This can either be a [`Statement`] from [`sqlparser`] from a
+/// standard SQL dialect, or a DataFusion extension such as `CREATE
+/// EXTERAL TABLE`. See [`DFParser`] for more information.
+///
+/// [`Statement`]: sqlparser::ast::Statement
#[derive(Debug, Clone, PartialEq, Eq)]
pub enum Statement {
/// ANSI SQL AST node (from sqlparser-rs)
@@ -219,8 +223,13 @@ impl fmt::Display for Statement {
/// DataFusion SQL Parser based on [`sqlparser`]
///
-/// This parser handles DataFusion specific statements, delegating to
-/// [`Parser`](sqlparser::parser::Parser) for other SQL statements.
+/// Parses DataFusion's SQL dialect, often delegating to [`sqlparser`]'s
+/// [`Parser`](sqlparser::parser::Parser).
+///
+/// DataFusion mostly follows existing SQL dialects via
+/// `sqlparser`. However, certain statements such as `COPY` and
+/// `CREATE EXTERNAL TABLE` have special syntax in DataFusion. See
+/// [`Statement`] for a list of this special syntax
pub struct DFParser<'a> {
parser: Parser<'a>,
}
diff --git a/datafusion/sql/src/planner.rs b/datafusion/sql/src/planner.rs
index 1bf1ffbaef..bda6a3d40f 100644
--- a/datafusion/sql/src/planner.rs
+++ b/datafusion/sql/src/planner.rs
@@ -15,7 +15,7 @@
// specific language governing permissions and limitations
// under the License.
-//! SQL Query Planner (produces logical plan from SQL AST)
+//! [`SqlToRel`]: SQL Query Planner (produces [`LogicalPlan`] from SQL AST)
use std::collections::HashMap;
use std::sync::Arc;
use std::vec;