pub struct Dialect {
Show 20 fields pub quote_style: char, pub binary_ops: HashSet<Operator>, pub binary_op_transforms: HashMap<Operator, Arc<dyn BinaryOperatorTransformer>>, pub scalar_functions: HashSet<String>, pub aggregate_functions: HashSet<String>, pub window_functions: HashSet<String>, pub scalar_transformers: HashMap<String, Arc<dyn FunctionTransformer>>, pub aggregate_transformers: HashMap<String, Arc<dyn FunctionTransformer>>, pub values_mode: ValuesMode, pub supports_null_ordering: bool, pub impute_fully_qualified: bool, pub joinaggregate_fully_qualified: bool, pub supports_bounded_window_frames: bool, pub supports_window_frame_groups: bool, pub supports_frames_in_navigation_window_functions: bool, pub supports_frames_in_numbering_window_functions: bool, pub cast_datatypes: HashMap<DataType, SqlDataType>, pub cast_transformers: HashMap<(DataType, DataType), Arc<dyn CastTransformer>>, pub cast_propagates_null: bool, pub supports_non_finite_floats: bool, /* private fields */
}

Fields§

§quote_style: char

The starting quote if any. Valid quote characters are the single quote, double quote, backtick, and opening square bracket.

§binary_ops: HashSet<Operator>

Supported binary operators

§binary_op_transforms: HashMap<Operator, Arc<dyn BinaryOperatorTransformer>>

Transforms for binary operators

§scalar_functions: HashSet<String>

Names of supported scalar functions that match the semantics of the DataFusion implementation

§aggregate_functions: HashSet<String>

Names of supported aggregate functions that match the semantics of the DataFusion implementation

§window_functions: HashSet<String>

Names of supported window functions that match the semantics of the DataFusion implementation

§scalar_transformers: HashMap<String, Arc<dyn FunctionTransformer>>

Scalar function transformations

§aggregate_transformers: HashMap<String, Arc<dyn FunctionTransformer>>

Aggregate function transformations

§values_mode: ValuesMode

Implementation mode for inline VALUES

§supports_null_ordering: bool

Whether NULLS FIRST, NULLS LAST is supported in ORDER BY

§impute_fully_qualified: bool

Whether to use fully qualified table.column expressions when referencing nested queries in impute queries

§joinaggregate_fully_qualified: bool

Whether to use fully qualified table.column expressions when referencing nested queries in joinaggregate queries

§supports_bounded_window_frames: bool

Whether dialect supports the use of bounded window frames

§supports_window_frame_groups: bool

Whether dialect supports the GROUPS option to window frames

§supports_frames_in_navigation_window_functions: bool

Whether dialect supports the use of explicit window frames for navigation window functions (first_value, last_value, nth_value)

§supports_frames_in_numbering_window_functions: bool

Whether dialect supports the use of explicit window frames for numbering window functions (row_number, rank, etc)

§cast_datatypes: HashMap<DataType, SqlDataType>

Mapping from Arrow DataTypes to SqlParser DataTypes for dialect

§cast_transformers: HashMap<(DataType, DataType), Arc<dyn CastTransformer>>

Cast expression transformations between particular data types

§cast_propagates_null: bool

Whether dialect supports null values in cast expressions

§supports_non_finite_floats: bool

Whether dialect supports -inf, nan, and inf float values. If false, non-finite values are converted to NULL

Implementations§

source§

impl Dialect

source

pub fn parser_dialect(&self) -> Arc<dyn SqlParserDialect>

source

pub fn athena() -> Self

source

pub fn bigquery() -> Self

source

pub fn clickhouse() -> Self

source

pub fn databricks() -> Self

source

pub fn datafusion() -> Self

source

pub fn duckdb() -> Self

source

pub fn mysql() -> Self

source

pub fn postgres() -> Self

source

pub fn redshift() -> Self

source

pub fn snowflake() -> Self

Trait Implementations§

source§

impl Clone for Dialect

source§

fn clone(&self) -> Dialect

Returns a copy of the value. Read more
1.0.0 · source§

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

Performs copy-assignment from source. Read more
source§

impl Debug for Dialect

source§

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

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

impl Default for Dialect

source§

fn default() -> Self

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

impl FromStr for Dialect

§

type Err = VegaFusionError

The associated error which can be returned from parsing.
source§

fn from_str(s: &str) -> Result<Self>

Parses a string s to return a value of this type. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

const: unstable · source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

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

const: unstable · 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 Twhere T: Clone,

§

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 Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
source§

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

§

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

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.