Struct sqlparser::dialect::MsSqlDialect
source · pub struct MsSqlDialect {}
Expand description
A Dialect
for Microsoft SQL Server
Trait Implementations§
source§impl Debug for MsSqlDialect
impl Debug for MsSqlDialect
source§impl Dialect for MsSqlDialect
impl Dialect for MsSqlDialect
source§fn convert_type_before_value(&self) -> bool
fn convert_type_before_value(&self) -> bool
SQL Server has CONVERT(type, value)
instead of CONVERT(value, type)
https://learn.microsoft.com/en-us/sql/t-sql/functions/cast-and-convert-transact-sql?view=sql-server-ver16
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_connect_by(&self) -> bool
fn supports_connect_by(&self) -> bool
Returns true if the dialect supports CONNECT BY.
source§fn identifier_quote_style(&self, _identifier: &str) -> Option<char>
fn identifier_quote_style(&self, _identifier: &str) -> Option<char>
Return the character used to quote identifiers.
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 is_custom_operator_part(&self, _ch: char) -> bool
fn is_custom_operator_part(&self, _ch: char) -> bool
Most dialects do not have custom operators. Override this method to provide custom operators.
source§fn supports_string_literal_backslash_escape(&self) -> bool
fn supports_string_literal_backslash_escape(&self) -> bool
Determine if the dialect supports escaping characters via ’' in string literals. Read more
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_window_clause_named_window_reference(&self) -> bool
fn supports_window_clause_named_window_reference(&self) -> bool
Returns true if the dialect supports referencing another named window
within a window clause declaration. Read more
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. ANSI
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 supports_match_recognize(&self) -> bool
fn supports_match_recognize(&self) -> bool
Returns true if the dialect supports the MATCH_RECOGNIZE operation.
source§fn supports_in_empty_list(&self) -> bool
fn supports_in_empty_list(&self) -> bool
Returns true if the dialect supports
(NOT) IN ()
expressionssource§fn supports_start_transaction_modifier(&self) -> bool
fn supports_start_transaction_modifier(&self) -> bool
Returns true if the dialect supports
BEGIN {DEFERRED | IMMEDIATE | EXCLUSIVE} [TRANSACTION]
statementssource§fn supports_named_fn_args_with_eq_operator(&self) -> bool
fn supports_named_fn_args_with_eq_operator(&self) -> bool
Returns true if the dialect supports named arguments of the form FUN(a = ‘1’, b = ‘2’).
source§fn supports_numeric_prefix(&self) -> bool
fn supports_numeric_prefix(&self) -> bool
Returns true if the dialect supports identifiers starting with a numeric
prefix such as tables named:
59901_user_login
source§fn supports_window_function_null_treatment_arg(&self) -> bool
fn supports_window_function_null_treatment_arg(&self) -> bool
Returns true if the dialects supports specifying null treatment
as part of a window function’s parameter list. As opposed
to after the parameter list.
i.e The following syntax returns true Read more
source§fn supports_dictionary_syntax(&self) -> bool
fn supports_dictionary_syntax(&self) -> bool
Returns true if the dialect supports defining structs or objects using a
syntax like
{'x': 1, 'y': 2, 'z': 3}
.source§fn support_map_literal_syntax(&self) -> bool
fn support_map_literal_syntax(&self) -> bool
Returns true if the dialect supports defining object using the
syntax like
Map {1: 10, 2: 20}
.source§fn supports_lambda_functions(&self) -> bool
fn supports_lambda_functions(&self) -> bool
Returns true if the dialect supports lambda functions, for example: Read more
source§fn supports_parenthesized_set_variables(&self) -> bool
fn supports_parenthesized_set_variables(&self) -> bool
Returns true if the dialect supports multiple variable assignment
using parentheses in a
SET
variable declaration. Read moresource§fn supports_select_wildcard_except(&self) -> bool
fn supports_select_wildcard_except(&self) -> bool
Returns true if the dialect supports an
EXCEPT
clause following a
wildcard in a select list. Read moresource§fn supports_triple_quoted_string(&self) -> bool
fn supports_triple_quoted_string(&self) -> bool
Returns true if the dialect supports triple quoted string
e.g.
"""abc"""
source§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 supports_trailing_commas(&self) -> bool
fn supports_trailing_commas(&self) -> bool
Does the dialect support trailing commas around the query?
source§fn supports_projection_trailing_commas(&self) -> bool
fn supports_projection_trailing_commas(&self) -> bool
Does the dialect support trailing commas in the projection list?
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 MsSqlDialect
impl RefUnwindSafe for MsSqlDialect
impl Send for MsSqlDialect
impl Sync for MsSqlDialect
impl Unpin for MsSqlDialect
impl UnwindSafe for MsSqlDialect
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