Files
greptimedb/sql/dialect/trait.Dialect.html
2025-12-26 12:07:31 +00:00

505 lines
128 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Encapsulates the differences between SQL implementations."><title>Dialect in sql::dialect - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../static.files/rustdoc-e56847b5.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="sql" data-themes="" data-resource-suffix="" data-rustdoc-version="1.92.0-nightly (fa3155a64 2025-09-30)" data-channel="nightly" data-search-js="search-e256b49e.js" data-stringdex-js="stringdex-828709d0.js" data-settings-js="settings-c38705f0.js" ><script src="../../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-ce535bd0.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-044be391.svg"></head><body class="rustdoc trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">Dialect</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../sql/index.html">sql</a><span class="version">1.0.0-beta.3</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Dialect</a></h2><h3><a href="#">Sections</a></h3><ul class="block top-toc"><li><a href="#sql-dialects" title="SQL Dialects">SQL Dialects</a></li><li><a href="#examples" title="Examples">Examples</a></li></ul><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.is_identifier_part" title="is_identifier_part">is_identifier_part</a></li><li><a href="#tymethod.is_identifier_start" title="is_identifier_start">is_identifier_start</a></li></ul><h3><a href="#provided-methods">Provided Methods</a></h3><ul class="block"><li><a href="#method.allow_extract_custom" title="allow_extract_custom">allow_extract_custom</a></li><li><a href="#method.allow_extract_single_quotes" title="allow_extract_single_quotes">allow_extract_single_quotes</a></li><li><a href="#method.convert_type_before_value" title="convert_type_before_value">convert_type_before_value</a></li><li><a href="#method.describe_requires_table_keyword" title="describe_requires_table_keyword">describe_requires_table_keyword</a></li><li><a href="#method.dialect" title="dialect">dialect</a></li><li><a href="#method.get_next_precedence" title="get_next_precedence">get_next_precedence</a></li><li><a href="#method.get_next_precedence_default" title="get_next_precedence_default">get_next_precedence_default</a></li><li><a href="#method.get_reserved_grantees_types" title="get_reserved_grantees_types">get_reserved_grantees_types</a></li><li><a href="#method.get_reserved_keywords_for_select_item_operator" title="get_reserved_keywords_for_select_item_operator">get_reserved_keywords_for_select_item_operator</a></li><li><a href="#method.get_reserved_keywords_for_table_factor" title="get_reserved_keywords_for_table_factor">get_reserved_keywords_for_table_factor</a></li><li><a href="#method.identifier_quote_style" title="identifier_quote_style">identifier_quote_style</a></li><li><a href="#method.ignores_wildcard_escapes" title="ignores_wildcard_escapes">ignores_wildcard_escapes</a></li><li><a href="#method.is_column_alias" title="is_column_alias">is_column_alias</a></li><li><a href="#method.is_custom_operator_part" title="is_custom_operator_part">is_custom_operator_part</a></li><li><a href="#method.is_delimited_identifier_start" title="is_delimited_identifier_start">is_delimited_identifier_start</a></li><li><a href="#method.is_identifier_generating_function_name" title="is_identifier_generating_function_name">is_identifier_generating_function_name</a></li><li><a href="#method.is_nested_delimited_identifier_start" title="is_nested_delimited_identifier_start">is_nested_delimited_identifier_start</a></li><li><a href="#method.is_reserved_for_identifier" title="is_reserved_for_identifier">is_reserved_for_identifier</a></li><li><a href="#method.is_select_item_alias" title="is_select_item_alias">is_select_item_alias</a></li><li><a href="#method.is_table_alias" title="is_table_alias">is_table_alias</a></li><li><a href="#method.is_table_factor_alias" title="is_table_factor_alias">is_table_factor_alias</a></li><li><a href="#method.parse_column_option" title="parse_column_option">parse_column_option</a></li><li><a href="#method.parse_infix" title="parse_infix">parse_infix</a></li><li><a href="#method.parse_prefix" title="parse_prefix">parse_prefix</a></li><li><a href="#method.parse_statement" title="parse_statement">parse_statement</a></li><li><a href="#method.peek_nested_delimited_identifier_quotes" title="peek_nested_delimited_identifier_quotes">peek_nested_delimited_identifier_quotes</a></li><li><a href="#method.prec_unknown" title="prec_unknown">prec_unknown</a></li><li><a href="#method.prec_value" title="prec_value">prec_value</a></li><li><a href="#method.require_interval_qualifier" title="require_interval_qualifier">require_interval_qualifier</a></li><li><a href="#method.requires_single_line_comment_whitespace" title="requires_single_line_comment_whitespace">requires_single_line_comment_whitespace</a></li><li><a href="#method.support_map_literal_syntax" title="support_map_literal_syntax">support_map_literal_syntax</a></li><li><a href="#method.supports_alter_column_type_using" title="supports_alter_column_type_using">supports_alter_column_type_using</a></li><li><a href="#method.supports_array_typedef_with_brackets" title="supports_array_typedef_with_brackets">supports_array_typedef_with_brackets</a></li><li><a href="#method.supports_asc_desc_in_column_definition" title="supports_asc_desc_in_column_definition">supports_asc_desc_in_column_definition</a></li><li><a href="#method.supports_bang_not_operator" title="supports_bang_not_operator">supports_bang_not_operator</a></li><li><a href="#method.supports_boolean_literals" title="supports_boolean_literals">supports_boolean_literals</a></li><li><a href="#method.supports_column_definition_trailing_commas" title="supports_column_definition_trailing_commas">supports_column_definition_trailing_commas</a></li><li><a href="#method.supports_comma_separated_drop_column_list" title="supports_comma_separated_drop_column_list">supports_comma_separated_drop_column_list</a></li><li><a href="#method.supports_comma_separated_set_assignments" title="supports_comma_separated_set_assignments">supports_comma_separated_set_assignments</a></li><li><a href="#method.supports_comment_on" title="supports_comment_on">supports_comment_on</a></li><li><a href="#method.supports_connect_by" title="supports_connect_by">supports_connect_by</a></li><li><a href="#method.supports_create_index_with_clause" title="supports_create_index_with_clause">supports_create_index_with_clause</a></li><li><a href="#method.supports_create_table_multi_schema_info_sources" title="supports_create_table_multi_schema_info_sources">supports_create_table_multi_schema_info_sources</a></li><li><a href="#method.supports_create_table_select" title="supports_create_table_select">supports_create_table_select</a></li><li><a href="#method.supports_dictionary_syntax" title="supports_dictionary_syntax">supports_dictionary_syntax</a></li><li><a href="#method.supports_dollar_placeholder" title="supports_dollar_placeholder">supports_dollar_placeholder</a></li><li><a href="#method.supports_empty_projections" title="supports_empty_projections">supports_empty_projections</a></li><li><a href="#method.supports_end_transaction_modifier" title="supports_end_transaction_modifier">supports_end_transaction_modifier</a></li><li><a href="#method.supports_eq_alias_assignment" title="supports_eq_alias_assignment">supports_eq_alias_assignment</a></li><li><a href="#method.supports_execute_immediate" title="supports_execute_immediate">supports_execute_immediate</a></li><li><a href="#method.supports_explain_with_utility_options" title="supports_explain_with_utility_options">supports_explain_with_utility_options</a></li><li><a href="#method.supports_factorial_operator" title="supports_factorial_operator">supports_factorial_operator</a></li><li><a href="#method.supports_filter_during_aggregation" title="supports_filter_during_aggregation">supports_filter_during_aggregation</a></li><li><a href="#method.supports_from_first_select" title="supports_from_first_select">supports_from_first_select</a></li><li><a href="#method.supports_from_trailing_commas" title="supports_from_trailing_commas">supports_from_trailing_commas</a></li><li><a href="#method.supports_geometric_types" title="supports_geometric_types">supports_geometric_types</a></li><li><a href="#method.supports_group_by_expr" title="supports_group_by_expr">supports_group_by_expr</a></li><li><a href="#method.supports_group_by_with_modifier" title="supports_group_by_with_modifier">supports_group_by_with_modifier</a></li><li><a href="#method.supports_in_empty_list" title="supports_in_empty_list">supports_in_empty_list</a></li><li><a href="#method.supports_insert_format" title="supports_insert_format">supports_insert_format</a></li><li><a href="#method.supports_insert_set" title="supports_insert_set">supports_insert_set</a></li><li><a href="#method.supports_insert_table_function" title="supports_insert_table_function">supports_insert_table_function</a></li><li><a href="#method.supports_lambda_functions" title="supports_lambda_functions">supports_lambda_functions</a></li><li><a href="#method.supports_left_associative_joins_without_parens" title="supports_left_associative_joins_without_parens">supports_left_associative_joins_without_parens</a></li><li><a href="#method.supports_limit_comma" title="supports_limit_comma">supports_limit_comma</a></li><li><a href="#method.supports_listen_notify" title="supports_listen_notify">supports_listen_notify</a></li><li><a href="#method.supports_load_data" title="supports_load_data">supports_load_data</a></li><li><a href="#method.supports_load_extension" title="supports_load_extension">supports_load_extension</a></li><li><a href="#method.supports_match_against" title="supports_match_against">supports_match_against</a></li><li><a href="#method.supports_match_recognize" title="supports_match_recognize">supports_match_recognize</a></li><li><a href="#method.supports_named_fn_args_with_assignment_operator" title="supports_named_fn_args_with_assignment_operator">supports_named_fn_args_with_assignment_operator</a></li><li><a href="#method.supports_named_fn_args_with_colon_operator" title="supports_named_fn_args_with_colon_operator">supports_named_fn_args_with_colon_operator</a></li><li><a href="#method.supports_named_fn_args_with_eq_operator" title="supports_named_fn_args_with_eq_operator">supports_named_fn_args_with_eq_operator</a></li><li><a href="#method.supports_named_fn_args_with_expr_name" title="supports_named_fn_args_with_expr_name">supports_named_fn_args_with_expr_name</a></li><li><a href="#method.supports_named_fn_args_with_rarrow_operator" title="supports_named_fn_args_with_rarrow_operator">supports_named_fn_args_with_rarrow_operator</a></li><li><a href="#method.supports_nested_comments" title="supports_nested_comments">supports_nested_comments</a></li><li><a href="#method.supports_numeric_literal_underscores" title="supports_numeric_literal_underscores">supports_numeric_literal_underscores</a></li><li><a href="#method.supports_numeric_prefix" title="supports_numeric_prefix">supports_numeric_prefix</a></li><li><a href="#method.supports_object_name_double_dot_notation" title="supports_object_name_double_dot_notation">supports_object_name_double_dot_notation</a></li><li><a href="#method.supports_order_by_all" title="supports_order_by_all">supports_order_by_all</a></li><li><a href="#method.supports_outer_join_operator" title="supports_outer_join_operator">supports_outer_join_operator</a></li><li><a href="#method.supports_parenthesized_set_variables" title="supports_parenthesized_set_variables">supports_parenthesized_set_variables</a></li><li><a href="#method.supports_partiql" title="supports_partiql">supports_partiql</a></li><li><a href="#method.supports_pipe_operator" title="supports_pipe_operator">supports_pipe_operator</a></li><li><a href="#method.supports_projection_trailing_commas" title="supports_projection_trailing_commas">supports_projection_trailing_commas</a></li><li><a href="#method.supports_select_exclude" title="supports_select_exclude">supports_select_exclude</a></li><li><a href="#method.supports_select_expr_star" title="supports_select_expr_star">supports_select_expr_star</a></li><li><a href="#method.supports_select_wildcard_except" title="supports_select_wildcard_except">supports_select_wildcard_except</a></li><li><a href="#method.supports_select_wildcard_exclude" title="supports_select_wildcard_exclude">supports_select_wildcard_exclude</a></li><li><a href="#method.supports_set_names" title="supports_set_names">supports_set_names</a></li><li><a href="#method.supports_set_stmt_without_operator" title="supports_set_stmt_without_operator">supports_set_stmt_without_operator</a></li><li><a href="#method.supports_show_like_before_in" title="supports_show_like_before_in">supports_show_like_before_in</a></li><li><a href="#method.supports_space_separated_column_options" title="supports_space_separated_column_options">supports_space_separated_column_options</a></li><li><a href="#method.supports_start_transaction_modifier" title="supports_start_transaction_modifier">supports_start_transaction_modifier</a></li><li><a href="#method.supports_string_escape_constant" title="supports_string_escape_constant">supports_string_escape_constant</a></li><li><a href="#method.supports_string_literal_backslash_escape" title="supports_string_literal_backslash_escape">supports_string_literal_backslash_escape</a></li><li><a href="#method.supports_struct_literal" title="supports_struct_literal">supports_struct_literal</a></li><li><a href="#method.supports_table_hints" title="supports_table_hints">supports_table_hints</a></li><li><a href="#method.supports_table_sample_before_alias" title="supports_table_sample_before_alias">supports_table_sample_before_alias</a></li><li><a href="#method.supports_timestamp_versioning" title="supports_timestamp_versioning">supports_timestamp_versioning</a></li><li><a href="#method.supports_top_before_distinct" title="supports_top_before_distinct">supports_top_before_distinct</a></li><li><a href="#method.supports_trailing_commas" title="supports_trailing_commas">supports_trailing_commas</a></li><li><a href="#method.supports_triple_quoted_string" title="supports_triple_quoted_string">supports_triple_quoted_string</a></li><li><a href="#method.supports_try_convert" title="supports_try_convert">supports_try_convert</a></li><li><a href="#method.supports_unicode_string_literal" title="supports_unicode_string_literal">supports_unicode_string_literal</a></li><li><a href="#method.supports_user_host_grantee" title="supports_user_host_grantee">supports_user_host_grantee</a></li><li><a href="#method.supports_window_clause_named_window_reference" title="supports_window_clause_named_window_reference">supports_window_clause_named_window_reference</a></li><li><a href="#method.supports_window_function_null_treatment_arg" title="supports_window_function_null_treatment_arg">supports_window_function_null_treatment_arg</a></li><li><a href="#method.supports_within_after_array_aggregation" title="supports_within_after_array_aggregation">supports_within_after_array_aggregation</a></li></ul><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.is" title="is">is</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><div id="rustdoc-modnav"><h2><a href="index.html">In sql::<wbr>dialect</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../index.html">sql</a>::<wbr><a href="index.html">dialect</a></div><h1>Trait <span class="trait">Dialect</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"></span></div><pre class="rust item-decl"><code>pub trait Dialect: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> {
<details class="toggle type-contents-toggle"><summary class="hideme"><span>Show 111 methods</span></summary> // Required methods
fn <a href="#tymethod.is_identifier_start" class="fn">is_identifier_start</a>(&amp;self, ch: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.char.html">char</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>;
<span class="item-spacer"></span> fn <a href="#tymethod.is_identifier_part" class="fn">is_identifier_part</a>(&amp;self, ch: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.char.html">char</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>;
// Provided methods
fn <a href="#method.dialect" class="fn">dialect</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.is_delimited_identifier_start" class="fn">is_delimited_identifier_start</a>(&amp;self, ch: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.char.html">char</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.is_nested_delimited_identifier_start" class="fn">is_nested_delimited_identifier_start</a>(&amp;self, _ch: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.char.html">char</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.peek_nested_delimited_identifier_quotes" class="fn">peek_nested_delimited_identifier_quotes</a>(
&amp;self,
_chars: <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/adapters/peekable/struct.Peekable.html" title="struct core::iter::adapters::peekable::Peekable">Peekable</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/core/str/iter/struct.Chars.html" title="struct core::str::iter::Chars">Chars</a>&lt;'_&gt;&gt;,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.char.html">char</a>, <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.char.html">char</a>&gt;)&gt; { ... }
<span class="item-spacer"></span> fn <a href="#method.identifier_quote_style" class="fn">identifier_quote_style</a>(&amp;self, _identifier: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.char.html">char</a>&gt; { ... }
<span class="item-spacer"></span> fn <a href="#method.is_custom_operator_part" class="fn">is_custom_operator_part</a>(&amp;self, _ch: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.char.html">char</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_string_literal_backslash_escape" class="fn">supports_string_literal_backslash_escape</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.ignores_wildcard_escapes" class="fn">ignores_wildcard_escapes</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_unicode_string_literal" class="fn">supports_unicode_string_literal</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_filter_during_aggregation" class="fn">supports_filter_during_aggregation</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_window_clause_named_window_reference" class="fn">supports_window_clause_named_window_reference</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_within_after_array_aggregation" class="fn">supports_within_after_array_aggregation</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_group_by_expr" class="fn">supports_group_by_expr</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_group_by_with_modifier" class="fn">supports_group_by_with_modifier</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_left_associative_joins_without_parens" class="fn">supports_left_associative_joins_without_parens</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_outer_join_operator" class="fn">supports_outer_join_operator</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_connect_by" class="fn">supports_connect_by</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_execute_immediate" class="fn">supports_execute_immediate</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_match_recognize" class="fn">supports_match_recognize</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_in_empty_list" class="fn">supports_in_empty_list</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_start_transaction_modifier" class="fn">supports_start_transaction_modifier</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_end_transaction_modifier" class="fn">supports_end_transaction_modifier</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_named_fn_args_with_eq_operator" class="fn">supports_named_fn_args_with_eq_operator</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_named_fn_args_with_colon_operator" class="fn">supports_named_fn_args_with_colon_operator</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_named_fn_args_with_assignment_operator" class="fn">supports_named_fn_args_with_assignment_operator</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_named_fn_args_with_rarrow_operator" class="fn">supports_named_fn_args_with_rarrow_operator</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_named_fn_args_with_expr_name" class="fn">supports_named_fn_args_with_expr_name</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_numeric_prefix" class="fn">supports_numeric_prefix</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_numeric_literal_underscores" class="fn">supports_numeric_literal_underscores</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_window_function_null_treatment_arg" class="fn">supports_window_function_null_treatment_arg</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_dictionary_syntax" class="fn">supports_dictionary_syntax</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.support_map_literal_syntax" class="fn">support_map_literal_syntax</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_lambda_functions" class="fn">supports_lambda_functions</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_parenthesized_set_variables" class="fn">supports_parenthesized_set_variables</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_comma_separated_set_assignments" class="fn">supports_comma_separated_set_assignments</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_select_wildcard_except" class="fn">supports_select_wildcard_except</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.convert_type_before_value" class="fn">convert_type_before_value</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_triple_quoted_string" class="fn">supports_triple_quoted_string</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.parse_prefix" class="fn">parse_prefix</a>(
&amp;self,
_parser: &amp;mut Parser&lt;'_&gt;,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="enum" href="../ast/enum.Expr.html" title="enum sql::ast::Expr">Expr</a>, ParserError&gt;&gt; { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_trailing_commas" class="fn">supports_trailing_commas</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_limit_comma" class="fn">supports_limit_comma</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_projection_trailing_commas" class="fn">supports_projection_trailing_commas</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_from_trailing_commas" class="fn">supports_from_trailing_commas</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_column_definition_trailing_commas" class="fn">supports_column_definition_trailing_commas</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_object_name_double_dot_notation" class="fn">supports_object_name_double_dot_notation</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_struct_literal" class="fn">supports_struct_literal</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_empty_projections" class="fn">supports_empty_projections</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_select_expr_star" class="fn">supports_select_expr_star</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_from_first_select" class="fn">supports_from_first_select</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_pipe_operator" class="fn">supports_pipe_operator</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_user_host_grantee" class="fn">supports_user_host_grantee</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_match_against" class="fn">supports_match_against</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_select_wildcard_exclude" class="fn">supports_select_wildcard_exclude</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_select_exclude" class="fn">supports_select_exclude</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_create_table_multi_schema_info_sources" class="fn">supports_create_table_multi_schema_info_sources</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.parse_infix" class="fn">parse_infix</a>(
&amp;self,
_parser: &amp;mut Parser&lt;'_&gt;,
_expr: &amp;<a class="enum" href="../ast/enum.Expr.html" title="enum sql::ast::Expr">Expr</a>,
_precedence: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="enum" href="../ast/enum.Expr.html" title="enum sql::ast::Expr">Expr</a>, ParserError&gt;&gt; { ... }
<span class="item-spacer"></span> fn <a href="#method.get_next_precedence" class="fn">get_next_precedence</a>(
&amp;self,
_parser: &amp;Parser&lt;'_&gt;,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>, ParserError&gt;&gt; { ... }
<span class="item-spacer"></span> fn <a href="#method.get_next_precedence_default" class="fn">get_next_precedence_default</a>(
&amp;self,
parser: &amp;Parser&lt;'_&gt;,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>, ParserError&gt; { ... }
<span class="item-spacer"></span> fn <a href="#method.parse_statement" class="fn">parse_statement</a>(
&amp;self,
_parser: &amp;mut Parser&lt;'_&gt;,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Statement, ParserError&gt;&gt; { ... }
<span class="item-spacer"></span> fn <a href="#method.parse_column_option" class="fn">parse_column_option</a>(
&amp;self,
_parser: &amp;mut Parser&lt;'_&gt;,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="../ast/enum.ColumnOption.html" title="enum sql::ast::ColumnOption">ColumnOption</a>&gt;, ParserError&gt;&gt;, ParserError&gt; { ... }
<span class="item-spacer"></span> fn <a href="#method.prec_value" class="fn">prec_value</a>(&amp;self, prec: Precedence) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.prec_unknown" class="fn">prec_unknown</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.describe_requires_table_keyword" class="fn">describe_requires_table_keyword</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.allow_extract_custom" class="fn">allow_extract_custom</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.allow_extract_single_quotes" class="fn">allow_extract_single_quotes</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_dollar_placeholder" class="fn">supports_dollar_placeholder</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_create_index_with_clause" class="fn">supports_create_index_with_clause</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.require_interval_qualifier" class="fn">require_interval_qualifier</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_explain_with_utility_options" class="fn">supports_explain_with_utility_options</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_asc_desc_in_column_definition" class="fn">supports_asc_desc_in_column_definition</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_factorial_operator" class="fn">supports_factorial_operator</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_nested_comments" class="fn">supports_nested_comments</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_eq_alias_assignment" class="fn">supports_eq_alias_assignment</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_try_convert" class="fn">supports_try_convert</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_bang_not_operator" class="fn">supports_bang_not_operator</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_listen_notify" class="fn">supports_listen_notify</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_load_data" class="fn">supports_load_data</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_load_extension" class="fn">supports_load_extension</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_top_before_distinct" class="fn">supports_top_before_distinct</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_boolean_literals" class="fn">supports_boolean_literals</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_show_like_before_in" class="fn">supports_show_like_before_in</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_comment_on" class="fn">supports_comment_on</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_create_table_select" class="fn">supports_create_table_select</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_partiql" class="fn">supports_partiql</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.is_reserved_for_identifier" class="fn">is_reserved_for_identifier</a>(&amp;self, kw: Keyword) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.get_reserved_keywords_for_table_factor" class="fn">get_reserved_keywords_for_table_factor</a>(&amp;self) -&gt; &amp;[Keyword] { ... }
<span class="item-spacer"></span> fn <a href="#method.get_reserved_keywords_for_select_item_operator" class="fn">get_reserved_keywords_for_select_item_operator</a>(&amp;self) -&gt; &amp;[Keyword] { ... }
<span class="item-spacer"></span> fn <a href="#method.get_reserved_grantees_types" class="fn">get_reserved_grantees_types</a>(&amp;self) -&gt; &amp;[GranteesType] { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_table_sample_before_alias" class="fn">supports_table_sample_before_alias</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_insert_set" class="fn">supports_insert_set</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_insert_table_function" class="fn">supports_insert_table_function</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_insert_format" class="fn">supports_insert_format</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_set_stmt_without_operator" class="fn">supports_set_stmt_without_operator</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.is_column_alias" class="fn">is_column_alias</a>(&amp;self, kw: &amp;Keyword, _parser: &amp;mut Parser&lt;'_&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.is_select_item_alias" class="fn">is_select_item_alias</a>(
&amp;self,
explicit: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
kw: &amp;Keyword,
parser: &amp;mut Parser&lt;'_&gt;,
) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.is_table_alias" class="fn">is_table_alias</a>(&amp;self, kw: &amp;Keyword, _parser: &amp;mut Parser&lt;'_&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.is_table_factor_alias" class="fn">is_table_factor_alias</a>(
&amp;self,
explicit: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
kw: &amp;Keyword,
parser: &amp;mut Parser&lt;'_&gt;,
) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_timestamp_versioning" class="fn">supports_timestamp_versioning</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_string_escape_constant" class="fn">supports_string_escape_constant</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_table_hints" class="fn">supports_table_hints</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.requires_single_line_comment_whitespace" class="fn">requires_single_line_comment_whitespace</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_array_typedef_with_brackets" class="fn">supports_array_typedef_with_brackets</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_geometric_types" class="fn">supports_geometric_types</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_order_by_all" class="fn">supports_order_by_all</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_set_names" class="fn">supports_set_names</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_space_separated_column_options" class="fn">supports_space_separated_column_options</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_alter_column_type_using" class="fn">supports_alter_column_type_using</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.supports_comma_separated_drop_column_list" class="fn">supports_comma_separated_drop_column_list</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
<span class="item-spacer"></span> fn <a href="#method.is_identifier_generating_function_name" class="fn">is_identifier_generating_function_name</a>(
&amp;self,
_ident: &amp;<a class="struct" href="../ast/struct.Ident.html" title="struct sql::ast::Ident">Ident</a>,
_name_parts: &amp;[<a class="enum" href="../ast/enum.ObjectNamePart.html" title="enum sql::ast::ObjectNamePart">ObjectNamePart</a>],
) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
</details>}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Encapsulates the differences between SQL implementations.</p>
<h2 id="sql-dialects"><a class="doc-anchor" href="#sql-dialects">§</a>SQL Dialects</h2>
<p>SQL implementations deviate from one another, either due to
custom extensions or various historical reasons. This trait
encapsulates the parsing differences between dialects.</p>
<p><a href="struct.GenericDialect.html" title="struct sql::dialect::GenericDialect"><code>GenericDialect</code></a> is the most permissive dialect, and parses the union of
all the other dialects, when there is no ambiguity. However, it does not
currently allow <code>CREATE TABLE</code> statements without types specified for all
columns; use [<code>SQLiteDialect</code>] if you require that.</p>
<h2 id="examples"><a class="doc-anchor" href="#examples">§</a>Examples</h2>
<p>Most users create a <a href="trait.Dialect.html" title="trait sql::dialect::Dialect"><code>Dialect</code></a> directly, as shown on the <a href="crate">module
level documentation</a>:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>dialect = AnsiDialect {};</code></pre></div>
<p>It is also possible to dynamically create a <a href="trait.Dialect.html" title="trait sql::dialect::Dialect"><code>Dialect</code></a> from its
name. For example:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>dialect = dialect_from_str(<span class="string">"ansi"</span>).unwrap();
<span class="comment">// Parsed dialect is an instance of `AnsiDialect`:
</span><span class="macro">assert!</span>(dialect.is::&lt;AnsiDialect&gt;());</code></pre></div></div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.is_identifier_start" class="method"><h4 class="code-header">fn <a href="#tymethod.is_identifier_start" class="fn">is_identifier_start</a>(&amp;self, ch: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.char.html">char</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Determine if a character is a valid start character for an unquoted identifier</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.is_identifier_part" class="method"><h4 class="code-header">fn <a href="#tymethod.is_identifier_part" class="fn">is_identifier_part</a>(&amp;self, ch: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.char.html">char</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Determine if a character is a valid unquoted identifier character</p>
</div></details></div><h2 id="provided-methods" class="section-header">Provided Methods<a href="#provided-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="method.dialect" class="method"><h4 class="code-header">fn <a href="#method.dialect" class="fn">dialect</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class="docblock"><p>Determine the <a href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId"><code>TypeId</code></a> of this dialect.</p>
<p>By default, return the same <a href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId"><code>TypeId</code></a> as <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" title="method core::any::Any::type_id"><code>Any::type_id</code></a>. Can be overridden
by dialects that behave like other dialects
(for example when wrapping a dialect).</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.is_delimited_identifier_start" class="method"><h4 class="code-header">fn <a href="#method.is_delimited_identifier_start" class="fn">is_delimited_identifier_start</a>(&amp;self, ch: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.char.html">char</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>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 <code>Word::matching_end_quote</code> here</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.is_nested_delimited_identifier_start" class="method"><h4 class="code-header">fn <a href="#method.is_nested_delimited_identifier_start" class="fn">is_nested_delimited_identifier_start</a>(&amp;self, _ch: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.char.html">char</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Determine if a character starts a potential nested quoted identifier.
Example: RedShift supports the following quote styles to all mean the same thing:</p>
<div class="example-wrap"><pre class="language-sql"><code>SELECT 1 AS foo;
SELECT 1 AS &quot;foo&quot;;
SELECT 1 AS [foo];
SELECT 1 AS [&quot;foo&quot;];</code></pre></div></div></details><details class="toggle method-toggle" open><summary><section id="method.peek_nested_delimited_identifier_quotes" class="method"><h4 class="code-header">fn <a href="#method.peek_nested_delimited_identifier_quotes" class="fn">peek_nested_delimited_identifier_quotes</a>(
&amp;self,
_chars: <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/adapters/peekable/struct.Peekable.html" title="struct core::iter::adapters::peekable::Peekable">Peekable</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/core/str/iter/struct.Chars.html" title="struct core::str::iter::Chars">Chars</a>&lt;'_&gt;&gt;,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.char.html">char</a>, <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.char.html">char</a>&gt;)&gt;</h4></section></summary><div class="docblock"><p>Only applicable whenever <a href="trait.Dialect.html#method.is_nested_delimited_identifier_start" title="method sqlparser::dialect::Dialect::is_nested_delimited_identifier_start::is_nested_delimited_identifier_start"><code>Self::is_nested_delimited_identifier_start</code></a> returns true
If the next sequence of tokens potentially represent a nested identifier, then this method
returns a tuple containing the outer quote style, and if present, the inner (nested) quote style.</p>
<p>Example (Redshift):</p>
<div class="example-wrap"><pre class="language-text"><code>`[&quot;foo&quot;]` =&gt; Some(`[`, Some(`&quot;`))
`[foo]` =&gt; Some(`[`, None)
`[0]` =&gt; None
`&quot;foo&quot;` =&gt; None</code></pre></div></div></details><details class="toggle method-toggle" open><summary><section id="method.identifier_quote_style" class="method"><h4 class="code-header">fn <a href="#method.identifier_quote_style" class="fn">identifier_quote_style</a>(&amp;self, _identifier: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.char.html">char</a>&gt;</h4></section></summary><div class="docblock"><p>Return the character used to quote identifiers.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.is_custom_operator_part" class="method"><h4 class="code-header">fn <a href="#method.is_custom_operator_part" class="fn">is_custom_operator_part</a>(&amp;self, _ch: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.char.html">char</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Most dialects do not have custom operators. Override this method to provide custom operators.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_string_literal_backslash_escape" class="method"><h4 class="code-header">fn <a href="#method.supports_string_literal_backslash_escape" class="fn">supports_string_literal_backslash_escape</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Determine if the dialect supports escaping characters via ' in string literals.</p>
<p>Some dialects like BigQuery and Snowflake support this while others like
Postgres do not. Such that the following is accepted by the former but
rejected by the latter.</p>
<div class="example-wrap"><pre class="language-sql"><code>SELECT &#39;ab\&#39;cd&#39;;</code></pre></div>
<p>Conversely, such dialects reject the following statement which
otherwise would be valid in the other dialects.</p>
<div class="example-wrap"><pre class="language-sql"><code>SELECT &#39;\&#39;;</code></pre></div></div></details><details class="toggle method-toggle" open><summary><section id="method.ignores_wildcard_escapes" class="method"><h4 class="code-header">fn <a href="#method.ignores_wildcard_escapes" class="fn">ignores_wildcard_escapes</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Determine whether the dialect strips the backslash when escaping LIKE wildcards (%, _).</p>
<p><a href="https://dev.mysql.com/doc/refman/8.4/en/string-literals.html">MySQL</a> has a special case when escaping single quoted strings which leaves these unescaped
so they can be used in LIKE patterns without double-escaping (as is necessary in other
escaping dialects, such as <a href="https://docs.snowflake.com/en/sql-reference/functions/like#usage-notes">Snowflake</a>). Generally, special characters have escaping rules
causing them to be replaced with a different byte sequences (e.g. <code>'\0'</code> becoming the zero
byte), and the default if an escaped character does not have a specific escaping rule is to
strip the backslash (e.g. there is no rule for <code>h</code>, so <code>'\h' = 'h'</code>). MySQLs special case
for ignoring LIKE wildcard escapes is to <em>not</em> strip the backslash, so that <code>'\%' = '\\%'</code>.
This applies to all string literals though, not just those used in LIKE patterns.</p>
<div class="example-wrap"><pre class="language-text"><code>mysql&gt; select &#39;\_&#39;, hex(&#39;\\&#39;), hex(&#39;_&#39;), hex(&#39;\_&#39;);
+----+-----------+----------+-----------+
| \_ | hex(&#39;\\&#39;) | hex(&#39;_&#39;) | hex(&#39;\_&#39;) |
+----+-----------+----------+-----------+
| \_ | 5C | 5F | 5C5F |
+----+-----------+----------+-----------+
1 row in set (0.00 sec)</code></pre></div></div></details><details class="toggle method-toggle" open><summary><section id="method.supports_unicode_string_literal" class="method"><h4 class="code-header">fn <a href="#method.supports_unicode_string_literal" class="fn">supports_unicode_string_literal</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Determine if the dialect supports string literals with <code>U&amp;</code> prefix.
This is used to specify Unicode code points in string literals.
For example, in PostgreSQL, the following is a valid string literal:</p>
<div class="example-wrap"><pre class="language-sql"><code>SELECT U&amp;&#39;\0061\0062\0063&#39;;</code></pre></div>
<p>This is equivalent to the string literal <code>'abc'</code>.
See</p>
<ul>
<li><a href="https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-STRINGS-UESCAPE">Postgres docs</a></li>
<li><a href="http://www.h2database.com/html/grammar.html#string">H2 docs</a></li>
</ul>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_filter_during_aggregation" class="method"><h4 class="code-header">fn <a href="#method.supports_filter_during_aggregation" class="fn">supports_filter_during_aggregation</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Does the dialect support <code>FILTER (WHERE expr)</code> for aggregate queries?</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_window_clause_named_window_reference" class="method"><h4 class="code-header">fn <a href="#method.supports_window_clause_named_window_reference" class="fn">supports_window_clause_named_window_reference</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if the dialect supports referencing another named window
within a window clause declaration.</p>
<p>Example</p>
<div class="example-wrap"><pre class="language-sql"><code>SELECT * FROM mytable
WINDOW mynamed_window AS another_named_window</code></pre></div></div></details><details class="toggle method-toggle" open><summary><section id="method.supports_within_after_array_aggregation" class="method"><h4 class="code-header">fn <a href="#method.supports_within_after_array_aggregation" class="fn">supports_within_after_array_aggregation</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if the dialect supports <code>ARRAY_AGG() [WITHIN GROUP (ORDER BY)]</code> expressions.
Otherwise, the dialect should expect an <code>ORDER BY</code> without the <code>WITHIN GROUP</code> clause, e.g. <a href="https://jakewheat.github.io/sql-overview/sql-2016-foundation-grammar.html#array-aggregate-function"><code>ANSI</code></a></p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_group_by_expr" class="method"><h4 class="code-header">fn <a href="#method.supports_group_by_expr" class="fn">supports_group_by_expr</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if the dialects supports <code>group sets, roll up, or cube</code> expressions.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_group_by_with_modifier" class="method"><h4 class="code-header">fn <a href="#method.supports_group_by_with_modifier" class="fn">supports_group_by_with_modifier</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if the dialects supports <code>GROUP BY</code> modifiers prefixed by a <code>WITH</code> keyword.
Example: <code>GROUP BY value WITH ROLLUP</code>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_left_associative_joins_without_parens" class="method"><h4 class="code-header">fn <a href="#method.supports_left_associative_joins_without_parens" class="fn">supports_left_associative_joins_without_parens</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Indicates whether the dialect supports left-associative join parsing
by default when parentheses are omitted in nested joins.</p>
<p>Most dialects (like MySQL or Postgres) assume <strong>left-associative</strong> precedence,
so a query like:</p>
<div class="example-wrap"><pre class="language-sql"><code>SELECT * FROM t1 NATURAL JOIN t5 INNER JOIN t0 ON ...</code></pre></div>
<p>is interpreted as:</p>
<div class="example-wrap"><pre class="language-sql"><code>((t1 NATURAL JOIN t5) INNER JOIN t0 ON ...)</code></pre></div>
<p>and internally represented as a <strong>flat list</strong> of joins.</p>
<p>In contrast, some dialects (e.g. <strong>Snowflake</strong>) assume <strong>right-associative</strong>
precedence and interpret the same query as:</p>
<div class="example-wrap"><pre class="language-sql"><code>(t1 NATURAL JOIN (t5 INNER JOIN t0 ON ...))</code></pre></div>
<p>which results in a <strong>nested join</strong> structure in the AST.</p>
<p>If this method returns <code>false</code>, the parser must build nested join trees
even in the absence of parentheses to reflect the correct associativity</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_outer_join_operator" class="method"><h4 class="code-header">fn <a href="#method.supports_outer_join_operator" class="fn">supports_outer_join_operator</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if the dialect supports the <code>(+)</code> syntax for OUTER JOIN.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_connect_by" class="method"><h4 class="code-header">fn <a href="#method.supports_connect_by" class="fn">supports_connect_by</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if the dialect supports CONNECT BY.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_execute_immediate" class="method"><h4 class="code-header">fn <a href="#method.supports_execute_immediate" class="fn">supports_execute_immediate</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if the dialect supports <code>EXECUTE IMMEDIATE</code> statements.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_match_recognize" class="method"><h4 class="code-header">fn <a href="#method.supports_match_recognize" class="fn">supports_match_recognize</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if the dialect supports the MATCH_RECOGNIZE operation.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_in_empty_list" class="method"><h4 class="code-header">fn <a href="#method.supports_in_empty_list" class="fn">supports_in_empty_list</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if the dialect supports <code>(NOT) IN ()</code> expressions</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_start_transaction_modifier" class="method"><h4 class="code-header">fn <a href="#method.supports_start_transaction_modifier" class="fn">supports_start_transaction_modifier</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if the dialect supports <code>BEGIN {DEFERRED | IMMEDIATE | EXCLUSIVE | TRY | CATCH} [TRANSACTION]</code> statements</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_end_transaction_modifier" class="method"><h4 class="code-header">fn <a href="#method.supports_end_transaction_modifier" class="fn">supports_end_transaction_modifier</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if the dialect supports <code>END {TRY | CATCH}</code> statements</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_named_fn_args_with_eq_operator" class="method"><h4 class="code-header">fn <a href="#method.supports_named_fn_args_with_eq_operator" class="fn">supports_named_fn_args_with_eq_operator</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if the dialect supports named arguments of the form <code>FUN(a = '1', b = '2')</code>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_named_fn_args_with_colon_operator" class="method"><h4 class="code-header">fn <a href="#method.supports_named_fn_args_with_colon_operator" class="fn">supports_named_fn_args_with_colon_operator</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if the dialect supports named arguments of the form <code>FUN(a : '1', b : '2')</code>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_named_fn_args_with_assignment_operator" class="method"><h4 class="code-header">fn <a href="#method.supports_named_fn_args_with_assignment_operator" class="fn">supports_named_fn_args_with_assignment_operator</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if the dialect supports named arguments of the form <code>FUN(a := '1', b := '2')</code>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_named_fn_args_with_rarrow_operator" class="method"><h4 class="code-header">fn <a href="#method.supports_named_fn_args_with_rarrow_operator" class="fn">supports_named_fn_args_with_rarrow_operator</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if the dialect supports named arguments of the form <code>FUN(a =&gt; '1', b =&gt; '2')</code>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_named_fn_args_with_expr_name" class="method"><h4 class="code-header">fn <a href="#method.supports_named_fn_args_with_expr_name" class="fn">supports_named_fn_args_with_expr_name</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if dialect supports argument name as arbitrary expression.
e.g. <code>FUN(LOWER('a'):'1', b:'2')</code>
Such function arguments are represented in the AST by the <code>FunctionArg::ExprNamed</code> variant,
otherwise use the <code>FunctionArg::Named</code> variant (compatible reason).</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_numeric_prefix" class="method"><h4 class="code-header">fn <a href="#method.supports_numeric_prefix" class="fn">supports_numeric_prefix</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if the dialect supports identifiers starting with a numeric
prefix such as tables named <code>59901_user_login</code></p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_numeric_literal_underscores" class="method"><h4 class="code-header">fn <a href="#method.supports_numeric_literal_underscores" class="fn">supports_numeric_literal_underscores</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if the dialect supports numbers containing underscores, e.g. <code>10_000_000</code></p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_window_function_null_treatment_arg" class="method"><h4 class="code-header">fn <a href="#method.supports_window_function_null_treatment_arg" class="fn">supports_window_function_null_treatment_arg</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if the dialects supports specifying null treatment
as part of a window functions parameter list as opposed
to after the parameter list.</p>
<p>i.e The following syntax returns true</p>
<div class="example-wrap"><pre class="language-sql"><code>FIRST_VALUE(a IGNORE NULLS) OVER ()</code></pre></div>
<p>while the following syntax returns false</p>
<div class="example-wrap"><pre class="language-sql"><code>FIRST_VALUE(a) IGNORE NULLS OVER ()</code></pre></div></div></details><details class="toggle method-toggle" open><summary><section id="method.supports_dictionary_syntax" class="method"><h4 class="code-header">fn <a href="#method.supports_dictionary_syntax" class="fn">supports_dictionary_syntax</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if the dialect supports defining structs or objects using a
syntax like <code>{'x': 1, 'y': 2, 'z': 3}</code>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.support_map_literal_syntax" class="method"><h4 class="code-header">fn <a href="#method.support_map_literal_syntax" class="fn">support_map_literal_syntax</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if the dialect supports defining object using the
syntax like <code>Map {1: 10, 2: 20}</code>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_lambda_functions" class="method"><h4 class="code-header">fn <a href="#method.supports_lambda_functions" class="fn">supports_lambda_functions</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if the dialect supports lambda functions, for example:</p>
<div class="example-wrap"><pre class="language-sql"><code>SELECT transform(array(1, 2, 3), x -&gt; x + 1); -- returns [2,3,4]</code></pre></div></div></details><details class="toggle method-toggle" open><summary><section id="method.supports_parenthesized_set_variables" class="method"><h4 class="code-header">fn <a href="#method.supports_parenthesized_set_variables" class="fn">supports_parenthesized_set_variables</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if the dialect supports multiple variable assignment
using parentheses in a <code>SET</code> variable declaration.</p>
<div class="example-wrap"><pre class="language-sql"><code>SET (variable[, ...]) = (expression[, ...]);</code></pre></div></div></details><details class="toggle method-toggle" open><summary><section id="method.supports_comma_separated_set_assignments" class="method"><h4 class="code-header">fn <a href="#method.supports_comma_separated_set_assignments" class="fn">supports_comma_separated_set_assignments</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if the dialect supports multiple <code>SET</code> statements
in a single statement.</p>
<div class="example-wrap"><pre class="language-sql"><code>SET variable = expression [, variable = expression];</code></pre></div></div></details><details class="toggle method-toggle" open><summary><section id="method.supports_select_wildcard_except" class="method"><h4 class="code-header">fn <a href="#method.supports_select_wildcard_except" class="fn">supports_select_wildcard_except</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if the dialect supports an <code>EXCEPT</code> clause following a
wildcard in a select list.</p>
<p>For example</p>
<div class="example-wrap"><pre class="language-sql"><code>SELECT * EXCEPT order_id FROM orders;</code></pre></div></div></details><details class="toggle method-toggle" open><summary><section id="method.convert_type_before_value" class="method"><h4 class="code-header">fn <a href="#method.convert_type_before_value" class="fn">convert_type_before_value</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if the dialect has a CONVERT function which accepts a type first
and an expression second, e.g. <code>CONVERT(varchar, 1)</code></p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_triple_quoted_string" class="method"><h4 class="code-header">fn <a href="#method.supports_triple_quoted_string" class="fn">supports_triple_quoted_string</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if the dialect supports triple quoted string
e.g. <code>"""abc"""</code></p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.parse_prefix" class="method"><h4 class="code-header">fn <a href="#method.parse_prefix" class="fn">parse_prefix</a>(
&amp;self,
_parser: &amp;mut Parser&lt;'_&gt;,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="enum" href="../ast/enum.Expr.html" title="enum sql::ast::Expr">Expr</a>, ParserError&gt;&gt;</h4></section></summary><div class="docblock"><p>Dialect-specific prefix parser override</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_trailing_commas" class="method"><h4 class="code-header">fn <a href="#method.supports_trailing_commas" class="fn">supports_trailing_commas</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Does the dialect support trailing commas around the query?</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_limit_comma" class="method"><h4 class="code-header">fn <a href="#method.supports_limit_comma" class="fn">supports_limit_comma</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Does the dialect support parsing <code>LIMIT 1, 2</code> as <code>LIMIT 2 OFFSET 1</code>?</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_projection_trailing_commas" class="method"><h4 class="code-header">fn <a href="#method.supports_projection_trailing_commas" class="fn">supports_projection_trailing_commas</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Does the dialect support trailing commas in the projection list?</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_from_trailing_commas" class="method"><h4 class="code-header">fn <a href="#method.supports_from_trailing_commas" class="fn">supports_from_trailing_commas</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if the dialect supports trailing commas in the <code>FROM</code> clause of a <code>SELECT</code> statement.
Example: <code>SELECT 1 FROM T, U, LIMIT 1</code></p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_column_definition_trailing_commas" class="method"><h4 class="code-header">fn <a href="#method.supports_column_definition_trailing_commas" class="fn">supports_column_definition_trailing_commas</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if the dialect supports trailing commas in the
column definitions list of a <code>CREATE</code> statement.
Example: <code>CREATE TABLE T (x INT, y TEXT,)</code></p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_object_name_double_dot_notation" class="method"><h4 class="code-header">fn <a href="#method.supports_object_name_double_dot_notation" class="fn">supports_object_name_double_dot_notation</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if the dialect supports double dot notation for object names</p>
<p>Example</p>
<div class="example-wrap"><pre class="language-sql"><code>SELECT * FROM db_name..table_name</code></pre></div></div></details><details class="toggle method-toggle" open><summary><section id="method.supports_struct_literal" class="method"><h4 class="code-header">fn <a href="#method.supports_struct_literal" class="fn">supports_struct_literal</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Return true if the dialect supports the STRUCT literal</p>
<p>Example</p>
<div class="example-wrap"><pre class="language-sql"><code>SELECT STRUCT(1 as one, &#39;foo&#39; as foo, false)</code></pre></div></div></details><details class="toggle method-toggle" open><summary><section id="method.supports_empty_projections" class="method"><h4 class="code-header">fn <a href="#method.supports_empty_projections" class="fn">supports_empty_projections</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Return true if the dialect supports empty projections in SELECT statements</p>
<p>Example</p>
<div class="example-wrap"><pre class="language-sql"><code>SELECT from table_name</code></pre></div></div></details><details class="toggle method-toggle" open><summary><section id="method.supports_select_expr_star" class="method"><h4 class="code-header">fn <a href="#method.supports_select_expr_star" class="fn">supports_select_expr_star</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Return true if the dialect supports wildcard expansion on
arbitrary expressions in projections.</p>
<p>Example:</p>
<div class="example-wrap"><pre class="language-sql"><code>SELECT STRUCT&lt;STRING&gt;(&#39;foo&#39;).* FROM T</code></pre></div></div></details><details class="toggle method-toggle" open><summary><section id="method.supports_from_first_select" class="method"><h4 class="code-header">fn <a href="#method.supports_from_first_select" class="fn">supports_from_first_select</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Return true if the dialect supports “FROM-first” selects.</p>
<p>Example:</p>
<div class="example-wrap"><pre class="language-sql"><code>FROM table
SELECT *</code></pre></div></div></details><details class="toggle method-toggle" open><summary><section id="method.supports_pipe_operator" class="method"><h4 class="code-header">fn <a href="#method.supports_pipe_operator" class="fn">supports_pipe_operator</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Return true if the dialect supports pipe operator.</p>
<p>Example:</p>
<div class="example-wrap"><pre class="language-sql"><code>SELECT *
FROM table
|&gt; limit 1</code></pre></div>
<p>See <a href="https://cloud.google.com/bigquery/docs/pipe-syntax-guide#basic_syntax">https://cloud.google.com/bigquery/docs/pipe-syntax-guide#basic_syntax</a></p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_user_host_grantee" class="method"><h4 class="code-header">fn <a href="#method.supports_user_host_grantee" class="fn">supports_user_host_grantee</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Does the dialect support MySQL-style <code>'user'@'host'</code> grantee syntax?</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_match_against" class="method"><h4 class="code-header">fn <a href="#method.supports_match_against" class="fn">supports_match_against</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Does the dialect support the <code>MATCH() AGAINST()</code> syntax?</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_select_wildcard_exclude" class="method"><h4 class="code-header">fn <a href="#method.supports_select_wildcard_exclude" class="fn">supports_select_wildcard_exclude</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if the dialect supports an exclude option
following a wildcard in the projection section. For example:
<code>SELECT * EXCLUDE col1 FROM tbl</code>.</p>
<p><a href="https://docs.aws.amazon.com/redshift/latest/dg/r_EXCLUDE_list.html">Redshift</a>
<a href="https://docs.snowflake.com/en/sql-reference/sql/select">Snowflake</a></p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_select_exclude" class="method"><h4 class="code-header">fn <a href="#method.supports_select_exclude" class="fn">supports_select_exclude</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if the dialect supports an exclude option
as the last item in the projection section, not necessarily
after a wildcard. For example:
<code>SELECT *, c1, c2 EXCLUDE c3 FROM tbl</code></p>
<p><a href="https://docs.aws.amazon.com/redshift/latest/dg/r_EXCLUDE_list.html">Redshift</a></p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_create_table_multi_schema_info_sources" class="method"><h4 class="code-header">fn <a href="#method.supports_create_table_multi_schema_info_sources" class="fn">supports_create_table_multi_schema_info_sources</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returne true if the dialect supports specifying multiple options
in a <code>CREATE TABLE</code> statement for the structure of the new table. For example:
<code>CREATE TABLE t (a INT, b INT) AS SELECT 1 AS b, 2 AS a</code></p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.parse_infix" class="method"><h4 class="code-header">fn <a href="#method.parse_infix" class="fn">parse_infix</a>(
&amp;self,
_parser: &amp;mut Parser&lt;'_&gt;,
_expr: &amp;<a class="enum" href="../ast/enum.Expr.html" title="enum sql::ast::Expr">Expr</a>,
_precedence: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="enum" href="../ast/enum.Expr.html" title="enum sql::ast::Expr">Expr</a>, ParserError&gt;&gt;</h4></section></summary><div class="docblock"><p>Dialect-specific infix parser override</p>
<p>This method is called to parse the next infix expression.</p>
<p>If <code>None</code> is returned, falls back to the default behavior.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.get_next_precedence" class="method"><h4 class="code-header">fn <a href="#method.get_next_precedence" class="fn">get_next_precedence</a>(
&amp;self,
_parser: &amp;Parser&lt;'_&gt;,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>, ParserError&gt;&gt;</h4></section></summary><div class="docblock"><p>Dialect-specific precedence override</p>
<p>This method is called to get the precedence of the next token.</p>
<p>If <code>None</code> is returned, falls back to the default behavior.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.get_next_precedence_default" class="method"><h4 class="code-header">fn <a href="#method.get_next_precedence_default" class="fn">get_next_precedence_default</a>(
&amp;self,
parser: &amp;Parser&lt;'_&gt;,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>, ParserError&gt;</h4></section></summary><div class="docblock"><p>Get the precedence of the next token, looking at the full token stream.</p>
<p>A higher number =&gt; higher precedence</p>
<p>See <a href="trait.Dialect.html#method.get_next_precedence" title="method sqlparser::dialect::Dialect::get_next_precedence::get_next_precedence"><code>Self::get_next_precedence</code></a> to override the behavior for just the
next token.</p>
<p>The default implementation is used for many dialects, but can be
overridden to provide dialect-specific behavior.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.parse_statement" class="method"><h4 class="code-header">fn <a href="#method.parse_statement" class="fn">parse_statement</a>(
&amp;self,
_parser: &amp;mut Parser&lt;'_&gt;,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Statement, ParserError&gt;&gt;</h4></section></summary><div class="docblock"><p>Dialect-specific statement parser override</p>
<p>This method is called to parse the next statement.</p>
<p>If <code>None</code> is returned, falls back to the default behavior.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.parse_column_option" class="method"><h4 class="code-header">fn <a href="#method.parse_column_option" class="fn">parse_column_option</a>(
&amp;self,
_parser: &amp;mut Parser&lt;'_&gt;,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="../ast/enum.ColumnOption.html" title="enum sql::ast::ColumnOption">ColumnOption</a>&gt;, ParserError&gt;&gt;, ParserError&gt;</h4></section></summary><div class="docblock"><p>Dialect-specific column option parser override</p>
<p>This method is called to parse the next column option.</p>
<p>If <code>None</code> is returned, falls back to the default behavior.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.prec_value" class="method"><h4 class="code-header">fn <a href="#method.prec_value" class="fn">prec_value</a>(&amp;self, prec: Precedence) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a></h4></section></summary><div class="docblock"><p>Decide the lexical Precedence of operators.</p>
<p>Uses (APPROXIMATELY) <a href="https://www.postgresql.org/docs/7.0/operators.htm#AEN2026">https://www.postgresql.org/docs/7.0/operators.htm#AEN2026</a> as a reference</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.prec_unknown" class="method"><h4 class="code-header">fn <a href="#method.prec_unknown" class="fn">prec_unknown</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a></h4></section></summary><div class="docblock"><p>Returns the precedence when the precedence is otherwise unknown</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.describe_requires_table_keyword" class="method"><h4 class="code-header">fn <a href="#method.describe_requires_table_keyword" class="fn">describe_requires_table_keyword</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if this dialect requires the <code>TABLE</code> keyword after <code>DESCRIBE</code></p>
<p>Defaults to false.</p>
<p>If true, the following statement is valid: <code>DESCRIBE TABLE my_table</code>
If false, the following statements are valid: <code>DESCRIBE my_table</code> and <code>DESCRIBE table</code></p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.allow_extract_custom" class="method"><h4 class="code-header">fn <a href="#method.allow_extract_custom" class="fn">allow_extract_custom</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if this dialect allows the <code>EXTRACT</code> function to words other than [<code>Keyword</code>].</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.allow_extract_single_quotes" class="method"><h4 class="code-header">fn <a href="#method.allow_extract_single_quotes" class="fn">allow_extract_single_quotes</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if this dialect allows the <code>EXTRACT</code> function to use single quotes in the part being extracted.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_dollar_placeholder" class="method"><h4 class="code-header">fn <a href="#method.supports_dollar_placeholder" class="fn">supports_dollar_placeholder</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if this dialect allows dollar placeholders
e.g. <code>SELECT $var</code> (SQLite)</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_create_index_with_clause" class="method"><h4 class="code-header">fn <a href="#method.supports_create_index_with_clause" class="fn">supports_create_index_with_clause</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Does the dialect support with clause in create index statement?
e.g. <code>CREATE INDEX idx ON t WITH (key = value, key2)</code></p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.require_interval_qualifier" class="method"><h4 class="code-header">fn <a href="#method.require_interval_qualifier" class="fn">require_interval_qualifier</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Whether <code>INTERVAL</code> expressions require units (called “qualifiers” in the ANSI SQL spec) to be specified,
e.g. <code>INTERVAL 1 DAY</code> vs <code>INTERVAL 1</code>.</p>
<p>Expressions within intervals (e.g. <code>INTERVAL '1' + '1' DAY</code>) are only allowed when units are required.</p>
<p>See <a href="https://github.com/sqlparser-rs/sqlparser-rs/pull/1398">https://github.com/sqlparser-rs/sqlparser-rs/pull/1398</a> for more information.</p>
<p>When <code>true</code>:</p>
<ul>
<li><code>INTERVAL '1' DAY</code> is VALID</li>
<li><code>INTERVAL 1 + 1 DAY</code> is VALID</li>
<li><code>INTERVAL '1' + '1' DAY</code> is VALID</li>
<li><code>INTERVAL '1'</code> is INVALID</li>
</ul>
<p>When <code>false</code>:</p>
<ul>
<li><code>INTERVAL '1'</code> is VALID</li>
<li><code>INTERVAL '1' DAY</code> is VALID — unit is not required, but still allowed</li>
<li><code>INTERVAL 1 + 1 DAY</code> is INVALID</li>
</ul>
</div></details><section id="method.supports_explain_with_utility_options" class="method"><h4 class="code-header">fn <a href="#method.supports_explain_with_utility_options" class="fn">supports_explain_with_utility_options</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section><section id="method.supports_asc_desc_in_column_definition" class="method"><h4 class="code-header">fn <a href="#method.supports_asc_desc_in_column_definition" class="fn">supports_asc_desc_in_column_definition</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section><details class="toggle method-toggle" open><summary><section id="method.supports_factorial_operator" class="method"><h4 class="code-header">fn <a href="#method.supports_factorial_operator" class="fn">supports_factorial_operator</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if the dialect supports <code>a!</code> expressions</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_nested_comments" class="method"><h4 class="code-header">fn <a href="#method.supports_nested_comments" class="fn">supports_nested_comments</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if the dialect supports nested comments
e.g. <code>/* /* nested */ */</code></p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_eq_alias_assignment" class="method"><h4 class="code-header">fn <a href="#method.supports_eq_alias_assignment" class="fn">supports_eq_alias_assignment</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if this dialect supports treating the equals operator <code>=</code> within a <code>SelectItem</code>
as an alias assignment operator, rather than a boolean expression.
For example: the following statements are equivalent for such a dialect:</p>
<div class="example-wrap"><pre class="language-sql"><code> SELECT col_alias = col FROM tbl;
SELECT col_alias AS col FROM tbl;</code></pre></div></div></details><details class="toggle method-toggle" open><summary><section id="method.supports_try_convert" class="method"><h4 class="code-header">fn <a href="#method.supports_try_convert" class="fn">supports_try_convert</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if this dialect supports the <code>TRY_CONVERT</code> function</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_bang_not_operator" class="method"><h4 class="code-header">fn <a href="#method.supports_bang_not_operator" class="fn">supports_bang_not_operator</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if the dialect supports <code>!a</code> syntax for boolean <code>NOT</code> expressions.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_listen_notify" class="method"><h4 class="code-header">fn <a href="#method.supports_listen_notify" class="fn">supports_listen_notify</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if the dialect supports the <code>LISTEN</code>, <code>UNLISTEN</code> and <code>NOTIFY</code> statements</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_load_data" class="method"><h4 class="code-header">fn <a href="#method.supports_load_data" class="fn">supports_load_data</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if the dialect supports the <code>LOAD DATA</code> statement</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_load_extension" class="method"><h4 class="code-header">fn <a href="#method.supports_load_extension" class="fn">supports_load_extension</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if the dialect supports the <code>LOAD extension</code> statement</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_top_before_distinct" class="method"><h4 class="code-header">fn <a href="#method.supports_top_before_distinct" class="fn">supports_top_before_distinct</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if this dialect expects the <code>TOP</code> option
before the <code>ALL</code>/<code>DISTINCT</code> options in a <code>SELECT</code> statement.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_boolean_literals" class="method"><h4 class="code-header">fn <a href="#method.supports_boolean_literals" class="fn">supports_boolean_literals</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if the dialect supports boolean literals (<code>true</code> and <code>false</code>).
For example, in MSSQL these are treated as identifiers rather than boolean literals.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_show_like_before_in" class="method"><h4 class="code-header">fn <a href="#method.supports_show_like_before_in" class="fn">supports_show_like_before_in</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if this dialect supports the <code>LIKE 'pattern'</code> option in
a <code>SHOW</code> statement before the <code>IN</code> option</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_comment_on" class="method"><h4 class="code-header">fn <a href="#method.supports_comment_on" class="fn">supports_comment_on</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if this dialect supports the <code>COMMENT</code> statement</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_create_table_select" class="method"><h4 class="code-header">fn <a href="#method.supports_create_table_select" class="fn">supports_create_table_select</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if the dialect supports the <code>CREATE TABLE SELECT</code> statement</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_partiql" class="method"><h4 class="code-header">fn <a href="#method.supports_partiql" class="fn">supports_partiql</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if the dialect supports PartiQL for querying semi-structured data
<a href="https://partiql.org/index.html">https://partiql.org/index.html</a></p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.is_reserved_for_identifier" class="method"><h4 class="code-header">fn <a href="#method.is_reserved_for_identifier" class="fn">is_reserved_for_identifier</a>(&amp;self, kw: Keyword) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if the specified keyword is reserved and cannot be
used as an identifier without special handling like quoting.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.get_reserved_keywords_for_table_factor" class="method"><h4 class="code-header">fn <a href="#method.get_reserved_keywords_for_table_factor" class="fn">get_reserved_keywords_for_table_factor</a>(&amp;self) -&gt; &amp;[Keyword]</h4></section></summary><div class="docblock"><p>Returns reserved keywords when looking to parse a <code>TableFactor</code>.
See <a href="trait.Dialect.html#method.supports_from_trailing_commas" title="method sqlparser::dialect::Dialect::supports_from_trailing_commas::supports_from_trailing_commas">Self::supports_from_trailing_commas</a></p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.get_reserved_keywords_for_select_item_operator" class="method"><h4 class="code-header">fn <a href="#method.get_reserved_keywords_for_select_item_operator" class="fn">get_reserved_keywords_for_select_item_operator</a>(&amp;self) -&gt; &amp;[Keyword]</h4></section></summary><div class="docblock"><p>Returns reserved keywords that may prefix a select item expression
e.g. <code>SELECT CONNECT_BY_ROOT name FROM Tbl2</code> (Snowflake)</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.get_reserved_grantees_types" class="method"><h4 class="code-header">fn <a href="#method.get_reserved_grantees_types" class="fn">get_reserved_grantees_types</a>(&amp;self) -&gt; &amp;[GranteesType]</h4></section></summary><div class="docblock"><p>Returns grantee types that should be treated as identifiers</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_table_sample_before_alias" class="method"><h4 class="code-header">fn <a href="#method.supports_table_sample_before_alias" class="fn">supports_table_sample_before_alias</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if this dialect supports the <code>TABLESAMPLE</code> option
before the table alias option. For example:</p>
<p>Table sample before alias: <code>SELECT * FROM tbl AS t TABLESAMPLE (10)</code>
Table sample after alias: <code>SELECT * FROM tbl TABLESAMPLE (10) AS t</code></p>
<p><a href="https://jakewheat.github.io/sql-overview/sql-2016-foundation-grammar.html#_7_6_table_reference">https://jakewheat.github.io/sql-overview/sql-2016-foundation-grammar.html#_7_6_table_reference</a></p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_insert_set" class="method"><h4 class="code-header">fn <a href="#method.supports_insert_set" class="fn">supports_insert_set</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if this dialect supports the <code>INSERT INTO ... SET col1 = 1, ...</code> syntax.</p>
<p>MySQL: <a href="https://dev.mysql.com/doc/refman/8.4/en/insert.html">https://dev.mysql.com/doc/refman/8.4/en/insert.html</a></p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_insert_table_function" class="method"><h4 class="code-header">fn <a href="#method.supports_insert_table_function" class="fn">supports_insert_table_function</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Does the dialect support table function in insertion?</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_insert_format" class="method"><h4 class="code-header">fn <a href="#method.supports_insert_format" class="fn">supports_insert_format</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Does the dialect support insert formats, e.g. <code>INSERT INTO ... FORMAT &lt;format&gt;</code></p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_set_stmt_without_operator" class="method"><h4 class="code-header">fn <a href="#method.supports_set_stmt_without_operator" class="fn">supports_set_stmt_without_operator</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if this dialect supports <code>SET</code> statements without an explicit
assignment operator such as <code>=</code>. For example: <code>SET SHOWPLAN_XML ON</code>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.is_column_alias" class="method"><h4 class="code-header">fn <a href="#method.is_column_alias" class="fn">is_column_alias</a>(&amp;self, kw: &amp;Keyword, _parser: &amp;mut Parser&lt;'_&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if the specified keyword should be parsed as a column identifier.
See [keywords::RESERVED_FOR_COLUMN_ALIAS]</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.is_select_item_alias" class="method"><h4 class="code-header">fn <a href="#method.is_select_item_alias" class="fn">is_select_item_alias</a>(
&amp;self,
explicit: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
kw: &amp;Keyword,
parser: &amp;mut Parser&lt;'_&gt;,
) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if the specified keyword should be parsed as a select item alias.
When explicit is true, the keyword is preceded by an <code>AS</code> word. Parser is provided
to enable looking ahead if needed.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.is_table_alias" class="method"><h4 class="code-header">fn <a href="#method.is_table_alias" class="fn">is_table_alias</a>(&amp;self, kw: &amp;Keyword, _parser: &amp;mut Parser&lt;'_&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if the specified keyword should be parsed as a table identifier.
See [keywords::RESERVED_FOR_TABLE_ALIAS]</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.is_table_factor_alias" class="method"><h4 class="code-header">fn <a href="#method.is_table_factor_alias" class="fn">is_table_factor_alias</a>(
&amp;self,
explicit: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
kw: &amp;Keyword,
parser: &amp;mut Parser&lt;'_&gt;,
) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if the specified keyword should be parsed as a table factor alias.
When explicit is true, the keyword is preceded by an <code>AS</code> word. Parser is provided
to enable looking ahead if needed.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_timestamp_versioning" class="method"><h4 class="code-header">fn <a href="#method.supports_timestamp_versioning" class="fn">supports_timestamp_versioning</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if this dialect supports querying historical table data
by specifying which version of the data to query.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_string_escape_constant" class="method"><h4 class="code-header">fn <a href="#method.supports_string_escape_constant" class="fn">supports_string_escape_constant</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if this dialect supports the E syntax for string literals</p>
<p>Postgres: <a href="https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-STRINGS-ESCAPE">https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-STRINGS-ESCAPE</a></p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_table_hints" class="method"><h4 class="code-header">fn <a href="#method.supports_table_hints" class="fn">supports_table_hints</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if the dialect supports the table hints in the <code>FROM</code> clause.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.requires_single_line_comment_whitespace" class="method"><h4 class="code-header">fn <a href="#method.requires_single_line_comment_whitespace" class="fn">requires_single_line_comment_whitespace</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if this dialect requires a whitespace character after <code>--</code> to start a single line comment.</p>
<p>MySQL: <a href="https://dev.mysql.com/doc/refman/8.4/en/ansi-diff-comments.html">https://dev.mysql.com/doc/refman/8.4/en/ansi-diff-comments.html</a>
e.g. UPDATE account SET balance=balance1</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_array_typedef_with_brackets" class="method"><h4 class="code-header">fn <a href="#method.supports_array_typedef_with_brackets" class="fn">supports_array_typedef_with_brackets</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if the dialect supports array type definition with brackets with
an optional size. For example:
<code>CREATE TABLE my_table (arr1 INT[], arr2 INT[3])</code>
<code>SELECT x::INT[]</code></p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_geometric_types" class="method"><h4 class="code-header">fn <a href="#method.supports_geometric_types" class="fn">supports_geometric_types</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if the dialect supports geometric types.</p>
<p>Postgres: <a href="https://www.postgresql.org/docs/9.5/functions-geometry.html">https://www.postgresql.org/docs/9.5/functions-geometry.html</a>
e.g. @@ circle ((0,0),10)</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_order_by_all" class="method"><h4 class="code-header">fn <a href="#method.supports_order_by_all" class="fn">supports_order_by_all</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if the dialect supports <code>ORDER BY ALL</code>.
<code>ALL</code> which means all columns of the SELECT clause.</p>
<p>For example: <code>SELECT * FROM addresses ORDER BY ALL;</code>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.supports_set_names" class="method"><h4 class="code-header">fn <a href="#method.supports_set_names" class="fn">supports_set_names</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if the dialect supports <code>SET NAMES &lt;charset_name&gt; [COLLATE &lt;collation_name&gt;]</code>.</p>
<ul>
<li><a href="https://dev.mysql.com/doc/refman/8.4/en/set-names.html">MySQL</a></li>
<li><a href="https://www.postgresql.org/docs/17/sql-set.html">PostgreSQL</a></li>
</ul>
<p>Note: Postgres doesnt support the <code>COLLATE</code> clause, but we permissively parse it anyway.</p>
</div></details><section id="method.supports_space_separated_column_options" class="method"><h4 class="code-header">fn <a href="#method.supports_space_separated_column_options" class="fn">supports_space_separated_column_options</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section><details class="toggle method-toggle" open><summary><section id="method.supports_alter_column_type_using" class="method"><h4 class="code-header">fn <a href="#method.supports_alter_column_type_using" class="fn">supports_alter_column_type_using</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if the dialect supports the <code>USING</code> clause in an <code>ALTER COLUMN</code> statement.
Example:</p>
<div class="example-wrap"><pre class="language-sql"><code>ALTER TABLE tbl ALTER COLUMN col SET DATA TYPE &lt;type&gt; USING &lt;exp&gt;`</code></pre></div></div></details><details class="toggle method-toggle" open><summary><section id="method.supports_comma_separated_drop_column_list" class="method"><h4 class="code-header">fn <a href="#method.supports_comma_separated_drop_column_list" class="fn">supports_comma_separated_drop_column_list</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if the dialect supports <code>ALTER TABLE tbl DROP COLUMN c1, ..., cn</code></p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.is_identifier_generating_function_name" class="method"><h4 class="code-header">fn <a href="#method.is_identifier_generating_function_name" class="fn">is_identifier_generating_function_name</a>(
&amp;self,
_ident: &amp;<a class="struct" href="../ast/struct.Ident.html" title="struct sql::ast::Ident">Ident</a>,
_name_parts: &amp;[<a class="enum" href="../ast/enum.ObjectNamePart.html" title="enum sql::ast::ObjectNamePart">ObjectNamePart</a>],
) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if the dialect considers the specified ident as a function
that returns an identifier. Typically used to generate identifiers
programmatically.</p>
<ul>
<li><a href="https://docs.snowflake.com/en/sql-reference/identifier-literal">Snowflake</a></li>
</ul>
</div></details></div><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-dyn+Dialect" class="impl"><a href="#impl-dyn+Dialect" class="anchor">§</a><h3 class="code-header">impl dyn <a class="trait" href="trait.Dialect.html" title="trait sql::dialect::Dialect">Dialect</a></h3></section></summary><div class="impl-items"><section id="method.is" class="method"><h4 class="code-header">pub fn <a href="#method.is" class="fn">is</a>&lt;T&gt;(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a><div class="where">where
T: <a class="trait" href="trait.Dialect.html" title="trait sql::dialect::Dialect">Dialect</a>,</div></h4></section></div></details></div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-Dialect-for-GenericDialect" class="impl"><a href="#impl-Dialect-for-GenericDialect" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Dialect.html" title="trait sql::dialect::Dialect">Dialect</a> for <a class="struct" href="struct.GenericDialect.html" title="struct sql::dialect::GenericDialect">GenericDialect</a></h3></section><section id="impl-Dialect-for-GreptimeDbDialect" class="impl"><a class="src rightside" href="../../src/sql/dialect.rs.html#21-47">Source</a><a href="#impl-Dialect-for-GreptimeDbDialect" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Dialect.html" title="trait sql::dialect::Dialect">Dialect</a> for <a class="struct" href="struct.GreptimeDbDialect.html" title="struct sql::dialect::GreptimeDbDialect">GreptimeDbDialect</a></h3></section><section id="impl-Dialect-for-MySqlDialect" class="impl"><a href="#impl-Dialect-for-MySqlDialect" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Dialect.html" title="trait sql::dialect::Dialect">Dialect</a> for <a class="struct" href="struct.MySqlDialect.html" title="struct sql::dialect::MySqlDialect">MySqlDialect</a></h3></section><section id="impl-Dialect-for-PostgreSqlDialect" class="impl"><a href="#impl-Dialect-for-PostgreSqlDialect" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Dialect.html" title="trait sql::dialect::Dialect">Dialect</a> for <a class="struct" href="struct.PostgreSqlDialect.html" title="struct sql::dialect::PostgreSqlDialect">PostgreSqlDialect</a></h3></section><section id="impl-Dialect-for-AnsiDialect" class="impl"><a href="#impl-Dialect-for-AnsiDialect" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Dialect.html" title="trait sql::dialect::Dialect">Dialect</a> for AnsiDialect</h3></section><section id="impl-Dialect-for-BigQueryDialect" class="impl"><a href="#impl-Dialect-for-BigQueryDialect" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Dialect.html" title="trait sql::dialect::Dialect">Dialect</a> for BigQueryDialect</h3></section><section id="impl-Dialect-for-ClickHouseDialect" class="impl"><a href="#impl-Dialect-for-ClickHouseDialect" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Dialect.html" title="trait sql::dialect::Dialect">Dialect</a> for ClickHouseDialect</h3></section><section id="impl-Dialect-for-DatabricksDialect" class="impl"><a href="#impl-Dialect-for-DatabricksDialect" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Dialect.html" title="trait sql::dialect::Dialect">Dialect</a> for DatabricksDialect</h3></section><section id="impl-Dialect-for-DuckDbDialect" class="impl"><a href="#impl-Dialect-for-DuckDbDialect" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Dialect.html" title="trait sql::dialect::Dialect">Dialect</a> for DuckDbDialect</h3></section><section id="impl-Dialect-for-HiveDialect" class="impl"><a href="#impl-Dialect-for-HiveDialect" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Dialect.html" title="trait sql::dialect::Dialect">Dialect</a> for HiveDialect</h3></section><section id="impl-Dialect-for-MsSqlDialect" class="impl"><a href="#impl-Dialect-for-MsSqlDialect" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Dialect.html" title="trait sql::dialect::Dialect">Dialect</a> for MsSqlDialect</h3></section><section id="impl-Dialect-for-RedshiftSqlDialect" class="impl"><a href="#impl-Dialect-for-RedshiftSqlDialect" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Dialect.html" title="trait sql::dialect::Dialect">Dialect</a> for RedshiftSqlDialect</h3></section><section id="impl-Dialect-for-SQLiteDialect" class="impl"><a href="#impl-Dialect-for-SQLiteDialect" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Dialect.html" title="trait sql::dialect::Dialect">Dialect</a> for SQLiteDialect</h3></section><section id="impl-Dialect-for-SnowflakeDialect" class="impl"><a href="#impl-Dialect-for-SnowflakeDialect" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.Dialect.html" title="trait sql::dialect::Dialect">Dialect</a> for SnowflakeDialect</h3></section></div><script src="../../trait.impl/sqlparser/dialect/trait.Dialect.js" data-ignore-extern-crates="sqlparser" async></script></section></div></main></body></html>