pub struct PostgreSqlDialect {}Expand description
A Dialect for PostgreSQL
Trait Implementations§
Source§impl Clone for PostgreSqlDialect
impl Clone for PostgreSqlDialect
impl Copy for PostgreSqlDialect
Source§impl Debug for PostgreSqlDialect
impl Debug for PostgreSqlDialect
Source§impl Default for PostgreSqlDialect
impl Default for PostgreSqlDialect
Source§impl<'de> Deserialize<'de> for PostgreSqlDialect
impl<'de> Deserialize<'de> for PostgreSqlDialect
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl Dialect for PostgreSqlDialect
impl Dialect for PostgreSqlDialect
Source§fn is_custom_operator_part(&self, ch: char) -> bool
fn is_custom_operator_part(&self, ch: char) -> bool
Source§fn supports_explain_with_utility_options(&self) -> bool
fn supports_explain_with_utility_options(&self) -> bool
Source§fn supports_listen_notify(&self) -> bool
fn supports_listen_notify(&self) -> bool
Source§fn supports_exclude_constraint(&self) -> bool
fn supports_exclude_constraint(&self) -> bool
Source§fn supports_factorial_operator(&self) -> bool
fn supports_factorial_operator(&self) -> bool
Source§fn supports_comment_on(&self) -> bool
fn supports_comment_on(&self) -> bool
Source§fn supports_load_extension(&self) -> bool
fn supports_load_extension(&self) -> bool
Source§fn supports_named_fn_args_with_colon_operator(&self) -> bool
fn supports_named_fn_args_with_colon_operator(&self) -> bool
See https://www.postgresql.org/docs/current/functions-json.html
Required to support the colon in:
SELECT json_object('a': 'b')Source§fn supports_named_fn_args_with_expr_name(&self) -> bool
fn supports_named_fn_args_with_expr_name(&self) -> bool
See https://www.postgresql.org/docs/current/functions-json.html
Required to support the label in:
SELECT json_object('label': 'value')Source§fn supports_empty_projections(&self) -> bool
fn supports_empty_projections(&self) -> bool
Return true if the dialect supports empty projections in SELECT statements
Example
SELECT from table_nameSource§fn supports_array_typedef_with_brackets(&self) -> bool
fn supports_array_typedef_with_brackets(&self) -> bool
Source§fn supports_left_associative_joins_without_parens(&self) -> bool
fn supports_left_associative_joins_without_parens(&self) -> bool
PostgreSQL supports right-deep join chains: t0 JOIN t1 JOIN t2 ON c1 ON c2
See: https://www.postgresql.org/docs/current/queries-table-expressions.html#QUERIES-JOIN
Source§fn supports_notnull_operator(&self) -> bool
fn supports_notnull_operator(&self) -> bool
Postgres supports NOTNULL as an alias for IS NOT NULL
See: https://www.postgresql.org/docs/17/functions-comparison.html
Source§fn supports_interval_options(&self) -> bool
fn supports_interval_options(&self) -> bool
Postgres supports optional field and precision options for INTERVAL data type.
Source§fn supports_comment_optimizer_hint(&self) -> bool
fn supports_comment_optimizer_hint(&self) -> bool
Postgres supports query optimizer hints via the pg_hint_plan extension,
using the same comment-prefixed-with-+ syntax as MySQL and Oracle.
Source§fn supports_do_statement(&self) -> bool
fn supports_do_statement(&self) -> bool
DO blocks.Source§fn is_select_item_alias(
&self,
explicit: bool,
keyword: &Keyword,
parser: &mut Parser<'_>,
) -> bool
fn is_select_item_alias( &self, explicit: bool, keyword: &Keyword, parser: &mut Parser<'_>, ) -> bool
AS word. Parser is provided
to enable looking ahead if needed.Source§fn identifier_quote_style(&self, _identifier: &str) -> Option<char>
fn identifier_quote_style(&self, _identifier: &str) -> Option<char>
Source§fn is_delimited_identifier_start(&self, ch: char) -> bool
fn is_delimited_identifier_start(&self, ch: char) -> bool
Word::matching_end_quote hereSource§fn is_identifier_start(&self, ch: char) -> bool
fn is_identifier_start(&self, ch: char) -> bool
Source§fn is_identifier_part(&self, ch: char) -> bool
fn is_identifier_part(&self, ch: char) -> bool
Source§fn supports_unicode_string_literal(&self) -> bool
fn supports_unicode_string_literal(&self) -> bool
U& prefix.
This is used to specify Unicode code points in string literals.
For example, in PostgreSQL, the following is a valid string literal: Read moreSource§fn is_reserved_for_identifier(&self, kw: Keyword) -> bool
fn is_reserved_for_identifier(&self, kw: Keyword) -> bool
Source§fn is_table_alias(&self, kw: &Keyword, _parser: &mut Parser<'_>) -> bool
fn is_table_alias(&self, kw: &Keyword, _parser: &mut Parser<'_>) -> bool
Source§fn get_next_precedence(
&self,
parser: &Parser<'_>,
) -> Option<Result<u8, ParserError>>
fn get_next_precedence( &self, parser: &Parser<'_>, ) -> Option<Result<u8, ParserError>>
Source§fn supports_filter_during_aggregation(&self) -> bool
fn supports_filter_during_aggregation(&self) -> bool
FILTER (WHERE expr) for aggregate queries?Source§fn supports_group_by_expr(&self) -> bool
fn supports_group_by_expr(&self) -> bool
group sets, roll up, or cube expressions.Source§fn supports_alter_user_as_alter_role(&self) -> bool
fn supports_alter_user_as_alter_role(&self) -> bool
Source§fn prec_value(&self, prec: Precedence) -> u8
fn prec_value(&self, prec: Precedence) -> u8
Source§fn allow_extract_custom(&self) -> bool
fn allow_extract_custom(&self) -> bool
EXTRACT function to words other than Keyword.Source§fn allow_extract_single_quotes(&self) -> bool
fn allow_extract_single_quotes(&self) -> bool
EXTRACT function to use single quotes in the part being extracted.Source§fn supports_create_index_with_clause(&self) -> bool
fn supports_create_index_with_clause(&self) -> bool
CREATE INDEX idx ON t WITH (key = value, key2)Source§fn supports_bitwise_shift_operators(&self) -> bool
fn supports_bitwise_shift_operators(&self) -> bool
<< and >> shift operators.Source§fn supports_nested_comments(&self) -> bool
fn supports_nested_comments(&self) -> bool
/* /* nested */ */Source§fn supports_string_escape_constant(&self) -> bool
fn supports_string_escape_constant(&self) -> bool
Source§fn supports_numeric_literal_underscores(&self) -> bool
fn supports_numeric_literal_underscores(&self) -> bool
10_000_000Source§fn supports_geometric_types(&self) -> bool
fn supports_geometric_types(&self) -> bool
Source§fn supports_order_by_using_operator(&self) -> bool
fn supports_order_by_using_operator(&self) -> bool
ORDER BY expr USING <operator>. Read moreSource§fn supports_set_names(&self) -> bool
fn supports_set_names(&self) -> bool
SET NAMES <charset_name> [COLLATE <collation_name>]. Read moreSource§fn supports_set_schema(&self) -> bool
fn supports_set_schema(&self) -> bool
SET [SESSION | LOCAL] SCHEMA 'name'.Source§fn supports_reset_time_zone(&self) -> bool
fn supports_reset_time_zone(&self) -> bool
RESET TIME ZONE.Source§fn supports_alter_column_type_using(&self) -> bool
fn supports_alter_column_type_using(&self) -> bool
USING clause in an ALTER COLUMN statement.
Example: Read moreSource§fn supports_insert_table_alias(&self) -> bool
fn supports_insert_table_alias(&self) -> bool
INSERT INTO t [[AS] alias] ....Source§fn supports_create_table_like_parenthesized(&self) -> bool
fn supports_create_table_like_parenthesized(&self) -> bool
Source§fn supports_select_wildcard_with_alias(&self) -> bool
fn supports_select_wildcard_with_alias(&self) -> bool
Source§fn supports_comma_separated_trim(&self) -> bool
fn supports_comma_separated_trim(&self) -> bool
TRIM function: TRIM(expr, characters).Source§fn supports_xml_expressions(&self) -> bool
fn supports_xml_expressions(&self) -> bool
xml '<foo/>' typed strings, XML functions like
XMLCONCAT, XMLELEMENT, etc. Read moreSource§fn supports_aliased_function_args(&self) -> bool
fn supports_aliased_function_args(&self) -> bool
XMLFOREST(a AS x) in PostgreSQL.Source§fn is_nested_delimited_identifier_start(&self, _ch: char) -> bool
fn is_nested_delimited_identifier_start(&self, _ch: char) -> bool
Source§fn peek_nested_delimited_identifier_quotes(
&self,
_chars: Peekable<Chars<'_>>,
) -> Option<(char, Option<char>)>
fn peek_nested_delimited_identifier_quotes( &self, _chars: Peekable<Chars<'_>>, ) -> Option<(char, Option<char>)>
Self::is_nested_delimited_identifier_start 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. Read moreSource§fn supports_string_literal_backslash_escape(&self) -> bool
fn supports_string_literal_backslash_escape(&self) -> bool
Source§fn supports_national_string_literal(&self) -> bool
fn supports_national_string_literal(&self) -> bool
N'...' as a national string literal? Read moreSource§fn ignores_wildcard_escapes(&self) -> bool
fn ignores_wildcard_escapes(&self) -> bool
Source§fn supports_window_clause_named_window_reference(&self) -> bool
fn supports_window_clause_named_window_reference(&self) -> bool
Source§fn supports_within_after_array_aggregation(&self) -> bool
fn supports_within_after_array_aggregation(&self) -> bool
ARRAY_AGG() [WITHIN GROUP (ORDER BY)] expressions.
Otherwise, the dialect should expect an ORDER BY without the WITHIN GROUP clause, e.g. ANSISource§fn supports_partition_by_after_order_by(&self) -> bool
fn supports_partition_by_after_order_by(&self) -> bool
PARTITION BY appearing after ORDER BY
in a CREATE TABLE statement (in addition to the standard placement before ORDER BY). Read moreSource§fn supports_array_join_syntax(&self) -> bool
fn supports_array_join_syntax(&self) -> bool
ARRAY JOIN / LEFT ARRAY JOIN /
INNER ARRAY JOIN syntax for unnesting arrays inline. Read moreSource§fn supports_group_by_with_modifier(&self) -> bool
fn supports_group_by_with_modifier(&self) -> bool
GROUP BY modifiers prefixed by a WITH keyword.
Example: GROUP BY value WITH ROLLUP.Source§fn supports_outer_join_operator(&self) -> bool
fn supports_outer_join_operator(&self) -> bool
(+) syntax for OUTER JOIN.Source§fn supports_cross_join_constraint(&self) -> bool
fn supports_cross_join_constraint(&self) -> bool
Source§fn supports_connect_by(&self) -> bool
fn supports_connect_by(&self) -> bool
Source§fn supports_execute_immediate(&self) -> bool
fn supports_execute_immediate(&self) -> bool
EXECUTE IMMEDIATE statements.Source§fn supports_match_recognize(&self) -> bool
fn supports_match_recognize(&self) -> bool
Source§fn supports_in_empty_list(&self) -> bool
fn supports_in_empty_list(&self) -> bool
(NOT) IN () expressionsSource§fn supports_in_unparenthesized_expr(&self) -> bool
fn supports_in_unparenthesized_expr(&self) -> bool
IN, without a parenthesized list — as in x IN 'a'.Source§fn supports_start_transaction_modifier(&self) -> bool
fn supports_start_transaction_modifier(&self) -> bool
BEGIN {DEFERRED | IMMEDIATE | EXCLUSIVE | TRY | CATCH} [TRANSACTION] statementsSource§fn supports_end_transaction_modifier(&self) -> bool
fn supports_end_transaction_modifier(&self) -> bool
END {TRY | CATCH} statementsSource§fn supports_named_fn_args_with_eq_operator(&self) -> bool
fn supports_named_fn_args_with_eq_operator(&self) -> bool
FUN(a = '1', b = '2').Source§fn supports_named_fn_args_with_assignment_operator(&self) -> bool
fn supports_named_fn_args_with_assignment_operator(&self) -> bool
FUN(a := '1', b := '2').Source§fn supports_named_fn_args_with_rarrow_operator(&self) -> bool
fn supports_named_fn_args_with_rarrow_operator(&self) -> bool
FUN(a => '1', b => '2').Source§fn supports_numeric_prefix(&self) -> bool
fn supports_numeric_prefix(&self) -> bool
59901_user_loginSource§fn supports_tuple_element_access(&self) -> bool
fn supports_tuple_element_access(&self) -> bool
t.1, instead of the number .1.Source§fn supports_window_function_null_treatment_arg(&self) -> bool
fn supports_window_function_null_treatment_arg(&self) -> bool
Source§fn supports_dictionary_syntax(&self) -> bool
fn supports_dictionary_syntax(&self) -> bool
{'x': 1, 'y': 2, 'z': 3}.Source§fn support_map_literal_syntax(&self) -> bool
fn support_map_literal_syntax(&self) -> bool
Map {1: 10, 2: 20}.Source§fn supports_lambda_functions(&self) -> bool
fn supports_lambda_functions(&self) -> bool
Source§fn supports_lambda_keyword_syntax(&self) -> bool
fn supports_lambda_keyword_syntax(&self) -> bool
LAMBDA keyword spelling of
lambda functions, for example: Read moreSource§fn supports_parenthesized_set_variables(&self) -> bool
fn supports_parenthesized_set_variables(&self) -> bool
SET variable declaration. Read moreSource§fn supports_comma_separated_set_assignments(&self) -> bool
fn supports_comma_separated_set_assignments(&self) -> bool
SET statements
in a single statement. Read moreSource§fn supports_update_order_by(&self) -> bool
fn supports_update_order_by(&self) -> bool
Source§fn supports_select_wildcard_except(&self) -> bool
fn supports_select_wildcard_except(&self) -> bool
EXCEPT clause following a
wildcard in a select list. Read moreSource§fn convert_type_before_value(&self) -> bool
fn convert_type_before_value(&self) -> bool
CONVERT(varchar, 1)Source§fn supports_triple_quoted_string(&self) -> bool
fn supports_triple_quoted_string(&self) -> bool
"""abc"""Source§fn parse_prefix(
&self,
_parser: &mut Parser<'_>,
) -> Option<Result<Expr, ParserError>>
fn parse_prefix( &self, _parser: &mut Parser<'_>, ) -> Option<Result<Expr, ParserError>>
Source§fn supports_approximate_percentile_disc(&self) -> bool
fn supports_approximate_percentile_disc(&self) -> bool
APPROXIMATE PERCENTILE_DISC function syntax?
See https://docs.aws.amazon.com/redshift/latest/dg/r_APPROXIMATE_PERCENTILE_DISC.htmlSource§fn supports_trailing_commas(&self) -> bool
fn supports_trailing_commas(&self) -> bool
Source§fn supports_limit_comma(&self) -> bool
fn supports_limit_comma(&self) -> bool
LIMIT 1, 2 as LIMIT 2 OFFSET 1?Source§fn supports_string_literal_concatenation(&self) -> bool
fn supports_string_literal_concatenation(&self) -> bool
SELECT 'Hello ' "world" => SELECT 'Hello world'Source§fn supports_string_literal_concatenation_with_newline(&self) -> bool
fn supports_string_literal_concatenation_with_newline(&self) -> bool
true: Read moreSource§fn supports_projection_trailing_commas(&self) -> bool
fn supports_projection_trailing_commas(&self) -> bool
Source§fn supports_from_trailing_commas(&self) -> bool
fn supports_from_trailing_commas(&self) -> bool
FROM clause of a SELECT statement.
Example: SELECT 1 FROM T, U, LIMIT 1Source§fn supports_column_definition_trailing_commas(&self) -> bool
fn supports_column_definition_trailing_commas(&self) -> bool
CREATE statement.
Example: CREATE TABLE T (x INT, y TEXT,)Source§fn supports_object_name_double_dot_notation(&self) -> bool
fn supports_object_name_double_dot_notation(&self) -> bool
Source§fn supports_struct_literal(&self) -> bool
fn supports_struct_literal(&self) -> bool
Source§fn supports_select_expr_star(&self) -> bool
fn supports_select_expr_star(&self) -> bool
Source§fn supports_from_first_select(&self) -> bool
fn supports_from_first_select(&self) -> bool
Source§fn supports_from_first_insert(&self) -> bool
fn supports_from_first_insert(&self) -> bool
Source§fn supports_pipe_operator(&self) -> bool
fn supports_pipe_operator(&self) -> bool
Source§fn supports_user_host_grantee(&self) -> bool
fn supports_user_host_grantee(&self) -> bool
'user'@'host' grantee syntax?Source§fn supports_match_against(&self) -> bool
fn supports_match_against(&self) -> bool
MATCH() AGAINST() syntax?Source§fn supports_select_wildcard_exclude(&self) -> bool
fn supports_select_wildcard_exclude(&self) -> bool
SELECT * EXCLUDE col1 FROM tbl. Read moreSource§fn supports_select_exclude(&self) -> bool
fn supports_select_exclude(&self) -> bool
SELECT *, c1, c2 EXCLUDE c3 FROM tbl Read moreSource§fn supports_create_table_multi_schema_info_sources(&self) -> bool
fn supports_create_table_multi_schema_info_sources(&self) -> bool
CREATE TABLE statement for the structure of the new table. For example:
CREATE TABLE t (a INT, b INT) AS SELECT 1 AS b, 2 AS aSource§fn supports_select_modifiers(&self) -> bool
fn supports_select_modifiers(&self) -> bool
HIGH_PRIORITY, STRAIGHT_JOIN, SQL_SMALL_RESULT, etc. Read moreSource§fn parse_infix(
&self,
_parser: &mut Parser<'_>,
_expr: &Expr,
_precedence: u8,
) -> Option<Result<Expr, ParserError>>
fn parse_infix( &self, _parser: &mut Parser<'_>, _expr: &Expr, _precedence: u8, ) -> Option<Result<Expr, ParserError>>
Source§fn get_next_precedence_default(
&self,
parser: &Parser<'_>,
) -> Result<u8, ParserError>
fn get_next_precedence_default( &self, parser: &Parser<'_>, ) -> Result<u8, ParserError>
Source§fn parse_statement(
&self,
_parser: &mut Parser<'_>,
) -> Option<Result<Statement, ParserError>>
fn parse_statement( &self, _parser: &mut Parser<'_>, ) -> Option<Result<Statement, ParserError>>
Source§fn parse_column_option(
&self,
_parser: &mut Parser<'_>,
) -> Result<Option<Result<Option<ColumnOption>, ParserError>>, ParserError>
fn parse_column_option( &self, _parser: &mut Parser<'_>, ) -> Result<Option<Result<Option<ColumnOption>, ParserError>>, ParserError>
Source§fn prec_unknown(&self) -> u8
fn prec_unknown(&self) -> u8
Source§fn describe_requires_table_keyword(&self) -> bool
fn describe_requires_table_keyword(&self) -> bool
Source§fn supports_extract_comma_syntax(&self) -> bool
fn supports_extract_comma_syntax(&self) -> bool
EXTRACT function
with a comma separator instead of FROM. Read moreSource§fn supports_subquery_as_function_arg(&self) -> bool
fn supports_subquery_as_function_arg(&self) -> bool
Source§fn supports_create_view_comment_syntax(&self) -> bool
fn supports_create_view_comment_syntax(&self) -> bool
COMMENT clause in
CREATE VIEW statements using the COMMENT = 'comment' syntax. Read moreSource§fn supports_data_type_collation(&self) -> bool
fn supports_data_type_collation(&self) -> bool
MAP<STRING COLLATE UTF8_BINARY, STRING>.Source§fn supports_array_typedef_without_element_type(&self) -> bool
fn supports_array_typedef_without_element_type(&self) -> bool
ARRAY type without
specifying an element type. Read moreSource§fn supports_array_typedef_with_parentheses(&self) -> bool
fn supports_array_typedef_with_parentheses(&self) -> bool
ARRAY(element_type) syntax. Read moreSource§fn supports_array_element_not_null(&self) -> bool
fn supports_array_element_not_null(&self) -> bool
NOT NULL on an element type in
an ARRAY(element_type) definition.Source§fn supports_map_typedef_with_parentheses(&self) -> bool
fn supports_map_typedef_with_parentheses(&self) -> bool
MAP(key_type, value_type) syntax.Source§fn supports_map_value_not_null(&self) -> bool
fn supports_map_value_not_null(&self) -> bool
NOT NULL on the value type in
a MAP(key_type, value_type) definition.Source§fn supports_parens_around_table_factor(&self) -> bool
fn supports_parens_around_table_factor(&self) -> bool
FROM clause. Read moreSource§fn supports_values_as_table_factor(&self) -> bool
fn supports_values_as_table_factor(&self) -> bool
VALUES as a table factor
without requiring parentheses around the entire clause. Read moreSource§fn supports_dollar_placeholder(&self) -> bool
fn supports_dollar_placeholder(&self) -> bool
SELECT $var (SQLite)Source§fn supports_dollar_as_money_prefix(&self) -> bool
fn supports_dollar_as_money_prefix(&self) -> bool
$ as a prefix for money literals
e.g. SELECT $123.45 (SQL Server)Source§fn require_interval_qualifier(&self) -> bool
fn require_interval_qualifier(&self) -> bool
INTERVAL expressions require units (called “qualifiers” in the ANSI SQL spec) to be specified,
e.g. INTERVAL 1 DAY vs INTERVAL 1. Read moreSource§fn supports_asc_desc_in_column_definition(&self) -> bool
fn supports_asc_desc_in_column_definition(&self) -> bool
ASC and DESC in column definitions
e.g. CREATE TABLE t (a INT ASC, b INT DESC);Source§fn supports_string_literal_column_names(&self) -> bool
fn supports_string_literal_column_names(&self) -> bool
CREATE TABLE.
SQLite’s grammar rule nm ::= id | STRING | JOIN_KW permits this.Source§fn supports_multiline_comment_hints(&self) -> bool
fn supports_multiline_comment_hints(&self) -> bool
/*!50110 KEY_BLOCK_SIZE = 1024*/Source§fn supports_eq_alias_assignment(&self) -> bool
fn supports_eq_alias_assignment(&self) -> bool
= within a SelectItem
as an alias assignment operator, rather than a boolean expression.
For example: the following statements are equivalent for such a dialect: Read moreSource§fn supports_try_convert(&self) -> bool
fn supports_try_convert(&self) -> bool
TRY_CONVERT functionSource§fn supports_bang_not_operator(&self) -> bool
fn supports_bang_not_operator(&self) -> bool
!a syntax for boolean NOT expressions.Source§fn supports_load_data(&self) -> bool
fn supports_load_data(&self) -> bool
LOAD DATA statementSource§fn supports_top_before_distinct(&self) -> bool
fn supports_top_before_distinct(&self) -> bool
TOP option
before the ALL/DISTINCT options in a SELECT statement.Source§fn supports_boolean_literals(&self) -> bool
fn supports_boolean_literals(&self) -> bool
true and false).
For example, in MSSQL these are treated as identifiers rather than boolean literals.Source§fn supports_show_like_before_in(&self) -> bool
fn supports_show_like_before_in(&self) -> bool
LIKE 'pattern' option in
a SHOW statement before the IN optionSource§fn supports_create_table_select(&self) -> bool
fn supports_create_table_select(&self) -> bool
CREATE TABLE SELECT statementSource§fn supports_create_proc_syntax(&self) -> bool
fn supports_create_proc_syntax(&self) -> bool
PROC as an abbreviation for
PROCEDURE in a CREATE statement.Source§fn supports_leading_comma_before_table_options(&self) -> bool
fn supports_leading_comma_before_table_options(&self) -> bool
Source§fn supports_partiql(&self) -> bool
fn supports_partiql(&self) -> bool
Source§fn supports_unpivot_expr(&self) -> bool
fn supports_unpivot_expr(&self) -> bool
Source§fn supports_constraint_keyword_without_name(&self) -> bool
fn supports_constraint_keyword_without_name(&self) -> bool
CONSTRAINT keyword without a name
in table constraint definitions. Read moreSource§fn supports_key_column_option(&self) -> bool
fn supports_key_column_option(&self) -> bool
KEY keyword as part of
column-level constraints in a CREATE TABLE statement. Read moreSource§fn get_reserved_keywords_for_select_item_operator(&self) -> &[Keyword]
fn get_reserved_keywords_for_select_item_operator(&self) -> &[Keyword]
SELECT CONNECT_BY_ROOT name FROM Tbl2 (Snowflake)Source§fn get_reserved_grantees_types(&self) -> &[GranteesType]
fn get_reserved_grantees_types(&self) -> &[GranteesType]
Source§fn supports_table_sample_before_alias(&self) -> bool
fn supports_table_sample_before_alias(&self) -> bool
TABLESAMPLE option
before the table alias option. For example: Read moreSource§fn supports_insert_set(&self) -> bool
fn supports_insert_set(&self) -> bool
INSERT INTO ... SET col1 = 1, ... syntax. Read moreSource§fn supports_insert_table_function(&self) -> bool
fn supports_insert_table_function(&self) -> bool
Source§fn supports_insert_table_query(&self) -> bool
fn supports_insert_table_query(&self) -> bool
Source§fn supports_insert_format(&self) -> bool
fn supports_insert_format(&self) -> bool
INSERT INTO ... FORMAT <format>Source§fn supports_set_stmt_without_operator(&self) -> bool
fn supports_set_stmt_without_operator(&self) -> bool
SET statements without an explicit
assignment operator such as =. For example: SET SHOWPLAN_XML ON.Source§fn is_column_alias(&self, kw: &Keyword, _parser: &mut Parser<'_>) -> bool
fn is_column_alias(&self, kw: &Keyword, _parser: &mut Parser<'_>) -> bool
Source§fn is_table_factor(&self, kw: &Keyword, _parser: &mut Parser<'_>) -> bool
fn is_table_factor(&self, kw: &Keyword, _parser: &mut Parser<'_>) -> bool
Source§fn is_table_factor_alias(
&self,
explicit: bool,
kw: &Keyword,
parser: &mut Parser<'_>,
) -> bool
fn is_table_factor_alias( &self, explicit: bool, kw: &Keyword, parser: &mut Parser<'_>, ) -> bool
AS word. Parser is provided
to enable looking ahead if needed.Source§fn supports_table_versioning(&self) -> bool
fn supports_table_versioning(&self) -> bool
Source§fn supports_table_hints(&self) -> bool
fn supports_table_hints(&self) -> bool
FROM clause.Source§fn requires_single_line_comment_whitespace(&self) -> bool
fn requires_single_line_comment_whitespace(&self) -> bool
-- to start a single line comment. Read moreSource§fn supports_order_by_all(&self) -> bool
fn supports_order_by_all(&self) -> bool
ORDER BY ALL.
ALL which means all columns of the SELECT clause. Read moreSource§fn supports_space_separated_column_options(&self) -> bool
fn supports_space_separated_column_options(&self) -> bool
CREATE TABLE statement. For example: Read moreSource§fn supports_comma_separated_drop_column_list(&self) -> bool
fn supports_comma_separated_drop_column_list(&self) -> bool
ALTER TABLE tbl DROP COLUMN c1, ..., cnSource§fn supports_alter_column_position(&self) -> bool
fn supports_alter_column_position(&self) -> bool
FIRST or AFTER col column
position in ALTER TABLE ... ADD | CHANGE | MODIFY COLUMN.
Example: Read moreSource§fn is_identifier_generating_function_name(
&self,
_ident: &Ident,
_name_parts: &[ObjectNamePart],
) -> bool
fn is_identifier_generating_function_name( &self, _ident: &Ident, _name_parts: &[ObjectNamePart], ) -> bool
Source§fn supports_data_type_signed_suffix(&self) -> bool
fn supports_data_type_signed_suffix(&self) -> bool
SIGNED suffix after integer data types. Read moreSource§fn supports_semantic_view_table_factor(&self) -> bool
fn supports_semantic_view_table_factor(&self) -> bool
SEMANTIC_VIEW() table functions. Read moreSource§fn supports_stages(&self) -> bool
fn supports_stages(&self) -> bool
@stage). Read moreSource§fn supports_quote_delimited_string(&self) -> bool
fn supports_quote_delimited_string(&self) -> bool
Q'{...}' Read moreSource§fn supports_double_ampersand_operator(&self) -> bool
fn supports_double_ampersand_operator(&self) -> bool
&& operator as a boolean AND operator.Source§fn supports_binary_kw_as_cast(&self) -> bool
fn supports_binary_kw_as_cast(&self) -> bool
BINARY <expr> syntax.Source§fn supports_select_wildcard_replace(&self) -> bool
fn supports_select_wildcard_replace(&self) -> bool
REPLACE option in a
SELECT * wildcard expression. Read moreSource§fn supports_select_wildcard_ilike(&self) -> bool
fn supports_select_wildcard_ilike(&self) -> bool
Source§fn supports_select_wildcard_rename(&self) -> bool
fn supports_select_wildcard_rename(&self) -> bool
RENAME option in a
SELECT * wildcard expression. Read moreSource§fn supports_optimize_table(&self) -> bool
fn supports_optimize_table(&self) -> bool
OPTIMIZE TABLE statement. Read moreSource§fn supports_install(&self) -> bool
fn supports_install(&self) -> bool
INSTALL statement. Read moreSource§fn supports_detach(&self) -> bool
fn supports_detach(&self) -> bool
DETACH statement. Read moreSource§fn supports_prewhere(&self) -> bool
fn supports_prewhere(&self) -> bool
Source§fn supports_with_fill(&self) -> bool
fn supports_with_fill(&self) -> bool
Source§fn supports_limit_by(&self) -> bool
fn supports_limit_by(&self) -> bool
LIMIT BY clause. Read moreSource§fn supports_interpolate(&self) -> bool
fn supports_interpolate(&self) -> bool
Source§fn supports_settings(&self) -> bool
fn supports_settings(&self) -> bool
SETTINGS clause. Read moreSource§fn supports_table_partitions(&self) -> bool
fn supports_table_partitions(&self) -> bool
PARTITION clause on a table factor,
restricting a query to an explicit list of partitions. Read moreSource§fn supports_select_format(&self) -> bool
fn supports_select_format(&self) -> bool
Source§fn supports_cte_without_as(&self) -> bool
fn supports_cte_without_as(&self) -> bool
AS keyword being
optional in a CTE definition. For example: Read moreSource§fn supports_select_item_multi_column_alias(&self) -> bool
fn supports_select_item_multi_column_alias(&self) -> bool
Source§fn supports_create_table_using(&self) -> bool
fn supports_create_table_using(&self) -> bool
Source§fn supports_long_type_as_bigint(&self) -> bool
fn supports_long_type_as_bigint(&self) -> bool
Source§fn supports_map_literal_with_angle_brackets(&self) -> bool
fn supports_map_literal_with_angle_brackets(&self) -> bool
MAP<K, V> angle-bracket syntax for the MAP data type. Read moreSource§fn supports_double_eq_assignment(&self) -> bool
fn supports_double_eq_assignment(&self) -> bool
Source§fn supports_cast_empty_data_type_to_unspecified(&self) -> bool
fn supports_cast_empty_data_type_to_unspecified(&self) -> bool
CAST(expr AS) with an empty type name. Read more