pub struct GenericDialect;Expand description
A permissive, general purpose Dialect, which parses a wide variety of SQL
statements, from many different dialects.
Trait Implementations§
Source§impl Debug for GenericDialect
 
impl Debug for GenericDialect
Source§impl Default for GenericDialect
 
impl Default for GenericDialect
Source§fn default() -> GenericDialect
 
fn default() -> GenericDialect
Returns the “default value” for a type. Read more
Source§impl Dialect for GenericDialect
 
impl Dialect for GenericDialect
Source§fn is_delimited_identifier_start(&self, ch: char) -> bool
 
fn is_delimited_identifier_start(&self, ch: char) -> bool
Determine if a character starts a quoted identifier. The default
implementation, accepting “double quoted” ids is both ANSI-compliant
and appropriate for most dialects (with the notable exception of
MySQL, MS SQL, and sqlite). You can accept one of characters listed
in 
Word::matching_end_quote hereSource§fn is_identifier_start(&self, ch: char) -> bool
 
fn is_identifier_start(&self, ch: char) -> bool
Determine if a character is a valid start character for an unquoted identifier
Source§fn is_identifier_part(&self, ch: char) -> bool
 
fn is_identifier_part(&self, ch: char) -> bool
Determine if a character is a valid unquoted identifier character
Source§fn supports_group_by_expr(&self) -> bool
 
fn supports_group_by_expr(&self) -> bool
Returns true if the dialects supports 
group sets, roll up, or cube expressions.Source§fn is_proper_identifier_inside_quotes(
    &self,
    _chars: Peekable<Chars<'_>>,
) -> bool
 
fn is_proper_identifier_inside_quotes( &self, _chars: Peekable<Chars<'_>>, ) -> bool
Determine if quoted characters are proper for identifier
Source§fn supports_filter_during_aggregation(&self) -> bool
 
fn supports_filter_during_aggregation(&self) -> bool
Does the dialect support 
FILTER (WHERE expr) for aggregate queries?Source§fn supports_within_after_array_aggregation(&self) -> bool
 
fn supports_within_after_array_aggregation(&self) -> bool
Returns true if the dialect supports 
ARRAY_AGG() [WITHIN GROUP (ORDER BY)] expressions.
Otherwise, the dialect should expect an ORDER BY without the WITHIN GROUP clause, e.g. ANSISource§fn supports_substring_from_for_expr(&self) -> bool
 
fn supports_substring_from_for_expr(&self) -> bool
Returns true if the dialect supports 
SUBSTRING(expr [FROM start] [FOR len]) expressionsSource§fn supports_in_empty_list(&self) -> bool
 
fn supports_in_empty_list(&self) -> bool
Returns true if the dialect supports 
(NOT) IN () expressionsSource§fn parse_prefix(
    &self,
    _parser: &mut Parser<'_>,
) -> Option<Result<Expr, ParserError>>
 
fn parse_prefix( &self, _parser: &mut Parser<'_>, ) -> Option<Result<Expr, ParserError>>
Dialect-specific prefix parser override
Source§fn parse_infix(
    &self,
    _parser: &mut Parser<'_>,
    _expr: &Expr,
    _precedence: u8,
) -> Option<Result<Expr, ParserError>>
 
fn parse_infix( &self, _parser: &mut Parser<'_>, _expr: &Expr, _precedence: u8, ) -> Option<Result<Expr, ParserError>>
Dialect-specific infix parser override
Source§fn get_next_precedence(
    &self,
    _parser: &Parser<'_>,
) -> Option<Result<u8, ParserError>>
 
fn get_next_precedence( &self, _parser: &Parser<'_>, ) -> Option<Result<u8, ParserError>>
Dialect-specific precedence override
Source§fn parse_statement(
    &self,
    _parser: &mut Parser<'_>,
) -> Option<Result<Statement, ParserError>>
 
fn parse_statement( &self, _parser: &mut Parser<'_>, ) -> Option<Result<Statement, ParserError>>
Dialect-specific statement parser override
Auto Trait Implementations§
impl Freeze for GenericDialect
impl RefUnwindSafe for GenericDialect
impl Send for GenericDialect
impl Sync for GenericDialect
impl Unpin for GenericDialect
impl UnwindSafe for GenericDialect
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
 
impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
 
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more