// Code generated by tools/gen_settings.py. DO NOT EDIT.
///|
/// Data attributes of the Python `Dialect` class.
pub(all) struct DialectConfig {
mut alias_post_tablesample : Bool
mut alias_post_version : Bool
mut alter_table_add_required_for_each_column : Bool
mut alter_table_supports_cascade : Bool
mut annotate_all_scopes : Bool
mut array_agg_includes_nulls : Bool?
mut array_funcs_propagates_nulls : Bool
mut ascii_only_normalization : Bool
mut bit_end : String?
mut bit_start : String?
mut byte_end : String?
mut byte_start : String?
mut byte_strings_support_escaped_sequences : Bool
mut byte_string_is_bytes_type : Bool
mut coalesce_comparison_non_standard : Bool
mut concat_coalesce : Bool
mut concat_ws_coalesce : Bool
mut copy_params_are_csv : Bool
mut creatable_kind_mapping : Map[String, String]
mut dateint_format : String
mut date_format : String
mut date_part_mapping : Map[String, String]
mut default_functions_column_names : Map[Kind, String]
mut default_null_type : DType
mut disables_alias_ref_expansion : Bool
mut dpipe_is_string_concat : Bool
mut escaped_sequences : Map[String, String]
mut excludes_pseudocolumns_from_star : Bool
mut expand_only_group_alias_ref : Bool
mut force_early_alias_ref_expansion : Bool
mut format_mapping : Map[String, String]
mut has_distinct_array_constructors : Bool
mut hex_end : String?
mut hex_lowercase : Bool
mut hex_start : String?
mut hex_string_is_integer_type : Bool
mut identifiers_can_start_with_digit : Bool
mut identifier_end : String
mut identifier_start : String
mut index_offset : Int
mut initcap_default_delimiter_chars : String
mut initcap_supports_custom_delimiters : Bool
mut inverse_creatable_kind_mapping : Map[String, String]
mut inverse_format_mapping : Map[String, String]
mut inverse_time_mapping : Map[String, String]
mut inverse_vector_type_aliases : Map[String, String]
mut json_extract_scalar_scalar_only : Bool
mut json_path_single_dot_is_wildcard : Bool
mut least_greatest_ignores_nulls : Bool
mut log_base_first : Bool?
mut normalization_strategy : NormalizationStrategy
mut normalize_functions : StrOrBool
mut normalize_not_null : Bool
mut null_ordering : String
mut numbers_can_be_underscore_separated : Bool
mut on_condition_empty_before_error : Bool
mut prefer_cte_alias_column : Bool
mut preserve_original_names : Bool
mut prioritize_non_literal_types : Bool
mut projection_aliases_shadow_source_names : Bool
mut promote_to_inferred_datetime_type : Bool
mut pseudocolumns : @set.Set[String]
mut query_results_are_structs : Bool
mut quote_end : String
mut quote_start : String
mut regexp_extract_default_group : Int
mut regexp_extract_position_overflow_returns_null : Bool
mut requires_parenthesized_struct_access : Bool
mut safe_division : Bool
mut safe_to_eliminate_double_negation : Bool
mut set_op_distinct_by_default : Map[Kind, Bool?]
mut star_ilike_backslash_escape : Bool
mut strict_json_path_syntax : Bool
mut strict_string_concat : Bool
mut strings_support_escaped_sequences : Bool
mut supports_alias_refs_in_join_conditions : Bool
mut supports_column_join_marks : Bool
mut supports_fixed_size_arrays : Bool
mut supports_limit_all : Bool
mut supports_null_type : Bool
mut supports_order_by_all : Bool
mut supports_positional_column_refs : Bool
mut supports_struct_star_expansion : Bool
mut supports_user_defined_types : Bool
mut supports_values_default : Bool
mut tablesample_size_is_percent : Bool
mut tables_referenceable_as_columns : Bool
mut time_format : String
mut time_mapping : Map[String, String]
mut try_cast_requires_string : Bool?
mut typed_division : Bool
mut unescaped_sequences : Map[String, String]
mut unicode_end : String?
mut unicode_start : String?
mut unnest_column_only : Bool
mut uuid_is_string_type : Bool
mut valid_interval_units : @set.Set[String]
mut week_offset : Int
}
///|
pub fn DialectConfig::copy(self : DialectConfig) -> DialectConfig {
{
alias_post_tablesample: self.alias_post_tablesample,
alias_post_version: self.alias_post_version,
alter_table_add_required_for_each_column: self.alter_table_add_required_for_each_column,
alter_table_supports_cascade: self.alter_table_supports_cascade,
annotate_all_scopes: self.annotate_all_scopes,
array_agg_includes_nulls: self.array_agg_includes_nulls,
array_funcs_propagates_nulls: self.array_funcs_propagates_nulls,
ascii_only_normalization: self.ascii_only_normalization,
bit_end: self.bit_end,
bit_start: self.bit_start,
byte_end: self.byte_end,
byte_start: self.byte_start,
byte_strings_support_escaped_sequences: self.byte_strings_support_escaped_sequences,
byte_string_is_bytes_type: self.byte_string_is_bytes_type,
coalesce_comparison_non_standard: self.coalesce_comparison_non_standard,
concat_coalesce: self.concat_coalesce,
concat_ws_coalesce: self.concat_ws_coalesce,
copy_params_are_csv: self.copy_params_are_csv,
creatable_kind_mapping: self.creatable_kind_mapping.copy(),
dateint_format: self.dateint_format,
date_format: self.date_format,
date_part_mapping: self.date_part_mapping.copy(),
default_functions_column_names: self.default_functions_column_names.copy(),
default_null_type: self.default_null_type,
disables_alias_ref_expansion: self.disables_alias_ref_expansion,
dpipe_is_string_concat: self.dpipe_is_string_concat,
escaped_sequences: self.escaped_sequences.copy(),
excludes_pseudocolumns_from_star: self.excludes_pseudocolumns_from_star,
expand_only_group_alias_ref: self.expand_only_group_alias_ref,
force_early_alias_ref_expansion: self.force_early_alias_ref_expansion,
format_mapping: self.format_mapping.copy(),
has_distinct_array_constructors: self.has_distinct_array_constructors,
hex_end: self.hex_end,
hex_lowercase: self.hex_lowercase,
hex_start: self.hex_start,
hex_string_is_integer_type: self.hex_string_is_integer_type,
identifiers_can_start_with_digit: self.identifiers_can_start_with_digit,
identifier_end: self.identifier_end,
identifier_start: self.identifier_start,
index_offset: self.index_offset,
initcap_default_delimiter_chars: self.initcap_default_delimiter_chars,
initcap_supports_custom_delimiters: self.initcap_supports_custom_delimiters,
inverse_creatable_kind_mapping: self.inverse_creatable_kind_mapping.copy(),
inverse_format_mapping: self.inverse_format_mapping.copy(),
inverse_time_mapping: self.inverse_time_mapping.copy(),
inverse_vector_type_aliases: self.inverse_vector_type_aliases.copy(),
json_extract_scalar_scalar_only: self.json_extract_scalar_scalar_only,
json_path_single_dot_is_wildcard: self.json_path_single_dot_is_wildcard,
least_greatest_ignores_nulls: self.least_greatest_ignores_nulls,
log_base_first: self.log_base_first,
normalization_strategy: self.normalization_strategy,
normalize_functions: self.normalize_functions,
normalize_not_null: self.normalize_not_null,
null_ordering: self.null_ordering,
numbers_can_be_underscore_separated: self.numbers_can_be_underscore_separated,
on_condition_empty_before_error: self.on_condition_empty_before_error,
prefer_cte_alias_column: self.prefer_cte_alias_column,
preserve_original_names: self.preserve_original_names,
prioritize_non_literal_types: self.prioritize_non_literal_types,
projection_aliases_shadow_source_names: self.projection_aliases_shadow_source_names,
promote_to_inferred_datetime_type: self.promote_to_inferred_datetime_type,
pseudocolumns: self.pseudocolumns.copy(),
query_results_are_structs: self.query_results_are_structs,
quote_end: self.quote_end,
quote_start: self.quote_start,
regexp_extract_default_group: self.regexp_extract_default_group,
regexp_extract_position_overflow_returns_null: self.regexp_extract_position_overflow_returns_null,
requires_parenthesized_struct_access: self.requires_parenthesized_struct_access,
safe_division: self.safe_division,
safe_to_eliminate_double_negation: self.safe_to_eliminate_double_negation,
set_op_distinct_by_default: self.set_op_distinct_by_default.copy(),
star_ilike_backslash_escape: self.star_ilike_backslash_escape,
strict_json_path_syntax: self.strict_json_path_syntax,
strict_string_concat: self.strict_string_concat,
strings_support_escaped_sequences: self.strings_support_escaped_sequences,
supports_alias_refs_in_join_conditions: self.supports_alias_refs_in_join_conditions,
supports_column_join_marks: self.supports_column_join_marks,
supports_fixed_size_arrays: self.supports_fixed_size_arrays,
supports_limit_all: self.supports_limit_all,
supports_null_type: self.supports_null_type,
supports_order_by_all: self.supports_order_by_all,
supports_positional_column_refs: self.supports_positional_column_refs,
supports_struct_star_expansion: self.supports_struct_star_expansion,
supports_user_defined_types: self.supports_user_defined_types,
supports_values_default: self.supports_values_default,
tablesample_size_is_percent: self.tablesample_size_is_percent,
tables_referenceable_as_columns: self.tables_referenceable_as_columns,
time_format: self.time_format,
time_mapping: self.time_mapping.copy(),
try_cast_requires_string: self.try_cast_requires_string,
typed_division: self.typed_division,
unescaped_sequences: self.unescaped_sequences.copy(),
unicode_end: self.unicode_end,
unicode_start: self.unicode_start,
unnest_column_only: self.unnest_column_only,
uuid_is_string_type: self.uuid_is_string_type,
valid_interval_units: self.valid_interval_units.copy(),
week_offset: self.week_offset,
}
}
///|
pub fn base_dialect_config() -> DialectConfig {
{
alias_post_tablesample: false,
alias_post_version: true,
alter_table_add_required_for_each_column: true,
alter_table_supports_cascade: false,
annotate_all_scopes: false,
array_agg_includes_nulls: Some(true),
array_funcs_propagates_nulls: false,
ascii_only_normalization: false,
bit_end: None,
bit_start: None,
byte_end: None,
byte_start: None,
byte_strings_support_escaped_sequences: false,
byte_string_is_bytes_type: false,
coalesce_comparison_non_standard: false,
concat_coalesce: false,
concat_ws_coalesce: false,
copy_params_are_csv: true,
creatable_kind_mapping: Map([]),
dateint_format: "'%Y%m%d'",
date_format: "'%Y-%m-%d'",
date_part_mapping: Map::from_array([
("Y", "YEAR"),
("YY", "YEAR"),
("YYY", "YEAR"),
("YYYY", "YEAR"),
("YR", "YEAR"),
("YEARS", "YEAR"),
("YRS", "YEAR"),
("MM", "MONTH"),
("MON", "MONTH"),
("MONS", "MONTH"),
("MONTHS", "MONTH"),
("D", "DAY"),
("DD", "DAY"),
("DAYS", "DAY"),
("DAYOFMONTH", "DAY"),
("DAY OF WEEK", "DAYOFWEEK"),
("WEEKDAY", "DAYOFWEEK"),
("DOW", "DAYOFWEEK"),
("DW", "DAYOFWEEK"),
("WEEKDAY_ISO", "DAYOFWEEKISO"),
("DOW_ISO", "DAYOFWEEKISO"),
("DW_ISO", "DAYOFWEEKISO"),
("DAYOFWEEK_ISO", "DAYOFWEEKISO"),
("DAY OF YEAR", "DAYOFYEAR"),
("DOY", "DAYOFYEAR"),
("DY", "DAYOFYEAR"),
("W", "WEEK"),
("WK", "WEEK"),
("WEEKOFYEAR", "WEEK"),
("WOY", "WEEK"),
("WY", "WEEK"),
("WEEK_ISO", "WEEKISO"),
("WEEKOFYEARISO", "WEEKISO"),
("WEEKOFYEAR_ISO", "WEEKISO"),
("Q", "QUARTER"),
("QTR", "QUARTER"),
("QTRS", "QUARTER"),
("QUARTERS", "QUARTER"),
("H", "HOUR"),
("HH", "HOUR"),
("HR", "HOUR"),
("HOURS", "HOUR"),
("HRS", "HOUR"),
("M", "MINUTE"),
("MI", "MINUTE"),
("MIN", "MINUTE"),
("MINUTES", "MINUTE"),
("MINS", "MINUTE"),
("S", "SECOND"),
("SEC", "SECOND"),
("SECONDS", "SECOND"),
("SECS", "SECOND"),
("MS", "MILLISECOND"),
("MSEC", "MILLISECOND"),
("MSECS", "MILLISECOND"),
("MSECOND", "MILLISECOND"),
("MSECONDS", "MILLISECOND"),
("MILLISEC", "MILLISECOND"),
("MILLISECS", "MILLISECOND"),
("MILLISECON", "MILLISECOND"),
("MILLISECONDS", "MILLISECOND"),
("US", "MICROSECOND"),
("USEC", "MICROSECOND"),
("USECS", "MICROSECOND"),
("MICROSEC", "MICROSECOND"),
("MICROSECS", "MICROSECOND"),
("USECOND", "MICROSECOND"),
("USECONDS", "MICROSECOND"),
("MICROSECONDS", "MICROSECOND"),
("NS", "NANOSECOND"),
("NSEC", "NANOSECOND"),
("NANOSEC", "NANOSECOND"),
("NSECOND", "NANOSECOND"),
("NSECONDS", "NANOSECOND"),
("NANOSECS", "NANOSECOND"),
("EPOCH_SECOND", "EPOCH"),
("EPOCH_SECONDS", "EPOCH"),
("EPOCH_MILLISECONDS", "EPOCH_MILLISECOND"),
("EPOCH_MICROSECONDS", "EPOCH_MICROSECOND"),
("EPOCH_NANOSECONDS", "EPOCH_NANOSECOND"),
("TZH", "TIMEZONE_HOUR"),
("TZM", "TIMEZONE_MINUTE"),
("DEC", "DECADE"),
("DECS", "DECADE"),
("DECADES", "DECADE"),
("MIL", "MILLENNIUM"),
("MILS", "MILLENNIUM"),
("MILLENIA", "MILLENNIUM"),
("C", "CENTURY"),
("CENT", "CENTURY"),
("CENTS", "CENTURY"),
("CENTURIES", "CENTURY"),
]),
default_functions_column_names: Map([]),
default_null_type: DType::UNKNOWN,
disables_alias_ref_expansion: false,
dpipe_is_string_concat: true,
escaped_sequences: Map([]),
excludes_pseudocolumns_from_star: false,
expand_only_group_alias_ref: false,
force_early_alias_ref_expansion: false,
format_mapping: Map([]),
has_distinct_array_constructors: false,
hex_end: None,
hex_lowercase: false,
hex_start: None,
hex_string_is_integer_type: false,
identifiers_can_start_with_digit: false,
identifier_end: "\"",
identifier_start: "\"",
index_offset: 0,
initcap_default_delimiter_chars: " \t\n\r\u{c}\u{b}!\"#$%&'()*+,\\-./:;<=>?@\\[\\]^_`{|}~",
initcap_supports_custom_delimiters: true,
inverse_creatable_kind_mapping: Map([]),
inverse_format_mapping: Map::from_array([
("%mstrict", "%m"),
("%dstrict", "%d"),
("%Hstrict", "%H"),
("%Istrict", "%I"),
("%Mstrict", "%M"),
("%Sstrict", "%S"),
]),
inverse_time_mapping: Map::from_array([
("%mstrict", "%m"),
("%dstrict", "%d"),
("%Hstrict", "%H"),
("%Istrict", "%I"),
("%Mstrict", "%M"),
("%Sstrict", "%S"),
]),
inverse_vector_type_aliases: Map([]),
json_extract_scalar_scalar_only: false,
json_path_single_dot_is_wildcard: false,
least_greatest_ignores_nulls: true,
log_base_first: Some(true),
normalization_strategy: NormalizationStrategy::Lowercase,
normalize_functions: StrOrBool::S("upper"),
normalize_not_null: true,
null_ordering: "nulls_are_small",
numbers_can_be_underscore_separated: false,
on_condition_empty_before_error: true,
prefer_cte_alias_column: false,
preserve_original_names: false,
prioritize_non_literal_types: false,
projection_aliases_shadow_source_names: false,
promote_to_inferred_datetime_type: false,
pseudocolumns: @set.Set::from_array([]),
query_results_are_structs: false,
quote_end: "'",
quote_start: "'",
regexp_extract_default_group: 0,
regexp_extract_position_overflow_returns_null: true,
requires_parenthesized_struct_access: false,
safe_division: false,
safe_to_eliminate_double_negation: true,
set_op_distinct_by_default: Map::from_array([
(Kind::Except, Some(true)),
(Kind::Intersect, Some(true)),
(Kind::Union, Some(true)),
]),
star_ilike_backslash_escape: false,
strict_json_path_syntax: true,
strict_string_concat: false,
strings_support_escaped_sequences: false,
supports_alias_refs_in_join_conditions: false,
supports_column_join_marks: false,
supports_fixed_size_arrays: false,
supports_limit_all: false,
supports_null_type: false,
supports_order_by_all: false,
supports_positional_column_refs: false,
supports_struct_star_expansion: false,
supports_user_defined_types: true,
supports_values_default: true,
tablesample_size_is_percent: false,
tables_referenceable_as_columns: false,
time_format: "'%Y-%m-%d %H:%M:%S'",
time_mapping: Map([]),
try_cast_requires_string: None,
typed_division: false,
unescaped_sequences: Map([]),
unicode_end: None,
unicode_start: None,
unnest_column_only: false,
uuid_is_string_type: false,
valid_interval_units: @set.Set::from_array([
"C", "CENT", "CENTS", "CENTURIES", "CENTURY", "D", "DAY", "DAY OF WEEK", "DAY OF YEAR",
"DAYOFMONTH", "DAYOFWEEK", "DAYOFWEEKISO", "DAYOFWEEK_ISO", "DAYOFYEAR", "DAYS",
"DD", "DEC", "DECADE", "DECADES", "DECS", "DOW", "DOW_ISO", "DOY", "DW", "DW_ISO",
"DY", "EPOCH", "EPOCH_MICROSECOND", "EPOCH_MICROSECONDS", "EPOCH_MILLISECOND",
"EPOCH_MILLISECONDS", "EPOCH_NANOSECOND", "EPOCH_NANOSECONDS", "EPOCH_SECOND",
"EPOCH_SECONDS", "H", "HH", "HOUR", "HOURS", "HR", "HRS", "M", "MI", "MICROSEC",
"MICROSECOND", "MICROSECONDS", "MICROSECS", "MIL", "MILLENIA", "MILLENNIUM",
"MILLISEC", "MILLISECON", "MILLISECOND", "MILLISECONDS", "MILLISECS", "MILS",
"MIN", "MINS", "MINUTE", "MINUTES", "MM", "MON", "MONS", "MONTH", "MONTHS",
"MS", "MSEC", "MSECOND", "MSECONDS", "MSECS", "NANOSEC", "NANOSECOND", "NANOSECS",
"NS", "NSEC", "NSECOND", "NSECONDS", "Q", "QTR", "QTRS", "QUARTER", "QUARTERS",
"S", "SEC", "SECOND", "SECONDS", "SECS", "TIMEZONE_HOUR", "TIMEZONE_MINUTE",
"TZH", "TZM", "US", "USEC", "USECOND", "USECONDS", "USECS", "W", "WEEK", "WEEKDAY",
"WEEKDAY_ISO", "WEEKISO", "WEEKOFYEAR", "WEEKOFYEARISO", "WEEKOFYEAR_ISO",
"WEEK_ISO", "WK", "WOY", "WY", "Y", "YEAR", "YEARS", "YR", "YRS", "YY", "YYY",
"YYYY",
]),
week_offset: 0,
}
}
///|
/// Data attributes of the Python `Parser` class.
pub(all) struct ParserConfig {
mut add_constraint_tokens : TokenSet
mut add_join_on_true : Bool
mut adjacent_strings_cannot_be_connected : Bool
mut aggregate_type_tokens : TokenSet
mut alias_tokens : TokenSet
mut alterables : TokenSet
mut alter_rename_requires_column : Bool
mut alter_table_partitions : Bool
mut ambiguous_alias_tokens : Array[TokenType]
mut analyze_styles : @set.Set[String]
mut array_constructors : Map[String, Kind]
mut assignment : Map[TokenType, Kind]
mut bitwise : Map[TokenType, Kind]
mut brackets : TokenSet
mut cast_actions : Map[String, Array[Array[String]]]
mut cast_column_operators : TokenSet
mut clone_keywords : @set.Set[String]
mut colon_chain_is_single_extract : Bool
mut colon_is_variant_extract : Bool
mut colon_placeholder_tokens : TokenSet
mut column_postfix_tokens : TokenSet
mut comment_table_alias_tokens : TokenSet
mut comparison : Map[TokenType, Kind]
mut conflict_actions : Map[String, Array[Array[String]]]
mut conjunction : Map[TokenType, Kind]
mut copy_into_varlen_options : @set.Set[String]
mut creatables : TokenSet
mut create_sequence : Map[String, Array[Array[String]]]
mut db_creatables : TokenSet
mut ddl_select_tokens : TokenSet
mut default_sampling_method : String?
mut describe_styles : @set.Set[String]
mut disjunction : Map[TokenType, Kind]
mut distinct_tokens : TokenSet
mut enum_type_tokens : TokenSet
mut equality : Map[TokenType, Kind]
mut execute_as_options : Map[String, Array[Array[String]]]
mut exponent : Map[TokenType, Kind]
mut factor : Map[TokenType, Kind]
mut fetch_tokens : TokenSet
mut functions_with_aliased_args : @set.Set[String]
mut func_tokens : TokenSet
mut historical_data_kind : @set.Set[String]
mut historical_data_prefix : @set.Set[String]
mut identifier_tokens : TokenSet
mut identify_pivot_strings : Bool
mut id_var_tokens : TokenSet
mut insert_alternatives : @set.Set[String]
mut interval_spans : Bool
mut invalid_func_name_tokens : TokenSet
mut isolated_loading_options : Map[String, Array[Array[String]]]
mut is_json_predicate_kind : @set.Set[String]
mut joins_have_equal_precedence : Bool
mut join_hints : @set.Set[String]
mut join_kinds : TokenSet
mut join_methods : TokenSet
mut join_sides : TokenSet
mut json_arrows_require_json_type : Bool
mut json_extract_requires_json_expression : Bool
mut json_key_value_separator_tokens : TokenSet
mut key_constraint_options : Map[String, Array[Array[String]]]
mut key_value_definitions : Array[Kind]
mut lambda_arg_terminators : TokenSet
mut log_defaults_to_ln : Bool
mut map_keys_are_arbitrary_expressions : Bool
mut modifiables : Array[Kind]
mut modifiers_attached_to_set_op : Bool
mut nested_type_tokens : TokenSet
mut no_paren_functions : Map[TokenType, Kind]
mut no_paren_if_commands : Bool
mut odbc_datetime_literals : Map[String, Kind]
mut on_condition_tokens : @set.Set[String]
mut opclass_follow_keywords : @set.Set[String]
mut operation_modifiers : @set.Set[String]
mut optional_alias_token_cte : Bool
mut optype_follow_tokens : TokenSet
mut partition_keywords : @set.Set[String]
mut pivot_column_naming : String
mut prefixed_pivot_columns : Bool
mut pre_volatile_tokens : TokenSet
mut privilege_follow_tokens : TokenSet
mut procedure_options : Map[String, Array[Array[String]]]
mut query_modifier_tokens : TokenSet
mut quoted_types_to_preserve : @set.Set[String]
mut recursive_cte_search_kind : @set.Set[String]
mut reserved_tokens : TokenSet
mut schema_binding_options : Map[String, Array[Array[String]]]
mut schema_unnamed_constraints : @set.Set[String]
mut security_property_keywords : @set.Set[String]
mut select_start_tokens : TokenSet
mut set_assignment_delimiters : @set.Set[String]
mut set_operations : TokenSet
mut set_op_modifiers : @set.Set[String]
mut set_requires_assignment_delimiter : Bool
mut signed_to_unsigned_type_token : Map[TokenType, TokenType]
mut strict_cast : Bool
mut string_aliases : Bool
mut struct_type_tokens : TokenSet
mut subquery_predicates : Map[TokenType, Kind]
mut subquery_tokens : TokenSet
mut supports_digit_prefixed_field_names : Bool
mut supports_implicit_unnest : Bool
mut supports_nth_value_from_modifier : Bool
mut supports_omitted_interval_span_unit : Bool
mut supports_partition_selection : Bool
mut tablesample_csv : Bool
mut table_alias_tokens : TokenSet
mut table_index_hint_tokens : TokenSet
mut table_postfix_tokens : TokenSet
mut table_terminators : TokenSet
mut term : Map[TokenType, Kind]
mut text_match_excluded_tokens : TokenSet
mut times : TokenSet
mut timestamps : TokenSet
mut transaction_characteristics : Map[String, Array[Array[String]]]
mut transaction_kind : @set.Set[String]
mut trigger_deferrable : Map[String, Array[Array[String]]]
mut trigger_events : TokenSet
mut trigger_timing : Map[String, Array[Array[String]]]
mut trim_pattern_first : Bool
mut trim_types : @set.Set[String]
mut typed_lambda_args : Bool
mut type_tokens : TokenSet
mut unnest_offset_alias_tokens : TokenSet
mut unpivot_value_columns_first : Bool
mut update_alias_tokens : TokenSet
mut usables : Map[String, Array[Array[String]]]
mut values_followed_by_paren : Bool
mut version_phrases : Array[(Array[String], String)]
mut view_attributes : @set.Set[String]
mut window_alias_tokens : TokenSet
mut window_before_paren_tokens : TokenSet
mut window_exclude_options : Map[String, Array[Array[String]]]
mut window_sides : @set.Set[String]
mut wrapped_transform_column_constraint : Bool
mut zone_aware_timestamp_constructor : Bool
}
///|
pub fn ParserConfig::copy(self : ParserConfig) -> ParserConfig {
{
add_constraint_tokens: self.add_constraint_tokens.copy(),
add_join_on_true: self.add_join_on_true,
adjacent_strings_cannot_be_connected: self.adjacent_strings_cannot_be_connected,
aggregate_type_tokens: self.aggregate_type_tokens.copy(),
alias_tokens: self.alias_tokens.copy(),
alterables: self.alterables.copy(),
alter_rename_requires_column: self.alter_rename_requires_column,
alter_table_partitions: self.alter_table_partitions,
ambiguous_alias_tokens: self.ambiguous_alias_tokens.copy(),
analyze_styles: self.analyze_styles.copy(),
array_constructors: self.array_constructors.copy(),
assignment: self.assignment.copy(),
bitwise: self.bitwise.copy(),
brackets: self.brackets.copy(),
cast_actions: self.cast_actions.copy(),
cast_column_operators: self.cast_column_operators.copy(),
clone_keywords: self.clone_keywords.copy(),
colon_chain_is_single_extract: self.colon_chain_is_single_extract,
colon_is_variant_extract: self.colon_is_variant_extract,
colon_placeholder_tokens: self.colon_placeholder_tokens.copy(),
column_postfix_tokens: self.column_postfix_tokens.copy(),
comment_table_alias_tokens: self.comment_table_alias_tokens.copy(),
comparison: self.comparison.copy(),
conflict_actions: self.conflict_actions.copy(),
conjunction: self.conjunction.copy(),
copy_into_varlen_options: self.copy_into_varlen_options.copy(),
creatables: self.creatables.copy(),
create_sequence: self.create_sequence.copy(),
db_creatables: self.db_creatables.copy(),
ddl_select_tokens: self.ddl_select_tokens.copy(),
default_sampling_method: self.default_sampling_method,
describe_styles: self.describe_styles.copy(),
disjunction: self.disjunction.copy(),
distinct_tokens: self.distinct_tokens.copy(),
enum_type_tokens: self.enum_type_tokens.copy(),
equality: self.equality.copy(),
execute_as_options: self.execute_as_options.copy(),
exponent: self.exponent.copy(),
factor: self.factor.copy(),
fetch_tokens: self.fetch_tokens.copy(),
functions_with_aliased_args: self.functions_with_aliased_args.copy(),
func_tokens: self.func_tokens.copy(),
historical_data_kind: self.historical_data_kind.copy(),
historical_data_prefix: self.historical_data_prefix.copy(),
identifier_tokens: self.identifier_tokens.copy(),
identify_pivot_strings: self.identify_pivot_strings,
id_var_tokens: self.id_var_tokens.copy(),
insert_alternatives: self.insert_alternatives.copy(),
interval_spans: self.interval_spans,
invalid_func_name_tokens: self.invalid_func_name_tokens.copy(),
isolated_loading_options: self.isolated_loading_options.copy(),
is_json_predicate_kind: self.is_json_predicate_kind.copy(),
joins_have_equal_precedence: self.joins_have_equal_precedence,
join_hints: self.join_hints.copy(),
join_kinds: self.join_kinds.copy(),
join_methods: self.join_methods.copy(),
join_sides: self.join_sides.copy(),
json_arrows_require_json_type: self.json_arrows_require_json_type,
json_extract_requires_json_expression: self.json_extract_requires_json_expression,
json_key_value_separator_tokens: self.json_key_value_separator_tokens.copy(),
key_constraint_options: self.key_constraint_options.copy(),
key_value_definitions: self.key_value_definitions.copy(),
lambda_arg_terminators: self.lambda_arg_terminators.copy(),
log_defaults_to_ln: self.log_defaults_to_ln,
map_keys_are_arbitrary_expressions: self.map_keys_are_arbitrary_expressions,
modifiables: self.modifiables.copy(),
modifiers_attached_to_set_op: self.modifiers_attached_to_set_op,
nested_type_tokens: self.nested_type_tokens.copy(),
no_paren_functions: self.no_paren_functions.copy(),
no_paren_if_commands: self.no_paren_if_commands,
odbc_datetime_literals: self.odbc_datetime_literals.copy(),
on_condition_tokens: self.on_condition_tokens.copy(),
opclass_follow_keywords: self.opclass_follow_keywords.copy(),
operation_modifiers: self.operation_modifiers.copy(),
optional_alias_token_cte: self.optional_alias_token_cte,
optype_follow_tokens: self.optype_follow_tokens.copy(),
partition_keywords: self.partition_keywords.copy(),
pivot_column_naming: self.pivot_column_naming,
prefixed_pivot_columns: self.prefixed_pivot_columns,
pre_volatile_tokens: self.pre_volatile_tokens.copy(),
privilege_follow_tokens: self.privilege_follow_tokens.copy(),
procedure_options: self.procedure_options.copy(),
query_modifier_tokens: self.query_modifier_tokens.copy(),
quoted_types_to_preserve: self.quoted_types_to_preserve.copy(),
recursive_cte_search_kind: self.recursive_cte_search_kind.copy(),
reserved_tokens: self.reserved_tokens.copy(),
schema_binding_options: self.schema_binding_options.copy(),
schema_unnamed_constraints: self.schema_unnamed_constraints.copy(),
security_property_keywords: self.security_property_keywords.copy(),
select_start_tokens: self.select_start_tokens.copy(),
set_assignment_delimiters: self.set_assignment_delimiters.copy(),
set_operations: self.set_operations.copy(),
set_op_modifiers: self.set_op_modifiers.copy(),
set_requires_assignment_delimiter: self.set_requires_assignment_delimiter,
signed_to_unsigned_type_token: self.signed_to_unsigned_type_token.copy(),
strict_cast: self.strict_cast,
string_aliases: self.string_aliases,
struct_type_tokens: self.struct_type_tokens.copy(),
subquery_predicates: self.subquery_predicates.copy(),
subquery_tokens: self.subquery_tokens.copy(),
supports_digit_prefixed_field_names: self.supports_digit_prefixed_field_names,
supports_implicit_unnest: self.supports_implicit_unnest,
supports_nth_value_from_modifier: self.supports_nth_value_from_modifier,
supports_omitted_interval_span_unit: self.supports_omitted_interval_span_unit,
supports_partition_selection: self.supports_partition_selection,
tablesample_csv: self.tablesample_csv,
table_alias_tokens: self.table_alias_tokens.copy(),
table_index_hint_tokens: self.table_index_hint_tokens.copy(),
table_postfix_tokens: self.table_postfix_tokens.copy(),
table_terminators: self.table_terminators.copy(),
term: self.term.copy(),
text_match_excluded_tokens: self.text_match_excluded_tokens.copy(),
times: self.times.copy(),
timestamps: self.timestamps.copy(),
transaction_characteristics: self.transaction_characteristics.copy(),
transaction_kind: self.transaction_kind.copy(),
trigger_deferrable: self.trigger_deferrable.copy(),
trigger_events: self.trigger_events.copy(),
trigger_timing: self.trigger_timing.copy(),
trim_pattern_first: self.trim_pattern_first,
trim_types: self.trim_types.copy(),
typed_lambda_args: self.typed_lambda_args,
type_tokens: self.type_tokens.copy(),
unnest_offset_alias_tokens: self.unnest_offset_alias_tokens.copy(),
unpivot_value_columns_first: self.unpivot_value_columns_first,
update_alias_tokens: self.update_alias_tokens.copy(),
usables: self.usables.copy(),
values_followed_by_paren: self.values_followed_by_paren,
version_phrases: self.version_phrases.copy(),
view_attributes: self.view_attributes.copy(),
window_alias_tokens: self.window_alias_tokens.copy(),
window_before_paren_tokens: self.window_before_paren_tokens.copy(),
window_exclude_options: self.window_exclude_options.copy(),
window_sides: self.window_sides.copy(),
wrapped_transform_column_constraint: self.wrapped_transform_column_constraint,
zone_aware_timestamp_constructor: self.zone_aware_timestamp_constructor,
}
}
///|
pub fn base_parser_config() -> ParserConfig {
{
add_constraint_tokens: TokenSet::new([
TokenType::CONSTRAINT,
TokenType::FOREIGN_KEY,
TokenType::INDEX,
TokenType::KEY,
TokenType::PRIMARY_KEY,
TokenType::UNIQUE,
]),
add_join_on_true: false,
adjacent_strings_cannot_be_connected: false,
aggregate_type_tokens: TokenSet::new([
TokenType::AGGREGATEFUNCTION,
TokenType::SIMPLEAGGREGATEFUNCTION,
]),
alias_tokens: TokenSet::new([
TokenType::AGGREGATEFUNCTION,
TokenType::ALL,
TokenType::ANALYZE,
TokenType::ANTI,
TokenType::ANY,
TokenType::APPLY,
TokenType::ARRAY,
TokenType::ASC,
TokenType::ASOF,
TokenType::ATTACH,
TokenType::AUTO_INCREMENT,
TokenType::BEGIN,
TokenType::BIGDECIMAL,
TokenType::BIGINT,
TokenType::BIGNUM,
TokenType::BIGSERIAL,
TokenType::BINARY,
TokenType::BIT,
TokenType::BLOB,
TokenType::BOOLEAN,
TokenType::BPCHAR,
TokenType::CACHE,
TokenType::CASE,
TokenType::CHAR,
TokenType::COLLATE,
TokenType::COLUMN,
TokenType::COMMAND,
TokenType::COMMENT,
TokenType::COMMIT,
TokenType::CONSTRAINT,
TokenType::COPY,
TokenType::CUBE,
TokenType::CURRENT_CATALOG,
TokenType::CURRENT_DATE,
TokenType::CURRENT_DATETIME,
TokenType::CURRENT_ROLE,
TokenType::CURRENT_SCHEMA,
TokenType::CURRENT_TIME,
TokenType::CURRENT_TIMESTAMP,
TokenType::CURRENT_USER,
TokenType::DATABASE,
TokenType::DATE,
TokenType::DATE32,
TokenType::DATEMULTIRANGE,
TokenType::DATERANGE,
TokenType::DATETIME,
TokenType::DATETIME2,
TokenType::DATETIME64,
TokenType::DECFLOAT,
TokenType::DECIMAL,
TokenType::DECIMAL128,
TokenType::DECIMAL256,
TokenType::DECIMAL32,
TokenType::DECIMAL64,
TokenType::DECLARE,
TokenType::DEFAULT,
TokenType::DELETE,
TokenType::DESC,
TokenType::DESCRIBE,
TokenType::DETACH,
TokenType::DICTIONARY,
TokenType::DIV,
TokenType::DOUBLE,
TokenType::DYNAMIC,
TokenType::END,
TokenType::ENUM,
TokenType::ENUM16,
TokenType::ENUM8,
TokenType::ESCAPE,
TokenType::EXECUTE,
TokenType::EXISTS,
TokenType::EXPORT,
TokenType::FALSE,
TokenType::FILE,
TokenType::FILE_FORMAT,
TokenType::FILTER,
TokenType::FINAL,
TokenType::FIRST,
TokenType::FIXEDSTRING,
TokenType::FLOAT,
TokenType::FOREIGN_KEY,
TokenType::FORMAT,
TokenType::FULL,
TokenType::FUNCTION,
TokenType::GEOGRAPHY,
TokenType::GEOGRAPHYPOINT,
TokenType::GEOMETRY,
TokenType::GET,
TokenType::HLLSKETCH,
TokenType::HSTORE,
TokenType::IDENTIFIER,
TokenType::IMAGE,
TokenType::INDEX,
TokenType::INET,
TokenType::INOUT,
TokenType::INT,
TokenType::INT128,
TokenType::INT256,
TokenType::INT4MULTIRANGE,
TokenType::INT4RANGE,
TokenType::INT8MULTIRANGE,
TokenType::INT8RANGE,
TokenType::INTERVAL,
TokenType::IPADDRESS,
TokenType::IPPREFIX,
TokenType::IPV4,
TokenType::IPV6,
TokenType::IS,
TokenType::ISNULL,
TokenType::JSON,
TokenType::JSONB,
TokenType::KEEP,
TokenType::KILL,
TokenType::LEFT,
TokenType::LIMIT,
TokenType::LINESTRING,
TokenType::LIST,
TokenType::LOAD,
TokenType::LOCALTIME,
TokenType::LOCALTIMESTAMP,
TokenType::LOCK,
TokenType::LONGBLOB,
TokenType::LONGTEXT,
TokenType::LOWCARDINALITY,
TokenType::MAP,
TokenType::MATCH,
TokenType::MEDIUMBLOB,
TokenType::MEDIUMINT,
TokenType::MEDIUMTEXT,
TokenType::MERGE,
TokenType::MODEL,
TokenType::MONEY,
TokenType::MULTILINESTRING,
TokenType::MULTIPOLYGON,
TokenType::NAME,
TokenType::NAMESPACE,
TokenType::NATURAL,
TokenType::NCHAR,
TokenType::NESTED,
TokenType::NEXT,
TokenType::NOTHING,
TokenType::NULL,
TokenType::NULLABLE,
TokenType::NUMMULTIRANGE,
TokenType::NUMRANGE,
TokenType::NVARCHAR,
TokenType::OBJECT,
TokenType::OBJECT_IDENTIFIER,
TokenType::OFFSET,
TokenType::OPERATOR,
TokenType::ORDINALITY,
TokenType::OUT,
TokenType::OVER,
TokenType::OVERLAPS,
TokenType::OVERWRITE,
TokenType::PARTITION,
TokenType::PERCENT,
TokenType::PIVOT,
TokenType::POINT,
TokenType::POLYGON,
TokenType::PRAGMA,
TokenType::PROCEDURE,
TokenType::PROJECTION,
TokenType::PSEUDO_TYPE,
TokenType::PUT,
TokenType::RANGE,
TokenType::RECURSIVE,
TokenType::REFERENCES,
TokenType::REFRESH,
TokenType::RENAME,
TokenType::REPLACE,
TokenType::RIGHT,
TokenType::RING,
TokenType::ROLLUP,
TokenType::ROW,
TokenType::ROWS,
TokenType::ROWVERSION,
TokenType::SCHEMA,
TokenType::SEMANTIC_VIEW,
TokenType::SEMI,
TokenType::SEQUENCE,
TokenType::SERIAL,
TokenType::SESSION,
TokenType::SESSION_USER,
TokenType::SET,
TokenType::SETTINGS,
TokenType::SHOW,
TokenType::SIMPLEAGGREGATEFUNCTION,
TokenType::SINK,
TokenType::SMALLDATETIME,
TokenType::SMALLINT,
TokenType::SMALLMONEY,
TokenType::SMALLSERIAL,
TokenType::SOME,
TokenType::SOURCE,
TokenType::STAGE,
TokenType::STORAGE_INTEGRATION,
TokenType::STRAIGHT_JOIN,
TokenType::STREAM,
TokenType::STREAMLIT,
TokenType::STRUCT,
TokenType::SUPER,
TokenType::TABLE,
TokenType::TAG,
TokenType::TDIGEST,
TokenType::TEMPORARY,
TokenType::TEXT,
TokenType::TIME,
TokenType::TIMESTAMP,
TokenType::TIMESTAMPLTZ,
TokenType::TIMESTAMPNTZ,
TokenType::TIMESTAMPTZ,
TokenType::TIMESTAMP_MS,
TokenType::TIMESTAMP_NS,
TokenType::TIMESTAMP_S,
TokenType::TIMETZ,
TokenType::TIME_NS,
TokenType::TINYBLOB,
TokenType::TINYINT,
TokenType::TINYTEXT,
TokenType::TOP,
TokenType::TRIGGER,
TokenType::TRUE,
TokenType::TRUNCATE,
TokenType::TSMULTIRANGE,
TokenType::TSRANGE,
TokenType::TSTZMULTIRANGE,
TokenType::TSTZRANGE,
TokenType::TYPE,
TokenType::UBIGINT,
TokenType::UDECIMAL,
TokenType::UDOUBLE,
TokenType::UINT,
TokenType::UINT128,
TokenType::UINT256,
TokenType::UMEDIUMINT,
TokenType::UNIQUE,
TokenType::UNKNOWN,
TokenType::UNNEST,
TokenType::UNPIVOT,
TokenType::UPDATE,
TokenType::USE,
TokenType::USERDEFINED,
TokenType::USMALLINT,
TokenType::UTINYINT,
TokenType::UUID,
TokenType::VAR,
TokenType::VARBINARY,
TokenType::VARCHAR,
TokenType::VARIANT,
TokenType::VECTOR,
TokenType::VIEW,
TokenType::VOID,
TokenType::VOLATILE,
TokenType::WAREHOUSE,
TokenType::WINDOW,
TokenType::XML,
TokenType::YEAR,
]),
alterables: TokenSet::new([
TokenType::INDEX,
TokenType::SESSION,
TokenType::TABLE,
TokenType::VIEW,
]),
alter_rename_requires_column: true,
alter_table_partitions: false,
ambiguous_alias_tokens: [TokenType::LIMIT, TokenType::OFFSET],
analyze_styles: @set.Set::from_array([
"BUFFER_USAGE_LIMIT", "FULL", "LOCAL", "NO_WRITE_TO_BINLOG", "SAMPLE", "SKIP_LOCKED",
"VERBOSE",
]),
array_constructors: Map::from_array([
("ARRAY", Kind::Array),
("LIST", Kind::List),
]),
assignment: Map::from_array([(TokenType::COLON_EQ, Kind::PropertyEQ)]),
bitwise: Map::from_array([
(TokenType::AMP, Kind::BitwiseAnd),
(TokenType::CARET, Kind::BitwiseXor),
(TokenType::PIPE, Kind::BitwiseOr),
]),
brackets: TokenSet::new([TokenType::L_BRACE, TokenType::L_BRACKET]),
cast_actions: Map::from_array([
("RENAME", [["FIELDS"]]),
("ADD", [["FIELDS"]]),
]),
cast_column_operators: TokenSet::new([
TokenType::DCOLON,
TokenType::DOTCOLON,
]),
clone_keywords: @set.Set::from_array(["CLONE", "COPY"]),
colon_chain_is_single_extract: true,
colon_is_variant_extract: false,
colon_placeholder_tokens: TokenSet::new([
TokenType::AGGREGATEFUNCTION,
TokenType::ALL,
TokenType::ANALYZE,
TokenType::ANTI,
TokenType::ANY,
TokenType::APPLY,
TokenType::ARRAY,
TokenType::ASC,
TokenType::ASOF,
TokenType::ATTACH,
TokenType::AUTO_INCREMENT,
TokenType::BEGIN,
TokenType::BIGDECIMAL,
TokenType::BIGINT,
TokenType::BIGNUM,
TokenType::BIGSERIAL,
TokenType::BINARY,
TokenType::BIT,
TokenType::BLOB,
TokenType::BOOLEAN,
TokenType::BPCHAR,
TokenType::CACHE,
TokenType::CASE,
TokenType::CHAR,
TokenType::COLLATE,
TokenType::COLUMN,
TokenType::COMMAND,
TokenType::COMMENT,
TokenType::COMMIT,
TokenType::CONSTRAINT,
TokenType::COPY,
TokenType::CUBE,
TokenType::CURRENT_CATALOG,
TokenType::CURRENT_DATE,
TokenType::CURRENT_DATETIME,
TokenType::CURRENT_ROLE,
TokenType::CURRENT_SCHEMA,
TokenType::CURRENT_TIME,
TokenType::CURRENT_TIMESTAMP,
TokenType::CURRENT_USER,
TokenType::DATABASE,
TokenType::DATE,
TokenType::DATE32,
TokenType::DATEMULTIRANGE,
TokenType::DATERANGE,
TokenType::DATETIME,
TokenType::DATETIME2,
TokenType::DATETIME64,
TokenType::DECFLOAT,
TokenType::DECIMAL,
TokenType::DECIMAL128,
TokenType::DECIMAL256,
TokenType::DECIMAL32,
TokenType::DECIMAL64,
TokenType::DECLARE,
TokenType::DEFAULT,
TokenType::DELETE,
TokenType::DESC,
TokenType::DESCRIBE,
TokenType::DETACH,
TokenType::DICTIONARY,
TokenType::DIV,
TokenType::DOUBLE,
TokenType::DYNAMIC,
TokenType::END,
TokenType::ENUM,
TokenType::ENUM16,
TokenType::ENUM8,
TokenType::ESCAPE,
TokenType::EXECUTE,
TokenType::EXISTS,
TokenType::EXPORT,
TokenType::FALSE,
TokenType::FILE,
TokenType::FILE_FORMAT,
TokenType::FILTER,
TokenType::FINAL,
TokenType::FIRST,
TokenType::FIXEDSTRING,
TokenType::FLOAT,
TokenType::FOREIGN_KEY,
TokenType::FORMAT,
TokenType::FULL,
TokenType::FUNCTION,
TokenType::GEOGRAPHY,
TokenType::GEOGRAPHYPOINT,
TokenType::GEOMETRY,
TokenType::GET,
TokenType::HLLSKETCH,
TokenType::HSTORE,
TokenType::IDENTIFIER,
TokenType::IMAGE,
TokenType::INDEX,
TokenType::INET,
TokenType::INOUT,
TokenType::INT,
TokenType::INT128,
TokenType::INT256,
TokenType::INT4MULTIRANGE,
TokenType::INT4RANGE,
TokenType::INT8MULTIRANGE,
TokenType::INT8RANGE,
TokenType::INTERVAL,
TokenType::IPADDRESS,
TokenType::IPPREFIX,
TokenType::IPV4,
TokenType::IPV6,
TokenType::IS,
TokenType::ISNULL,
TokenType::JSON,
TokenType::JSONB,
TokenType::KEEP,
TokenType::KILL,
TokenType::LEFT,
TokenType::LIMIT,
TokenType::LINESTRING,
TokenType::LIST,
TokenType::LOAD,
TokenType::LOCALTIME,
TokenType::LOCALTIMESTAMP,
TokenType::LOCK,
TokenType::LONGBLOB,
TokenType::LONGTEXT,
TokenType::LOWCARDINALITY,
TokenType::MAP,
TokenType::MATCH,
TokenType::MEDIUMBLOB,
TokenType::MEDIUMINT,
TokenType::MEDIUMTEXT,
TokenType::MERGE,
TokenType::MODEL,
TokenType::MONEY,
TokenType::MULTILINESTRING,
TokenType::MULTIPOLYGON,
TokenType::NAME,
TokenType::NAMESPACE,
TokenType::NATURAL,
TokenType::NCHAR,
TokenType::NESTED,
TokenType::NEXT,
TokenType::NOTHING,
TokenType::NULL,
TokenType::NULLABLE,
TokenType::NUMMULTIRANGE,
TokenType::NUMRANGE,
TokenType::NVARCHAR,
TokenType::OBJECT,
TokenType::OBJECT_IDENTIFIER,
TokenType::OFFSET,
TokenType::OPERATOR,
TokenType::ORDINALITY,
TokenType::OUT,
TokenType::OVER,
TokenType::OVERLAPS,
TokenType::OVERWRITE,
TokenType::PARTITION,
TokenType::PERCENT,
TokenType::PIVOT,
TokenType::POINT,
TokenType::POLYGON,
TokenType::PRAGMA,
TokenType::PROCEDURE,
TokenType::PROJECTION,
TokenType::PSEUDO_TYPE,
TokenType::PUT,
TokenType::RANGE,
TokenType::RECURSIVE,
TokenType::REFERENCES,
TokenType::REFRESH,
TokenType::RENAME,
TokenType::REPLACE,
TokenType::RIGHT,
TokenType::RING,
TokenType::ROLLUP,
TokenType::ROW,
TokenType::ROWS,
TokenType::ROWVERSION,
TokenType::SCHEMA,
TokenType::SEMANTIC_VIEW,
TokenType::SEMI,
TokenType::SEQUENCE,
TokenType::SERIAL,
TokenType::SESSION,
TokenType::SESSION_USER,
TokenType::SET,
TokenType::SETTINGS,
TokenType::SHOW,
TokenType::SIMPLEAGGREGATEFUNCTION,
TokenType::SINK,
TokenType::SMALLDATETIME,
TokenType::SMALLINT,
TokenType::SMALLMONEY,
TokenType::SMALLSERIAL,
TokenType::SOME,
TokenType::SOURCE,
TokenType::STAGE,
TokenType::STORAGE_INTEGRATION,
TokenType::STRAIGHT_JOIN,
TokenType::STREAM,
TokenType::STREAMLIT,
TokenType::STRUCT,
TokenType::SUPER,
TokenType::TABLE,
TokenType::TAG,
TokenType::TDIGEST,
TokenType::TEMPORARY,
TokenType::TEXT,
TokenType::TIME,
TokenType::TIMESTAMP,
TokenType::TIMESTAMPLTZ,
TokenType::TIMESTAMPNTZ,
TokenType::TIMESTAMPTZ,
TokenType::TIMESTAMP_MS,
TokenType::TIMESTAMP_NS,
TokenType::TIMESTAMP_S,
TokenType::TIMETZ,
TokenType::TIME_NS,
TokenType::TINYBLOB,
TokenType::TINYINT,
TokenType::TINYTEXT,
TokenType::TOP,
TokenType::TRIGGER,
TokenType::TRUE,
TokenType::TRUNCATE,
TokenType::TSMULTIRANGE,
TokenType::TSRANGE,
TokenType::TSTZMULTIRANGE,
TokenType::TSTZRANGE,
TokenType::TYPE,
TokenType::UBIGINT,
TokenType::UDECIMAL,
TokenType::UDOUBLE,
TokenType::UINT,
TokenType::UINT128,
TokenType::UINT256,
TokenType::UMEDIUMINT,
TokenType::UNIQUE,
TokenType::UNKNOWN,
TokenType::UNNEST,
TokenType::UNPIVOT,
TokenType::UPDATE,
TokenType::USE,
TokenType::USERDEFINED,
TokenType::USMALLINT,
TokenType::UTINYINT,
TokenType::UUID,
TokenType::VAR,
TokenType::VARBINARY,
TokenType::VARCHAR,
TokenType::VARIANT,
TokenType::VECTOR,
TokenType::VIEW,
TokenType::VOID,
TokenType::VOLATILE,
TokenType::WAREHOUSE,
TokenType::WINDOW,
TokenType::XML,
TokenType::YEAR,
]),
column_postfix_tokens: TokenSet::new([
TokenType::COLON,
TokenType::JOIN_MARKER,
TokenType::L_BRACE,
TokenType::L_BRACKET,
TokenType::L_PAREN,
]),
comment_table_alias_tokens: TokenSet::new([
TokenType::AGGREGATEFUNCTION,
TokenType::ALL,
TokenType::ANALYZE,
TokenType::ANY,
TokenType::APPLY,
TokenType::ARRAY,
TokenType::ASC,
TokenType::ATTACH,
TokenType::AUTO_INCREMENT,
TokenType::BEGIN,
TokenType::BIGDECIMAL,
TokenType::BIGINT,
TokenType::BIGNUM,
TokenType::BIGSERIAL,
TokenType::BINARY,
TokenType::BIT,
TokenType::BLOB,
TokenType::BOOLEAN,
TokenType::BPCHAR,
TokenType::CACHE,
TokenType::CASE,
TokenType::CHAR,
TokenType::COLLATE,
TokenType::COLUMN,
TokenType::COMMAND,
TokenType::COMMENT,
TokenType::COMMIT,
TokenType::CONSTRAINT,
TokenType::COPY,
TokenType::CUBE,
TokenType::CURRENT_CATALOG,
TokenType::CURRENT_DATE,
TokenType::CURRENT_DATETIME,
TokenType::CURRENT_ROLE,
TokenType::CURRENT_SCHEMA,
TokenType::CURRENT_TIME,
TokenType::CURRENT_TIMESTAMP,
TokenType::CURRENT_USER,
TokenType::DATABASE,
TokenType::DATE,
TokenType::DATE32,
TokenType::DATEMULTIRANGE,
TokenType::DATERANGE,
TokenType::DATETIME,
TokenType::DATETIME2,
TokenType::DATETIME64,
TokenType::DECFLOAT,
TokenType::DECIMAL,
TokenType::DECIMAL128,
TokenType::DECIMAL256,
TokenType::DECIMAL32,
TokenType::DECIMAL64,
TokenType::DECLARE,
TokenType::DEFAULT,
TokenType::DELETE,
TokenType::DESC,
TokenType::DESCRIBE,
TokenType::DETACH,
TokenType::DICTIONARY,
TokenType::DIV,
TokenType::DOUBLE,
TokenType::DYNAMIC,
TokenType::END,
TokenType::ENUM,
TokenType::ENUM16,
TokenType::ENUM8,
TokenType::ESCAPE,
TokenType::EXECUTE,
TokenType::EXISTS,
TokenType::EXPORT,
TokenType::FALSE,
TokenType::FILE,
TokenType::FILE_FORMAT,
TokenType::FILTER,
TokenType::FINAL,
TokenType::FIRST,
TokenType::FIXEDSTRING,
TokenType::FLOAT,
TokenType::FOREIGN_KEY,
TokenType::FORMAT,
TokenType::FUNCTION,
TokenType::GEOGRAPHY,
TokenType::GEOGRAPHYPOINT,
TokenType::GEOMETRY,
TokenType::GET,
TokenType::HLLSKETCH,
TokenType::HSTORE,
TokenType::IDENTIFIER,
TokenType::IMAGE,
TokenType::INDEX,
TokenType::INET,
TokenType::INOUT,
TokenType::INT,
TokenType::INT128,
TokenType::INT256,
TokenType::INT4MULTIRANGE,
TokenType::INT4RANGE,
TokenType::INT8MULTIRANGE,
TokenType::INT8RANGE,
TokenType::INTERVAL,
TokenType::IPADDRESS,
TokenType::IPPREFIX,
TokenType::IPV4,
TokenType::IPV6,
TokenType::ISNULL,
TokenType::JSON,
TokenType::JSONB,
TokenType::KEEP,
TokenType::KILL,
TokenType::LIMIT,
TokenType::LINESTRING,
TokenType::LIST,
TokenType::LOAD,
TokenType::LOCALTIME,
TokenType::LOCALTIMESTAMP,
TokenType::LONGBLOB,
TokenType::LONGTEXT,
TokenType::LOWCARDINALITY,
TokenType::MAP,
TokenType::MATCH,
TokenType::MEDIUMBLOB,
TokenType::MEDIUMINT,
TokenType::MEDIUMTEXT,
TokenType::MERGE,
TokenType::MODEL,
TokenType::MONEY,
TokenType::MULTILINESTRING,
TokenType::MULTIPOLYGON,
TokenType::NAME,
TokenType::NAMESPACE,
TokenType::NCHAR,
TokenType::NESTED,
TokenType::NEXT,
TokenType::NOTHING,
TokenType::NULL,
TokenType::NULLABLE,
TokenType::NUMMULTIRANGE,
TokenType::NUMRANGE,
TokenType::NVARCHAR,
TokenType::OBJECT,
TokenType::OBJECT_IDENTIFIER,
TokenType::OFFSET,
TokenType::OPERATOR,
TokenType::ORDINALITY,
TokenType::OUT,
TokenType::OVER,
TokenType::OVERLAPS,
TokenType::OVERWRITE,
TokenType::PARTITION,
TokenType::PERCENT,
TokenType::PIVOT,
TokenType::POINT,
TokenType::POLYGON,
TokenType::PRAGMA,
TokenType::PROCEDURE,
TokenType::PROJECTION,
TokenType::PSEUDO_TYPE,
TokenType::PUT,
TokenType::RANGE,
TokenType::RECURSIVE,
TokenType::REFERENCES,
TokenType::REFRESH,
TokenType::RENAME,
TokenType::REPLACE,
TokenType::RING,
TokenType::ROLLUP,
TokenType::ROW,
TokenType::ROWS,
TokenType::ROWVERSION,
TokenType::SCHEMA,
TokenType::SEMANTIC_VIEW,
TokenType::SEQUENCE,
TokenType::SERIAL,
TokenType::SESSION,
TokenType::SESSION_USER,
TokenType::SET,
TokenType::SETTINGS,
TokenType::SHOW,
TokenType::SIMPLEAGGREGATEFUNCTION,
TokenType::SINK,
TokenType::SMALLDATETIME,
TokenType::SMALLINT,
TokenType::SMALLMONEY,
TokenType::SMALLSERIAL,
TokenType::SOME,
TokenType::SOURCE,
TokenType::STAGE,
TokenType::STORAGE_INTEGRATION,
TokenType::STRAIGHT_JOIN,
TokenType::STREAM,
TokenType::STREAMLIT,
TokenType::STRUCT,
TokenType::SUPER,
TokenType::TABLE,
TokenType::TAG,
TokenType::TDIGEST,
TokenType::TEMPORARY,
TokenType::TEXT,
TokenType::TIME,
TokenType::TIMESTAMP,
TokenType::TIMESTAMPLTZ,
TokenType::TIMESTAMPNTZ,
TokenType::TIMESTAMPTZ,
TokenType::TIMESTAMP_MS,
TokenType::TIMESTAMP_NS,
TokenType::TIMESTAMP_S,
TokenType::TIMETZ,
TokenType::TIME_NS,
TokenType::TINYBLOB,
TokenType::TINYINT,
TokenType::TINYTEXT,
TokenType::TOP,
TokenType::TRIGGER,
TokenType::TRUE,
TokenType::TRUNCATE,
TokenType::TSMULTIRANGE,
TokenType::TSRANGE,
TokenType::TSTZMULTIRANGE,
TokenType::TSTZRANGE,
TokenType::TYPE,
TokenType::UBIGINT,
TokenType::UDECIMAL,
TokenType::UDOUBLE,
TokenType::UINT,
TokenType::UINT128,
TokenType::UINT256,
TokenType::UMEDIUMINT,
TokenType::UNIQUE,
TokenType::UNKNOWN,
TokenType::UNNEST,
TokenType::UNPIVOT,
TokenType::UPDATE,
TokenType::USE,
TokenType::USERDEFINED,
TokenType::USMALLINT,
TokenType::UTINYINT,
TokenType::UUID,
TokenType::VAR,
TokenType::VARBINARY,
TokenType::VARCHAR,
TokenType::VARIANT,
TokenType::VECTOR,
TokenType::VIEW,
TokenType::VOID,
TokenType::VOLATILE,
TokenType::WAREHOUSE,
TokenType::XML,
TokenType::YEAR,
]),
comparison: Map::from_array([
(TokenType::GT, Kind::GT),
(TokenType::GTE, Kind::GTE),
(TokenType::LT, Kind::LT),
(TokenType::LTE, Kind::LTE),
]),
conflict_actions: Map::from_array([
("ABORT", []),
("FAIL", []),
("IGNORE", []),
("REPLACE", []),
("ROLLBACK", []),
("UPDATE", []),
("DO", [["NOTHING"], ["UPDATE"]]),
]),
conjunction: Map::from_array([(TokenType::AND, Kind::And)]),
copy_into_varlen_options: @set.Set::from_array([
"COPY_OPTIONS", "CREDENTIAL", "FILE_FORMAT", "FORMAT_OPTIONS",
]),
creatables: TokenSet::new([
TokenType::COLUMN,
TokenType::CONSTRAINT,
TokenType::DATABASE,
TokenType::DICTIONARY,
TokenType::FILE_FORMAT,
TokenType::FOREIGN_KEY,
TokenType::FUNCTION,
TokenType::INDEX,
TokenType::MODEL,
TokenType::NAMESPACE,
TokenType::PROCEDURE,
TokenType::SCHEMA,
TokenType::SEMANTIC_VIEW,
TokenType::SEQUENCE,
TokenType::SINK,
TokenType::SOURCE,
TokenType::STAGE,
TokenType::STORAGE_INTEGRATION,
TokenType::STREAMLIT,
TokenType::TABLE,
TokenType::TAG,
TokenType::TRIGGER,
TokenType::TYPE,
TokenType::VIEW,
TokenType::WAREHOUSE,
]),
create_sequence: Map::from_array([
("SCALE", [["EXTEND"], ["NOEXTEND"]]),
("SHARD", [["EXTEND"], ["NOEXTEND"]]),
("NO", [["CYCLE"], ["CACHE"], ["MAXVALUE"], ["MINVALUE"]]),
("SESSION", []),
("GLOBAL", []),
("KEEP", []),
("NOKEEP", []),
("ORDER", []),
("NOORDER", []),
("NOCACHE", []),
("CYCLE", []),
("NOCYCLE", []),
("NOMINVALUE", []),
("NOMAXVALUE", []),
("NOSCALE", []),
("NOSHARD", []),
]),
db_creatables: TokenSet::new([
TokenType::DATABASE,
TokenType::DICTIONARY,
TokenType::FILE_FORMAT,
TokenType::MODEL,
TokenType::NAMESPACE,
TokenType::SCHEMA,
TokenType::SEMANTIC_VIEW,
TokenType::SEQUENCE,
TokenType::SINK,
TokenType::SOURCE,
TokenType::STAGE,
TokenType::STORAGE_INTEGRATION,
TokenType::STREAMLIT,
TokenType::TABLE,
TokenType::TAG,
TokenType::VIEW,
TokenType::WAREHOUSE,
]),
ddl_select_tokens: TokenSet::new([
TokenType::L_PAREN,
TokenType::SELECT,
TokenType::WITH,
]),
default_sampling_method: None,
describe_styles: @set.Set::from_array([
"ANALYZE", "EXTENDED", "FORMATTED", "HISTORY",
]),
disjunction: Map::from_array([(TokenType::OR, Kind::Or)]),
distinct_tokens: TokenSet::new([TokenType::DISTINCT]),
enum_type_tokens: TokenSet::new([
TokenType::DYNAMIC,
TokenType::ENUM,
TokenType::ENUM16,
TokenType::ENUM8,
]),
equality: Map::from_array([
(TokenType::EQ, Kind::EQ),
(TokenType::NEQ, Kind::NEQ),
(TokenType::NULLSAFE_EQ, Kind::NullSafeEQ),
]),
execute_as_options: Map::from_array([
("CALLER", []),
("SELF", []),
("OWNER", []),
]),
exponent: Map([]),
factor: Map::from_array([
(TokenType::DIV, Kind::IntDiv),
(TokenType::LR_ARROW, Kind::Distance),
(TokenType::LLRR_ARROW, Kind::DistanceNd),
(TokenType::MOD, Kind::Mod),
(TokenType::SLASH, Kind::Div),
(TokenType::STAR, Kind::Mul),
]),
fetch_tokens: TokenSet::new([
TokenType::AGGREGATEFUNCTION,
TokenType::ALL,
TokenType::ANALYZE,
TokenType::ANTI,
TokenType::ANY,
TokenType::APPLY,
TokenType::ARRAY,
TokenType::ASC,
TokenType::ASOF,
TokenType::ATTACH,
TokenType::AUTO_INCREMENT,
TokenType::BEGIN,
TokenType::BIGDECIMAL,
TokenType::BIGINT,
TokenType::BIGNUM,
TokenType::BIGSERIAL,
TokenType::BINARY,
TokenType::BIT,
TokenType::BLOB,
TokenType::BOOLEAN,
TokenType::BPCHAR,
TokenType::CACHE,
TokenType::CASE,
TokenType::CHAR,
TokenType::COLLATE,
TokenType::COLUMN,
TokenType::COMMAND,
TokenType::COMMENT,
TokenType::COMMIT,
TokenType::CONSTRAINT,
TokenType::COPY,
TokenType::CUBE,
TokenType::CURRENT_CATALOG,
TokenType::CURRENT_DATE,
TokenType::CURRENT_DATETIME,
TokenType::CURRENT_ROLE,
TokenType::CURRENT_SCHEMA,
TokenType::CURRENT_TIME,
TokenType::CURRENT_TIMESTAMP,
TokenType::CURRENT_USER,
TokenType::DATABASE,
TokenType::DATE,
TokenType::DATE32,
TokenType::DATEMULTIRANGE,
TokenType::DATERANGE,
TokenType::DATETIME,
TokenType::DATETIME2,
TokenType::DATETIME64,
TokenType::DECFLOAT,
TokenType::DECIMAL,
TokenType::DECIMAL128,
TokenType::DECIMAL256,
TokenType::DECIMAL32,
TokenType::DECIMAL64,
TokenType::DECLARE,
TokenType::DEFAULT,
TokenType::DELETE,
TokenType::DESC,
TokenType::DESCRIBE,
TokenType::DETACH,
TokenType::DICTIONARY,
TokenType::DIV,
TokenType::DOUBLE,
TokenType::DYNAMIC,
TokenType::END,
TokenType::ENUM,
TokenType::ENUM16,
TokenType::ENUM8,
TokenType::ESCAPE,
TokenType::EXECUTE,
TokenType::EXISTS,
TokenType::EXPORT,
TokenType::FALSE,
TokenType::FILE,
TokenType::FILE_FORMAT,
TokenType::FILTER,
TokenType::FINAL,
TokenType::FIRST,
TokenType::FIXEDSTRING,
TokenType::FLOAT,
TokenType::FOREIGN_KEY,
TokenType::FORMAT,
TokenType::FULL,
TokenType::FUNCTION,
TokenType::GEOGRAPHY,
TokenType::GEOGRAPHYPOINT,
TokenType::GEOMETRY,
TokenType::GET,
TokenType::HLLSKETCH,
TokenType::HSTORE,
TokenType::IDENTIFIER,
TokenType::IMAGE,
TokenType::INDEX,
TokenType::INET,
TokenType::INOUT,
TokenType::INT,
TokenType::INT128,
TokenType::INT256,
TokenType::INT4MULTIRANGE,
TokenType::INT4RANGE,
TokenType::INT8MULTIRANGE,
TokenType::INT8RANGE,
TokenType::INTERVAL,
TokenType::IPADDRESS,
TokenType::IPPREFIX,
TokenType::IPV4,
TokenType::IPV6,
TokenType::IS,
TokenType::ISNULL,
TokenType::JSON,
TokenType::JSONB,
TokenType::KEEP,
TokenType::KILL,
TokenType::LEFT,
TokenType::LIMIT,
TokenType::LINESTRING,
TokenType::LIST,
TokenType::LOAD,
TokenType::LOCALTIME,
TokenType::LOCALTIMESTAMP,
TokenType::LOCK,
TokenType::LONGBLOB,
TokenType::LONGTEXT,
TokenType::LOWCARDINALITY,
TokenType::MAP,
TokenType::MATCH,
TokenType::MEDIUMBLOB,
TokenType::MEDIUMINT,
TokenType::MEDIUMTEXT,
TokenType::MERGE,
TokenType::MODEL,
TokenType::MONEY,
TokenType::MULTILINESTRING,
TokenType::MULTIPOLYGON,
TokenType::NAME,
TokenType::NAMESPACE,
TokenType::NATURAL,
TokenType::NCHAR,
TokenType::NESTED,
TokenType::NEXT,
TokenType::NOTHING,
TokenType::NULL,
TokenType::NULLABLE,
TokenType::NUMMULTIRANGE,
TokenType::NUMRANGE,
TokenType::NVARCHAR,
TokenType::OBJECT,
TokenType::OBJECT_IDENTIFIER,
TokenType::OFFSET,
TokenType::OPERATOR,
TokenType::ORDINALITY,
TokenType::OUT,
TokenType::OVER,
TokenType::OVERLAPS,
TokenType::OVERWRITE,
TokenType::PARTITION,
TokenType::PIVOT,
TokenType::POINT,
TokenType::POLYGON,
TokenType::PRAGMA,
TokenType::PROCEDURE,
TokenType::PROJECTION,
TokenType::PSEUDO_TYPE,
TokenType::PUT,
TokenType::RANGE,
TokenType::RECURSIVE,
TokenType::REFERENCES,
TokenType::REFRESH,
TokenType::RENAME,
TokenType::REPLACE,
TokenType::RIGHT,
TokenType::RING,
TokenType::ROLLUP,
TokenType::ROWVERSION,
TokenType::SCHEMA,
TokenType::SEMANTIC_VIEW,
TokenType::SEMI,
TokenType::SEQUENCE,
TokenType::SERIAL,
TokenType::SESSION,
TokenType::SESSION_USER,
TokenType::SET,
TokenType::SETTINGS,
TokenType::SHOW,
TokenType::SIMPLEAGGREGATEFUNCTION,
TokenType::SINK,
TokenType::SMALLDATETIME,
TokenType::SMALLINT,
TokenType::SMALLMONEY,
TokenType::SMALLSERIAL,
TokenType::SOME,
TokenType::SOURCE,
TokenType::STAGE,
TokenType::STORAGE_INTEGRATION,
TokenType::STRAIGHT_JOIN,
TokenType::STREAM,
TokenType::STREAMLIT,
TokenType::STRUCT,
TokenType::SUPER,
TokenType::TABLE,
TokenType::TAG,
TokenType::TDIGEST,
TokenType::TEMPORARY,
TokenType::TEXT,
TokenType::TIME,
TokenType::TIMESTAMP,
TokenType::TIMESTAMPLTZ,
TokenType::TIMESTAMPNTZ,
TokenType::TIMESTAMPTZ,
TokenType::TIMESTAMP_MS,
TokenType::TIMESTAMP_NS,
TokenType::TIMESTAMP_S,
TokenType::TIMETZ,
TokenType::TIME_NS,
TokenType::TINYBLOB,
TokenType::TINYINT,
TokenType::TINYTEXT,
TokenType::TOP,
TokenType::TRIGGER,
TokenType::TRUE,
TokenType::TRUNCATE,
TokenType::TSMULTIRANGE,
TokenType::TSRANGE,
TokenType::TSTZMULTIRANGE,
TokenType::TSTZRANGE,
TokenType::TYPE,
TokenType::UBIGINT,
TokenType::UDECIMAL,
TokenType::UDOUBLE,
TokenType::UINT,
TokenType::UINT128,
TokenType::UINT256,
TokenType::UMEDIUMINT,
TokenType::UNIQUE,
TokenType::UNKNOWN,
TokenType::UNNEST,
TokenType::UNPIVOT,
TokenType::UPDATE,
TokenType::USE,
TokenType::USERDEFINED,
TokenType::USMALLINT,
TokenType::UTINYINT,
TokenType::UUID,
TokenType::VAR,
TokenType::VARBINARY,
TokenType::VARCHAR,
TokenType::VARIANT,
TokenType::VECTOR,
TokenType::VIEW,
TokenType::VOID,
TokenType::VOLATILE,
TokenType::WAREHOUSE,
TokenType::WINDOW,
TokenType::XML,
TokenType::YEAR,
]),
functions_with_aliased_args: @set.Set::from_array(["STRUCT"]),
func_tokens: TokenSet::new([
TokenType::AGGREGATEFUNCTION,
TokenType::ALL,
TokenType::ANY,
TokenType::ARRAY,
TokenType::BIGDECIMAL,
TokenType::BIGINT,
TokenType::BIGNUM,
TokenType::BIGSERIAL,
TokenType::BINARY,
TokenType::BIT,
TokenType::BLOB,
TokenType::BOOLEAN,
TokenType::BPCHAR,
TokenType::CHAR,
TokenType::COLLATE,
TokenType::COMMAND,
TokenType::CURRENT_CATALOG,
TokenType::CURRENT_DATE,
TokenType::CURRENT_DATETIME,
TokenType::CURRENT_SCHEMA,
TokenType::CURRENT_TIME,
TokenType::CURRENT_TIMESTAMP,
TokenType::CURRENT_USER,
TokenType::DATE,
TokenType::DATE32,
TokenType::DATEMULTIRANGE,
TokenType::DATERANGE,
TokenType::DATETIME,
TokenType::DATETIME2,
TokenType::DATETIME64,
TokenType::DECFLOAT,
TokenType::DECIMAL,
TokenType::DECIMAL128,
TokenType::DECIMAL256,
TokenType::DECIMAL32,
TokenType::DECIMAL64,
TokenType::DECLARE,
TokenType::DOUBLE,
TokenType::DYNAMIC,
TokenType::ENUM,
TokenType::ENUM16,
TokenType::ENUM8,
TokenType::EXISTS,
TokenType::FILTER,
TokenType::FIRST,
TokenType::FIXEDSTRING,
TokenType::FLOAT,
TokenType::FORMAT,
TokenType::GEOGRAPHY,
TokenType::GEOGRAPHYPOINT,
TokenType::GEOMETRY,
TokenType::GET,
TokenType::GLOB,
TokenType::HLLSKETCH,
TokenType::HSTORE,
TokenType::IDENTIFIER,
TokenType::ILIKE,
TokenType::IMAGE,
TokenType::INDEX,
TokenType::INET,
TokenType::INSERT,
TokenType::INT,
TokenType::INT128,
TokenType::INT256,
TokenType::INT4MULTIRANGE,
TokenType::INT4RANGE,
TokenType::INT8MULTIRANGE,
TokenType::INT8RANGE,
TokenType::INTERVAL,
TokenType::IPADDRESS,
TokenType::IPPREFIX,
TokenType::IPV4,
TokenType::IPV6,
TokenType::ISNULL,
TokenType::JSON,
TokenType::JSONB,
TokenType::LEFT,
TokenType::LIKE,
TokenType::LINESTRING,
TokenType::LIST,
TokenType::LOCALTIME,
TokenType::LOCALTIMESTAMP,
TokenType::LONGBLOB,
TokenType::LONGTEXT,
TokenType::LOWCARDINALITY,
TokenType::MAP,
TokenType::MEDIUMBLOB,
TokenType::MEDIUMINT,
TokenType::MEDIUMTEXT,
TokenType::MERGE,
TokenType::MONEY,
TokenType::MULTILINESTRING,
TokenType::MULTIPOLYGON,
TokenType::NAME,
TokenType::NCHAR,
TokenType::NESTED,
TokenType::NEXT,
TokenType::NOTHING,
TokenType::NULL,
TokenType::NULLABLE,
TokenType::NUMMULTIRANGE,
TokenType::NUMRANGE,
TokenType::NVARCHAR,
TokenType::OBJECT,
TokenType::OBJECT_IDENTIFIER,
TokenType::OFFSET,
TokenType::POINT,
TokenType::POLYGON,
TokenType::PRIMARY_KEY,
TokenType::PSEUDO_TYPE,
TokenType::RANGE,
TokenType::REPLACE,
TokenType::RIGHT,
TokenType::RING,
TokenType::RLIKE,
TokenType::ROW,
TokenType::ROWVERSION,
TokenType::SEQUENCE,
TokenType::SERIAL,
TokenType::SESSION_USER,
TokenType::SIMPLEAGGREGATEFUNCTION,
TokenType::SMALLDATETIME,
TokenType::SMALLINT,
TokenType::SMALLMONEY,
TokenType::SMALLSERIAL,
TokenType::SOME,
TokenType::STRUCT,
TokenType::SUPER,
TokenType::TABLE,
TokenType::TDIGEST,
TokenType::TEXT,
TokenType::TIME,
TokenType::TIMESTAMP,
TokenType::TIMESTAMPLTZ,
TokenType::TIMESTAMPNTZ,
TokenType::TIMESTAMPTZ,
TokenType::TIMESTAMP_MS,
TokenType::TIMESTAMP_NS,
TokenType::TIMESTAMP_S,
TokenType::TIMETZ,
TokenType::TIME_NS,
TokenType::TINYBLOB,
TokenType::TINYINT,
TokenType::TINYTEXT,
TokenType::TRUNCATE,
TokenType::TSMULTIRANGE,
TokenType::TSRANGE,
TokenType::TSTZMULTIRANGE,
TokenType::TSTZRANGE,
TokenType::UBIGINT,
TokenType::UDECIMAL,
TokenType::UDOUBLE,
TokenType::UINT,
TokenType::UINT128,
TokenType::UINT256,
TokenType::UMEDIUMINT,
TokenType::UNION,
TokenType::UNKNOWN,
TokenType::UNNEST,
TokenType::USERDEFINED,
TokenType::USMALLINT,
TokenType::UTC_DATE,
TokenType::UTC_TIME,
TokenType::UTC_TIMESTAMP,
TokenType::UTINYINT,
TokenType::UUID,
TokenType::VAR,
TokenType::VARBINARY,
TokenType::VARCHAR,
TokenType::VARIANT,
TokenType::VECTOR,
TokenType::VOID,
TokenType::WINDOW,
TokenType::XML,
TokenType::XOR,
TokenType::YEAR,
]),
historical_data_kind: @set.Set::from_array([
"OFFSET", "STATEMENT", "STREAM", "TIMESTAMP", "VERSION",
]),
historical_data_prefix: @set.Set::from_array(["AT", "BEFORE", "END"]),
identifier_tokens: TokenSet::new([TokenType::IDENTIFIER, TokenType::VAR]),
identify_pivot_strings: false,
id_var_tokens: TokenSet::new([
TokenType::AGGREGATEFUNCTION,
TokenType::ALL,
TokenType::ANALYZE,
TokenType::ANTI,
TokenType::ANY,
TokenType::APPLY,
TokenType::ARRAY,
TokenType::ASC,
TokenType::ASOF,
TokenType::ATTACH,
TokenType::AUTO_INCREMENT,
TokenType::BEGIN,
TokenType::BIGDECIMAL,
TokenType::BIGINT,
TokenType::BIGNUM,
TokenType::BIGSERIAL,
TokenType::BINARY,
TokenType::BIT,
TokenType::BLOB,
TokenType::BOOLEAN,
TokenType::BPCHAR,
TokenType::CACHE,
TokenType::CASE,
TokenType::CHAR,
TokenType::COLLATE,
TokenType::COLUMN,
TokenType::COMMAND,
TokenType::COMMENT,
TokenType::COMMIT,
TokenType::CONSTRAINT,
TokenType::COPY,
TokenType::CUBE,
TokenType::CURRENT_CATALOG,
TokenType::CURRENT_DATE,
TokenType::CURRENT_DATETIME,
TokenType::CURRENT_ROLE,
TokenType::CURRENT_SCHEMA,
TokenType::CURRENT_TIME,
TokenType::CURRENT_TIMESTAMP,
TokenType::CURRENT_USER,
TokenType::DATABASE,
TokenType::DATE,
TokenType::DATE32,
TokenType::DATEMULTIRANGE,
TokenType::DATERANGE,
TokenType::DATETIME,
TokenType::DATETIME2,
TokenType::DATETIME64,
TokenType::DECFLOAT,
TokenType::DECIMAL,
TokenType::DECIMAL128,
TokenType::DECIMAL256,
TokenType::DECIMAL32,
TokenType::DECIMAL64,
TokenType::DECLARE,
TokenType::DEFAULT,
TokenType::DELETE,
TokenType::DESC,
TokenType::DESCRIBE,
TokenType::DETACH,
TokenType::DICTIONARY,
TokenType::DIV,
TokenType::DOUBLE,
TokenType::DYNAMIC,
TokenType::END,
TokenType::ENUM,
TokenType::ENUM16,
TokenType::ENUM8,
TokenType::ESCAPE,
TokenType::EXECUTE,
TokenType::EXISTS,
TokenType::EXPORT,
TokenType::FALSE,
TokenType::FILE,
TokenType::FILE_FORMAT,
TokenType::FILTER,
TokenType::FINAL,
TokenType::FIRST,
TokenType::FIXEDSTRING,
TokenType::FLOAT,
TokenType::FOREIGN_KEY,
TokenType::FORMAT,
TokenType::FULL,
TokenType::FUNCTION,
TokenType::GEOGRAPHY,
TokenType::GEOGRAPHYPOINT,
TokenType::GEOMETRY,
TokenType::GET,
TokenType::HLLSKETCH,
TokenType::HSTORE,
TokenType::IDENTIFIER,
TokenType::IMAGE,
TokenType::INDEX,
TokenType::INET,
TokenType::INOUT,
TokenType::INT,
TokenType::INT128,
TokenType::INT256,
TokenType::INT4MULTIRANGE,
TokenType::INT4RANGE,
TokenType::INT8MULTIRANGE,
TokenType::INT8RANGE,
TokenType::INTERVAL,
TokenType::IPADDRESS,
TokenType::IPPREFIX,
TokenType::IPV4,
TokenType::IPV6,
TokenType::IS,
TokenType::ISNULL,
TokenType::JSON,
TokenType::JSONB,
TokenType::KEEP,
TokenType::KILL,
TokenType::LEFT,
TokenType::LIMIT,
TokenType::LINESTRING,
TokenType::LIST,
TokenType::LOAD,
TokenType::LOCALTIME,
TokenType::LOCALTIMESTAMP,
TokenType::LOCK,
TokenType::LONGBLOB,
TokenType::LONGTEXT,
TokenType::LOWCARDINALITY,
TokenType::MAP,
TokenType::MATCH,
TokenType::MEDIUMBLOB,
TokenType::MEDIUMINT,
TokenType::MEDIUMTEXT,
TokenType::MERGE,
TokenType::MODEL,
TokenType::MONEY,
TokenType::MULTILINESTRING,
TokenType::MULTIPOLYGON,
TokenType::NAME,
TokenType::NAMESPACE,
TokenType::NATURAL,
TokenType::NCHAR,
TokenType::NESTED,
TokenType::NEXT,
TokenType::NOTHING,
TokenType::NULL,
TokenType::NULLABLE,
TokenType::NUMMULTIRANGE,
TokenType::NUMRANGE,
TokenType::NVARCHAR,
TokenType::OBJECT,
TokenType::OBJECT_IDENTIFIER,
TokenType::OFFSET,
TokenType::OPERATOR,
TokenType::ORDINALITY,
TokenType::OUT,
TokenType::OVER,
TokenType::OVERLAPS,
TokenType::OVERWRITE,
TokenType::PARTITION,
TokenType::PERCENT,
TokenType::PIVOT,
TokenType::POINT,
TokenType::POLYGON,
TokenType::PRAGMA,
TokenType::PROCEDURE,
TokenType::PROJECTION,
TokenType::PSEUDO_TYPE,
TokenType::PUT,
TokenType::RANGE,
TokenType::RECURSIVE,
TokenType::REFERENCES,
TokenType::REFRESH,
TokenType::RENAME,
TokenType::REPLACE,
TokenType::RIGHT,
TokenType::RING,
TokenType::ROLLUP,
TokenType::ROW,
TokenType::ROWS,
TokenType::ROWVERSION,
TokenType::SCHEMA,
TokenType::SEMANTIC_VIEW,
TokenType::SEMI,
TokenType::SEQUENCE,
TokenType::SERIAL,
TokenType::SESSION,
TokenType::SESSION_USER,
TokenType::SET,
TokenType::SETTINGS,
TokenType::SHOW,
TokenType::SIMPLEAGGREGATEFUNCTION,
TokenType::SINK,
TokenType::SMALLDATETIME,
TokenType::SMALLINT,
TokenType::SMALLMONEY,
TokenType::SMALLSERIAL,
TokenType::SOME,
TokenType::SOURCE,
TokenType::STAGE,
TokenType::STORAGE_INTEGRATION,
TokenType::STREAM,
TokenType::STREAMLIT,
TokenType::STRUCT,
TokenType::SUPER,
TokenType::TABLE,
TokenType::TAG,
TokenType::TDIGEST,
TokenType::TEMPORARY,
TokenType::TEXT,
TokenType::TIME,
TokenType::TIMESTAMP,
TokenType::TIMESTAMPLTZ,
TokenType::TIMESTAMPNTZ,
TokenType::TIMESTAMPTZ,
TokenType::TIMESTAMP_MS,
TokenType::TIMESTAMP_NS,
TokenType::TIMESTAMP_S,
TokenType::TIMETZ,
TokenType::TIME_NS,
TokenType::TINYBLOB,
TokenType::TINYINT,
TokenType::TINYTEXT,
TokenType::TOP,
TokenType::TRIGGER,
TokenType::TRUE,
TokenType::TRUNCATE,
TokenType::TSMULTIRANGE,
TokenType::TSRANGE,
TokenType::TSTZMULTIRANGE,
TokenType::TSTZRANGE,
TokenType::TYPE,
TokenType::UBIGINT,
TokenType::UDECIMAL,
TokenType::UDOUBLE,
TokenType::UINT,
TokenType::UINT128,
TokenType::UINT256,
TokenType::UMEDIUMINT,
TokenType::UNIQUE,
TokenType::UNKNOWN,
TokenType::UNNEST,
TokenType::UNPIVOT,
TokenType::UPDATE,
TokenType::USE,
TokenType::USERDEFINED,
TokenType::USMALLINT,
TokenType::UTINYINT,
TokenType::UUID,
TokenType::VAR,
TokenType::VARBINARY,
TokenType::VARCHAR,
TokenType::VARIANT,
TokenType::VECTOR,
TokenType::VIEW,
TokenType::VOID,
TokenType::VOLATILE,
TokenType::WAREHOUSE,
TokenType::WINDOW,
TokenType::XML,
TokenType::YEAR,
]),
insert_alternatives: @set.Set::from_array([
"ABORT", "FAIL", "IGNORE", "REPLACE", "ROLLBACK",
]),
interval_spans: true,
invalid_func_name_tokens: TokenSet::new([
TokenType::IDENTIFIER,
TokenType::STRING,
]),
isolated_loading_options: Map::from_array([
("FOR", [["ALL"], ["INSERT"], ["NONE"]]),
]),
is_json_predicate_kind: @set.Set::from_array([
"ARRAY", "OBJECT", "SCALAR", "VALUE",
]),
joins_have_equal_precedence: false,
join_hints: @set.Set::from_array([]),
join_kinds: TokenSet::new([
TokenType::ANTI,
TokenType::CROSS,
TokenType::INNER,
TokenType::OUTER,
TokenType::SEMI,
TokenType::STRAIGHT_JOIN,
]),
join_methods: TokenSet::new([
TokenType::ASOF,
TokenType::NATURAL,
TokenType::POSITIONAL,
]),
join_sides: TokenSet::new([
TokenType::FULL,
TokenType::LEFT,
TokenType::RIGHT,
]),
json_arrows_require_json_type: false,
json_extract_requires_json_expression: false,
json_key_value_separator_tokens: TokenSet::new([
TokenType::COLON,
TokenType::COMMA,
TokenType::IS,
]),
key_constraint_options: Map::from_array([
("NOT", [["ENFORCED"]]),
("MATCH", [["FULL"], ["PARTIAL"], ["SIMPLE"]]),
("INITIALLY", [["DEFERRED"], ["IMMEDIATE"]]),
("USING", [["BTREE"], ["HASH"]]),
("DEFERRABLE", []),
("NORELY", []),
("RELY", []),
]),
key_value_definitions: [
Kind::Alias,
Kind::EQ,
Kind::PropertyEQ,
Kind::Slice,
],
lambda_arg_terminators: TokenSet::new([TokenType::COMMA, TokenType::R_PAREN]),
log_defaults_to_ln: false,
map_keys_are_arbitrary_expressions: false,
modifiables: [Kind::Query, Kind::Table, Kind::TableFromRows, Kind::Values],
modifiers_attached_to_set_op: true,
nested_type_tokens: TokenSet::new([
TokenType::ARRAY,
TokenType::LIST,
TokenType::LOWCARDINALITY,
TokenType::MAP,
TokenType::NESTED,
TokenType::NULLABLE,
TokenType::OBJECT,
TokenType::RANGE,
TokenType::STRUCT,
TokenType::UNION,
]),
no_paren_functions: Map::from_array([
(TokenType::CURRENT_DATE, Kind::CurrentDate),
(TokenType::CURRENT_DATETIME, Kind::CurrentDate),
(TokenType::CURRENT_TIME, Kind::CurrentTime),
(TokenType::CURRENT_TIMESTAMP, Kind::CurrentTimestamp),
(TokenType::CURRENT_USER, Kind::CurrentUser),
(TokenType::CURRENT_ROLE, Kind::CurrentRole),
(TokenType::LOCALTIME, Kind::Localtime),
(TokenType::LOCALTIMESTAMP, Kind::Localtimestamp),
(TokenType::CURRENT_CATALOG, Kind::CurrentCatalog),
(TokenType::SESSION_USER, Kind::SessionUser),
]),
no_paren_if_commands: true,
odbc_datetime_literals: Map([]),
on_condition_tokens: @set.Set::from_array([
"EMPTY", "ERROR", "FALSE", "NULL", "TRUE",
]),
opclass_follow_keywords: @set.Set::from_array([
"ASC", "DESC", "NULLS", "WITH",
]),
operation_modifiers: @set.Set::from_array([]),
optional_alias_token_cte: true,
optype_follow_tokens: TokenSet::new([TokenType::COMMA, TokenType::R_PAREN]),
partition_keywords: @set.Set::from_array(["PARTITION", "SUBPARTITION"]),
pivot_column_naming: "agg_name_if_aliased",
prefixed_pivot_columns: false,
pre_volatile_tokens: TokenSet::new([
TokenType::CREATE,
TokenType::REPLACE,
TokenType::UNIQUE,
]),
privilege_follow_tokens: TokenSet::new([
TokenType::COMMA,
TokenType::L_PAREN,
TokenType::ON,
]),
procedure_options: Map([]),
query_modifier_tokens: TokenSet::new([
TokenType::CLUSTER_BY,
TokenType::CONNECT_BY,
TokenType::DISTRIBUTE_BY,
TokenType::FETCH,
TokenType::FOR,
TokenType::GROUP_BY,
TokenType::HAVING,
TokenType::LIMIT,
TokenType::LOCK,
TokenType::MATCH_RECOGNIZE,
TokenType::OFFSET,
TokenType::ORDER_BY,
TokenType::PREWHERE,
TokenType::QUALIFY,
TokenType::SORT_BY,
TokenType::TABLE_SAMPLE,
TokenType::USING,
TokenType::WHERE,
TokenType::WINDOW,
]),
quoted_types_to_preserve: @set.Set::from_array([]),
recursive_cte_search_kind: @set.Set::from_array([
"BREADTH", "CYCLE", "DEPTH",
]),
reserved_tokens: TokenSet::new([
TokenType::AMP,
TokenType::BACKSLASH,
TokenType::CARET,
TokenType::COLON,
TokenType::COMMA,
TokenType::DASH,
TokenType::DOT,
TokenType::EQ,
TokenType::GT,
TokenType::HASH,
TokenType::LT,
TokenType::L_BRACE,
TokenType::L_BRACKET,
TokenType::L_PAREN,
TokenType::MOD,
TokenType::NOT,
TokenType::PARAMETER,
TokenType::PIPE,
TokenType::PLACEHOLDER,
TokenType::PLUS,
TokenType::R_BRACE,
TokenType::R_BRACKET,
TokenType::R_PAREN,
TokenType::SELECT,
TokenType::SEMICOLON,
TokenType::SLASH,
TokenType::STAR,
TokenType::TILDE,
TokenType::UNKNOWN,
]),
schema_binding_options: Map::from_array([
("TYPE", [["EVOLUTION"]]),
("BINDING", []),
("COMPENSATION", []),
("EVOLUTION", []),
]),
schema_unnamed_constraints: @set.Set::from_array([
"BUCKET", "CHECK", "EXCLUDE", "FOREIGN KEY", "LIKE", "PERIOD", "PRIMARY KEY",
"TRUNCATE", "UNIQUE",
]),
security_property_keywords: @set.Set::from_array([
"DEFINER", "INVOKER", "NONE",
]),
select_start_tokens: TokenSet::new([
TokenType::L_PAREN,
TokenType::SELECT,
TokenType::WITH,
]),
set_assignment_delimiters: @set.Set::from_array([":=", "=", "TO"]),
set_operations: TokenSet::new([
TokenType::EXCEPT,
TokenType::INTERSECT,
TokenType::UNION,
]),
set_op_modifiers: @set.Set::from_array([
"cluster", "distribute", "limit", "offset", "order", "sort",
]),
set_requires_assignment_delimiter: true,
signed_to_unsigned_type_token: Map::from_array([
(TokenType::BIGINT, TokenType::UBIGINT),
(TokenType::INT, TokenType::UINT),
(TokenType::MEDIUMINT, TokenType::UMEDIUMINT),
(TokenType::SMALLINT, TokenType::USMALLINT),
(TokenType::TINYINT, TokenType::UTINYINT),
(TokenType::DECIMAL, TokenType::UDECIMAL),
(TokenType::DOUBLE, TokenType::UDOUBLE),
]),
strict_cast: true,
string_aliases: false,
struct_type_tokens: TokenSet::new([
TokenType::NESTED,
TokenType::OBJECT,
TokenType::STRUCT,
TokenType::UNION,
]),
subquery_predicates: Map::from_array([
(TokenType::ANY, Kind::Any),
(TokenType::ALL, Kind::All),
(TokenType::EXISTS, Kind::Exists),
(TokenType::SOME, Kind::Any),
]),
subquery_tokens: TokenSet::new([
TokenType::FROM,
TokenType::SELECT,
TokenType::WITH,
]),
supports_digit_prefixed_field_names: false,
supports_implicit_unnest: false,
supports_nth_value_from_modifier: false,
supports_omitted_interval_span_unit: false,
supports_partition_selection: false,
tablesample_csv: false,
table_alias_tokens: TokenSet::new([
TokenType::AGGREGATEFUNCTION,
TokenType::ALL,
TokenType::ANALYZE,
TokenType::ANY,
TokenType::APPLY,
TokenType::ARRAY,
TokenType::ASC,
TokenType::ATTACH,
TokenType::AUTO_INCREMENT,
TokenType::BEGIN,
TokenType::BIGDECIMAL,
TokenType::BIGINT,
TokenType::BIGNUM,
TokenType::BIGSERIAL,
TokenType::BINARY,
TokenType::BIT,
TokenType::BLOB,
TokenType::BOOLEAN,
TokenType::BPCHAR,
TokenType::CACHE,
TokenType::CASE,
TokenType::CHAR,
TokenType::COLLATE,
TokenType::COLUMN,
TokenType::COMMAND,
TokenType::COMMENT,
TokenType::COMMIT,
TokenType::CONSTRAINT,
TokenType::COPY,
TokenType::CUBE,
TokenType::CURRENT_CATALOG,
TokenType::CURRENT_DATE,
TokenType::CURRENT_DATETIME,
TokenType::CURRENT_ROLE,
TokenType::CURRENT_SCHEMA,
TokenType::CURRENT_TIME,
TokenType::CURRENT_TIMESTAMP,
TokenType::CURRENT_USER,
TokenType::DATABASE,
TokenType::DATE,
TokenType::DATE32,
TokenType::DATEMULTIRANGE,
TokenType::DATERANGE,
TokenType::DATETIME,
TokenType::DATETIME2,
TokenType::DATETIME64,
TokenType::DECFLOAT,
TokenType::DECIMAL,
TokenType::DECIMAL128,
TokenType::DECIMAL256,
TokenType::DECIMAL32,
TokenType::DECIMAL64,
TokenType::DECLARE,
TokenType::DEFAULT,
TokenType::DELETE,
TokenType::DESC,
TokenType::DESCRIBE,
TokenType::DETACH,
TokenType::DICTIONARY,
TokenType::DIV,
TokenType::DOUBLE,
TokenType::DYNAMIC,
TokenType::END,
TokenType::ENUM,
TokenType::ENUM16,
TokenType::ENUM8,
TokenType::ESCAPE,
TokenType::EXECUTE,
TokenType::EXISTS,
TokenType::EXPORT,
TokenType::FALSE,
TokenType::FILE,
TokenType::FILE_FORMAT,
TokenType::FILTER,
TokenType::FINAL,
TokenType::FIRST,
TokenType::FIXEDSTRING,
TokenType::FLOAT,
TokenType::FOREIGN_KEY,
TokenType::FORMAT,
TokenType::FUNCTION,
TokenType::GEOGRAPHY,
TokenType::GEOGRAPHYPOINT,
TokenType::GEOMETRY,
TokenType::GET,
TokenType::HLLSKETCH,
TokenType::HSTORE,
TokenType::IDENTIFIER,
TokenType::IMAGE,
TokenType::INDEX,
TokenType::INET,
TokenType::INOUT,
TokenType::INT,
TokenType::INT128,
TokenType::INT256,
TokenType::INT4MULTIRANGE,
TokenType::INT4RANGE,
TokenType::INT8MULTIRANGE,
TokenType::INT8RANGE,
TokenType::INTERVAL,
TokenType::IPADDRESS,
TokenType::IPPREFIX,
TokenType::IPV4,
TokenType::IPV6,
TokenType::IS,
TokenType::ISNULL,
TokenType::JSON,
TokenType::JSONB,
TokenType::KEEP,
TokenType::KILL,
TokenType::LIMIT,
TokenType::LINESTRING,
TokenType::LIST,
TokenType::LOAD,
TokenType::LOCALTIME,
TokenType::LOCALTIMESTAMP,
TokenType::LONGBLOB,
TokenType::LONGTEXT,
TokenType::LOWCARDINALITY,
TokenType::MAP,
TokenType::MATCH,
TokenType::MEDIUMBLOB,
TokenType::MEDIUMINT,
TokenType::MEDIUMTEXT,
TokenType::MERGE,
TokenType::MODEL,
TokenType::MONEY,
TokenType::MULTILINESTRING,
TokenType::MULTIPOLYGON,
TokenType::NAME,
TokenType::NAMESPACE,
TokenType::NCHAR,
TokenType::NESTED,
TokenType::NEXT,
TokenType::NOTHING,
TokenType::NULL,
TokenType::NULLABLE,
TokenType::NUMMULTIRANGE,
TokenType::NUMRANGE,
TokenType::NVARCHAR,
TokenType::OBJECT,
TokenType::OBJECT_IDENTIFIER,
TokenType::OFFSET,
TokenType::OPERATOR,
TokenType::ORDINALITY,
TokenType::OUT,
TokenType::OVER,
TokenType::OVERLAPS,
TokenType::OVERWRITE,
TokenType::PARTITION,
TokenType::PERCENT,
TokenType::PIVOT,
TokenType::POINT,
TokenType::POLYGON,
TokenType::PRAGMA,
TokenType::PROCEDURE,
TokenType::PROJECTION,
TokenType::PSEUDO_TYPE,
TokenType::PUT,
TokenType::RANGE,
TokenType::RECURSIVE,
TokenType::REFERENCES,
TokenType::REFRESH,
TokenType::RENAME,
TokenType::REPLACE,
TokenType::RING,
TokenType::ROLLUP,
TokenType::ROW,
TokenType::ROWS,
TokenType::ROWVERSION,
TokenType::SCHEMA,
TokenType::SEMANTIC_VIEW,
TokenType::SEQUENCE,
TokenType::SERIAL,
TokenType::SESSION,
TokenType::SESSION_USER,
TokenType::SET,
TokenType::SETTINGS,
TokenType::SHOW,
TokenType::SIMPLEAGGREGATEFUNCTION,
TokenType::SINK,
TokenType::SMALLDATETIME,
TokenType::SMALLINT,
TokenType::SMALLMONEY,
TokenType::SMALLSERIAL,
TokenType::SOME,
TokenType::SOURCE,
TokenType::STAGE,
TokenType::STORAGE_INTEGRATION,
TokenType::STREAM,
TokenType::STREAMLIT,
TokenType::STRUCT,
TokenType::SUPER,
TokenType::TABLE,
TokenType::TAG,
TokenType::TDIGEST,
TokenType::TEMPORARY,
TokenType::TEXT,
TokenType::TIME,
TokenType::TIMESTAMP,
TokenType::TIMESTAMPLTZ,
TokenType::TIMESTAMPNTZ,
TokenType::TIMESTAMPTZ,
TokenType::TIMESTAMP_MS,
TokenType::TIMESTAMP_NS,
TokenType::TIMESTAMP_S,
TokenType::TIMETZ,
TokenType::TIME_NS,
TokenType::TINYBLOB,
TokenType::TINYINT,
TokenType::TINYTEXT,
TokenType::TOP,
TokenType::TRIGGER,
TokenType::TRUE,
TokenType::TRUNCATE,
TokenType::TSMULTIRANGE,
TokenType::TSRANGE,
TokenType::TSTZMULTIRANGE,
TokenType::TSTZRANGE,
TokenType::TYPE,
TokenType::UBIGINT,
TokenType::UDECIMAL,
TokenType::UDOUBLE,
TokenType::UINT,
TokenType::UINT128,
TokenType::UINT256,
TokenType::UMEDIUMINT,
TokenType::UNIQUE,
TokenType::UNKNOWN,
TokenType::UNNEST,
TokenType::UNPIVOT,
TokenType::UPDATE,
TokenType::USE,
TokenType::USERDEFINED,
TokenType::USMALLINT,
TokenType::UTINYINT,
TokenType::UUID,
TokenType::VAR,
TokenType::VARBINARY,
TokenType::VARCHAR,
TokenType::VARIANT,
TokenType::VECTOR,
TokenType::VIEW,
TokenType::VOID,
TokenType::VOLATILE,
TokenType::WAREHOUSE,
TokenType::XML,
TokenType::YEAR,
]),
table_index_hint_tokens: TokenSet::new([
TokenType::FORCE,
TokenType::IGNORE,
TokenType::USE,
]),
table_postfix_tokens: TokenSet::new([
TokenType::L_BRACE,
TokenType::L_BRACKET,
TokenType::L_PAREN,
TokenType::PIVOT,
TokenType::TABLE_SAMPLE,
TokenType::UNPIVOT,
]),
table_terminators: TokenSet::new([
TokenType::ANTI,
TokenType::ASOF,
TokenType::COMMA,
TokenType::CROSS,
TokenType::EXCEPT,
TokenType::FULL,
TokenType::GROUP_BY,
TokenType::HAVING,
TokenType::INNER,
TokenType::INTERSECT,
TokenType::JOIN,
TokenType::LEFT,
TokenType::LIMIT,
TokenType::NATURAL,
TokenType::ON,
TokenType::ORDER_BY,
TokenType::OUTER,
TokenType::POSITIONAL,
TokenType::RIGHT,
TokenType::R_PAREN,
TokenType::SEMI,
TokenType::SEMICOLON,
TokenType::SENTINEL,
TokenType::STRAIGHT_JOIN,
TokenType::UNION,
TokenType::WHERE,
]),
term: Map::from_array([
(TokenType::DASH, Kind::Sub),
(TokenType::PLUS, Kind::Add),
(TokenType::COLLATE, Kind::Collate),
]),
text_match_excluded_tokens: TokenSet::new([
TokenType::BIT_STRING,
TokenType::BYTE_STRING,
TokenType::HEREDOC_STRING,
TokenType::HEX_STRING,
TokenType::IDENTIFIER,
TokenType::NATIONAL_STRING,
TokenType::RAW_STRING,
TokenType::STRING,
TokenType::UNICODE_STRING,
]),
times: TokenSet::new([TokenType::TIME, TokenType::TIMETZ]),
timestamps: TokenSet::new([
TokenType::TIME,
TokenType::TIMESTAMP,
TokenType::TIMESTAMPLTZ,
TokenType::TIMESTAMPNTZ,
TokenType::TIMESTAMPTZ,
TokenType::TIMETZ,
]),
transaction_characteristics: Map::from_array([
(
"ISOLATION",
[
["LEVEL", "REPEATABLE", "READ"],
["LEVEL", "READ", "COMMITTED"],
["LEVEL", "READ", "UNCOMITTED"],
["LEVEL", "SERIALIZABLE"],
],
),
("READ", [["WRITE"], ["ONLY"]]),
]),
transaction_kind: @set.Set::from_array([
"DEFERRED", "EXCLUSIVE", "IMMEDIATE",
]),
trigger_deferrable: Map::from_array([
("NOT", [["DEFERRABLE"]]),
("DEFERRABLE", []),
]),
trigger_events: TokenSet::new([
TokenType::DELETE,
TokenType::INSERT,
TokenType::TRUNCATE,
TokenType::UPDATE,
]),
trigger_timing: Map::from_array([
("INSTEAD", [["OF"]]),
("BEFORE", []),
("AFTER", []),
]),
trim_pattern_first: false,
trim_types: @set.Set::from_array(["BOTH", "LEADING", "TRAILING"]),
typed_lambda_args: false,
type_tokens: TokenSet::new([
TokenType::AGGREGATEFUNCTION,
TokenType::ARRAY,
TokenType::BIGDECIMAL,
TokenType::BIGINT,
TokenType::BIGNUM,
TokenType::BIGSERIAL,
TokenType::BINARY,
TokenType::BIT,
TokenType::BLOB,
TokenType::BOOLEAN,
TokenType::BPCHAR,
TokenType::CHAR,
TokenType::DATE,
TokenType::DATE32,
TokenType::DATEMULTIRANGE,
TokenType::DATERANGE,
TokenType::DATETIME,
TokenType::DATETIME2,
TokenType::DATETIME64,
TokenType::DECFLOAT,
TokenType::DECIMAL,
TokenType::DECIMAL128,
TokenType::DECIMAL256,
TokenType::DECIMAL32,
TokenType::DECIMAL64,
TokenType::DOUBLE,
TokenType::DYNAMIC,
TokenType::ENUM,
TokenType::ENUM16,
TokenType::ENUM8,
TokenType::FIXEDSTRING,
TokenType::FLOAT,
TokenType::GEOGRAPHY,
TokenType::GEOGRAPHYPOINT,
TokenType::GEOMETRY,
TokenType::HLLSKETCH,
TokenType::HSTORE,
TokenType::IMAGE,
TokenType::INET,
TokenType::INT,
TokenType::INT128,
TokenType::INT256,
TokenType::INT4MULTIRANGE,
TokenType::INT4RANGE,
TokenType::INT8MULTIRANGE,
TokenType::INT8RANGE,
TokenType::INTERVAL,
TokenType::IPADDRESS,
TokenType::IPPREFIX,
TokenType::IPV4,
TokenType::IPV6,
TokenType::JSON,
TokenType::JSONB,
TokenType::LINESTRING,
TokenType::LIST,
TokenType::LONGBLOB,
TokenType::LONGTEXT,
TokenType::LOWCARDINALITY,
TokenType::MAP,
TokenType::MEDIUMBLOB,
TokenType::MEDIUMINT,
TokenType::MEDIUMTEXT,
TokenType::MONEY,
TokenType::MULTILINESTRING,
TokenType::MULTIPOLYGON,
TokenType::NAME,
TokenType::NCHAR,
TokenType::NESTED,
TokenType::NOTHING,
TokenType::NULL,
TokenType::NULLABLE,
TokenType::NUMMULTIRANGE,
TokenType::NUMRANGE,
TokenType::NVARCHAR,
TokenType::OBJECT,
TokenType::OBJECT_IDENTIFIER,
TokenType::POINT,
TokenType::POLYGON,
TokenType::PSEUDO_TYPE,
TokenType::RANGE,
TokenType::RING,
TokenType::ROWVERSION,
TokenType::SERIAL,
TokenType::SIMPLEAGGREGATEFUNCTION,
TokenType::SMALLDATETIME,
TokenType::SMALLINT,
TokenType::SMALLMONEY,
TokenType::SMALLSERIAL,
TokenType::STRUCT,
TokenType::SUPER,
TokenType::TDIGEST,
TokenType::TEXT,
TokenType::TIME,
TokenType::TIMESTAMP,
TokenType::TIMESTAMPLTZ,
TokenType::TIMESTAMPNTZ,
TokenType::TIMESTAMPTZ,
TokenType::TIMESTAMP_MS,
TokenType::TIMESTAMP_NS,
TokenType::TIMESTAMP_S,
TokenType::TIMETZ,
TokenType::TIME_NS,
TokenType::TINYBLOB,
TokenType::TINYINT,
TokenType::TINYTEXT,
TokenType::TSMULTIRANGE,
TokenType::TSRANGE,
TokenType::TSTZMULTIRANGE,
TokenType::TSTZRANGE,
TokenType::UBIGINT,
TokenType::UDECIMAL,
TokenType::UDOUBLE,
TokenType::UINT,
TokenType::UINT128,
TokenType::UINT256,
TokenType::UMEDIUMINT,
TokenType::UNION,
TokenType::UNKNOWN,
TokenType::USERDEFINED,
TokenType::USMALLINT,
TokenType::UTINYINT,
TokenType::UUID,
TokenType::VARBINARY,
TokenType::VARCHAR,
TokenType::VARIANT,
TokenType::VECTOR,
TokenType::VOID,
TokenType::XML,
TokenType::YEAR,
]),
unnest_offset_alias_tokens: TokenSet::new([
TokenType::AGGREGATEFUNCTION,
TokenType::ALL,
TokenType::ANALYZE,
TokenType::ANY,
TokenType::APPLY,
TokenType::ARRAY,
TokenType::ASC,
TokenType::ATTACH,
TokenType::AUTO_INCREMENT,
TokenType::BEGIN,
TokenType::BIGDECIMAL,
TokenType::BIGINT,
TokenType::BIGNUM,
TokenType::BIGSERIAL,
TokenType::BINARY,
TokenType::BIT,
TokenType::BLOB,
TokenType::BOOLEAN,
TokenType::BPCHAR,
TokenType::CACHE,
TokenType::CASE,
TokenType::CHAR,
TokenType::COLLATE,
TokenType::COLUMN,
TokenType::COMMAND,
TokenType::COMMENT,
TokenType::COMMIT,
TokenType::CONSTRAINT,
TokenType::COPY,
TokenType::CUBE,
TokenType::CURRENT_CATALOG,
TokenType::CURRENT_DATE,
TokenType::CURRENT_DATETIME,
TokenType::CURRENT_ROLE,
TokenType::CURRENT_SCHEMA,
TokenType::CURRENT_TIME,
TokenType::CURRENT_TIMESTAMP,
TokenType::CURRENT_USER,
TokenType::DATABASE,
TokenType::DATE,
TokenType::DATE32,
TokenType::DATEMULTIRANGE,
TokenType::DATERANGE,
TokenType::DATETIME,
TokenType::DATETIME2,
TokenType::DATETIME64,
TokenType::DECFLOAT,
TokenType::DECIMAL,
TokenType::DECIMAL128,
TokenType::DECIMAL256,
TokenType::DECIMAL32,
TokenType::DECIMAL64,
TokenType::DECLARE,
TokenType::DEFAULT,
TokenType::DELETE,
TokenType::DESC,
TokenType::DESCRIBE,
TokenType::DETACH,
TokenType::DICTIONARY,
TokenType::DIV,
TokenType::DOUBLE,
TokenType::DYNAMIC,
TokenType::END,
TokenType::ENUM,
TokenType::ENUM16,
TokenType::ENUM8,
TokenType::ESCAPE,
TokenType::EXECUTE,
TokenType::EXISTS,
TokenType::EXPORT,
TokenType::FALSE,
TokenType::FILE,
TokenType::FILE_FORMAT,
TokenType::FILTER,
TokenType::FINAL,
TokenType::FIRST,
TokenType::FIXEDSTRING,
TokenType::FLOAT,
TokenType::FOREIGN_KEY,
TokenType::FORMAT,
TokenType::FUNCTION,
TokenType::GEOGRAPHY,
TokenType::GEOGRAPHYPOINT,
TokenType::GEOMETRY,
TokenType::GET,
TokenType::HLLSKETCH,
TokenType::HSTORE,
TokenType::IDENTIFIER,
TokenType::IMAGE,
TokenType::INDEX,
TokenType::INET,
TokenType::INOUT,
TokenType::INT,
TokenType::INT128,
TokenType::INT256,
TokenType::INT4MULTIRANGE,
TokenType::INT4RANGE,
TokenType::INT8MULTIRANGE,
TokenType::INT8RANGE,
TokenType::INTERVAL,
TokenType::IPADDRESS,
TokenType::IPPREFIX,
TokenType::IPV4,
TokenType::IPV6,
TokenType::IS,
TokenType::ISNULL,
TokenType::JSON,
TokenType::JSONB,
TokenType::KEEP,
TokenType::KILL,
TokenType::LIMIT,
TokenType::LINESTRING,
TokenType::LIST,
TokenType::LOAD,
TokenType::LOCALTIME,
TokenType::LOCALTIMESTAMP,
TokenType::LONGBLOB,
TokenType::LONGTEXT,
TokenType::LOWCARDINALITY,
TokenType::MAP,
TokenType::MATCH,
TokenType::MEDIUMBLOB,
TokenType::MEDIUMINT,
TokenType::MEDIUMTEXT,
TokenType::MERGE,
TokenType::MODEL,
TokenType::MONEY,
TokenType::MULTILINESTRING,
TokenType::MULTIPOLYGON,
TokenType::NAME,
TokenType::NAMESPACE,
TokenType::NCHAR,
TokenType::NESTED,
TokenType::NEXT,
TokenType::NOTHING,
TokenType::NULL,
TokenType::NULLABLE,
TokenType::NUMMULTIRANGE,
TokenType::NUMRANGE,
TokenType::NVARCHAR,
TokenType::OBJECT,
TokenType::OBJECT_IDENTIFIER,
TokenType::OFFSET,
TokenType::OPERATOR,
TokenType::ORDINALITY,
TokenType::OUT,
TokenType::OVER,
TokenType::OVERLAPS,
TokenType::OVERWRITE,
TokenType::PARTITION,
TokenType::PERCENT,
TokenType::PIVOT,
TokenType::POINT,
TokenType::POLYGON,
TokenType::PRAGMA,
TokenType::PROCEDURE,
TokenType::PROJECTION,
TokenType::PSEUDO_TYPE,
TokenType::PUT,
TokenType::RANGE,
TokenType::RECURSIVE,
TokenType::REFERENCES,
TokenType::REFRESH,
TokenType::RENAME,
TokenType::REPLACE,
TokenType::RING,
TokenType::ROLLUP,
TokenType::ROW,
TokenType::ROWS,
TokenType::ROWVERSION,
TokenType::SCHEMA,
TokenType::SEMANTIC_VIEW,
TokenType::SEQUENCE,
TokenType::SERIAL,
TokenType::SESSION,
TokenType::SESSION_USER,
TokenType::SET,
TokenType::SETTINGS,
TokenType::SHOW,
TokenType::SIMPLEAGGREGATEFUNCTION,
TokenType::SINK,
TokenType::SMALLDATETIME,
TokenType::SMALLINT,
TokenType::SMALLMONEY,
TokenType::SMALLSERIAL,
TokenType::SOME,
TokenType::SOURCE,
TokenType::STAGE,
TokenType::STORAGE_INTEGRATION,
TokenType::STRAIGHT_JOIN,
TokenType::STREAM,
TokenType::STREAMLIT,
TokenType::STRUCT,
TokenType::SUPER,
TokenType::TABLE,
TokenType::TAG,
TokenType::TDIGEST,
TokenType::TEMPORARY,
TokenType::TEXT,
TokenType::TIME,
TokenType::TIMESTAMP,
TokenType::TIMESTAMPLTZ,
TokenType::TIMESTAMPNTZ,
TokenType::TIMESTAMPTZ,
TokenType::TIMESTAMP_MS,
TokenType::TIMESTAMP_NS,
TokenType::TIMESTAMP_S,
TokenType::TIMETZ,
TokenType::TIME_NS,
TokenType::TINYBLOB,
TokenType::TINYINT,
TokenType::TINYTEXT,
TokenType::TOP,
TokenType::TRIGGER,
TokenType::TRUE,
TokenType::TRUNCATE,
TokenType::TSMULTIRANGE,
TokenType::TSRANGE,
TokenType::TSTZMULTIRANGE,
TokenType::TSTZRANGE,
TokenType::TYPE,
TokenType::UBIGINT,
TokenType::UDECIMAL,
TokenType::UDOUBLE,
TokenType::UINT,
TokenType::UINT128,
TokenType::UINT256,
TokenType::UMEDIUMINT,
TokenType::UNIQUE,
TokenType::UNKNOWN,
TokenType::UNNEST,
TokenType::UNPIVOT,
TokenType::UPDATE,
TokenType::USE,
TokenType::USERDEFINED,
TokenType::USMALLINT,
TokenType::UTINYINT,
TokenType::UUID,
TokenType::VAR,
TokenType::VARBINARY,
TokenType::VARCHAR,
TokenType::VARIANT,
TokenType::VECTOR,
TokenType::VIEW,
TokenType::VOID,
TokenType::VOLATILE,
TokenType::WAREHOUSE,
TokenType::XML,
TokenType::YEAR,
]),
unpivot_value_columns_first: false,
update_alias_tokens: TokenSet::new([
TokenType::AGGREGATEFUNCTION,
TokenType::ALL,
TokenType::ANALYZE,
TokenType::ANY,
TokenType::APPLY,
TokenType::ARRAY,
TokenType::ASC,
TokenType::ATTACH,
TokenType::AUTO_INCREMENT,
TokenType::BEGIN,
TokenType::BIGDECIMAL,
TokenType::BIGINT,
TokenType::BIGNUM,
TokenType::BIGSERIAL,
TokenType::BINARY,
TokenType::BIT,
TokenType::BLOB,
TokenType::BOOLEAN,
TokenType::BPCHAR,
TokenType::CACHE,
TokenType::CASE,
TokenType::CHAR,
TokenType::COLLATE,
TokenType::COLUMN,
TokenType::COMMAND,
TokenType::COMMENT,
TokenType::COMMIT,
TokenType::CONSTRAINT,
TokenType::COPY,
TokenType::CUBE,
TokenType::CURRENT_CATALOG,
TokenType::CURRENT_DATE,
TokenType::CURRENT_DATETIME,
TokenType::CURRENT_ROLE,
TokenType::CURRENT_SCHEMA,
TokenType::CURRENT_TIME,
TokenType::CURRENT_TIMESTAMP,
TokenType::CURRENT_USER,
TokenType::DATABASE,
TokenType::DATE,
TokenType::DATE32,
TokenType::DATEMULTIRANGE,
TokenType::DATERANGE,
TokenType::DATETIME,
TokenType::DATETIME2,
TokenType::DATETIME64,
TokenType::DECFLOAT,
TokenType::DECIMAL,
TokenType::DECIMAL128,
TokenType::DECIMAL256,
TokenType::DECIMAL32,
TokenType::DECIMAL64,
TokenType::DECLARE,
TokenType::DEFAULT,
TokenType::DELETE,
TokenType::DESC,
TokenType::DESCRIBE,
TokenType::DETACH,
TokenType::DICTIONARY,
TokenType::DIV,
TokenType::DOUBLE,
TokenType::DYNAMIC,
TokenType::END,
TokenType::ENUM,
TokenType::ENUM16,
TokenType::ENUM8,
TokenType::ESCAPE,
TokenType::EXECUTE,
TokenType::EXISTS,
TokenType::EXPORT,
TokenType::FALSE,
TokenType::FILE,
TokenType::FILE_FORMAT,
TokenType::FILTER,
TokenType::FINAL,
TokenType::FIRST,
TokenType::FIXEDSTRING,
TokenType::FLOAT,
TokenType::FOREIGN_KEY,
TokenType::FORMAT,
TokenType::FUNCTION,
TokenType::GEOGRAPHY,
TokenType::GEOGRAPHYPOINT,
TokenType::GEOMETRY,
TokenType::GET,
TokenType::HLLSKETCH,
TokenType::HSTORE,
TokenType::IDENTIFIER,
TokenType::IMAGE,
TokenType::INDEX,
TokenType::INET,
TokenType::INOUT,
TokenType::INT,
TokenType::INT128,
TokenType::INT256,
TokenType::INT4MULTIRANGE,
TokenType::INT4RANGE,
TokenType::INT8MULTIRANGE,
TokenType::INT8RANGE,
TokenType::INTERVAL,
TokenType::IPADDRESS,
TokenType::IPPREFIX,
TokenType::IPV4,
TokenType::IPV6,
TokenType::IS,
TokenType::ISNULL,
TokenType::JSON,
TokenType::JSONB,
TokenType::KEEP,
TokenType::KILL,
TokenType::LIMIT,
TokenType::LINESTRING,
TokenType::LIST,
TokenType::LOAD,
TokenType::LOCALTIME,
TokenType::LOCALTIMESTAMP,
TokenType::LONGBLOB,
TokenType::LONGTEXT,
TokenType::LOWCARDINALITY,
TokenType::MAP,
TokenType::MATCH,
TokenType::MEDIUMBLOB,
TokenType::MEDIUMINT,
TokenType::MEDIUMTEXT,
TokenType::MERGE,
TokenType::MODEL,
TokenType::MONEY,
TokenType::MULTILINESTRING,
TokenType::MULTIPOLYGON,
TokenType::NAME,
TokenType::NAMESPACE,
TokenType::NCHAR,
TokenType::NESTED,
TokenType::NEXT,
TokenType::NOTHING,
TokenType::NULL,
TokenType::NULLABLE,
TokenType::NUMMULTIRANGE,
TokenType::NUMRANGE,
TokenType::NVARCHAR,
TokenType::OBJECT,
TokenType::OBJECT_IDENTIFIER,
TokenType::OFFSET,
TokenType::OPERATOR,
TokenType::ORDINALITY,
TokenType::OUT,
TokenType::OVER,
TokenType::OVERLAPS,
TokenType::OVERWRITE,
TokenType::PARTITION,
TokenType::PERCENT,
TokenType::PIVOT,
TokenType::POINT,
TokenType::POLYGON,
TokenType::PRAGMA,
TokenType::PROCEDURE,
TokenType::PROJECTION,
TokenType::PSEUDO_TYPE,
TokenType::PUT,
TokenType::RANGE,
TokenType::RECURSIVE,
TokenType::REFERENCES,
TokenType::REFRESH,
TokenType::RENAME,
TokenType::REPLACE,
TokenType::RING,
TokenType::ROLLUP,
TokenType::ROW,
TokenType::ROWS,
TokenType::ROWVERSION,
TokenType::SCHEMA,
TokenType::SEMANTIC_VIEW,
TokenType::SEQUENCE,
TokenType::SERIAL,
TokenType::SESSION,
TokenType::SESSION_USER,
TokenType::SETTINGS,
TokenType::SHOW,
TokenType::SIMPLEAGGREGATEFUNCTION,
TokenType::SINK,
TokenType::SMALLDATETIME,
TokenType::SMALLINT,
TokenType::SMALLMONEY,
TokenType::SMALLSERIAL,
TokenType::SOME,
TokenType::SOURCE,
TokenType::STAGE,
TokenType::STORAGE_INTEGRATION,
TokenType::STRAIGHT_JOIN,
TokenType::STREAM,
TokenType::STREAMLIT,
TokenType::STRUCT,
TokenType::SUPER,
TokenType::TABLE,
TokenType::TAG,
TokenType::TDIGEST,
TokenType::TEMPORARY,
TokenType::TEXT,
TokenType::TIME,
TokenType::TIMESTAMP,
TokenType::TIMESTAMPLTZ,
TokenType::TIMESTAMPNTZ,
TokenType::TIMESTAMPTZ,
TokenType::TIMESTAMP_MS,
TokenType::TIMESTAMP_NS,
TokenType::TIMESTAMP_S,
TokenType::TIMETZ,
TokenType::TIME_NS,
TokenType::TINYBLOB,
TokenType::TINYINT,
TokenType::TINYTEXT,
TokenType::TOP,
TokenType::TRIGGER,
TokenType::TRUE,
TokenType::TRUNCATE,
TokenType::TSMULTIRANGE,
TokenType::TSRANGE,
TokenType::TSTZMULTIRANGE,
TokenType::TSTZRANGE,
TokenType::TYPE,
TokenType::UBIGINT,
TokenType::UDECIMAL,
TokenType::UDOUBLE,
TokenType::UINT,
TokenType::UINT128,
TokenType::UINT256,
TokenType::UMEDIUMINT,
TokenType::UNIQUE,
TokenType::UNKNOWN,
TokenType::UNNEST,
TokenType::UNPIVOT,
TokenType::UPDATE,
TokenType::USE,
TokenType::USERDEFINED,
TokenType::USMALLINT,
TokenType::UTINYINT,
TokenType::UUID,
TokenType::VAR,
TokenType::VARBINARY,
TokenType::VARCHAR,
TokenType::VARIANT,
TokenType::VECTOR,
TokenType::VIEW,
TokenType::VOID,
TokenType::VOLATILE,
TokenType::WAREHOUSE,
TokenType::XML,
TokenType::YEAR,
]),
usables: Map::from_array([
("ROLE", []),
("WAREHOUSE", []),
("DATABASE", []),
("SCHEMA", []),
("CATALOG", []),
]),
values_followed_by_paren: true,
version_phrases: [
(["FOR", "SYSTEM_TIME"], "TIMESTAMP"),
(["FOR", "SYSTEM", "TIME"], "TIMESTAMP"),
(["FOR", "TIMESTAMP"], "TIMESTAMP"),
(["FOR", "VERSION"], "VERSION"),
(["TIMESTAMP", "AS", "OF"], "TIMESTAMP"),
(["VERSION", "AS", "OF"], "VERSION"),
],
view_attributes: @set.Set::from_array([
"ENCRYPTION", "SCHEMABINDING", "VIEW_METADATA",
]),
window_alias_tokens: TokenSet::new([
TokenType::AGGREGATEFUNCTION,
TokenType::ALL,
TokenType::ANALYZE,
TokenType::ANTI,
TokenType::ANY,
TokenType::APPLY,
TokenType::ARRAY,
TokenType::ASC,
TokenType::ASOF,
TokenType::ATTACH,
TokenType::AUTO_INCREMENT,
TokenType::BEGIN,
TokenType::BIGDECIMAL,
TokenType::BIGINT,
TokenType::BIGNUM,
TokenType::BIGSERIAL,
TokenType::BINARY,
TokenType::BIT,
TokenType::BLOB,
TokenType::BOOLEAN,
TokenType::BPCHAR,
TokenType::CACHE,
TokenType::CASE,
TokenType::CHAR,
TokenType::COLLATE,
TokenType::COLUMN,
TokenType::COMMAND,
TokenType::COMMENT,
TokenType::COMMIT,
TokenType::CONSTRAINT,
TokenType::COPY,
TokenType::CUBE,
TokenType::CURRENT_CATALOG,
TokenType::CURRENT_DATE,
TokenType::CURRENT_DATETIME,
TokenType::CURRENT_ROLE,
TokenType::CURRENT_SCHEMA,
TokenType::CURRENT_TIME,
TokenType::CURRENT_TIMESTAMP,
TokenType::CURRENT_USER,
TokenType::DATABASE,
TokenType::DATE,
TokenType::DATE32,
TokenType::DATEMULTIRANGE,
TokenType::DATERANGE,
TokenType::DATETIME,
TokenType::DATETIME2,
TokenType::DATETIME64,
TokenType::DECFLOAT,
TokenType::DECIMAL,
TokenType::DECIMAL128,
TokenType::DECIMAL256,
TokenType::DECIMAL32,
TokenType::DECIMAL64,
TokenType::DECLARE,
TokenType::DEFAULT,
TokenType::DELETE,
TokenType::DESC,
TokenType::DESCRIBE,
TokenType::DETACH,
TokenType::DICTIONARY,
TokenType::DIV,
TokenType::DOUBLE,
TokenType::DYNAMIC,
TokenType::END,
TokenType::ENUM,
TokenType::ENUM16,
TokenType::ENUM8,
TokenType::ESCAPE,
TokenType::EXECUTE,
TokenType::EXISTS,
TokenType::EXPORT,
TokenType::FALSE,
TokenType::FILE,
TokenType::FILE_FORMAT,
TokenType::FILTER,
TokenType::FINAL,
TokenType::FIRST,
TokenType::FIXEDSTRING,
TokenType::FLOAT,
TokenType::FOREIGN_KEY,
TokenType::FORMAT,
TokenType::FULL,
TokenType::FUNCTION,
TokenType::GEOGRAPHY,
TokenType::GEOGRAPHYPOINT,
TokenType::GEOMETRY,
TokenType::GET,
TokenType::HLLSKETCH,
TokenType::HSTORE,
TokenType::IDENTIFIER,
TokenType::IMAGE,
TokenType::INDEX,
TokenType::INET,
TokenType::INOUT,
TokenType::INT,
TokenType::INT128,
TokenType::INT256,
TokenType::INT4MULTIRANGE,
TokenType::INT4RANGE,
TokenType::INT8MULTIRANGE,
TokenType::INT8RANGE,
TokenType::INTERVAL,
TokenType::IPADDRESS,
TokenType::IPPREFIX,
TokenType::IPV4,
TokenType::IPV6,
TokenType::IS,
TokenType::ISNULL,
TokenType::JSON,
TokenType::JSONB,
TokenType::KEEP,
TokenType::KILL,
TokenType::LEFT,
TokenType::LIMIT,
TokenType::LINESTRING,
TokenType::LIST,
TokenType::LOAD,
TokenType::LOCALTIME,
TokenType::LOCALTIMESTAMP,
TokenType::LOCK,
TokenType::LONGBLOB,
TokenType::LONGTEXT,
TokenType::LOWCARDINALITY,
TokenType::MAP,
TokenType::MATCH,
TokenType::MEDIUMBLOB,
TokenType::MEDIUMINT,
TokenType::MEDIUMTEXT,
TokenType::MERGE,
TokenType::MODEL,
TokenType::MONEY,
TokenType::MULTILINESTRING,
TokenType::MULTIPOLYGON,
TokenType::NAME,
TokenType::NAMESPACE,
TokenType::NATURAL,
TokenType::NCHAR,
TokenType::NESTED,
TokenType::NEXT,
TokenType::NOTHING,
TokenType::NULL,
TokenType::NULLABLE,
TokenType::NUMMULTIRANGE,
TokenType::NUMRANGE,
TokenType::NVARCHAR,
TokenType::OBJECT,
TokenType::OBJECT_IDENTIFIER,
TokenType::OFFSET,
TokenType::OPERATOR,
TokenType::ORDINALITY,
TokenType::OUT,
TokenType::OVER,
TokenType::OVERLAPS,
TokenType::OVERWRITE,
TokenType::PARTITION,
TokenType::PERCENT,
TokenType::PIVOT,
TokenType::POINT,
TokenType::POLYGON,
TokenType::PRAGMA,
TokenType::PROCEDURE,
TokenType::PROJECTION,
TokenType::PSEUDO_TYPE,
TokenType::PUT,
TokenType::RECURSIVE,
TokenType::REFERENCES,
TokenType::REFRESH,
TokenType::RENAME,
TokenType::REPLACE,
TokenType::RIGHT,
TokenType::RING,
TokenType::ROLLUP,
TokenType::ROW,
TokenType::ROWVERSION,
TokenType::SCHEMA,
TokenType::SEMANTIC_VIEW,
TokenType::SEMI,
TokenType::SEQUENCE,
TokenType::SERIAL,
TokenType::SESSION,
TokenType::SESSION_USER,
TokenType::SET,
TokenType::SETTINGS,
TokenType::SHOW,
TokenType::SIMPLEAGGREGATEFUNCTION,
TokenType::SINK,
TokenType::SMALLDATETIME,
TokenType::SMALLINT,
TokenType::SMALLMONEY,
TokenType::SMALLSERIAL,
TokenType::SOME,
TokenType::SOURCE,
TokenType::STAGE,
TokenType::STORAGE_INTEGRATION,
TokenType::STRAIGHT_JOIN,
TokenType::STREAM,
TokenType::STREAMLIT,
TokenType::STRUCT,
TokenType::SUPER,
TokenType::TABLE,
TokenType::TAG,
TokenType::TDIGEST,
TokenType::TEMPORARY,
TokenType::TEXT,
TokenType::TIME,
TokenType::TIMESTAMP,
TokenType::TIMESTAMPLTZ,
TokenType::TIMESTAMPNTZ,
TokenType::TIMESTAMPTZ,
TokenType::TIMESTAMP_MS,
TokenType::TIMESTAMP_NS,
TokenType::TIMESTAMP_S,
TokenType::TIMETZ,
TokenType::TIME_NS,
TokenType::TINYBLOB,
TokenType::TINYINT,
TokenType::TINYTEXT,
TokenType::TOP,
TokenType::TRIGGER,
TokenType::TRUE,
TokenType::TRUNCATE,
TokenType::TSMULTIRANGE,
TokenType::TSRANGE,
TokenType::TSTZMULTIRANGE,
TokenType::TSTZRANGE,
TokenType::TYPE,
TokenType::UBIGINT,
TokenType::UDECIMAL,
TokenType::UDOUBLE,
TokenType::UINT,
TokenType::UINT128,
TokenType::UINT256,
TokenType::UMEDIUMINT,
TokenType::UNIQUE,
TokenType::UNKNOWN,
TokenType::UNNEST,
TokenType::UNPIVOT,
TokenType::UPDATE,
TokenType::USE,
TokenType::USERDEFINED,
TokenType::USMALLINT,
TokenType::UTINYINT,
TokenType::UUID,
TokenType::VAR,
TokenType::VARBINARY,
TokenType::VARCHAR,
TokenType::VARIANT,
TokenType::VECTOR,
TokenType::VIEW,
TokenType::VOID,
TokenType::VOLATILE,
TokenType::WAREHOUSE,
TokenType::WINDOW,
TokenType::XML,
TokenType::YEAR,
]),
window_before_paren_tokens: TokenSet::new([TokenType::OVER]),
window_exclude_options: Map::from_array([
("NO", [["OTHERS"]]),
("CURRENT", [["ROW"]]),
("GROUP", []),
("TIES", []),
]),
window_sides: @set.Set::from_array(["FOLLOWING", "PRECEDING"]),
wrapped_transform_column_constraint: true,
zone_aware_timestamp_constructor: false,
}
}
///|
/// Data attributes of the Python `Generator` class.
pub(all) struct GeneratorConfig {
mut alter_set_type : String
mut alter_set_wrapped : Bool
mut alter_table_include_column_keyword : Bool
mut array_concat_is_var_len : Bool
mut array_size_dim_required : Bool?
mut array_size_name : String
mut auto_refresh_bare_intervals : Bool
mut can_implement_array_any : Bool
mut collate_is_func : Bool
mut computed_column_with_type : Bool
mut copy_has_into_keyword : Bool
mut copy_params_are_wrapped : Bool
mut copy_params_eq_required : Bool
mut create_function_return_as : Bool
mut cte_recursive_keyword_required : Bool
mut data_type_specifiers_allowed : Bool
mut declare_default_assignment : String
mut directed_joins : Bool
mut duplicate_key_update_with_set : Bool
mut ensure_bools : Bool
mut except_intersect_support_all_clause : Bool
mut exclude_comments : Array[Kind]
mut expressions_without_nested_ctes : Array[Kind]
mut expression_precedes_properties_creatables : @set.Set[String]
mut extract_allows_quotes : Bool
mut groupings_sep : String
mut hex_func : String
mut historical_data_post_alias : Bool
mut ignore_nulls_before_order : Bool
mut ignore_nulls_in_func : Bool
mut index_on : String
mut inout_separator : String
mut insert_overwrite : String
mut interval_allows_plural_form : Bool
mut is_bool_allowed : Bool
mut join_hints : Bool
mut json_key_value_pair_sep : String
mut json_path_bracketed_key_supported : Bool
mut json_path_key_quoted_forces_brackets : Bool
mut json_path_single_quote_escape : Bool
mut json_type_required_for_extraction : Bool
mut last_day_supports_date_part : Bool
mut like_property_inside_schema : Bool
mut limit_fetch : String
mut limit_is_top : Bool
mut limit_only_literals : Bool
mut locking_reads_supported : Bool
mut matched_by_source : Bool
mut match_against_table_prefix : String?
mut mod_operator : String
mut mod_paren_parent_types : Array[Kind]
mut multi_arg_distinct : Bool
mut named_placeholder_token : String
mut normalize_extract_date_parts : Bool
mut null_ordering_supported : Bool?
mut nvl2_supported : Bool
mut pad_fill_pattern_is_required : Bool
mut parameterizable_text_types : Array[DType]
mut parameter_token : String
mut parse_json_name : String?
mut pivot_alias_with_as : Bool
mut properties_location : Map[Kind, PropertiesLocation]
mut query_hints : Bool
mut query_hint_sep : String
mut quote_json_path : Bool
mut rename_table_with_db : Bool
mut reserved_keywords : @set.Set[String]
mut respect_ignore_nulls_unsupported_expressions : Array[Kind]
mut returning_end : Bool
mut select_kinds : Array[String]
mut semi_anti_join_with_side : Bool
mut sentinel_line_break : String
mut set_assignment_requires_variable_keyword : Bool
mut set_op_limits : Bool
mut set_op_modifiers : Bool
mut set_op_parenthesized_operands : Bool
mut single_string_interval : Bool
mut star_except : String
mut star_exclude_requires_derived_table : Bool
mut struct_delimiter : Array[String]
mut supported_json_path_parts : Array[Kind]
mut supports_alter_column_if_exists : Bool
mut supports_alter_column_nullability : Bool
mut supports_between_flags : Bool
mut supports_change_column : Bool
mut supports_convert_timezone : Bool
mut supports_create_table_like : Bool
mut supports_decode_case : Bool
mut supports_drop_alter_iceberg_property : Bool
mut supports_exploding_projections : Bool
mut supports_grouping_sets_as_suffix : Bool
mut supports_like_quantifiers : Bool
mut supports_median : Bool
mut supports_merge_where : Bool
mut supports_modify_column : Bool
mut supports_named_cte_columns : Bool
mut supports_select_into : Bool
mut supports_single_arg_concat : Bool
mut supports_table_alias_columns : Bool
mut supports_table_copy : Bool
mut supports_to_number : Bool
mut supports_uescape : Bool
mut supports_unix_seconds : Bool
mut supports_unlogged_tables : Bool
mut supports_window_exclude : Bool
mut tablesample_keywords : String
mut tablesample_requires_parens : Bool
mut tablesample_seed_keyword : String
mut tablesample_size_is_rows : Bool
mut tablesample_with_method : Bool
mut table_hints : Bool
mut time_part_singulars : Map[String, String]
mut token_mapping : Map[TokenType, String]
mut try_supported : Bool
mut type_mapping : Map[DType, String]
mut tz_to_with_time_zone : Bool
mut unnest_with_ordinality : Bool
mut unpivot_aliases_are_identifiers : Bool
mut unsupported_types : Array[DType]
mut unwrapped_interval_values : Array[Kind]
mut update_statement_supports_from : Bool
mut values_as_table : Bool
mut window_funcs_with_null_ordering : Array[Kind]
mut with_properties_prefix : String
mut with_separated_comments : Array[Kind]
mut wrap_derived_values : Bool
}
///|
pub fn GeneratorConfig::copy(self : GeneratorConfig) -> GeneratorConfig {
{
alter_set_type: self.alter_set_type,
alter_set_wrapped: self.alter_set_wrapped,
alter_table_include_column_keyword: self.alter_table_include_column_keyword,
array_concat_is_var_len: self.array_concat_is_var_len,
array_size_dim_required: self.array_size_dim_required,
array_size_name: self.array_size_name,
auto_refresh_bare_intervals: self.auto_refresh_bare_intervals,
can_implement_array_any: self.can_implement_array_any,
collate_is_func: self.collate_is_func,
computed_column_with_type: self.computed_column_with_type,
copy_has_into_keyword: self.copy_has_into_keyword,
copy_params_are_wrapped: self.copy_params_are_wrapped,
copy_params_eq_required: self.copy_params_eq_required,
create_function_return_as: self.create_function_return_as,
cte_recursive_keyword_required: self.cte_recursive_keyword_required,
data_type_specifiers_allowed: self.data_type_specifiers_allowed,
declare_default_assignment: self.declare_default_assignment,
directed_joins: self.directed_joins,
duplicate_key_update_with_set: self.duplicate_key_update_with_set,
ensure_bools: self.ensure_bools,
except_intersect_support_all_clause: self.except_intersect_support_all_clause,
exclude_comments: self.exclude_comments.copy(),
expressions_without_nested_ctes: self.expressions_without_nested_ctes.copy(),
expression_precedes_properties_creatables: self.expression_precedes_properties_creatables.copy(),
extract_allows_quotes: self.extract_allows_quotes,
groupings_sep: self.groupings_sep,
hex_func: self.hex_func,
historical_data_post_alias: self.historical_data_post_alias,
ignore_nulls_before_order: self.ignore_nulls_before_order,
ignore_nulls_in_func: self.ignore_nulls_in_func,
index_on: self.index_on,
inout_separator: self.inout_separator,
insert_overwrite: self.insert_overwrite,
interval_allows_plural_form: self.interval_allows_plural_form,
is_bool_allowed: self.is_bool_allowed,
join_hints: self.join_hints,
json_key_value_pair_sep: self.json_key_value_pair_sep,
json_path_bracketed_key_supported: self.json_path_bracketed_key_supported,
json_path_key_quoted_forces_brackets: self.json_path_key_quoted_forces_brackets,
json_path_single_quote_escape: self.json_path_single_quote_escape,
json_type_required_for_extraction: self.json_type_required_for_extraction,
last_day_supports_date_part: self.last_day_supports_date_part,
like_property_inside_schema: self.like_property_inside_schema,
limit_fetch: self.limit_fetch,
limit_is_top: self.limit_is_top,
limit_only_literals: self.limit_only_literals,
locking_reads_supported: self.locking_reads_supported,
matched_by_source: self.matched_by_source,
match_against_table_prefix: self.match_against_table_prefix,
mod_operator: self.mod_operator,
mod_paren_parent_types: self.mod_paren_parent_types.copy(),
multi_arg_distinct: self.multi_arg_distinct,
named_placeholder_token: self.named_placeholder_token,
normalize_extract_date_parts: self.normalize_extract_date_parts,
null_ordering_supported: self.null_ordering_supported,
nvl2_supported: self.nvl2_supported,
pad_fill_pattern_is_required: self.pad_fill_pattern_is_required,
parameterizable_text_types: self.parameterizable_text_types.copy(),
parameter_token: self.parameter_token,
parse_json_name: self.parse_json_name,
pivot_alias_with_as: self.pivot_alias_with_as,
properties_location: self.properties_location.copy(),
query_hints: self.query_hints,
query_hint_sep: self.query_hint_sep,
quote_json_path: self.quote_json_path,
rename_table_with_db: self.rename_table_with_db,
reserved_keywords: self.reserved_keywords.copy(),
respect_ignore_nulls_unsupported_expressions: self.respect_ignore_nulls_unsupported_expressions.copy(),
returning_end: self.returning_end,
select_kinds: self.select_kinds.copy(),
semi_anti_join_with_side: self.semi_anti_join_with_side,
sentinel_line_break: self.sentinel_line_break,
set_assignment_requires_variable_keyword: self.set_assignment_requires_variable_keyword,
set_op_limits: self.set_op_limits,
set_op_modifiers: self.set_op_modifiers,
set_op_parenthesized_operands: self.set_op_parenthesized_operands,
single_string_interval: self.single_string_interval,
star_except: self.star_except,
star_exclude_requires_derived_table: self.star_exclude_requires_derived_table,
struct_delimiter: self.struct_delimiter.copy(),
supported_json_path_parts: self.supported_json_path_parts.copy(),
supports_alter_column_if_exists: self.supports_alter_column_if_exists,
supports_alter_column_nullability: self.supports_alter_column_nullability,
supports_between_flags: self.supports_between_flags,
supports_change_column: self.supports_change_column,
supports_convert_timezone: self.supports_convert_timezone,
supports_create_table_like: self.supports_create_table_like,
supports_decode_case: self.supports_decode_case,
supports_drop_alter_iceberg_property: self.supports_drop_alter_iceberg_property,
supports_exploding_projections: self.supports_exploding_projections,
supports_grouping_sets_as_suffix: self.supports_grouping_sets_as_suffix,
supports_like_quantifiers: self.supports_like_quantifiers,
supports_median: self.supports_median,
supports_merge_where: self.supports_merge_where,
supports_modify_column: self.supports_modify_column,
supports_named_cte_columns: self.supports_named_cte_columns,
supports_select_into: self.supports_select_into,
supports_single_arg_concat: self.supports_single_arg_concat,
supports_table_alias_columns: self.supports_table_alias_columns,
supports_table_copy: self.supports_table_copy,
supports_to_number: self.supports_to_number,
supports_uescape: self.supports_uescape,
supports_unix_seconds: self.supports_unix_seconds,
supports_unlogged_tables: self.supports_unlogged_tables,
supports_window_exclude: self.supports_window_exclude,
tablesample_keywords: self.tablesample_keywords,
tablesample_requires_parens: self.tablesample_requires_parens,
tablesample_seed_keyword: self.tablesample_seed_keyword,
tablesample_size_is_rows: self.tablesample_size_is_rows,
tablesample_with_method: self.tablesample_with_method,
table_hints: self.table_hints,
time_part_singulars: self.time_part_singulars.copy(),
token_mapping: self.token_mapping.copy(),
try_supported: self.try_supported,
type_mapping: self.type_mapping.copy(),
tz_to_with_time_zone: self.tz_to_with_time_zone,
unnest_with_ordinality: self.unnest_with_ordinality,
unpivot_aliases_are_identifiers: self.unpivot_aliases_are_identifiers,
unsupported_types: self.unsupported_types.copy(),
unwrapped_interval_values: self.unwrapped_interval_values.copy(),
update_statement_supports_from: self.update_statement_supports_from,
values_as_table: self.values_as_table,
window_funcs_with_null_ordering: self.window_funcs_with_null_ordering.copy(),
with_properties_prefix: self.with_properties_prefix,
with_separated_comments: self.with_separated_comments.copy(),
wrap_derived_values: self.wrap_derived_values,
}
}
///|
pub fn base_generator_config() -> GeneratorConfig {
{
alter_set_type: "SET DATA TYPE",
alter_set_wrapped: false,
alter_table_include_column_keyword: true,
array_concat_is_var_len: true,
array_size_dim_required: None,
array_size_name: "ARRAY_LENGTH",
auto_refresh_bare_intervals: false,
can_implement_array_any: false,
collate_is_func: false,
computed_column_with_type: true,
copy_has_into_keyword: true,
copy_params_are_wrapped: true,
copy_params_eq_required: false,
create_function_return_as: true,
cte_recursive_keyword_required: true,
data_type_specifiers_allowed: false,
declare_default_assignment: "=",
directed_joins: false,
duplicate_key_update_with_set: true,
ensure_bools: false,
except_intersect_support_all_clause: true,
exclude_comments: [Kind::Binary, Kind::SetOperation],
expressions_without_nested_ctes: [],
expression_precedes_properties_creatables: @set.Set::from_array([]),
extract_allows_quotes: true,
groupings_sep: ",",
hex_func: "HEX",
historical_data_post_alias: false,
ignore_nulls_before_order: true,
ignore_nulls_in_func: false,
index_on: "ON",
inout_separator: " ",
insert_overwrite: " OVERWRITE TABLE",
interval_allows_plural_form: true,
is_bool_allowed: true,
join_hints: true,
json_key_value_pair_sep: ":",
json_path_bracketed_key_supported: true,
json_path_key_quoted_forces_brackets: false,
json_path_single_quote_escape: false,
json_type_required_for_extraction: false,
last_day_supports_date_part: true,
like_property_inside_schema: false,
limit_fetch: "ALL",
limit_is_top: false,
limit_only_literals: false,
locking_reads_supported: false,
matched_by_source: true,
match_against_table_prefix: None,
mod_operator: "%",
mod_paren_parent_types: [Kind::Mul, Kind::Div, Kind::IntDiv, Kind::Mod],
multi_arg_distinct: true,
named_placeholder_token: ":",
normalize_extract_date_parts: false,
null_ordering_supported: Some(true),
nvl2_supported: true,
pad_fill_pattern_is_required: false,
parameterizable_text_types: [
DType::CHAR,
DType::NCHAR,
DType::NVARCHAR,
DType::VARCHAR,
],
parameter_token: "@",
parse_json_name: Some("PARSE_JSON"),
pivot_alias_with_as: true,
properties_location: Map::from_array([
(Kind::AllowedValuesProperty, PropertiesLocation::PostSchema),
(Kind::AlgorithmProperty, PropertiesLocation::PostCreate),
(Kind::ApiProperty, PropertiesLocation::PostCreate),
(Kind::ApplicationProperty, PropertiesLocation::PostCreate),
(Kind::AutoIncrementProperty, PropertiesLocation::PostSchema),
(Kind::AutoRefreshProperty, PropertiesLocation::PostSchema),
(Kind::BackupProperty, PropertiesLocation::PostSchema),
(Kind::BlockCompressionProperty, PropertiesLocation::PostName),
(Kind::CalledOnNullInputProperty, PropertiesLocation::PostSchema),
(Kind::CatalogProperty, PropertiesLocation::PostCreate),
(Kind::CharacterSetProperty, PropertiesLocation::PostSchema),
(Kind::ChecksumProperty, PropertiesLocation::PostName),
(Kind::CollateProperty, PropertiesLocation::PostSchema),
(Kind::ComputeProperty, PropertiesLocation::PostCreate),
(Kind::CopyGrantsProperty, PropertiesLocation::PostSchema),
(Kind::Cluster, PropertiesLocation::PostSchema),
(Kind::ClusteredByProperty, PropertiesLocation::PostSchema),
(Kind::ClusterProperty, PropertiesLocation::PostSchema),
(Kind::DistributedByProperty, PropertiesLocation::PostSchema),
(Kind::DuplicateKeyProperty, PropertiesLocation::PostSchema),
(Kind::DataBlocksizeProperty, PropertiesLocation::PostName),
(Kind::DatabaseProperty, PropertiesLocation::PostCreate),
(Kind::DataDeletionProperty, PropertiesLocation::PostSchema),
(Kind::DefinerProperty, PropertiesLocation::PostCreate),
(Kind::DictRange, PropertiesLocation::PostSchema),
(Kind::DictProperty, PropertiesLocation::PostSchema),
(Kind::DynamicProperty, PropertiesLocation::PostCreate),
(Kind::DistKeyProperty, PropertiesLocation::PostSchema),
(Kind::DistStyleProperty, PropertiesLocation::PostSchema),
(Kind::EmptyProperty, PropertiesLocation::PostSchema),
(Kind::EncodeProperty, PropertiesLocation::PostExpression),
(Kind::EngineProperty, PropertiesLocation::PostSchema),
(Kind::EnviromentProperty, PropertiesLocation::PostSchema),
(Kind::HandlerProperty, PropertiesLocation::PostSchema),
(Kind::ParameterStyleProperty, PropertiesLocation::PostSchema),
(Kind::ExecuteAsProperty, PropertiesLocation::PostSchema),
(Kind::ExternalProperty, PropertiesLocation::PostCreate),
(Kind::FallbackProperty, PropertiesLocation::PostName),
(Kind::FileFormatProperty, PropertiesLocation::PostWith),
(Kind::FreespaceProperty, PropertiesLocation::PostName),
(Kind::GlobalProperty, PropertiesLocation::PostCreate),
(Kind::HeapProperty, PropertiesLocation::PostWith),
(Kind::HybridProperty, PropertiesLocation::PostCreate),
(Kind::InheritsProperty, PropertiesLocation::PostSchema),
(Kind::IcebergProperty, PropertiesLocation::PostCreate),
(Kind::IncludeProperty, PropertiesLocation::PostSchema),
(Kind::InputModelProperty, PropertiesLocation::PostSchema),
(Kind::IsolatedLoadingProperty, PropertiesLocation::PostName),
(Kind::JournalProperty, PropertiesLocation::PostName),
(Kind::LanguageProperty, PropertiesLocation::PostSchema),
(Kind::LikeProperty, PropertiesLocation::PostSchema),
(Kind::LocationProperty, PropertiesLocation::PostSchema),
(Kind::LockProperty, PropertiesLocation::PostSchema),
(Kind::LockingProperty, PropertiesLocation::PostAlias),
(Kind::LogProperty, PropertiesLocation::PostName),
(Kind::MaskingProperty, PropertiesLocation::PostCreate),
(Kind::MaterializedProperty, PropertiesLocation::PostCreate),
(Kind::MergeBlockRatioProperty, PropertiesLocation::PostName),
(Kind::ModuleProperty, PropertiesLocation::PostSchema),
(Kind::NetworkProperty, PropertiesLocation::PostCreate),
(Kind::NoPrimaryIndexProperty, PropertiesLocation::PostExpression),
(Kind::OnProperty, PropertiesLocation::PostSchema),
(Kind::OnCommitProperty, PropertiesLocation::PostExpression),
(Kind::Order, PropertiesLocation::PostSchema),
(Kind::OutputModelProperty, PropertiesLocation::PostSchema),
(Kind::PartitionedByProperty, PropertiesLocation::PostWith),
(Kind::PartitionedOfProperty, PropertiesLocation::PostSchema),
(Kind::PrimaryKey, PropertiesLocation::PostSchema),
(Kind::Property, PropertiesLocation::PostWith),
(Kind::RefreshTriggerProperty, PropertiesLocation::PostSchema),
(Kind::RemoteWithConnectionModelProperty, PropertiesLocation::PostSchema),
(Kind::ReturnsProperty, PropertiesLocation::PostSchema),
(Kind::RollupProperty, PropertiesLocation::Unsupported),
(Kind::RowAccessProperty, PropertiesLocation::Unsupported),
(Kind::RowFormatProperty, PropertiesLocation::PostSchema),
(Kind::RowFormatDelimitedProperty, PropertiesLocation::PostSchema),
(Kind::RowFormatSerdeProperty, PropertiesLocation::PostSchema),
(Kind::SampleProperty, PropertiesLocation::PostSchema),
(Kind::SchemaCommentProperty, PropertiesLocation::PostSchema),
(Kind::SecureProperty, PropertiesLocation::PostCreate),
(Kind::SecurityIntegrationProperty, PropertiesLocation::PostCreate),
(Kind::SerdeProperties, PropertiesLocation::PostSchema),
(Kind::Set, PropertiesLocation::PostSchema),
(Kind::SettingsProperty, PropertiesLocation::PostSchema),
(Kind::SetProperty, PropertiesLocation::PostCreate),
(Kind::SetConfigProperty, PropertiesLocation::PostSchema),
(Kind::SharingProperty, PropertiesLocation::PostExpression),
(Kind::SequenceProperties, PropertiesLocation::PostExpression),
(Kind::TriggerProperties, PropertiesLocation::PostExpression),
(Kind::SortKeyProperty, PropertiesLocation::PostSchema),
(Kind::SqlReadWriteProperty, PropertiesLocation::PostSchema),
(Kind::SqlSecurityProperty, PropertiesLocation::PostSchema),
(Kind::StabilityProperty, PropertiesLocation::PostSchema),
(Kind::StorageHandlerProperty, PropertiesLocation::PostSchema),
(Kind::StreamingTableProperty, PropertiesLocation::PostCreate),
(Kind::StrictProperty, PropertiesLocation::PostSchema),
(Kind::Tags, PropertiesLocation::PostWith),
(Kind::TemporaryProperty, PropertiesLocation::PostCreate),
(Kind::ToTableProperty, PropertiesLocation::PostSchema),
(Kind::TransientProperty, PropertiesLocation::PostCreate),
(Kind::TransformModelProperty, PropertiesLocation::PostSchema),
(Kind::MergeTreeTTL, PropertiesLocation::PostSchema),
(Kind::UnloggedProperty, PropertiesLocation::PostCreate),
(Kind::UsingProperty, PropertiesLocation::PostExpression),
(Kind::UsingTemplateProperty, PropertiesLocation::PostSchema),
(Kind::ViewAttributeProperty, PropertiesLocation::PostSchema),
(Kind::VirtualProperty, PropertiesLocation::PostCreate),
(Kind::VolatileProperty, PropertiesLocation::PostCreate),
(Kind::WithDataProperty, PropertiesLocation::PostExpression),
(Kind::WithJournalTableProperty, PropertiesLocation::PostName),
(Kind::WithProcedureOptions, PropertiesLocation::PostSchema),
(Kind::WithSchemaBindingProperty, PropertiesLocation::PostSchema),
(Kind::WithSystemVersioningProperty, PropertiesLocation::PostSchema),
(Kind::ForceProperty, PropertiesLocation::PostCreate),
]),
query_hints: true,
query_hint_sep: ", ",
quote_json_path: true,
rename_table_with_db: true,
reserved_keywords: @set.Set::from_array([]),
respect_ignore_nulls_unsupported_expressions: [],
returning_end: true,
select_kinds: ["STRUCT", "VALUE"],
semi_anti_join_with_side: true,
sentinel_line_break: "__SQLGLOT__LB__",
set_assignment_requires_variable_keyword: false,
set_op_limits: false,
set_op_modifiers: true,
set_op_parenthesized_operands: true,
single_string_interval: false,
star_except: "EXCEPT",
star_exclude_requires_derived_table: true,
struct_delimiter: ["<", ">"],
supported_json_path_parts: [
Kind::JSONPathFilter,
Kind::JSONPathKey,
Kind::JSONPathRecursive,
Kind::JSONPathRoot,
Kind::JSONPathScript,
Kind::JSONPathSelector,
Kind::JSONPathSlice,
Kind::JSONPathSubscript,
Kind::JSONPathUnion,
Kind::JSONPathWildcard,
],
supports_alter_column_if_exists: false,
supports_alter_column_nullability: false,
supports_between_flags: false,
supports_change_column: false,
supports_convert_timezone: false,
supports_create_table_like: true,
supports_decode_case: true,
supports_drop_alter_iceberg_property: true,
supports_exploding_projections: true,
supports_grouping_sets_as_suffix: false,
supports_like_quantifiers: true,
supports_median: true,
supports_merge_where: false,
supports_modify_column: false,
supports_named_cte_columns: true,
supports_select_into: false,
supports_single_arg_concat: true,
supports_table_alias_columns: true,
supports_table_copy: true,
supports_to_number: true,
supports_uescape: true,
supports_unix_seconds: false,
supports_unlogged_tables: false,
supports_window_exclude: false,
tablesample_keywords: "TABLESAMPLE",
tablesample_requires_parens: true,
tablesample_seed_keyword: "SEED",
tablesample_size_is_rows: true,
tablesample_with_method: true,
table_hints: true,
time_part_singulars: Map::from_array([
("MICROSECONDS", "MICROSECOND"),
("SECONDS", "SECOND"),
("MINUTES", "MINUTE"),
("HOURS", "HOUR"),
("DAYS", "DAY"),
("WEEKS", "WEEK"),
("MONTHS", "MONTH"),
("QUARTERS", "QUARTER"),
("YEARS", "YEAR"),
]),
token_mapping: Map([]),
try_supported: true,
type_mapping: Map::from_array([
(DType::DATETIME2, "TIMESTAMP"),
(DType::NCHAR, "CHAR"),
(DType::NVARCHAR, "VARCHAR"),
(DType::MEDIUMTEXT, "TEXT"),
(DType::LONGTEXT, "TEXT"),
(DType::TINYTEXT, "TEXT"),
(DType::BLOB, "VARBINARY"),
(DType::MEDIUMBLOB, "BLOB"),
(DType::LONGBLOB, "BLOB"),
(DType::TINYBLOB, "BLOB"),
(DType::INET, "INET"),
(DType::ROWVERSION, "VARBINARY"),
(DType::SMALLDATETIME, "TIMESTAMP"),
]),
tz_to_with_time_zone: false,
unnest_with_ordinality: true,
unpivot_aliases_are_identifiers: true,
unsupported_types: [],
unwrapped_interval_values: [
Kind::Column,
Kind::Literal,
Kind::Neg,
Kind::Paren,
],
update_statement_supports_from: true,
values_as_table: true,
window_funcs_with_null_ordering: [],
with_properties_prefix: "WITH",
with_separated_comments: [
Kind::Command,
Kind::Create,
Kind::Describe,
Kind::Delete,
Kind::Drop,
Kind::From,
Kind::Insert,
Kind::Join,
Kind::MultitableInserts,
Kind::Order,
Kind::Group,
Kind::Having,
Kind::Select,
Kind::SetOperation,
Kind::Update,
Kind::Where,
Kind::With,
],
wrap_derived_values: true,
}
}