mirror of
https://github.com/GreptimeTeam/greptimedb.git
synced 2025-12-27 00:19:58 +00:00
505 lines
128 KiB
HTML
505 lines
128 KiB
HTML
<!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> <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>(&self, ch: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.char.html">char</a>) -> <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>(&self, ch: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.char.html">char</a>) -> <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>(&self) -> <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>(&self, ch: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.char.html">char</a>) -> <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>(&self, _ch: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.char.html">char</a>) -> <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>(
|
||
&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><<a class="struct" href="https://doc.rust-lang.org/nightly/core/str/iter/struct.Chars.html" title="struct core::str::iter::Chars">Chars</a><'_>>,
|
||
) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><(<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><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.char.html">char</a>>)> { ... }
|
||
<span class="item-spacer"></span> fn <a href="#method.identifier_quote_style" class="fn">identifier_quote_style</a>(&self, _identifier: &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.char.html">char</a>> { ... }
|
||
<span class="item-spacer"></span> fn <a href="#method.is_custom_operator_part" class="fn">is_custom_operator_part</a>(&self, _ch: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.char.html">char</a>) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(
|
||
&self,
|
||
_parser: &mut Parser<'_>,
|
||
) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../ast/enum.Expr.html" title="enum sql::ast::Expr">Expr</a>, ParserError>> { ... }
|
||
<span class="item-spacer"></span> fn <a href="#method.supports_trailing_commas" class="fn">supports_trailing_commas</a>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(
|
||
&self,
|
||
_parser: &mut Parser<'_>,
|
||
_expr: &<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>,
|
||
) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../ast/enum.Expr.html" title="enum sql::ast::Expr">Expr</a>, ParserError>> { ... }
|
||
<span class="item-spacer"></span> fn <a href="#method.get_next_precedence" class="fn">get_next_precedence</a>(
|
||
&self,
|
||
_parser: &Parser<'_>,
|
||
) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>, ParserError>> { ... }
|
||
<span class="item-spacer"></span> fn <a href="#method.get_next_precedence_default" class="fn">get_next_precedence_default</a>(
|
||
&self,
|
||
parser: &Parser<'_>,
|
||
) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>, ParserError> { ... }
|
||
<span class="item-spacer"></span> fn <a href="#method.parse_statement" class="fn">parse_statement</a>(
|
||
&self,
|
||
_parser: &mut Parser<'_>,
|
||
) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Statement, ParserError>> { ... }
|
||
<span class="item-spacer"></span> fn <a href="#method.parse_column_option" class="fn">parse_column_option</a>(
|
||
&self,
|
||
_parser: &mut Parser<'_>,
|
||
) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="../ast/enum.ColumnOption.html" title="enum sql::ast::ColumnOption">ColumnOption</a>>, ParserError>>, ParserError> { ... }
|
||
<span class="item-spacer"></span> fn <a href="#method.prec_value" class="fn">prec_value</a>(&self, prec: Precedence) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self, kw: Keyword) -> <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>(&self) -> &[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>(&self) -> &[Keyword] { ... }
|
||
<span class="item-spacer"></span> fn <a href="#method.get_reserved_grantees_types" class="fn">get_reserved_grantees_types</a>(&self) -> &[GranteesType] { ... }
|
||
<span class="item-spacer"></span> fn <a href="#method.supports_table_sample_before_alias" class="fn">supports_table_sample_before_alias</a>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self, kw: &Keyword, _parser: &mut Parser<'_>) -> <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>(
|
||
&self,
|
||
explicit: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
|
||
kw: &Keyword,
|
||
parser: &mut Parser<'_>,
|
||
) -> <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>(&self, kw: &Keyword, _parser: &mut Parser<'_>) -> <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>(
|
||
&self,
|
||
explicit: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
|
||
kw: &Keyword,
|
||
parser: &mut Parser<'_>,
|
||
) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(
|
||
&self,
|
||
_ident: &<a class="struct" href="../ast/struct.Ident.html" title="struct sql::ast::Ident">Ident</a>,
|
||
_name_parts: &[<a class="enum" href="../ast/enum.ObjectNamePart.html" title="enum sql::ast::ObjectNamePart">ObjectNamePart</a>],
|
||
) -> <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::<AnsiDialect>());</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>(&self, ch: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.char.html">char</a>) -> <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>(&self, ch: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.char.html">char</a>) -> <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>(&self) -> <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>(&self, ch: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.char.html">char</a>) -> <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>(&self, _ch: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.char.html">char</a>) -> <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 "foo";
|
||
SELECT 1 AS [foo];
|
||
SELECT 1 AS ["foo"];</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>(
|
||
&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><<a class="struct" href="https://doc.rust-lang.org/nightly/core/str/iter/struct.Chars.html" title="struct core::str::iter::Chars">Chars</a><'_>>,
|
||
) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><(<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><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.char.html">char</a>>)></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>`["foo"]` => Some(`[`, Some(`"`))
|
||
`[foo]` => Some(`[`, None)
|
||
`[0]` => None
|
||
`"foo"` => 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>(&self, _identifier: &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.char.html">char</a>></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>(&self, _ch: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.char.html">char</a>) -> <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>(&self) -> <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 'ab\'cd';</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 '\';</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>(&self) -> <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>). MySQL’s 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> select '\_', hex('\\'), hex('_'), hex('\_');
|
||
+----+-----------+----------+-----------+
|
||
| \_ | hex('\\') | hex('_') | hex('\_') |
|
||
+----+-----------+----------+-----------+
|
||
| \_ | 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>(&self) -> <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&</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&'\0061\0062\0063';</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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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_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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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 function’s 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>(&self) -> <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>(&self) -> <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>(&self) -> <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 -> 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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(
|
||
&self,
|
||
_parser: &mut Parser<'_>,
|
||
) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../ast/enum.Expr.html" title="enum sql::ast::Expr">Expr</a>, ParserError>></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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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, 'foo' 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>(&self) -> <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>(&self) -> <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<STRING>('foo').* 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>(&self) -> <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>(&self) -> <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
|
||
|> 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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(
|
||
&self,
|
||
_parser: &mut Parser<'_>,
|
||
_expr: &<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>,
|
||
) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../ast/enum.Expr.html" title="enum sql::ast::Expr">Expr</a>, ParserError>></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>(
|
||
&self,
|
||
_parser: &Parser<'_>,
|
||
) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>, ParserError>></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>(
|
||
&self,
|
||
parser: &Parser<'_>,
|
||
) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>, ParserError></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 => 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>(
|
||
&self,
|
||
_parser: &mut Parser<'_>,
|
||
) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Statement, ParserError>></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>(
|
||
&self,
|
||
_parser: &mut Parser<'_>,
|
||
) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="../ast/enum.ColumnOption.html" title="enum sql::ast::ColumnOption">ColumnOption</a>>, ParserError>>, ParserError></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>(&self, prec: Precedence) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self, kw: Keyword) -> <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>(&self) -> &[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>(&self) -> &[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>(&self) -> &[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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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 <format></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>(&self) -> <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>(&self, kw: &Keyword, _parser: &mut Parser<'_>) -> <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>(
|
||
&self,
|
||
explicit: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
|
||
kw: &Keyword,
|
||
parser: &mut Parser<'_>,
|
||
) -> <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>(&self, kw: &Keyword, _parser: &mut Parser<'_>) -> <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>(
|
||
&self,
|
||
explicit: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
|
||
kw: &Keyword,
|
||
parser: &mut Parser<'_>,
|
||
) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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=balance–1</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>(&self) -> <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>(&self) -> <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>(&self) -> <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>(&self) -> <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 <charset_name> [COLLATE <collation_name>]</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 doesn’t 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>(&self) -> <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>(&self) -> <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 <type> USING <exp>`</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>(&self) -> <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>(
|
||
&self,
|
||
_ident: &<a class="struct" href="../ast/struct.Ident.html" title="struct sql::ast::Ident">Ident</a>,
|
||
_name_parts: &[<a class="enum" href="../ast/enum.ObjectNamePart.html" title="enum sql::ast::ObjectNamePart">ObjectNamePart</a>],
|
||
) -> <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><T>(&self) -> <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> |