Skip to main content

SqlParserOptions

Struct SqlParserOptions 

Source
pub struct SqlParserOptions {
    pub parse_float_as_decimal: bool,
    pub enable_ident_normalization: bool,
    pub enable_options_value_normalization: bool,
    pub dialect: Dialect,
    pub support_varchar_with_length: bool,
    pub map_string_types_to_utf8view: bool,
    pub collect_spans: bool,
    pub recursion_limit: usize,
    pub default_null_ordering: String,
    pub enable_subquery_sort_elimination: bool,
}
Expand description

Options related to SQL parser

See also: SessionConfig

Fields§

§parse_float_as_decimal: bool

When set to true, SQL parser will parse float as decimal type

§enable_ident_normalization: bool

When set to true, SQL parser will normalize ident (convert ident to lowercase when not quoted)

§enable_options_value_normalization: bool

When set to true, SQL parser will normalize options value (convert value to lowercase). Note that this option is ignored and will be removed in the future. All case-insensitive values are normalized automatically.

§dialect: Dialect

Configure the SQL dialect used by DataFusion’s parser; supported values include: Generic, MySQL, PostgreSQL, Hive, SQLite, Snowflake, Redshift, MsSQL, ClickHouse, BigQuery, Ansi, DuckDB and Databricks.

§support_varchar_with_length: bool

If true, permit lengths for VARCHAR such as VARCHAR(20), but ignore the length. If false, error if a VARCHAR with a length is specified. The Arrow type system does not have a notion of maximum string length and thus DataFusion can not enforce such limits.

§map_string_types_to_utf8view: bool

If true, string types (VARCHAR, CHAR, Text, and String) are mapped to Utf8View during SQL planning. If false, they are mapped to Utf8. Default is true.

§collect_spans: bool

When set to true, the source locations relative to the original SQL query (i.e. Span) will be collected and recorded in the logical plan nodes.

§recursion_limit: usize

Specifies the recursion depth limit when parsing complex SQL Queries

§default_null_ordering: String

Specifies the default null ordering for query results. There are 4 options:

  • nulls_max: Nulls appear last in ascending order.
  • nulls_min: Nulls appear first in ascending order.
  • nulls_first: Nulls always be first in any order.
  • nulls_last: Nulls always be last in any order.

By default, nulls_max is used to follow Postgres’s behavior. postgres rule: https://www.postgresql.org/docs/current/queries-order.html

§enable_subquery_sort_elimination: bool

When set to true, DataFusion may remove ORDER BY clauses from subqueries or CTEs during SQL planning when their ordering cannot affect the result, such as when no LIMIT or other order-sensitive operator depends on them.

Disable this option to preserve explicit subquery ordering in the planned query.

Trait Implementations§

Source§

impl Clone for SqlParserOptions

Source§

fn clone(&self) -> SqlParserOptions

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl ConfigField for SqlParserOptions

Source§

fn set(&mut self, key: &str, value: &str) -> Result<()>

Source§

fn visit<V: Visit>( &self, v: &mut V, key_prefix: &str, _description: &'static str, )

Source§

fn reset(&mut self, key: &str) -> Result<()>

Source§

impl Debug for SqlParserOptions

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for SqlParserOptions

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl PartialEq for SqlParserOptions

Source§

fn eq(&self, other: &SqlParserOptions) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for SqlParserOptions

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Allocation for T
where T: RefUnwindSafe + Send + Sync,

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.