Struct datafusion_sql::parser::DFParser
source · pub struct DFParser<'a> { /* private fields */ }
Expand description
Datafusion SQL Parser based on sqlparser
Parses DataFusion’s SQL dialect, often delegating to sqlparser
’s
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
Implementations§
source§impl<'a> DFParser<'a>
impl<'a> DFParser<'a>
sourcepub fn new(sql: &str) -> Result<Self, ParserError>
pub fn new(sql: &str) -> Result<Self, ParserError>
Create a new parser for the specified tokens using the
GenericDialect
.
sourcepub fn new_with_dialect(
sql: &str,
dialect: &'a dyn Dialect
) -> Result<Self, ParserError>
pub fn new_with_dialect( sql: &str, dialect: &'a dyn Dialect ) -> Result<Self, ParserError>
Create a new parser for the specified tokens with the specified dialect.
sourcepub fn parse_sql(sql: &str) -> Result<VecDeque<Statement>, ParserError>
pub fn parse_sql(sql: &str) -> Result<VecDeque<Statement>, ParserError>
Parse a sql string into one or Statement
s using the
GenericDialect
.
sourcepub fn parse_sql_with_dialect(
sql: &str,
dialect: &dyn Dialect
) -> Result<VecDeque<Statement>, ParserError>
pub fn parse_sql_with_dialect( sql: &str, dialect: &dyn Dialect ) -> Result<VecDeque<Statement>, ParserError>
Parse a SQL string and produce one or more Statement
s with
with the specified dialect.
sourcepub fn parse_statement(&mut self) -> Result<Statement, ParserError>
pub fn parse_statement(&mut self) -> Result<Statement, ParserError>
Parse a new expression
sourcepub fn parse_describe(&mut self) -> Result<Statement, ParserError>
pub fn parse_describe(&mut self) -> Result<Statement, ParserError>
Parse a SQL DESCRIBE
statement
sourcepub fn parse_copy(&mut self) -> Result<Statement, ParserError>
pub fn parse_copy(&mut self) -> Result<Statement, ParserError>
Parse a SQL COPY TO
statement
sourcepub fn parse_option_key(&mut self) -> Result<String, ParserError>
pub fn parse_option_key(&mut self) -> Result<String, ParserError>
Parse the next token as a key name for an option list
Note this is different than parse_literal_string
because it allows keywords as well as other non words
sourcepub fn parse_option_value(&mut self) -> Result<Value, ParserError>
pub fn parse_option_value(&mut self) -> Result<Value, ParserError>
Parse the next token as a value for an option list
Note this is different than parse_value
as it allows any
word or keyword in this location.
sourcepub fn parse_explain(&mut self) -> Result<Statement, ParserError>
pub fn parse_explain(&mut self) -> Result<Statement, ParserError>
Parse a SQL EXPLAIN
sourcepub fn parse_create(&mut self) -> Result<Statement, ParserError>
pub fn parse_create(&mut self) -> Result<Statement, ParserError>
Parse a SQL CREATE
statement handling CREATE EXTERNAL TABLE
sourcepub fn parse_order_by_exprs(&mut self) -> Result<Vec<OrderByExpr>, ParserError>
pub fn parse_order_by_exprs(&mut self) -> Result<Vec<OrderByExpr>, ParserError>
Parse the ordering clause of a CREATE EXTERNAL TABLE
SQL statement
sourcepub fn parse_order_by_expr(&mut self) -> Result<OrderByExpr, ParserError>
pub fn parse_order_by_expr(&mut self) -> Result<OrderByExpr, ParserError>
Parse an ORDER BY sub-expression optionally followed by ASC or DESC.