bobzhang/sqlglot/core does not have a README file
pub(all) suberror SqlglotError {
TokenError(String, start~ : Int?, end~ : Int?)
ParseError(String, Array[ParseErrorInfo])
UnsupportedError(String)
OptimizeError(String)
SchemaError(String)
ExecuteError(String)
ValueError(String)
}impl Show for SqlglotErrorpub(all) enum DType {
ARRAY
AGGREGATEFUNCTION
SIMPLEAGGREGATEFUNCTION
BIGDECIMAL
BIGINT
BIGNUM
BIGSERIAL
BINARY
BIT
BLOB
BOOLEAN
BPCHAR
CHAR
CHARACTER_SET
DATE
DATE32
DATEMULTIRANGE
DATERANGE
DATETIME
DATETIME2
DATETIME64
DECIMAL
DECIMAL32
DECIMAL64
DECIMAL128
DECIMAL256
DECFLOAT
DOUBLE
DYNAMIC
ENUM
ENUM8
ENUM16
FILE
FIXEDSTRING
FLOAT
GEOGRAPHY
GEOGRAPHYPOINT
GEOMETRY
POINT
RING
LINESTRING
MULTILINESTRING
POLYGON
MULTIPOLYGON
HLLSKETCH
HSTORE
IMAGE
INET
INT
INT128
INT256
INT4MULTIRANGE
INT4RANGE
INT8MULTIRANGE
INT8RANGE
INTERVAL
IPADDRESS
IPPREFIX
IPV4
IPV6
JSON
JSONB
LIST
LONGBLOB
LONGTEXT
LOWCARDINALITY
MAP
MEDIUMBLOB
MEDIUMINT
MEDIUMTEXT
MONEY
NAME
NCHAR
NESTED
NOTHING
NULL
NUMMULTIRANGE
NUMRANGE
NVARCHAR
OBJECT
RANGE
ROWVERSION
SERIAL
SET
SMALLDATETIME
SMALLINT
SMALLMONEY
SMALLSERIAL
STRUCT
SUPER
TEXT
TINYBLOB
TINYTEXT
TIME
TIMETZ
TIME_NS
TIMESTAMP
TIMESTAMPNTZ
TIMESTAMPLTZ
TIMESTAMPTZ
TIMESTAMP_S
TIMESTAMP_MS
TIMESTAMP_NS
TINYINT
TSMULTIRANGE
TSRANGE
TSTZMULTIRANGE
TSTZRANGE
UBIGINT
UINT
UINT128
UINT256
UMEDIUMINT
UDECIMAL
UDOUBLE
UNION
UNKNOWN
USERDEFINED
USMALLINT
UTINYINT
UUID
VARBINARY
VARCHAR
VARIANT
VECTOR
XML
YEAR
TDIGEST
} derive(Compare, Eq, Hash)pub struct Dialect {
name : String
cfg : DialectConfig
tokenizer : TokenizerSettings
jsonpath_tokenizer : TokenizerSettings
jsonpath_var_tokens : Array[TokenType]
parser_cfg : ParserConfig
parser_fns : ParserFns
gen_cfg : GeneratorConfig
gen_fns : GeneratorFns
hooks : DialectHooks
normalization_strategy : NormalizationStrategy
version : (Int, Int, Int)
settings : Map[String, String]
supported_settings : Array[String]
time_trie : Trie
format_trie : Trie
inverse_time_trie : Trie
inverse_format_trie : Trie
parent : Dialect?
}fn Dialect::parse(self : Dialect, sql : String, error_level? : ErrorLevel, error_message_context? : Int, max_errors? : Int, max_nodes? : Int) -> Array[Expr?] raise SqlglotErrorfn Dialect::parse_into(self : Dialect, into : Array[Kind], sql : String, error_level? : ErrorLevel, error_message_context? : Int, max_errors? : Int, max_nodes? : Int, into_is_list? : Bool) -> Array[Expr?] raise SqlglotErrorfn Dialect::parser(self : Dialect, error_level? : ErrorLevel, error_message_context? : Int, max_errors? : Int, max_nodes? : Int) -> Parserpub(all) struct DialectConfig {
alias_post_tablesample : Bool
alias_post_version : Bool
alter_table_add_required_for_each_column : Bool
alter_table_supports_cascade : Bool
annotate_all_scopes : Bool
array_agg_includes_nulls : Bool?
array_funcs_propagates_nulls : Bool
ascii_only_normalization : Bool
bit_end : String?
bit_start : String?
byte_end : String?
byte_start : String?
byte_strings_support_escaped_sequences : Bool
byte_string_is_bytes_type : Bool
coalesce_comparison_non_standard : Bool
concat_coalesce : Bool
concat_ws_coalesce : Bool
copy_params_are_csv : Bool
creatable_kind_mapping : Map[String, String]
dateint_format : String
date_format : String
date_part_mapping : Map[String, String]
default_functions_column_names : Map[Kind, String]
default_null_type : DType
disables_alias_ref_expansion : Bool
dpipe_is_string_concat : Bool
escaped_sequences : Map[String, String]
excludes_pseudocolumns_from_star : Bool
expand_only_group_alias_ref : Bool
force_early_alias_ref_expansion : Bool
format_mapping : Map[String, String]
has_distinct_array_constructors : Bool
hex_end : String?
hex_lowercase : Bool
hex_start : String?
hex_string_is_integer_type : Bool
identifiers_can_start_with_digit : Bool
identifier_end : String
identifier_start : String
index_offset : Int
initcap_default_delimiter_chars : String
initcap_supports_custom_delimiters : Bool
inverse_creatable_kind_mapping : Map[String, String]
inverse_format_mapping : Map[String, String]
inverse_time_mapping : Map[String, String]
inverse_vector_type_aliases : Map[String, String]
json_extract_scalar_scalar_only : Bool
json_path_single_dot_is_wildcard : Bool
least_greatest_ignores_nulls : Bool
log_base_first : Bool?
normalization_strategy : NormalizationStrategy
normalize_functions : StrOrBool
normalize_not_null : Bool
null_ordering : String
numbers_can_be_underscore_separated : Bool
on_condition_empty_before_error : Bool
prefer_cte_alias_column : Bool
preserve_original_names : Bool
prioritize_non_literal_types : Bool
projection_aliases_shadow_source_names : Bool
promote_to_inferred_datetime_type : Bool
pseudocolumns : Set[String]
query_results_are_structs : Bool
quote_end : String
quote_start : String
regexp_extract_default_group : Int
regexp_extract_position_overflow_returns_null : Bool
requires_parenthesized_struct_access : Bool
safe_division : Bool
safe_to_eliminate_double_negation : Bool
set_op_distinct_by_default : Map[Kind, Bool?]
star_ilike_backslash_escape : Bool
strict_json_path_syntax : Bool
strict_string_concat : Bool
strings_support_escaped_sequences : Bool
supports_alias_refs_in_join_conditions : Bool
supports_column_join_marks : Bool
supports_fixed_size_arrays : Bool
supports_limit_all : Bool
supports_null_type : Bool
supports_order_by_all : Bool
supports_positional_column_refs : Bool
supports_struct_star_expansion : Bool
supports_user_defined_types : Bool
supports_values_default : Bool
tablesample_size_is_percent : Bool
tables_referenceable_as_columns : Bool
time_format : String
time_mapping : Map[String, String]
try_cast_requires_string : Bool?
typed_division : Bool
unescaped_sequences : Map[String, String]
unicode_end : String?
unicode_start : String?
unnest_column_only : Bool
uuid_is_string_type : Bool
valid_interval_units : Set[String]
week_offset : Int
}pub(all) struct DialectHooks {
normalize_identifier : (Dialect, Expr) -> Expr?
generate_values_aliases : (Dialect, Expr) -> Array[Expr]?
tokenize : (Dialect, String) -> Array[Token] raise SqlglotError?
can_quote : (Dialect, Expr, String) -> Bool?
to_json_path : (Dialect, Expr?) -> Expr? raise SqlglotError?
extra : Map[String, (Dialect, Expr) -> Expr?]
}fn[T : IntoPy] Expr::div(self : Expr, other : T, typed? : Bool, safe? : Bool) -> Expr raise SqlglotErrorpub(all) struct Generator {
dialect : Dialect
cfg : GeneratorConfig
fns : GeneratorFns
pretty : Bool
identify : String
normalize : Bool
pad : Int
indent_size : Int
normalize_functions : String
unsupported_level : ErrorLevel
max_unsupported : Int
leading_comma : Bool
max_text_width : Int
comments : Bool
unsupported_messages : Array[String]
escaped_quote_end : String
escaped_byte_quote_end : String
escaped_identifier_end : String
next_name : () -> String
identifier_start : String
identifier_end : String
quote_json_path_key_using_brackets : Bool
}fn Generator::add_arrayagg_null_filter(self : Generator, array_agg_sql : String, array_agg_expr : Expr, column_expr : Expr?) -> String raise SqlglotErrorfn Generator::after_limit_modifiers(self : Generator, expression : Expr) -> Array[String] raise SqlglotErrorfn Generator::after_limit_modifiers_base(self : Generator, expression : Expr) -> Array[String] raise SqlglotErrorfn Generator::alter_column_null_constraint_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::altermodifysqlsecurity_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::alterrename_sql(self : Generator, expression : Expr, include_to? : Bool) -> String raise SqlglotErrorfn Generator::alterrename_sql_v(self : Generator, expression : Expr, include_to? : Bool) -> String raise SqlglotErrorfn Generator::analyzehistogram_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::analyzelistchainedrows_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::analyzestatistics_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::anonymousaggfunc_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::arrayinsert_sql(self : Generator, expression : Expr, index_offset? : Int) -> String raise SqlglotErrorfn Generator::arrayinsert_sql_v(self : Generator, expression : Expr, index_offset? : Int) -> String raise SqlglotErrorfn Generator::bitwiseleftshift_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::bitwiserightshift_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::blockcompressionproperty_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::call_method(self : Generator, kind : Kind, expression : Expr) -> String raise SqlglotErrorfn Generator::cast_sql(self : Generator, expression : Expr, safe_prefix? : String) -> String raise SqlglotErrorfn Generator::cast_sql_v(self : Generator, expression : Expr, safe_prefix? : String) -> String raise SqlglotErrorfn Generator::checkcolumnconstraint_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::chr_sql(self : Generator, expression : Expr, name? : String) -> String raise SqlglotErrorfn Generator::chr_sql_v(self : Generator, expression : Expr, name? : String) -> String raise SqlglotErrorfn Generator::clusteredbyproperty_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::columnconstraint_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::columndef_sql(self : Generator, expression : Expr, sep? : String) -> String raise SqlglotErrorfn Generator::columndef_sql_v(self : Generator, expression : Expr, sep? : String) -> String raise SqlglotErrorfn Generator::combinedparameterizedagg_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::compresscolumnconstraint_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::computedcolumnconstraint_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::conditionalinsert_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::connector_sql(self : Generator, expression : Expr, op : String) -> String raise SqlglotErrorfn Generator::createable_sql(self : Generator, expression : Expr, locations : Map[PropertiesLocation, Array[Expr]]) -> String raise SqlglotErrorfn Generator::createable_sql_base(self : Generator, expression : Expr, locations : Map[PropertiesLocation, Array[Expr]]) -> String raise SqlglotErrorfn Generator::datablocksizeproperty_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::datadeletionproperty_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::datefromunixdate_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::distributedbyproperty_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::duplicatekeyproperty_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::dynamicidentifier_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::embed_ignore_nulls(self : Generator, expression : Expr, text : String) -> String raise SqlglotErrorfn Generator::explodinggenerateseries_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::format_args(self : Generator, args : Array[&SqlArg], sep? : String) -> String raise SqlglotErrorfn Generator::freespaceproperty_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::fromiso8601timestamp_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::fromiso8601timestampnanos_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::func(self : Generator, name : String, args : Array[&SqlArg], prefix? : String, suffix? : String, normalize? : Bool) -> String raise SqlglotErrorfn Generator::function_fallback_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::functionspecification_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::generate(self : Generator, expression : Expr, copy? : Bool) -> String raise SqlglotErrorfn Generator::generate_base(self : Generator, expression : Expr, copy? : Bool) -> String raise SqlglotErrorfn Generator::generatedasidentitycolumnconstraint_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::generateembedding_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::grant_or_revoke_sql(self : Generator, expression : Expr, keyword~ : String, preposition~ : String, grant_option_prefix? : String, grant_option_suffix? : String) -> String raise SqlglotErrorfn Generator::hexstring_sql(self : Generator, expression : Expr, binary_function_repr? : String) -> String raise SqlglotErrorfn Generator::hexstring_sql_v(self : Generator, expression : Expr, binary_function_repr? : String) -> String raise SqlglotErrorfn Generator::indexcolumnconstraint_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::indexconstraintoption_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::inputoutputformat_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::isolatedloadingproperty_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::jsonextractquote_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::jsonobject_sql(self : Generator, expression : Expr, name? : String) -> String raise SqlglotErrorfn Generator::jsonpathsubscript_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::lambda_sql(self : Generator, expression : Expr, arrow_sep? : String, wrap? : Bool) -> String raise SqlglotErrorfn Generator::lambda_sql_v(self : Generator, expression : Expr, arrow_sep? : String, wrap? : Bool) -> String raise SqlglotErrorfn Generator::like_sql_inner(self : Generator, expression : Expr, escape? : Expr) -> String raise SqlglotErrorfn Generator::limit_sql(self : Generator, expression : Expr, top? : Bool) -> String raise SqlglotErrorfn Generator::locate_properties(self : Generator, properties : Expr) -> Map[PropertiesLocation, Array[Expr]] raise SqlglotErrorfn Generator::locate_properties_base(self : Generator, properties : Expr) -> Map[PropertiesLocation, Array[Expr]] raise SqlglotErrorfn Generator::maskingpolicycolumnconstraint_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::matchrecognizemeasure_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::mergeblockratioproperty_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::mergetreettlaction_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::ml_sql(self : Generator, expression : Expr, name : String) -> String raise SqlglotErrorfn Generator::multitableinserts_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::national_sql(self : Generator, expression : Expr, prefix? : String) -> String raise SqlglotErrorfn Generator::new(dialect : Dialect, pretty? : Bool, identify? : String, normalize? : Bool, pad? : Int, indent? : Int, normalize_functions? : String, unsupported_level? : ErrorLevel, max_unsupported? : Int, leading_comma? : Bool, max_text_width? : Int, comments? : Bool) -> Generatorfn[T] Generator::no_identify(self : Generator, f : () -> T raise SqlglotError) -> T raise SqlglotErrorfn Generator::op_expressions(self : Generator, op : String, expression : Expr, flat? : Bool) -> String raise SqlglotErrorfn Generator::openjsoncolumndef_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::options_modifier_base(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::order_sql(self : Generator, expression : Expr, flat? : Bool) -> String raise SqlglotErrorfn Generator::overflowtruncatebehavior_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::parameterizedagg_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::partitionboundspec_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::partitionbyrangeproperty_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::partitionbyrangepropertydynamic_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::partitionedofproperty_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::periodforsystemtimeconstraint_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::prepend_ctes(self : Generator, expression : Expr, sql : String) -> String raise SqlglotErrorfn Generator::primarykeycolumnconstraint_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::properties(self : Generator, properties : Expr, prefix? : String, sep? : String, suffix? : String, wrapped? : Bool) -> String raise SqlglotErrorfn Generator::property_location(self : Generator, p : Expr) -> PropertiesLocation raise SqlglotErrorfn Generator::property_name(self : Generator, expression : Expr, string_key? : Bool) -> String raise SqlglotErrorfn Generator::query_modifiers(self : Generator, expression : Expr, sqls : Array[String]) -> String raise SqlglotErrorfn Generator::recursivewithsearch_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::refreshtriggerproperty_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::rowformatdelimitedproperty_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::scope_resolution(self : Generator, rhs : String, scope_name : String) -> String raise SqlglotErrorfn Generator::scope_resolution_base(self : Generator, rhs : String, scope_name : String) -> String raise SqlglotErrorfn Generator::sequenceproperties_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::sessionparameter_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::simplify_unless_literal(self : Generator, expression : Expr) -> Expr raise SqlglotErrorfn Generator::sql(self : Generator, expression : Expr?, comment? : Bool) -> String raise SqlglotErrorfn Generator::sql_key(self : Generator, expression : Expr, key : String) -> String raise SqlglotErrorfn Generator::sql_value(self : Generator, value : Value, comment? : Bool) -> String raise SqlglotErrorfn Generator::subquery_sql(self : Generator, expression : Expr, sep? : String) -> String raise SqlglotErrorfn Generator::table_prefixed_sql(self : Generator, expression : Expr, key : String) -> String raise SqlglotErrorfn Generator::table_sql(self : Generator, expression : Expr, sep? : String) -> String raise SqlglotErrorfn Generator::table_sql_v(self : Generator, expression : Expr, sep? : String) -> String raise SqlglotErrorfn Generator::tablesample_sql(self : Generator, expression : Expr, tablesample_keyword? : String) -> String raise SqlglotErrorfn Generator::tablesample_sql_v(self : Generator, expression : Expr, tablesample_keyword? : String) -> String raise SqlglotErrorfn Generator::translatecharacters_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::triggerproperties_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::triggerreferencing_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::tsordstodatetime_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::tsordstotimestamp_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::uniquecolumnconstraint_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::uniquekeyproperty_sql(self : Generator, expression : Expr, prefix? : String) -> String raise SqlglotErrorfn Generator::uniquekeyproperty_sql_v(self : Generator, expression : Expr, prefix? : String) -> String raise SqlglotErrorfn Generator::unsupported_args(self : Generator, expression : Expr, args : Array[String]) -> Unit raise SqlglotErrorfn Generator::update_from_joins_sql(self : Generator, expression : Expr) -> (String, String) raise SqlglotErrorfn Generator::userdefinedfunction_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::values_sql(self : Generator, expression : Expr, values_as_table? : Bool) -> String raise SqlglotErrorfn Generator::values_sql_v(self : Generator, expression : Expr, values_as_table? : Bool) -> String raise SqlglotErrorfn Generator::watermarkcolumnconstraint_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::with_properties_base(self : Generator, properties : Expr) -> String raise SqlglotErrorfn Generator::withsystemversioningproperty_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorfn Generator::xmlkeyvalueoption_sql(self : Generator, expression : Expr) -> String raise SqlglotErrorpub(all) struct GeneratorConfig {
alter_set_type : String
alter_set_wrapped : Bool
alter_table_include_column_keyword : Bool
array_concat_is_var_len : Bool
array_size_dim_required : Bool?
array_size_name : String
auto_refresh_bare_intervals : Bool
can_implement_array_any : Bool
collate_is_func : Bool
computed_column_with_type : Bool
copy_has_into_keyword : Bool
copy_params_are_wrapped : Bool
copy_params_eq_required : Bool
create_function_return_as : Bool
cte_recursive_keyword_required : Bool
data_type_specifiers_allowed : Bool
declare_default_assignment : String
directed_joins : Bool
duplicate_key_update_with_set : Bool
ensure_bools : Bool
except_intersect_support_all_clause : Bool
exclude_comments : Array[Kind]
expressions_without_nested_ctes : Array[Kind]
expression_precedes_properties_creatables : Set[String]
extract_allows_quotes : Bool
groupings_sep : String
hex_func : String
historical_data_post_alias : Bool
ignore_nulls_before_order : Bool
ignore_nulls_in_func : Bool
index_on : String
inout_separator : String
insert_overwrite : String
interval_allows_plural_form : Bool
is_bool_allowed : Bool
join_hints : Bool
json_key_value_pair_sep : String
json_path_bracketed_key_supported : Bool
json_path_key_quoted_forces_brackets : Bool
json_path_single_quote_escape : Bool
json_type_required_for_extraction : Bool
last_day_supports_date_part : Bool
like_property_inside_schema : Bool
limit_fetch : String
limit_is_top : Bool
limit_only_literals : Bool
locking_reads_supported : Bool
matched_by_source : Bool
match_against_table_prefix : String?
mod_operator : String
mod_paren_parent_types : Array[Kind]
multi_arg_distinct : Bool
named_placeholder_token : String
normalize_extract_date_parts : Bool
null_ordering_supported : Bool?
nvl2_supported : Bool
pad_fill_pattern_is_required : Bool
parameterizable_text_types : Array[DType]
parameter_token : String
parse_json_name : String?
pivot_alias_with_as : Bool
properties_location : Map[Kind, PropertiesLocation]
query_hints : Bool
query_hint_sep : String
quote_json_path : Bool
rename_table_with_db : Bool
reserved_keywords : Set[String]
respect_ignore_nulls_unsupported_expressions : Array[Kind]
returning_end : Bool
select_kinds : Array[String]
semi_anti_join_with_side : Bool
sentinel_line_break : String
set_assignment_requires_variable_keyword : Bool
set_op_limits : Bool
set_op_modifiers : Bool
set_op_parenthesized_operands : Bool
single_string_interval : Bool
star_except : String
star_exclude_requires_derived_table : Bool
struct_delimiter : Array[String]
supported_json_path_parts : Array[Kind]
supports_alter_column_if_exists : Bool
supports_alter_column_nullability : Bool
supports_between_flags : Bool
supports_change_column : Bool
supports_convert_timezone : Bool
supports_create_table_like : Bool
supports_decode_case : Bool
supports_drop_alter_iceberg_property : Bool
supports_exploding_projections : Bool
supports_grouping_sets_as_suffix : Bool
supports_like_quantifiers : Bool
supports_median : Bool
supports_merge_where : Bool
supports_modify_column : Bool
supports_named_cte_columns : Bool
supports_select_into : Bool
supports_single_arg_concat : Bool
supports_table_alias_columns : Bool
supports_table_copy : Bool
supports_to_number : Bool
supports_uescape : Bool
supports_unix_seconds : Bool
supports_unlogged_tables : Bool
supports_window_exclude : Bool
tablesample_keywords : String
tablesample_requires_parens : Bool
tablesample_seed_keyword : String
tablesample_size_is_rows : Bool
tablesample_with_method : Bool
table_hints : Bool
time_part_singulars : Map[String, String]
token_mapping : Map[TokenType, String]
try_supported : Bool
type_mapping : Map[DType, String]
tz_to_with_time_zone : Bool
unnest_with_ordinality : Bool
unpivot_aliases_are_identifiers : Bool
unsupported_types : Array[DType]
unwrapped_interval_values : Array[Kind]
update_statement_supports_from : Bool
values_as_table : Bool
window_funcs_with_null_ordering : Array[Kind]
with_properties_prefix : String
with_separated_comments : Array[Kind]
wrap_derived_values : Bool
}pub(all) struct GeneratorFns {
transforms : Map[Kind, (Generator, Expr) -> String raise SqlglotError]
methods : Map[Kind, (Generator, Expr) -> String raise SqlglotError]
hooks : GeneratorHooks
type_param_settings : Map[DType, (Array[Int], Array[Int?])]
after_having_modifier_transforms : Array[(String, (Generator, Expr) -> String raise SqlglotError)]
}pub(all) struct GeneratorHooks {
add_column_sql : (Generator, Expr) -> String raise SqlglotError?
after_limit_modifiers : (Generator, Expr) -> Array[String] raise SqlglotError?
column_parts : (Generator, Expr) -> String raise SqlglotError?
createable_sql : (Generator, Expr, Map[PropertiesLocation, Array[Expr]]) -> String raise SqlglotError?
format_time : (Generator, Expr, Map[String, String]?, Trie?) -> String? raise SqlglotError?
generate : (Generator, Expr, Bool) -> String raise SqlglotError?
in_unnest_op : (Generator, Expr) -> String raise SqlglotError?
lateral_op : (Generator, Expr) -> String raise SqlglotError?
locate_properties : (Generator, Expr) -> Map[PropertiesLocation, Array[Expr]] raise SqlglotError?
offset_limit_modifiers : (Generator, Expr, Bool, Expr?) -> Array[String] raise SqlglotError?
options_modifier : (Generator, Expr) -> String raise SqlglotError?
scope_resolution : (Generator, String, String) -> String raise SqlglotError?
set_operations : (Generator, Expr) -> String raise SqlglotError?
table_parts : (Generator, Expr) -> String raise SqlglotError?
with_properties : (Generator, Expr) -> String raise SqlglotError?
preprocess : (Generator, Expr) -> Expr raise SqlglotError?
alterrename_sql : (Generator, Expr, Bool) -> String raise SqlglotError?
arrayinsert_sql : (Generator, Expr, Int) -> String raise SqlglotError?
cast_sql : (Generator, Expr, String?) -> String raise SqlglotError?
chr_sql : (Generator, Expr, String) -> String raise SqlglotError?
columndef_sql : (Generator, Expr, String) -> String raise SqlglotError?
hexstring_sql : (Generator, Expr, String?) -> String raise SqlglotError?
lambda_sql : (Generator, Expr, String, Bool) -> String raise SqlglotError?
table_sql : (Generator, Expr, String) -> String raise SqlglotError?
tablesample_sql : (Generator, Expr, String?) -> String raise SqlglotError?
uniquekeyproperty_sql : (Generator, Expr, String) -> String raise SqlglotError?
values_sql : (Generator, Expr, Bool) -> String raise SqlglotError?
unicode_substitute : (String) -> String?
safe_json_path_key_re : (String) -> Bool?
}pub(all) enum Kind {
AIAgg
AIClassify
AIEmbed
AIForecast
AIGenerate
AISimilarity
AISummarizeAgg
Abs
Acos
Acosh
Add
AddConstraint
AddMonths
AddPartition
Adjacent
Agg
AggFunc
AlgorithmProperty
Alias
Aliases
All
AllowedValuesProperty
Alter
AlterColumn
AlterDistStyle
AlterIndex
AlterModifySqlSecurity
AlterRename
AlterSession
AlterSet
AlterSortKey
Analyze
AnalyzeColumns
AnalyzeDelete
AnalyzeHistogram
AnalyzeListChainedRows
AnalyzeSample
AnalyzeStatistics
AnalyzeValidate
AnalyzeWith
And
Anonymous
AnonymousAggFunc
Any
AnyValue
ApiProperty
ApplicationProperty
Apply
ApproxDistinct
ApproxPercentileAccumulate
ApproxPercentileCombine
ApproxPercentileEstimate
ApproxQuantile
ApproxQuantiles
ApproxTopK
ApproxTopKAccumulate
ApproxTopKCombine
ApproxTopKEstimate
ApproxTopSum
ApproximateSimilarity
ArgMax
ArgMin
Array
ArrayAgg
ArrayAll
ArrayAny
ArrayAppend
ArrayCompact
ArrayConcat
ArrayConcatAgg
ArrayConstructCompact
ArrayContainedBy
ArrayContains
ArrayContainsAll
ArrayDistinct
ArrayExcept
ArrayFilter
ArrayFirst
ArrayInsert
ArrayIntersect
ArrayLast
ArrayMax
ArrayMin
ArrayOverlaps
ArrayPosition
ArrayPrepend
ArrayRemove
ArrayRemoveAt
ArrayReverse
ArraySize
ArraySlice
ArraySort
ArraySum
ArrayToString
ArrayUnionAgg
ArrayUniqueAgg
ArraysZip
Ascii
Asin
Asinh
AssumeColumnConstraint
AtIndex
AtTimeZone
Atan
Atan2
Atanh
Attach
AttachOption
AutoIncrementColumnConstraint
AutoIncrementProperty
AutoRefreshProperty
Avg
BackupProperty
Base64DecodeBinary
Base64DecodeString
Base64Encode
Between
Binary
BinaryColumnConstraint
BitLength
BitString
BitmapBitPosition
BitmapBucketNumber
BitmapConstructAgg
BitmapCount
BitmapOrAgg
BitwiseAnd
BitwiseAndAgg
BitwiseCount
BitwiseLeftShift
BitwiseNot
BitwiseOr
BitwiseOrAgg
BitwiseRightShift
BitwiseXor
BitwiseXorAgg
Block
BlockCompressionProperty
Booland
Boolean
Boolnot
Boolor
BoolxorAgg
Bracket
BuildProperty
ByteLength
ByteString
CTE
Cache
CalledOnNullInputProperty
Case
CaseSpecificColumnConstraint
CaseStatement
Cast
CastToStrType
CatalogProperty
Cbrt
Ceil
Changes
CharacterSet
CharacterSetColumnConstraint
CharacterSetProperty
Check
CheckColumnConstraint
CheckJson
CheckXml
ChecksumProperty
Chr
CityHash64
Clone
Cluster
ClusterProperty
ClusteredByProperty
ClusteredColumnConstraint
Coalesce
CodePointsToBytes
CodePointsToString
Collate
CollateColumnConstraint
CollateProperty
Collation
Column
ColumnConstraint
ColumnConstraintKind
ColumnDef
ColumnPosition
ColumnPrefix
Columns
CombinedAggFunc
CombinedParameterizedAgg
Command
Comment
CommentColumnConstraint
Commit
Comprehension
Compress
CompressColumnConstraint
ComputeProperty
ComputedColumnConstraint
Concat
ConcatWs
Condition
ConditionalInsert
Connect
ConnectByRoot
Connector
Constraint
Contains
Convert
ConvertTimezone
ConvertToCharset
Copy
CopyGrantsProperty
CopyParameter
Corr
Cos
Cosh
CosineDistance
Cot
Coth
Count
CountIf
CovarPop
CovarSamp
Create
Credentials
CredentialsProperty
Csc
Csch
Cube
CumeDist
CurrentAccount
CurrentAccountName
CurrentAvailableRoles
CurrentCatalog
CurrentClient
CurrentDatabase
CurrentDate
CurrentDatetime
CurrentIpAddress
CurrentOrganizationName
CurrentOrganizationUser
CurrentRegion
CurrentRole
CurrentRoleType
CurrentSchema
CurrentSchemas
CurrentSecondaryRoles
CurrentSession
CurrentStatement
CurrentTime
CurrentTimestamp
CurrentTimestampLTZ
CurrentTimezone
CurrentTransaction
CurrentUser
CurrentUserId
CurrentVersion
CurrentWarehouse
DDL
DML
DPipe
DataBlocksizeProperty
DataDeletionProperty
DataType
DataTypeParam
DatabaseProperty
Date
DateAdd
DateBin
DateDiff
DateFormatColumnConstraint
DateFromParts
DateFromUnixDate
DateStrToDate
DateSub
DateToDateStr
DateToDi
DateTrunc
Datetime
DatetimeAdd
DatetimeDiff
DatetimeSub
DatetimeTrunc
Day
DayOfMonth
DayOfWeek
DayOfWeekIso
DayOfYear
Dayname
Declare
DeclareItem
Decode
DecodeCase
DecompressBinary
DecompressString
Decrypt
DecryptRaw
DefaultColumnConstraint
DefinerProperty
Degrees
Delete
DenseRank
DerivedTable
Describe
Detach
DiToDate
DictProperty
DictRange
DictSubProperty
Directory
DirectoryStage
DistKeyProperty
DistStyleProperty
Distance
DistanceNd
Distinct
Distribute
DistributedByProperty
Div
Dot
DotProduct
Drop
DropPartition
DropPrimaryKey
DuplicateKeyProperty
DynamicIdentifier
DynamicProperty
EQ
Elt
EmptyProperty
Encode
EncodeColumnConstraint
EncodeProperty
Encrypt
EncryptRaw
EndStatement
EndsWith
EngineProperty
EnviromentProperty
EphemeralColumnConstraint
EqualNull
Escape
EuclideanDistance
Except
ExcludeColumnConstraint
Execute
ExecuteAsProperty
ExecuteSql
Exists
Exp
Explode
ExplodeOuter
ExplodingGenerateSeries
Export
Expression
ExtendsLeft
ExtendsRight
ExternalProperty
Extract
Factorial
FallbackProperty
FarmFingerprint
FeaturesAtTime
Fetch
FileFormatProperty
Filter
Final
First
FirstValue
Flatten
Float64
Floor
ForClause
ForIn
ForceProperty
ForeignKey
Format
FormatJson
FormatPhrase
FreespaceProperty
From
FromBase
FromBase32
FromBase64
FromISO8601Date
FromISO8601Timestamp
FromISO8601TimestampNanos
FromJson
FromTimeZone
Func
FunctionSpecification
GT
GTE
GapFill
GenerateBool
GenerateDateArray
GenerateDouble
GenerateEmbedding
GenerateInt
GenerateSeries
GenerateTable
GenerateText
GenerateTimestampArray
GeneratedAsIdentityColumnConstraint
GeneratedAsRowColumnConstraint
Generator
Get
GetExtract
GetIgnoreCase
Getbit
Glob
GlobalProperty
Grant
GrantPrincipal
GrantPrivilege
Greatest
Group
GroupConcat
Grouping
GroupingId
GroupingSets
HandlerProperty
HashAgg
Having
HavingMax
HeapProperty
Heredoc
Hex
HexDecodeString
HexString
Hint
HistoricalData
Hll
Host
Hour
HybridProperty
ILike
IcebergProperty
Identifier
If
IfBlock
IgnoreNulls
In
InOutColumnConstraint
IncludeProperty
Index
IndexColumnConstraint
IndexConstraintOption
IndexParameters
IndexTableHint
InheritsProperty
Initcap
Inline
InlineLengthColumnConstraint
InputModelProperty
InputOutputFormat
Insert
Install
Int64
IntDiv
Intersect
Interval
IntervalOp
IntervalSpan
Into
Introducer
InvisibleColumnConstraint
Is
IsArray
IsAscii
IsInf
IsNan
IsNullValue
IsolatedLoadingProperty
Iterate
JSON
JSONArray
JSONArrayAgg
JSONArrayAppend
JSONArrayContains
JSONArrayInsert
JSONBContains
JSONBContainsAllTopKeys
JSONBContainsAnyTopKeys
JSONBContainsTopKey
JSONBDeleteAtPath
JSONBExists
JSONBExtract
JSONBExtractScalar
JSONBObjectAgg
JSONBPathExists
JSONBool
JSONCast
JSONColumnDef
JSONExists
JSONExtract
JSONExtractArray
JSONExtractQuote
JSONExtractScalar
JSONFormat
JSONKeyValue
JSONKeys
JSONKeysAtDepth
JSONObject
JSONObjectAgg
JSONPath
JSONPathFilter
JSONPathKey
JSONPathPart
JSONPathRecursive
JSONPathRoot
JSONPathScript
JSONPathSelector
JSONPathSlice
JSONPathSubscript
JSONPathUnion
JSONPathWildcard
JSONRemove
JSONSchema
JSONSet
JSONStripNulls
JSONTable
JSONType
JSONValue
JSONValueArray
JarowinklerSimilarity
Join
JoinHint
JournalProperty
JustifyDays
JustifyHours
JustifyInterval
Kill
Kurtosis
Kwarg
LT
LTE
Lag
Lambda
LanguageProperty
Last
LastDay
LastValue
Lateral
LaxBool
LaxFloat64
LaxInt64
LaxString
Lead
Least
Leave
Left
Length
Levenshtein
Like
LikeProperty
Limit
LimitOptions
List
Literal
Ln
LoadData
Localtime
Localtimestamp
LocationProperty
Lock
LockProperty
LockingProperty
LockingStatement
Log
LogProperty
LogicalAnd
LogicalOr
LoopBlock
Lower
LowerHex
MD5
MD5Digest
MD5NumberLower64
MD5NumberUpper64
MLForecast
MLTranslate
MacroOverload
MacroOverloads
MakeInterval
ManhattanDistance
Map
MapCat
MapContainsKey
MapDelete
MapFromEntries
MapInsert
MapKeys
MapPick
MapSize
MaskingPolicyColumnConstraint
MaskingProperty
Match
MatchAgainst
MatchRecognize
MatchRecognizeMeasure
MaterializedProperty
Max
Median
Merge
MergeBlockRatioProperty
MergeTreeTTL
MergeTreeTTLAction
Min
Minhash
MinhashCombine
Minute
Mod
Mode
ModelAttribute
ModifyColumn
ModuleProperty
Month
Monthname
MonthsBetween
Mul
MultitableInserts
NEQ
Nanvl
National
Neg
Negative
NestedJSONSelect
NetFunc
NetworkProperty
NextDay
NextValueFor
NoPrimaryIndexProperty
NonClusteredColumnConstraint
Normal
Normalize
Not
NotForReplicationColumnConstraint
NotNullColumnConstraint
NthValue
Ntile
Null
NullSafeEQ
NullSafeNEQ
Nullif
NumberToStr
Nvl2
ObjectAgg
ObjectId
ObjectIdentifier
ObjectInsert
ObjectTransform
Offset
OnCluster
OnCommitProperty
OnCondition
OnConflict
OnProperty
OnUpdateColumnConstraint
Opclass
OpenJSON
OpenJSONColumnDef
Operator
Or
Order
Ordered
OutputModelProperty
OverflowTruncateBehavior
Overlaps
Overlay
Pad
Parameter
ParameterStyleProperty
ParameterizedAgg
Paren
ParseBignumeric
ParseDatetime
ParseIp
ParseJSON
ParseNumeric
ParseTime
ParseUrl
Partition
PartitionBoundSpec
PartitionByListProperty
PartitionByRangeProperty
PartitionByRangePropertyDynamic
PartitionByTruncate
PartitionId
PartitionList
PartitionRange
PartitionedByBucket
PartitionedByProperty
PartitionedOfProperty
PathColumnConstraint
PercentRank
PercentileCont
PercentileDisc
PeriodForSystemTimeConstraint
Pi
Pivot
PivotAlias
PivotAny
Placeholder
Posexplode
PosexplodeOuter
PositionalColumn
Pow
Pragma
PreWhere
Predicate
Predict
PreviousDay
PrimaryKey
PrimaryKeyColumnConstraint
Prior
ProjectionDef
ProjectionPolicyColumnConstraint
Properties
Property
PropertyEQ
PseudoType
Pseudocolumn
Put
Qualify
Quantile
Quarter
Query
QueryBand
QueryOption
QueryTransform
Radians
Rand
Randn
Randstr
RangeBucket
RangeN
Rank
RawString
ReadCSV
ReadParquet
RecursiveWithSearch
Reduce
Reference
Refresh
RefreshTriggerProperty
RegDomain
RegexpCount
RegexpExtract
RegexpExtractAll
RegexpFullMatch
RegexpILike
RegexpInstr
RegexpLike
RegexpReplace
RegexpSplit
RegexpSubstr
RegrAvgx
RegrAvgy
RegrCount
RegrIntercept
RegrR2
RegrSlope
RegrSxx
RegrSxy
RegrSyy
RegrValx
RegrValy
RemoteWithConnectionModelProperty
RenameColumn
RenameIndex
Repeat
RepeatBlock
Replace
ReplacePartition
RespectNulls
Return
Returning
ReturnsProperty
Reverse
Revoke
Right
Rint
Rollback
Rollup
RollupIndex
RollupProperty
Round
RowAccessProperty
RowFormatDelimitedProperty
RowFormatProperty
RowFormatSerdeProperty
RowNumber
RtrimmedLength
SHA
SHA1Digest
SHA2
SHA2Digest
SafeAdd
SafeConvertBytesToString
SafeDivide
SafeFunc
SafeMultiply
SafeNegate
SafeSubtract
SampleProperty
Schema
SchemaCommentProperty
ScopeResolution
Search
SearchIp
Sec
Sech
Second
Secret
SecureProperty
SecurityIntegrationProperty
Select
Selectable
SemanticView
Semicolon
Seq1
Seq2
Seq4
Seq8
SequenceProperties
SerdeProperties
SessionParameter
SessionUser
Set
SetConfigProperty
SetItem
SetOperation
SetProperty
SettingsProperty
SharingProperty
Show
Shuffle
Sign
SimilarTo
Sin
Sinh
Skewness
SkipJSONColumn
Slice
Sort
SortArray
SortKeyProperty
Soundex
SoundexP123
Space
Split
SplitPart
SqlReadWriteProperty
SqlSecurityProperty
Sqrt
StDistance
StPoint
StabilityProperty
Stack
StandardHash
Star
StarMap
StartsWith
Stddev
StddevPop
StddevSamp
StorageHandlerProperty
StoredProcedure
StrPosition
StrToDate
StrToMap
StrToTime
StrToUnix
Stream
StreamingTableProperty
StrictProperty
String
StringToArray
StripNullValue
Strtok
StrtokToArray
Struct
StructExtract
Stuff
Sub
Subquery
SubqueryPredicate
Substring
SubstringIndex
Sum
Summarize
SwapTable
Systimestamp
Table
TableAlias
TableColumn
TableFromRows
TableSample
Tag
Tags
Tan
Tanh
TemporaryProperty
Time
TimeAdd
TimeDiff
TimeFromParts
TimeSlice
TimeStrToDate
TimeStrToTime
TimeStrToUnix
TimeSub
TimeToStr
TimeToTimeStr
TimeToUnix
TimeTrunc
TimeUnit
TimeseriesKey
Timestamp
TimestampAdd
TimestampDiff
TimestampFromParts
TimestampLtzFromParts
TimestampSub
TimestampTrunc
TimestampTzFromParts
TitleColumnConstraint
ToArray
ToBase32
ToBase64
ToBinary
ToBoolean
ToChar
ToCodePoints
ToDays
ToDecfloat
ToDouble
ToFile
ToMap
ToNumber
ToTableProperty
ToVariant
Transaction
Transform
TransformModelProperty
TransientProperty
Translate
TranslateCharacters
TriggerEvent
TriggerExecute
TriggerProperties
TriggerReferencing
Trim
Trunc
TruncateTable
Try
TryBase64DecodeBinary
TryBase64DecodeString
TryCast
TryHexDecodeBinary
TryHexDecodeString
TryToDecfloat
TsOrDiToDi
TsOrDsAdd
TsOrDsDiff
TsOrDsToDate
TsOrDsToDateStr
TsOrDsToDatetime
TsOrDsToTime
TsOrDsToTimestamp
Tuple
Typeof
UDTF
Unary
Uncache
Undrop
Unhex
Unicode
UnicodeString
Uniform
Union
UniqueColumnConstraint
UniqueKeyProperty
UnixDate
UnixMicros
UnixMillis
UnixSeconds
UnixToStr
UnixToTime
UnixToTimeStr
UnloggedProperty
Unnest
UnpivotColumns
Update
Upper
UppercaseColumnConstraint
Use
UserDefinedFunction
UsingData
UsingProperty
UsingTemplateProperty
UtcDate
UtcTime
UtcTimestamp
Uuid
UuidProperty
Values
Var
VarMap
Variadic
Variance
VariancePop
VectorSearch
Version
ViewAttributeProperty
VirtualProperty
VolatileProperty
WatermarkColumnConstraint
Week
WeekOfYear
WeekStart
When
Whens
Where
WhileBlock
WidthBucket
Window
WindowSpec
With
WithDataProperty
WithFill
WithJournalTableProperty
WithOperator
WithProcedureOptions
WithSchemaBindingProperty
WithSystemVersioningProperty
WithTableHint
WithinGroup
XMLElement
XMLGet
XMLKeyValueOption
XMLNamespace
XMLTable
Xor
Year
YearOfWeek
YearOfWeekIso
ZeroFillColumnConstraint
Zipf
PrivExplodeOuter
PrivTimeUnit
} derive(Eq, Hash)pub(all) struct NumericEscape {
base : Int
min_digits : Int
max_digits : Int
max_value : Int
}pub(all) struct ParseErrorInfo {
description : String
line : Int
col : Int
start_context : String
highlight : String
end_context : String
into_expression : String?
} derive(Debug)pub(all) struct Parser {
dialect : Dialect
cfg : ParserConfig
fns : ParserFns
error_level : ErrorLevel
error_message_context : Int
max_errors : Int
max_nodes : Int
sql : String
sql_offsets : Array[Int]?
errors : Array[SqlglotError]
tokens : Array[Token]
tokens_size : Int
index : Int
curr : Token
next : Token
prev : Token
prev_comments : Array[String]
pipe_cte_counter : Int
chunks : Array[Array[Token]]
chunk_index : Int
node_count : Int
}fn Parser::andl(self : Parser, cond : Bool, f : () -> Array[Expr] raise SqlglotError) -> Value? raise SqlglotErrorfn Parser::andv(self : Parser, cond : Bool, f : () -> Expr? raise SqlglotError) -> Value? raise SqlglotErrorfn Parser::identifier_expression(self : Parser, token? : Token, quoted? : Bool) -> Expr raise SqlglotErrorfn Parser::new(dialect : Dialect, error_level? : ErrorLevel, error_message_context? : Int, max_errors? : Int, max_nodes? : Int) -> Parserfn Parser::parse_alias_base(self : Parser, this : Expr?, explicit? : Bool) -> Expr? raise SqlglotErrorfn Parser::parse_batch_statements(self : Parser, parse_method : (Parser) -> Expr? raise SqlglotError, sep_first_statement? : Bool) -> Array[Expr?] raise SqlglotErrorfn Parser::parse_binary_level(self : Parser, table : Map[TokenType, Kind], next : () -> Expr? raise SqlglotError) -> Expr? raise SqlglotErrorfn Parser::parse_column_def(self : Parser, this : Expr?, computed_column? : Bool) -> Expr? raise SqlglotErrorfn Parser::parse_column_def_base(self : Parser, this : Expr?, computed_column? : Bool) -> Expr? raise SqlglotErrorfn Parser::parse_convert_base(self : Parser, strict : Bool, safe? : Bool) -> Expr? raise SqlglotErrorfn Parser::parse_csv(self : Parser, parse_method : () -> Expr? raise SqlglotError, sep? : TokenType) -> Array[Expr] raise SqlglotErrorfn[T] Parser::parse_csv_any(self : Parser, parse_method : () -> T? raise SqlglotError, sep? : TokenType) -> Array[T] raise SqlglotErrorfn Parser::parse_datablocksize(self : Parser, default? : Bool, minimum? : Bool, maximum? : Bool) -> Expr raise SqlglotErrorfn Parser::parse_derived_table_values(self : Parser, allow_value_synonym? : Bool) -> Expr? raise SqlglotErrorfn Parser::parse_distinct_arg_function(self : Parser, kind : Kind, distinct_index? : Int) -> Expr? raise SqlglotErrorfn Parser::parse_field(self : Parser, any_token? : Bool, tokens? : TokenSet, anonymous_func? : Bool) -> Expr? raise SqlglotErrorfn Parser::parse_from(self : Parser, joins? : Bool, skip_from_token? : Bool, consume_pipe? : Bool) -> Expr? raise SqlglotErrorfn Parser::parse_from_base(self : Parser, joins? : Bool, skip_from_token? : Bool, consume_pipe? : Bool) -> Expr? raise SqlglotErrorfn Parser::parse_function(self : Parser, functions? : Map[String, (Array[Expr], Parser) -> Expr raise SqlglotError], anonymous? : Bool, optional_parens? : Bool, any_token? : Bool) -> Expr? raise SqlglotErrorfn Parser::parse_function_base(self : Parser, functions? : Map[String, (Array[Expr], Parser) -> Expr raise SqlglotError], anonymous? : Bool, optional_parens? : Bool, any_token? : Bool) -> Expr? raise SqlglotErrorfn Parser::parse_function_call(self : Parser, functions? : Map[String, (Array[Expr], Parser) -> Expr raise SqlglotError], anonymous? : Bool, optional_parens? : Bool, any_token? : Bool) -> Expr? raise SqlglotErrorfn Parser::parse_function_call_base(self : Parser, functions? : Map[String, (Array[Expr], Parser) -> Expr raise SqlglotError], anonymous? : Bool, optional_parens? : Bool, any_token? : Bool) -> Expr? raise SqlglotErrorfn Parser::parse_id_var(self : Parser, any_token? : Bool, tokens? : TokenSet) -> Expr? raise SqlglotErrorfn Parser::parse_id_var_base(self : Parser, any_token? : Bool, tokens? : TokenSet) -> Expr? raise SqlglotErrorfn Parser::parse_index(self : Parser, index? : Expr?, anonymous? : Bool) -> Expr? raise SqlglotErrorfn Parser::parse_interval(self : Parser, require_interval? : Bool, parse_function_unit? : Bool) -> Expr? raise SqlglotErrorfn Parser::parse_interval_span(self : Parser, this : Expr?, parse_function_unit? : Bool) -> Expr raise SqlglotErrorfn Parser::parse_join(self : Parser, skip_join_token? : Bool, parse_bracket? : Bool, alias_tokens? : TokenSet) -> Expr? raise SqlglotErrorfn Parser::parse_join_base(self : Parser, skip_join_token? : Bool, parse_bracket? : Bool, alias_tokens? : TokenSet) -> Expr? raise SqlglotErrorfn Parser::parse_key_value_property(self : Parser, parse_value? : () -> Expr? raise SqlglotError) -> Expr? raise SqlglotErrorfn Parser::parse_limit(self : Parser, this? : Expr?, top? : Bool, skip_limit_token? : Bool) -> Expr? raise SqlglotErrorfn Parser::parse_mergeblockratio(self : Parser, no? : Bool, default? : Bool) -> Expr raise SqlglotErrorfn Parser::parse_multitable_inserts(self : Parser, comments : Array[String]) -> Expr raise SqlglotErrorfn Parser::parse_on_handling(self : Parser, on : String, values : Array[String]) -> Value? raise SqlglotErrorfn Parser::parse_order(self : Parser, this? : Expr?, skip_order_token? : Bool) -> Expr? raise SqlglotErrorfn Parser::parse_ordered(self : Parser, parse_method? : () -> Expr? raise SqlglotError) -> Expr? raise SqlglotErrorfn Parser::parse_ordered_base(self : Parser, parse_method? : () -> Expr? raise SqlglotError) -> Expr? raise SqlglotErrorfn Parser::parse_pipe_syntax_aggregate_group_order_by(self : Parser, query : Expr, group_by_exists? : Bool) -> Expr raise SqlglotErrorfn Parser::parse_primary_key(self : Parser, wrapped_optional? : Bool, in_props? : Bool, named_primary_key? : Bool) -> Expr? raise SqlglotErrorfn Parser::parse_primary_key_base(self : Parser, wrapped_optional? : Bool, in_props? : Bool, named_primary_key? : Bool) -> Expr? raise SqlglotErrorfn Parser::parse_select(self : Parser, nested? : Bool, table? : Bool, parse_subquery_alias? : Bool, parse_set_operation? : Bool, consume_pipe? : Bool, from_? : Expr) -> Expr? raise SqlglotErrorfn Parser::parse_select_query(self : Parser, nested? : Bool, table? : Bool, parse_subquery_alias? : Bool, parse_set_operation? : Bool) -> Expr? raise SqlglotErrorfn Parser::parse_set_operation(self : Parser, this : Expr?, consume_pipe? : Bool) -> Expr? raise SqlglotErrorfn Parser::parse_struct_types_base(self : Parser, type_required? : Bool) -> Expr? raise SqlglotErrorfn Parser::parse_subquery(self : Parser, this : Expr?, parse_alias? : Bool) -> Expr? raise SqlglotErrorfn Parser::parse_system_versioning_property(self : Parser, with_? : Bool) -> Expr raise SqlglotErrorfn Parser::parse_table(self : Parser, schema? : Bool, joins? : Bool, alias_tokens? : TokenSet, parse_bracket? : Bool, is_db_reference? : Bool, parse_partition? : Bool, consume_pipe? : Bool) -> Expr? raise SqlglotErrorfn Parser::parse_table_parts(self : Parser, schema? : Bool, is_db_reference? : Bool, wildcard? : Bool, fast? : Bool) -> Expr? raise SqlglotErrorfn Parser::parse_table_parts_base(self : Parser, schema? : Bool, is_db_reference? : Bool, wildcard? : Bool, fast? : Bool) -> Expr? raise SqlglotErrorfn Parser::parse_tokens_with(self : Parser, parse_method : (Parser) -> Expr? raise SqlglotError, raw_tokens : Array[Token], sql : String) -> Array[Expr?] raise SqlglotErrorfn Parser::parse_trigger_referencing_clause(self : Parser, keyword : String) -> Expr? raise SqlglotErrorfn Parser::parse_type(self : Parser, parse_interval? : Bool, fallback_to_identifier? : Bool) -> Expr? raise SqlglotErrorfn Parser::parse_type_base(self : Parser, parse_interval? : Bool, fallback_to_identifier? : Bool) -> Expr? raise SqlglotErrorfn Parser::parse_types(self : Parser, check_func? : Bool, schema? : Bool, allow_identifiers? : Bool, with_collation? : Bool) -> Expr? raise SqlglotErrorfn Parser::parse_types_base(self : Parser, check_func? : Bool, schema? : Bool, allow_identifiers? : Bool, with_collation? : Bool) -> Expr? raise SqlglotErrorfn Parser::parse_unnamed_constraint(self : Parser, constraints? : Set[String]) -> Expr? raise SqlglotErrorfn Parser::parse_user_defined_function(self : Parser, kind? : TokenType) -> Expr? raise SqlglotErrorfn Parser::parse_user_defined_function_base(self : Parser, kind? : TokenType) -> Expr? raise SqlglotErrorfn Parser::parse_user_defined_type_base(self : Parser, identifier : Expr) -> Expr? raise SqlglotErrorfn Parser::parse_var(self : Parser, any_token? : Bool, tokens? : TokenSet, upper? : Bool) -> Expr? raise SqlglotErrorfn Parser::parse_window_base(self : Parser, this : Expr?, alias? : Bool) -> Expr? raise SqlglotErrorfn[T] Parser::parse_wrapped(self : Parser, parse_method : () -> T raise SqlglotError, optional? : Bool) -> T raise SqlglotErrorfn Parser::parse_wrapped_csv(self : Parser, parse_method : () -> Expr? raise SqlglotError, sep? : TokenType, optional? : Bool) -> Array[Expr] raise SqlglotErrorfn[T] Parser::try_parse(self : Parser, parse_method : () -> T? raise SqlglotError, retreat? : Bool) -> T?fn Parser::validate_expression(self : Parser, expression : Expr, nargs? : Int) -> Expr raise SqlglotErrorpub(all) struct ParserConfig {
add_constraint_tokens : TokenSet
add_join_on_true : Bool
adjacent_strings_cannot_be_connected : Bool
aggregate_type_tokens : TokenSet
alias_tokens : TokenSet
alterables : TokenSet
alter_rename_requires_column : Bool
alter_table_partitions : Bool
ambiguous_alias_tokens : Array[TokenType]
analyze_styles : Set[String]
array_constructors : Map[String, Kind]
assignment : Map[TokenType, Kind]
bitwise : Map[TokenType, Kind]
brackets : TokenSet
cast_actions : Map[String, Array[Array[String]]]
cast_column_operators : TokenSet
clone_keywords : Set[String]
colon_chain_is_single_extract : Bool
colon_is_variant_extract : Bool
colon_placeholder_tokens : TokenSet
column_postfix_tokens : TokenSet
comment_table_alias_tokens : TokenSet
comparison : Map[TokenType, Kind]
conflict_actions : Map[String, Array[Array[String]]]
conjunction : Map[TokenType, Kind]
copy_into_varlen_options : Set[String]
creatables : TokenSet
create_sequence : Map[String, Array[Array[String]]]
db_creatables : TokenSet
ddl_select_tokens : TokenSet
default_sampling_method : String?
describe_styles : Set[String]
disjunction : Map[TokenType, Kind]
distinct_tokens : TokenSet
enum_type_tokens : TokenSet
equality : Map[TokenType, Kind]
execute_as_options : Map[String, Array[Array[String]]]
exponent : Map[TokenType, Kind]
factor : Map[TokenType, Kind]
fetch_tokens : TokenSet
functions_with_aliased_args : Set[String]
func_tokens : TokenSet
historical_data_kind : Set[String]
historical_data_prefix : Set[String]
identifier_tokens : TokenSet
identify_pivot_strings : Bool
id_var_tokens : TokenSet
insert_alternatives : Set[String]
interval_spans : Bool
invalid_func_name_tokens : TokenSet
isolated_loading_options : Map[String, Array[Array[String]]]
is_json_predicate_kind : Set[String]
joins_have_equal_precedence : Bool
join_hints : Set[String]
join_kinds : TokenSet
join_methods : TokenSet
join_sides : TokenSet
json_arrows_require_json_type : Bool
json_extract_requires_json_expression : Bool
json_key_value_separator_tokens : TokenSet
key_constraint_options : Map[String, Array[Array[String]]]
key_value_definitions : Array[Kind]
lambda_arg_terminators : TokenSet
log_defaults_to_ln : Bool
map_keys_are_arbitrary_expressions : Bool
modifiables : Array[Kind]
modifiers_attached_to_set_op : Bool
nested_type_tokens : TokenSet
no_paren_functions : Map[TokenType, Kind]
no_paren_if_commands : Bool
odbc_datetime_literals : Map[String, Kind]
on_condition_tokens : Set[String]
opclass_follow_keywords : Set[String]
operation_modifiers : Set[String]
optional_alias_token_cte : Bool
optype_follow_tokens : TokenSet
partition_keywords : Set[String]
pivot_column_naming : String
prefixed_pivot_columns : Bool
pre_volatile_tokens : TokenSet
privilege_follow_tokens : TokenSet
procedure_options : Map[String, Array[Array[String]]]
query_modifier_tokens : TokenSet
quoted_types_to_preserve : Set[String]
recursive_cte_search_kind : Set[String]
reserved_tokens : TokenSet
schema_binding_options : Map[String, Array[Array[String]]]
schema_unnamed_constraints : Set[String]
security_property_keywords : Set[String]
select_start_tokens : TokenSet
set_assignment_delimiters : Set[String]
set_operations : TokenSet
set_op_modifiers : Set[String]
set_requires_assignment_delimiter : Bool
signed_to_unsigned_type_token : Map[TokenType, TokenType]
strict_cast : Bool
string_aliases : Bool
struct_type_tokens : TokenSet
subquery_predicates : Map[TokenType, Kind]
subquery_tokens : TokenSet
supports_digit_prefixed_field_names : Bool
supports_implicit_unnest : Bool
supports_nth_value_from_modifier : Bool
supports_omitted_interval_span_unit : Bool
supports_partition_selection : Bool
tablesample_csv : Bool
table_alias_tokens : TokenSet
table_index_hint_tokens : TokenSet
table_postfix_tokens : TokenSet
table_terminators : TokenSet
term : Map[TokenType, Kind]
text_match_excluded_tokens : TokenSet
times : TokenSet
timestamps : TokenSet
transaction_characteristics : Map[String, Array[Array[String]]]
transaction_kind : Set[String]
trigger_deferrable : Map[String, Array[Array[String]]]
trigger_events : TokenSet
trigger_timing : Map[String, Array[Array[String]]]
trim_pattern_first : Bool
trim_types : Set[String]
typed_lambda_args : Bool
type_tokens : TokenSet
unnest_offset_alias_tokens : TokenSet
unpivot_value_columns_first : Bool
update_alias_tokens : TokenSet
usables : Map[String, Array[Array[String]]]
values_followed_by_paren : Bool
version_phrases : Array[(Array[String], String)]
view_attributes : Set[String]
window_alias_tokens : TokenSet
window_before_paren_tokens : TokenSet
window_exclude_options : Map[String, Array[Array[String]]]
window_sides : Set[String]
wrapped_transform_column_constraint : Bool
zone_aware_timestamp_constructor : Bool
}pub(all) struct ParserFns {
functions : Map[String, (Array[Expr], Parser) -> Expr raise SqlglotError]
function_parsers : Map[String, (Parser) -> Expr? raise SqlglotError]
no_paren_function_parsers : Map[String, (Parser) -> Expr? raise SqlglotError]
statement_parsers : Map[TokenType, (Parser) -> Expr? raise SqlglotError]
unary_parsers : Map[TokenType, (Parser) -> Expr? raise SqlglotError]
string_parsers : Map[TokenType, (Parser, Token) -> Expr? raise SqlglotError]
numeric_parsers : Map[TokenType, (Parser, Token) -> Expr? raise SqlglotError]
primary_parsers : Map[TokenType, (Parser, Token) -> Expr? raise SqlglotError]
placeholder_parsers : Map[TokenType, (Parser) -> Expr? raise SqlglotError]
range_parsers : Map[TokenType, (Parser, Expr?) -> Expr? raise SqlglotError]
column_operators : Map[TokenType, (Parser, Expr?, Expr?) -> Expr? raise SqlglotError?]
json_operators : Map[TokenType, (Parser, Expr?, Expr?) -> Expr? raise SqlglotError]
lambdas : Map[TokenType, (Parser, Array[Expr]) -> Expr? raise SqlglotError]
expression_parsers : Map[Kind, (Parser) -> Expr? raise SqlglotError]
property_parsers : Map[String, (Parser, Map[String, Bool]) -> Value? raise SqlglotError]
constraint_parsers : Map[String, (Parser) -> Expr? raise SqlglotError]
alter_parsers : Map[String, (Parser) -> Value? raise SqlglotError]
alter_alter_parsers : Map[String, (Parser) -> Expr? raise SqlglotError]
query_modifier_parsers : Map[TokenType, (Parser) -> (String, Value?) raise SqlglotError]
set_parsers : Map[String, (Parser) -> Expr? raise SqlglotError]
show_parsers : Map[String, (Parser) -> Expr? raise SqlglotError]
type_literal_parsers : Map[DType, (Parser, Expr, Expr) -> Expr raise SqlglotError]
type_converters : Map[DType, (Expr) -> Expr]
pipe_syntax_transform_parsers : Map[String, (Parser, Expr) -> Expr? raise SqlglotError]
analyze_expression_parsers : Map[String, (Parser) -> Expr? raise SqlglotError]
hooks : ParserHooks
show_trie : WordTrie
set_trie : WordTrie
}pub(all) struct ParserHooks {
negate_range : (Parser, Expr?) -> Expr? raise SqlglotError?
parse_alias : (Parser, Expr?, Bool) -> Expr? raise SqlglotError?
parse_alter_drop_action : (Parser) -> Expr? raise SqlglotError?
parse_alter_table_alter : (Parser) -> Expr? raise SqlglotError?
parse_alter_table_rename : (Parser) -> Expr? raise SqlglotError?
parse_alter_table_set : (Parser) -> Expr? raise SqlglotError?
parse_assignment : (Parser) -> Expr? raise SqlglotError?
parse_bracket : (Parser, Expr?) -> Expr? raise SqlglotError?
parse_bracket_key_value : (Parser, Bool) -> Expr? raise SqlglotError?
parse_charset_name : (Parser) -> Expr? raise SqlglotError?
parse_check_constraint : (Parser) -> Expr? raise SqlglotError?
parse_cluster_property : (Parser) -> Expr? raise SqlglotError?
parse_column : (Parser) -> Expr? raise SqlglotError?
parse_column_constraint : (Parser) -> Expr? raise SqlglotError?
parse_column_def : (Parser, Expr?, Bool) -> Expr? raise SqlglotError?
parse_column_ops : (Parser, Expr?) -> Expr? raise SqlglotError?
parse_commit_or_rollback : (Parser) -> Expr? raise SqlglotError?
parse_connect_with_prior : (Parser) -> Expr? raise SqlglotError?
parse_constraint : (Parser) -> Expr? raise SqlglotError?
parse_convert : (Parser, Bool, Bool?) -> Expr? raise SqlglotError?
parse_create : (Parser) -> Expr? raise SqlglotError?
parse_cte : (Parser) -> Expr? raise SqlglotError?
parse_dcolon : (Parser) -> Expr? raise SqlglotError?
parse_definer : (Parser) -> Expr? raise SqlglotError?
parse_describe : (Parser) -> Expr? raise SqlglotError?
parse_drop_column : (Parser) -> Expr? raise SqlglotError?
parse_equality : (Parser) -> Expr? raise SqlglotError?
parse_expression : (Parser) -> Expr? raise SqlglotError?
parse_extract : (Parser) -> Expr? raise SqlglotError?
parse_factor_operand : (Parser) -> Expr? raise SqlglotError?
parse_file_location : (Parser) -> Expr? raise SqlglotError?
parse_foreign_key : (Parser) -> Expr? raise SqlglotError?
parse_from : (Parser, Bool, Bool, Bool) -> Expr? raise SqlglotError?
parse_function : (Parser, Map[String, (Array[Expr], Parser) -> Expr raise SqlglotError]?, Bool, Bool, Bool) -> Expr? raise SqlglotError?
parse_function_call : (Parser, Map[String, (Array[Expr], Parser) -> Expr raise SqlglotError]?, Bool, Bool, Bool) -> Expr? raise SqlglotError?
parse_function_parameter : (Parser) -> Expr? raise SqlglotError?
parse_function_properties : (Parser) -> Expr? raise SqlglotError?
parse_generated_as_identity : (Parser) -> Expr? raise SqlglotError?
parse_group_concat : (Parser) -> Expr? raise SqlglotError?
parse_hint_function_call : (Parser) -> Expr? raise SqlglotError?
parse_id_var : (Parser, Bool, TokenSet?) -> Expr? raise SqlglotError?
parse_if : (Parser) -> Expr? raise SqlglotError?
parse_index_params : (Parser) -> Expr? raise SqlglotError?
parse_insert_table : (Parser) -> Expr? raise SqlglotError?
parse_into_clause : (Parser) -> Expr? raise SqlglotError?
parse_join : (Parser, Bool, Bool, TokenSet?) -> Expr? raise SqlglotError?
parse_join_parts : (Parser) -> (Token?, Token?, Token?) raise SqlglotError?
parse_json_object : (Parser, Bool) -> Expr? raise SqlglotError?
parse_lambda : (Parser, Bool) -> Expr? raise SqlglotError?
parse_lambda_arg : (Parser) -> Expr? raise SqlglotError?
parse_lateral : (Parser) -> Expr? raise SqlglotError?
parse_on_property : (Parser) -> Expr? raise SqlglotError?
parse_ordered : (Parser, () -> Expr? raise SqlglotError?) -> Expr? raise SqlglotError?
parse_parameter : (Parser) -> Expr? raise SqlglotError?
parse_partition : (Parser) -> Expr? raise SqlglotError?
parse_partition_and_order : (Parser) -> (Array[Expr], Expr?) raise SqlglotError?
parse_partitioned_by : (Parser) -> Expr? raise SqlglotError?
parse_pivot_aggregation : (Parser) -> Expr? raise SqlglotError?
parse_position : (Parser, Bool) -> Expr? raise SqlglotError?
parse_primary : (Parser) -> Expr? raise SqlglotError?
parse_primary_key : (Parser, Bool, Bool, Bool) -> Expr? raise SqlglotError?
parse_primary_key_part : (Parser) -> Expr? raise SqlglotError?
parse_projections : (Parser) -> (Array[Expr], Array[Expr]?) raise SqlglotError?
parse_property_before : (Parser) -> Value? raise SqlglotError?
parse_range : (Parser, Expr?) -> Expr? raise SqlglotError?
parse_returns : (Parser) -> Expr? raise SqlglotError?
parse_set : (Parser, Bool, Bool) -> Expr? raise SqlglotError?
parse_statement : (Parser) -> Expr? raise SqlglotError?
parse_struct_types : (Parser, Bool) -> Expr? raise SqlglotError?
parse_substring : (Parser) -> Expr? raise SqlglotError?
parse_table : (Parser, TableArgs) -> Expr? raise SqlglotError?
parse_table_hints : (Parser) -> Array[Expr]? raise SqlglotError?
parse_table_part : (Parser, Bool) -> Expr? raise SqlglotError?
parse_table_parts : (Parser, Bool, Bool, Bool, Bool) -> Expr? raise SqlglotError?
parse_table_sample : (Parser, Bool) -> Expr? raise SqlglotError?
parse_transaction : (Parser) -> Expr? raise SqlglotError?
parse_type : (Parser, Bool, Bool) -> Expr? raise SqlglotError?
parse_types : (Parser, Bool, Bool, Bool, Bool) -> Expr? raise SqlglotError?
parse_unique : (Parser) -> Expr? raise SqlglotError?
parse_unique_key : (Parser) -> Expr? raise SqlglotError?
parse_unnest : (Parser, Bool) -> Expr? raise SqlglotError?
parse_update : (Parser) -> Expr? raise SqlglotError?
parse_use : (Parser) -> Expr? raise SqlglotError?
parse_user_defined_function : (Parser, TokenType?) -> Expr? raise SqlglotError?
parse_user_defined_function_expression : (Parser) -> Expr? raise SqlglotError?
parse_user_defined_type : (Parser, Expr) -> Expr? raise SqlglotError?
parse_value : (Parser, Bool) -> Expr? raise SqlglotError?
parse_vector_expressions : (Parser, Array[Expr]) -> Array[Expr] raise SqlglotError?
parse_window : (Parser, Expr?, Bool) -> Expr? raise SqlglotError?
parse_with_property : (Parser) -> Value? raise SqlglotError?
parse_wrapped_id_vars : (Parser, Bool) -> Array[Expr] raise SqlglotError?
parse_wrapped_select : (Parser, Bool) -> Expr? raise SqlglotError?
pivot_column_names : (Parser, Array[Expr]) -> Array[String] raise SqlglotError?
to_prop_eq : (Parser, Expr, Int) -> Expr raise SqlglotError?
build_cast : (Parser, Bool, Array[(String, Value?)]) -> Expr raise SqlglotError?
parse : (Parser, Array[Token], String) -> Array[Expr?] raise SqlglotError?
parse_into : (Parser, Array[Kind], Array[Token], String) -> Array[Expr?] raise SqlglotError?
}pub(all) enum PyObj {
PyExpr(Expr)
PyStr(String)
PyInt(Int64)
PyFloat(Double)
PyDecimal(String)
PyBool(Bool)
PyNone
PyTuple(Array[PyObj])
PyList(Array[PyObj])
PyDict(Array[(PyObj, PyObj)])
PyBytes(Bytes)
PyObject(Array[(String, PyObj)])
PyDate(year~ : Int, month~ : Int, day~ : Int)
PyTime(hour~ : Int, minute~ : Int, second~ : Int, microsecond~ : Int)
PyDateTime(year~ : Int, month~ : Int, day~ : Int, hour~ : Int, minute~ : Int, second~ : Int, microsecond~ : Int, tz~ : (String, Int)?)
} derive(Eq)pub(all) enum QuoteSpec {
Same(String)
Pair(String, String)
}pub(all) struct TableArgs {
schema : Bool
joins : Bool
alias_tokens : TokenSet?
parse_bracket : Bool
is_db_reference : Bool
parse_partition : Bool
consume_pipe : Bool
}pub struct TokenSet {
bits : FixedArray[Bool]
}pub(all) enum TokenType {
L_PAREN
R_PAREN
L_BRACKET
R_BRACKET
L_BRACE
R_BRACE
COMMA
DOT
DASH
PLUS
COLON
DOTCOLON
DOTCARET
DCOLON
DCOLONDOLLAR
DCOLONPERCENT
DCOLONQMARK
DQMARK
SEMICOLON
STAR
BACKSLASH
SLASH
LT
LTE
GT
GTE
NOT
EQ
NEQ
NULLSAFE_EQ
COLON_EQ
COLON_GT
NCOLON_GT
AND
OR
AMP
DPIPE
PIPE_GT
PIPE
PIPE_SLASH
DPIPE_SLASH
CARET
CARET_AT
TILDE
ARROW
DARROW
FARROW
HASH
HASH_ARROW
DHASH_ARROW
LR_ARROW
LLRR_ARROW
DAT
AT_QMARK
LT_AT
AT_GT
DOLLAR
PARAMETER
SESSION
SESSION_PARAMETER
SESSION_USER
DAMP
AMP_LT
AMP_GT
ADJACENT
XOR
DSTAR
QMARK_AMP
QMARK_PIPE
HASH_DASH
EXCLAMATION
URI_START
BLOCK_START
BLOCK_END
SPACE
BREAK
STRING
NUMBER
IDENTIFIER
DATABASE
COLUMN
COLUMN_DEF
SCHEMA
TABLE
WAREHOUSE
STAGE
STREAM
STREAMLIT
VAR
BIT_STRING
HEX_STRING
BYTE_STRING
NATIONAL_STRING
RAW_STRING
HEREDOC_STRING
UNICODE_STRING
BIT
BOOLEAN
TINYINT
UTINYINT
SMALLINT
USMALLINT
MEDIUMINT
UMEDIUMINT
INT
UINT
BIGINT
UBIGINT
BIGNUM
INT128
UINT128
INT256
UINT256
FLOAT
DOUBLE
UDOUBLE
DECIMAL
DECIMAL32
DECIMAL64
DECIMAL128
DECIMAL256
DECFLOAT
UDECIMAL
BIGDECIMAL
CHAR
NCHAR
VARCHAR
NVARCHAR
BPCHAR
TEXT
MEDIUMTEXT
LONGTEXT
BLOB
MEDIUMBLOB
LONGBLOB
TINYBLOB
TINYTEXT
NAME
BINARY
VARBINARY
JSON
JSONB
TIME
TIMETZ
TIME_NS
TIMESTAMP
TIMESTAMPTZ
TIMESTAMPLTZ
TIMESTAMPNTZ
TIMESTAMP_S
TIMESTAMP_MS
TIMESTAMP_NS
DATETIME
DATETIME2
DATETIME64
SMALLDATETIME
DATE
DATE32
INT4RANGE
INT4MULTIRANGE
INT8RANGE
INT8MULTIRANGE
NUMRANGE
NUMMULTIRANGE
TSRANGE
TSMULTIRANGE
TSTZRANGE
TSTZMULTIRANGE
DATERANGE
DATEMULTIRANGE
UUID
GEOGRAPHY
GEOGRAPHYPOINT
NULLABLE
GEOMETRY
POINT
RING
LINESTRING
LOCALTIME
LOCALTIMESTAMP
SYSTIMESTAMP
MULTILINESTRING
POLYGON
MULTIPOLYGON
HLLSKETCH
HSTORE
SUPER
SERIAL
SMALLSERIAL
BIGSERIAL
XML
YEAR
USERDEFINED
MONEY
SMALLMONEY
ROWVERSION
IMAGE
VARIANT
OBJECT
INET
IPADDRESS
IPPREFIX
IPV4
IPV6
ENUM
ENUM8
ENUM16
FIXEDSTRING
LOWCARDINALITY
NESTED
AGGREGATEFUNCTION
SIMPLEAGGREGATEFUNCTION
TDIGEST
UNKNOWN
VECTOR
DYNAMIC
VOID
ALIAS
ALTER
ALL
ANTI
ANY
APPLY
ARRAY
ASC
ASOF
ATTACH
AUTO_INCREMENT
BEGIN
BETWEEN
BULK_COLLECT_INTO
CACHE
CASE
CHARACTER_SET
CLUSTER_BY
COLLATE
COMMAND
COMMENT
COMMIT
CONNECT_BY
CONSTRAINT
COPY
CREATE
CROSS
CUBE
CURRENT_DATE
CURRENT_DATETIME
CURRENT_SCHEMA
CURRENT_TIME
CURRENT_TIMESTAMP
CURRENT_USER
CURRENT_USER_ID
CURRENT_ROLE
CURRENT_CATALOG
DECLARE
DEFAULT
DELETE
DESC
DESCRIBE
DETACH
DICTIONARY
DISTINCT
DISTRIBUTE_BY
DIV
DROP
ELSE
END
ESCAPE
EXCEPT
EXECUTE
EXISTS
FALSE
FETCH
FILE
FILE_FORMAT
FILTER
FINAL
FIRST
FOR
FORCE
FOREIGN_KEY
FORMAT
FROM
FULL
FUNCTION
GET
GLOB
GLOBAL
GRANT
GROUP_BY
GROUPING_SETS
HAVING
HINT
IGNORE
ILIKE
IN
INDEX
INDEXED_BY
INNER
INSERT
INSTALL
INTEGRATION
INTERSECT
INTERVAL
INTO
INTRODUCER
IRLIKE
IS
ISNULL
JOIN
JOIN_MARKER
KEEP
KEY
KILL
LANGUAGE
LATERAL
LEFT
LIKE
LIMIT
LIST
LOAD
LOCK
MAP
MATCH
MATCH_CONDITION
MATCH_RECOGNIZE
MEMBER_OF
MERGE
MOD
MODEL
NATURAL
NEXT
NOTHING
NOTNULL
NULL
OBJECT_IDENTIFIER
OFFSET
ON
ONLY
OPERATOR
ORDER_BY
ORDER_SIBLINGS_BY
ORDERED
ORDINALITY
OUT
INOUT
OUTER
OVER
OVERLAPS
OVERWRITE
PACKAGE
PARTITION
PARTITION_BY
PERCENT
PIVOT
PLACEHOLDER
POLICY
POOL
POSITIONAL
PRAGMA
PREWHERE
PRIMARY_KEY
PROCEDURE
PROPERTIES
PROJECTION
PSEUDO_TYPE
PUT
QUALIFY
QUOTE
QDCOLON
RANGE
RECURSIVE
REFRESH
RENAME
REPLACE
RETURNING
REVOKE
REFERENCES
RIGHT
RLIKE
ROLE
ROLLBACK
ROLLUP
ROW
ROWS
RULE
SELECT
SEMI
SEPARATOR
SEQUENCE
SERDE_PROPERTIES
SET
SETTINGS
SHOW
SIMILAR_TO
SOME
SORT_BY
SOUNDS_LIKE
SQL_SECURITY
START_WITH
STORAGE_INTEGRATION
STRAIGHT_JOIN
STRUCT
SUMMARIZE
TABLE_SAMPLE
TAG
TEMPORARY
TOP
THEN
TRUE
TRUNCATE
TRIGGER
TYPE
UNCACHE
UNDROP
UNION
UNNEST
UNPIVOT
UPDATE
USE
USING
VALUES
VARIADIC
VIEW
SEMANTIC_VIEW
VOLATILE
VOLUME
WHEN
WHERE
WINDOW
WITH
UNIQUE
UTC_DATE
UTC_TIME
UTC_TIMESTAMP
OPTION
SINK
SOURCE
ANALYZE
NAMESPACE
EXPORT
HIVE_TOKEN_STREAM
SENTINEL
} derive(Compare, Eq, Hash)pub struct Tokenizer {
settings : TokenizerSettings
numbers_can_be_underscore_separated : Bool
identifiers_can_start_with_digit : Bool
unescaped_sequences : Map[String, String]
sql : Array[Char]
sql_str : String
size : Int
tokens : Array[Token]
start : Int
current : Int
line : Int
col : Int
comments : Array[String]
char : Char
end : Bool
peek : Char
prev_token_line : Int
}fn Tokenizer::new(settings : TokenizerSettings, numbers_can_be_underscore_separated? : Bool, identifiers_can_start_with_digit? : Bool, unescaped_sequences? : Map[String, String]) -> Tokenizerpub(all) struct TokenizerSettings {
single_tokens : Map[Char, TokenType]
bit_strings : Array[QuoteSpec]
byte_strings : Array[QuoteSpec]
hex_strings : Array[QuoteSpec]
raw_strings : Array[QuoteSpec]
heredoc_strings : Array[QuoteSpec]
unicode_strings : Array[QuoteSpec]
identifiers : Array[QuoteSpec]
quotes : Array[QuoteSpec]
string_escapes : Array[String]
byte_string_escapes : Array[String]?
var_single_tokens : Array[Char]
escape_follow_chars : Array[String]
identifier_escapes : Array[String]
heredoc_tag_is_identifier : Bool
heredoc_string_alternative : TokenType
string_escapes_allowed_in_raw_strings : Bool
numeric_escapes : Map[String, NumericEscape]
drop_unknown_escapes : Bool
nested_comments : Bool
hint_start : String
tokens_preceding_hint : Array[TokenType]
keywords : Map[String, TokenType]
commands : Array[TokenType]
command_prefix_tokens : Array[TokenType]
numeric_literals : Map[String, String]
numbers_can_have_decimals : Bool
comments : Array[QuoteSpec]
quotes_map : Map[String, String]
identifiers_map : Map[String, String]
identifier_chars : Map[Char, String]
format_strings : Map[String, (String, TokenType)]
string_escapes_set : Map[String, Bool]
byte_string_escapes_set : Map[String, Bool]
escape_follow_chars_set : Map[String, Bool]
identifier_escapes_set : Map[String, Bool]
comments_map : Map[String, String?]
keyword_trie : Trie
commands_set : Map[TokenType, Bool]
}fn array_append_sql(name : String, swap_params? : Bool) -> ((Generator, Expr) -> String raise SqlglotError)fn base_after_having_modifier_transforms() -> Array[(String, (Generator, Expr) -> String raise SqlglotError)]fn binary_range_parser(kind : Kind, reverse_args? : Bool) -> ((Parser, Expr?) -> Expr? raise SqlglotError)fn build_jsonb_contains_top_key_op(p : Parser, this : Expr?, key : Expr?) -> Expr? raise SqlglotErrorfn build_jsonb_extract_scalar_op(p : Parser, this : Expr?, path : Expr?) -> Expr? raise SqlglotErrorfn build_trunc(args : Array[Expr], dialect : Dialect, date_trunc_unabbreviate? : Bool, default_date_trunc_unit? : String, date_trunc_requires_part? : Bool, fractions_supported? : Bool) -> Expr raise SqlglotErrorfn camel_to_snake_case(name : String) -> Stringfn char_lower(c : Char) -> Charfn char_upper(c : Char) -> Charfn[T : IntoPy] condition(expression : T, dialect? : Dialect, copy? : Bool) -> Expr raise SqlglotErrorfn ctas_with_tmp_tables_to_create_tmp_view(tmp_storage_provider? : (Expr) -> Expr raise SqlglotError) -> ((Expr) -> Expr raise SqlglotError)fn date_add_interval_sql(data_type : String, kind : String) -> ((Generator, Expr) -> String raise SqlglotError)fn date_delta_to_binary_interval_op(cast? : Bool) -> ((Generator, Expr) -> String raise SqlglotError)fn decimal_value(c : Char) -> Intfn encode_decode_sql(g : Generator, e : Expr, name : String, replace? : Bool) -> String raise SqlglotErrorfn exp_alias(expression : Expr, alias_ : Value, quoted? : Bool, copy? : Bool) -> Expr raise SqlglotErrorfn find_new_name(taken : (String) -> Bool, base : String) -> Stringfn gen_week_offset_to_dow(offset : Int) -> Intfn generate_series_sql(func_name : String, exclusive_func_name? : String) -> ((Generator, Expr) -> String raise SqlglotError)fn groupconcat_sql(g : Generator, e : Expr, func_name? : String, sep? : String, within_group? : Bool, on_overflow? : Bool) -> String raise SqlglotErrorfn highlight_sql(sql : String, positions : Array[(Int, Int)], context_length? : Int) -> (String, String, String, String) raise SqlglotErrorfn if_sql_str(name? : String, false_value : String) -> ((Generator, Expr) -> String raise SqlglotError)fn interval_day_time_match(text : String) -> Boolfn is_decimal(c : Char) -> Boolfn is_digit_char(c : Char) -> Boolfn is_identifier_char(c : Char) -> Boolfn is_identifier_continue(c : Char) -> Boolfn is_py_digit(c : Char) -> Boolfn is_safe_identifier(text : String) -> Boolfn json_extract_segments(name : String, quoted_index? : Bool, op? : String) -> ((Generator, Expr) -> String raise SqlglotError)fn[T : IntoPy] maybe_parse(sql_or_expression : T, into? : ArrayView[Kind], dialect? : Dialect, prefix? : String, copy? : Bool, error_level? : ErrorLevel) -> Expr raise SqlglotErrorfn name_sequence(prefix : String) -> (() -> String)fn parse(sql : String, dialect? : Dialect, error_level? : ErrorLevel, error_message_context? : Int, max_errors? : Int, max_nodes? : Int) -> Array[Expr?] raise SqlglotErrorfn parse_int_str(text : String) -> Int64?fn parse_one(sql : String, dialect? : Dialect, into? : Array[Kind], error_level? : ErrorLevel, error_message_context? : Int, max_errors? : Int, max_nodes? : Int, into_is_list? : Bool) -> Expr raise SqlglotErrorfn pivot_column_names(aggregations : Array[Expr], dialect : Dialect) -> Array[String] raise SqlglotErrorfn preprocess(transforms : Array[(Expr) -> Expr raise SqlglotError], generator? : (Generator, Expr) -> String raise SqlglotError) -> ((Generator, Expr) -> String raise SqlglotError)fn py_casefold(s : String) -> Stringfn py_decimal_str(text : String) -> Stringfn py_int_text_add(text : String, delta : Int) -> String?fn py_lower(s : String) -> Stringfn py_repr_str(s : String) -> Stringfn py_upper(s : String) -> Stringfn re_ignorecase_char_eq(p : Char, c : Char) -> Boolfn remove_ts_or_ds_to_date(to_sql? : (Generator, Expr) -> String raise SqlglotError, args? : Array[String]) -> ((Generator, Expr) -> String raise SqlglotError)fn[T : IntoPy] select_(expressions : Array[T], dialect? : Dialect, copy? : Bool) -> Expr raise SqlglotErrorfn str_is_alnum(s : String) -> Boolfn strposition_sql(g : Generator, e : Expr, func_name? : String, supports_position? : Bool, supports_occurrence? : Bool, use_ansi_position? : Bool) -> String raise SqlglotErrorfn subsecond_precision(timestamp_literal : String) -> Intfn substr(s : String, start : Int, end : Int) -> Stringfn[T] suggest_closest_match_and_fail(kind : String, word : String, possibilities : Array[String]) -> T raise SqlglotErrorfn timestamptrunc_sql(func? : String, zone? : Bool) -> ((Generator, Expr) -> String raise SqlglotError)fn timestrtotime_sql(g : Generator, e : Expr, include_precision? : Bool) -> String raise SqlglotErrorfn to_ascii_decimal(text : String) -> Stringfn transpile(sql : String, read? : Dialect, write? : Dialect, pretty? : Bool, identify? : String, error_level? : ErrorLevel, unsupported_level? : ErrorLevel) -> Array[String] raise SqlglotErrorfn week_offset_to_dow(offset : Int) -> IntInstall
Download zipA SQL parser, transpiler and optimizer: a MoonBit port of sqlglot